Indian finance teams treat the gateway's parent UPI line as a single zero-MDR rail and so do not bucket UPI volume by ticket size or by instrument sub-type. The result is that PPI-on-UPI interchange (0.5%-1.1% above ₹2,000) and RuPay-credit-on-UPI interchange (~2% above ₹2,000) accumulate inside the same UPI line as legitimately-free bank-account UPI, and any erroneous positive MDR on bank-account UPI itself goes undetected because nobody has separated the three children of the parent rail.
Reconciliation splits the UPI parent line into three children — bank-account UPI, PPI / wallet-on-UPI, and RuPay credit-on-UPI — using the payment-instrument sub-type field exposed in the gateway settlement payload, then buckets each child by ticket band (at or below ₹2,000 versus above ₹2,000). The expected-rate table is keyed on child rail and ticket band: zero for bank-account UPI in every band, NIL for PPI and RuPay credit at or below ₹2,000, 0.5%-1.1% PPI and ~2% RuPay credit above ₹2,000. Each transaction's actual deduction is compared to the expected and variances flagged.
Rail-split rule on the UPI parent method using the instrument sub-type field; ticket-band bucket rule with the ₹2,000 boundary; expected-rate table keyed on rail + merchant category code + ticket band; UPI_BANK_ACCOUNT_POSITIVE_MDR variance class with zero tolerance (any positive MDR is a flag); UPI_SUBRAIL_BELOW_THRESHOLD variance class for PPI or RuPay-credit charges at or below ₹2,000; refund-interchange-retention flag; monthly GST-invoice matcher to GSTR-2B for the 18% ITC line.
A per-transaction UPI rail-mix and ticket-band variance report with recoverable over-charges, a CFO-facing dashboard showing UPI parent volume split into three children by month, a refund-interchange-retention exception list for gateway support tickets, and an Input Tax Credit claim schedule for the 18% GST on legitimate sub-rail interchange.
A B2B SaaS company billing customers at an average ticket of ₹4,999 per cycle frequently sees its UPI mix climb above sixty percent of monthly receivables, with the CFO concluding the rail is free at every ticket size. The settlement statement carries a UPI line that looks healthy month after month — until somebody splits the parent by instrument sub-type and discovers that nearly eight percent of UPI volume is actually PPI-on-UPI, all of it above ₹2,000, all of it carrying 1.1% interchange. At ₹2 crore monthly UPI receipts, that single mis-bucketed sub-rail is ₹17,600 of monthly interchange hidden inside a line that the finance team had labelled zero-cost.
This article walks through the bucketing rule, the worked numbers, and the reconciliation discipline that separates legitimately-free bank-account UPI from the sub-rails that quietly charge above ₹2,000.
Quick-Reference: UPI by Ticket Size
| Sub-rail | At or Below ₹2,000 | Above ₹2,000 | Customer pays | Where it lands |
|---|---|---|---|---|
| Bank-account UPI (P2M) | 0% (zero MDR) | 0% (zero MDR) | Nothing | Parent UPI line |
| PPI / wallet-on-UPI | NIL | 0.5% to 1.1% interchange | Nothing | Parent UPI line, sub-type wallet |
| RuPay credit-on-UPI | NIL | ~2% interchange (≈1.5% issuer + ≈0.5% network/acquirer) | Nothing | Parent UPI line, sub-type RuPay-credit |
| Credit-line-on-UPI | NIL | Bank-determined, typically credit-card-equivalent | Nothing | Parent UPI line, sub-type credit-line |
| GST on interchange | 18% on the fee only | 18% on the fee only | n/a | Separate GST line on monthly invoice |
| Effective from | n/a | NPCI circular 24 Mar 2023 (PPI); NPCI Oct 2022 (RuPay credit) | n/a | n/a |
| Regulator | RBI + NPCI under Income-tax Act §269SU + PSS Act §10A | RBI + NPCI | n/a | n/a |
Zero-MDR on UPI P2M is current law as of June 2026 but under active review — the Parliamentary Standing Committee on Finance (report tabled 12 March 2026) and the Payments Council of India have proposed tiered/30 bps MDR for large merchants; no binding RBI/CBDT notification yet.
Why Does Ticket Size Matter If Bank-Account UPI Is Always Free?
It does not change the bank-account UPI rate. Bank-account UPI is zero MDR at ₹49, at ₹499, at ₹4,999, and at ₹49,999. The Income-tax Act §269SU read with Section 10A of the Payment and Settlement Systems Act 2007 closes the question for the bank-account rail at every ticket band.
Ticket size matters because the parent UPI line in the gateway settlement file is not one rail. It is at least three rails sharing a label. PPI and RuPay credit, when ridden on UPI rails, switch from NIL to a positive interchange the moment the ticket crosses ₹2,000. A merchant whose average ticket sits comfortably below the threshold — quick-service food, microtransactions, low-value content unlocks — sees almost no chargeable volume regardless of how the UPI mix is composed. A merchant whose average ticket sits above the threshold — B2B SaaS, hotel chains, NBFC EMI collection, premium D2C — sees the entire PPI and RuPay-credit-on-UPI volume sit above the line and quietly contribute interchange that the parent UPI label hides.
The ticket-size bucketing routine therefore exists to surface the two chargeable sub-rails inside the parent UPI line, and to confirm that the bank-account child is, in fact, deduction-free.
What Is the Detection Rule for Bank-Account UPI Leakage?
The detection rule is binary. Any positive network MDR on a transaction whose instrument sub-type is bank-account UPI is a leakage flag, recoverable against the gateway, with no tolerance band.
The rule is binary because there is no ambient noise to absorb. RuPay debit P2M and bank-account UPI P2M sit under the zero-MDR mandate; there is no half-percent slab or per-transaction cap that could explain a positive deduction. A non-zero deduction is therefore either a gateway misclassification of a sub-rail child as the bank-account child, or a stray platform fee that the gateway has mis-mapped onto the bank-account rail rather than calling it out as a platform fee. Both are recoverable on raising a support ticket with the variance report attached.
The discipline is separating “network MDR” from “gateway platform fee” in the chart of fees. A gateway platform fee is a legitimate, contracted line — it does not contradict the zero-MDR mandate, because the mandate prohibits an interchange or scheme charge, not the gateway’s own SaaS fee for the rails it operates. The reconciliation engine therefore expects: zero network MDR on bank-account UPI plus whatever flat or percentage platform fee the merchant has contracted for. Any positive amount on the network-MDR column for bank-account UPI is the leakage.
How Do PPI-on-UPI and RuPay-Credit-on-UPI Show Up in the Settlement File?
The cleanest path is the payment-instrument sub-type field that gateways expose alongside the parent method. Razorpay, PayU, Cashfree, and PhonePe all carry a sub-type identifier — wallet provider name for PPI-on-UPI, RuPay-credit indicator for credit-on-UPI — even when the parent method field reads UPI. Juspay, as an orchestration layer in front of the underlying gateway, exposes the same sub-type through its routing payload.
Two practical signals matter. First, the wallet identifier itself — Paytm wallet, PhonePe wallet, MobiKwik, Amazon Pay, Freecharge — distinguishes a PPI-on-UPI transaction from a bank-account UPI transaction whose UPI handle happens to belong to the same operator’s bank app. The handle alone is not enough; the wallet identifier in the sub-type field is. Second, the RuPay credit-on-UPI indicator is a separate Boolean exposed in the instrument detail, since the same handle can ride bank-account UPI in one transaction and RuPay credit in the next.
Once the sub-type is captured, every UPI transaction is routed to one of the three children before the expected-rate lookup runs. Bank-account UPI gets the zero schedule. PPI gets the 0.5% to 1.1% schedule above ₹2,000 and NIL at or below. RuPay credit gets the ~2% schedule above ₹2,000 and NIL at or below.
MDR Leakage Flag Checker
Paste a slice of your UPI settlement file, set the ticket-band cut at ₹2,000, and the checker raises the bank-account UPI positive-MDR variance, the PPI-at-or-below-threshold variance, and the RuPay-credit-at-or-below-threshold variance — the three deterministic flags this article describes.
Open the tool →What Does the Bucketing Look Like for a D2C Subscription vs a B2B SaaS?
The two ticket profiles look identical at the parent UPI level and entirely different once split.
A D2C subscription brand selling consumables at ₹499 a cycle runs at roughly 95% bank-account UPI within its UPI parent. PPI and RuPay-credit-on-UPI together account for the remaining 5% — and almost all of it sits at the ₹499 ticket, well below the ₹2,000 threshold. The PPI volume is therefore in the NIL band; the RuPay credit volume is in the NIL band; the bank-account UPI is structurally zero MDR. The UPI parent rail is, for this brand, effectively free at the interchange layer. The only legitimate deductions inside the UPI line are the gateway’s platform fee and the GST on it.
A B2B SaaS company billing at an average ticket of ₹4,999 looks identical at the parent level — UPI is still 60%+ of receivables — but the sub-rail split is different. PPI-on-UPI is roughly 8% of UPI volume in the SaaS cohort, since corporate buyers transact through wallet apps that auto-default to PPI mode when the linked bank account is not pre-funded for the day’s debit. RuPay credit-on-UPI is a further 4% or so. All of it sits above ₹2,000 — every transaction is at ₹4,999.
Run the numbers at ₹2 crore monthly UPI volume. The PPI share is ₹2 crore × 8% = ₹16 lakh. The interchange ceiling on PPI-on-UPI is 1.1% above ₹2,000, which gives ₹16 lakh × 1.1% = ₹17,600 of interchange every month — sitting under the UPI line, indistinguishable from the structurally-free bank-account UPI deductions unless the rail split is run. The RuPay credit share of ₹2 crore × 4% = ₹8 lakh attracts ~2% interchange, adding a further ₹16,000 of monthly interchange under the same UPI label. The combined ₹33,600 monthly is the unbilled-looking but legitimately-billed deduction; the bucketing rule simply makes it visible and routes it to the right expected-rate cell so that nothing positive lands on the bank-account UPI child by accident.
For the same B2B SaaS company, an erroneous 0.10% MDR on the bank-account UPI child — even on 88% of UPI volume, the share that is genuinely zero-MDR — is ₹2 crore × 88% × 0.10% = ₹17,600 of monthly leakage, recoverable in full. That is the kind of leakage the binary detection rule on bank-account UPI surfaces.
What Is the Reconciliation Discipline Around the ₹2,000 Threshold?
The discipline is three rules, run as separate variance classes on the same settlement file.
Rule one is the bank-account UPI binary check. The expected network MDR on the bank-account UPI child is zero at every ticket band. Tolerance is zero. Any positive deduction raises a UPI_BANK_ACCOUNT_POSITIVE_MDR variance and is parked for recovery against the gateway. The variance class flags both rate-card mis-mappings (the gateway has billed at the card slab by mistake) and platform-fee mis-classifications (a legitimate platform fee that has landed in the MDR column rather than the platform-fee column).
Rule two is the sub-rail below-threshold check. PPI-on-UPI and RuPay-credit-on-UPI both carry NIL interchange at or below ₹2,000. The expected deduction on a ₹1,999 PPI-on-UPI transaction is zero; on a ₹2,000 transaction it is also zero (the threshold reads “above ₹2,000”). Any positive interchange in this band is a leakage flag. The variance class — UPI_SUBRAIL_BELOW_THRESHOLD — handles both PPI and RuPay credit children together since both schedules share the threshold structure.
Rule three is the sub-rail above-threshold rate check. The expected interchange on PPI-on-UPI above ₹2,000 is 0.5% to 1.1% (the upper limit depends on merchant category code); on RuPay-credit-on-UPI above ₹2,000 it is ~2% (≈1.5% issuer + ≈0.5% network/acquirer). The variance band tolerates a small implementation drift, since both schedules have a few basis points of acquirer-routing latitude, but a ten basis-point excess is the audit threshold.
All three rules run alongside a refund-interchange-retention check, since interchange is industry-wide non-refundable. A refunded ₹4,999 RuPay-credit-on-UPI transaction retains the ~₹100 of interchange paid on the original, and the merchant’s books should reflect that cost separately rather than expecting a netting against a future settlement.
How Should the Variance Report Cross-Link to GST and TDS Reconciliation?
The 18% GST on every interchange line is recoverable as Input Tax Credit. The gateway issues a monthly consolidated tax invoice that totals MDR, interchange, platform fees, and any subscription or AutoPay add-ons, and applies a single 18% GST line on the sum. The reconciliation engine should never fold that 18% into the per-transaction percentage; the GST is a separate line, claimed in GSTR-3B against GSTR-2B presence.
The TDS overlap arises only for merchants who sell through an e-commerce operator on the participant side. Income-tax Act §194O (legacy section) maps to §393(1) Sl. 8(v) under the Income-tax Act 2025 framework with payment code 1035 at 0.1% on the gross amount credited or paid to the participant — the operator deducts; the participant reconciles to Form 26AS. Where the SaaS company in our worked example is the operator (selling its own subscription directly), §194O / §393(1) Sl. 8(v) is not triggered on its own UPI receipts. Where it is the participant — selling via a third-party marketplace that collects on its behalf — the 0.1% TDS is a separate reconciliation line, and conflating it with gateway MDR understates the cost of capital on receivables.
GST on MDR/interchange is unchanged in law: 18% on the fee, not on the transaction value, always a separate line.
What Triggers a Re-Baseline of the UPI Reconciliation Policy?
Three events should force a re-baseline.
First, a binding RBI or Ministry of Finance notification introducing a tiered or 30 bps MDR on UPI P2M. The Parliamentary Standing Committee report of 12 March 2026 and the Payments Council proposal would land as such a notification if they progress. The expected-rate table for bank-account UPI would switch from zero to a tiered schedule that day; the binary detection rule on the bank-account child would become a banded check.
Second, an NPCI circular adjusting the PPI-on-UPI ceiling or the RuPay-credit-on-UPI split. The schedules in force date to 24 March 2023 (PPI) and October 2022 (RuPay credit); a revision would change the expected interchange table and would need to flow through to the engine on the effective date specified in the circular.
Third, a contracted rate-card change with the gateway — for instance, the gateway introducing a UPI platform fee separate from the parent MDR, or moving an existing platform fee under a different label. The reconciliation policy should anchor against the contract, not the published rate, and the contracted line should be updated whenever the gateway’s rate card moves.
Continue Reading in the Merchant-Fees Cluster
- PPI / wallet-on-UPI interchange at 1.1% above ₹2,000 — the NPCI 24 March 2023 circular in full, with the wallet-loading 15 bps fee borne by the issuer separated from the interchange the merchant bears.
- RuPay credit-on-UPI 2% interchange above ₹2,000 — the issuer / network / acquirer split, the October 2022 NPCI circular, and the reconciliation pattern for the ~2% above-threshold interchange.
- MDR charged on zero-MDR UPI / RuPay debit leakage — the cornerstone leakage pattern this article’s binary detection rule operationalises.
- UPI zero-MDR regime under §269SU and PSS Act §10A — the regulatory backbone.
- Merchant-fee leakage hub — every leakage pattern in the cluster, with the seven deterministic detection rules.
- Payment gateway reconciliation money page — the operational reconciliation page for finance teams running gateway settlement files at scale.
For the NPCI position on UPI sub-rails, see the National Payments Corporation of India reference page on UPI rails and interchange schedules.