An MDR renegotiation with the payment aggregator that lands mid-month produces one settlement file with two correct MDR rates. A reconciliation that applies a single flat rate across the month either under-deducts (recording higher net revenue than reality) or over-deducts (booking a false shortfall against the gateway). The variance is not real — both rates are contractually correct within their effective windows — but a finance team that flags every transaction against a single reference rate will spend the month investigating differences that will never resolve.
Store MDR rates in a rate-schedule table keyed by effective-from date, not as a single monthly constant. For each transaction on the settlement file, select the rate whose effective-from is the greatest date less than or equal to the transaction capture timestamp. Compute expected MDR as gross value × selected rate + applicable input GST on MDR, and match against the deduction reported on the settlement file within a tolerance that absorbs rounding differences at the paisa level.
Rate-schedule table with effective-from date, MDR percentage, and applicable card/instrument scope; capture-timestamp field on every settlement row; tolerance threshold for paisa-level rounding; separate branches for zero-MDR instruments (UPI and RuPay Debit under the 30 December 2019 zero-MDR notification) so no rate is applied at all; input GST rate on MDR (18% CGST + SGST or IGST) applied on top of the base MDR.
MDR variance report split into old-rate transactions and new-rate transactions with reconciled totals per bucket; capture-vs-settlement date split for cross-window transactions; matched-within-tolerance count and unmatched-outside-tolerance count; audit-ready evidence pack showing that the settlement file matches the rate schedule.
An MDR renegotiation that takes effect on the 15th of a month creates a specific reconciliation problem: for that month, and only that month, the settlement file legitimately contains two different MDR rates. Transactions captured 1–14 July settle at the old rate. Transactions captured 15 July onward settle at the new rate. Both are contractually correct. A reconciliation process that applies a single flat rate — either the old one or the new one — across the whole month will produce a variance that does not exist in economic reality but does exist in the reconciliation report, and finance teams will spend days investigating it.
The reconciliation in one paragraph
An MDR renegotiation between a streaming subscription business and its payment aggregator takes effect on 15 July 2026, moving the rate from 2.4% to 2.0%. The gateway applies the new rate to every transaction captured on or after 15 July at 00:00:00 IST, and continues to apply the old rate to transactions captured up to 14 July at 23:59:59 IST — regardless of when those transactions actually settle in the merchant’s bank account. The July settlement file therefore contains a mix. Correct reconciliation requires a rate-schedule table keyed by effective-from date, a per-transaction lookup that picks the rate applicable at capture, and a tolerance-based match that accepts both rates as valid within their windows.
What the scenario looks like in India
Payment aggregator agreements in India are commercial contracts between the merchant and the PA. RBI’s Payment Aggregator framework of 17 March 2020 sets the governance perimeter — capital adequacy, T+1 settlement, escrow, KYC of merchants — but leaves MDR itself as a commercial term. The merchant renegotiates the rate as volume grows, product mix shifts, or a competing aggregator makes an offer worth switching for.
Renegotiations in the streaming sector are common. A Netflix India–style monthly subscription business processing several lakh recurring debits per month has scale leverage that improves each quarter; a Sony LIV or ZEE5 with mixed one-time and subscription revenue negotiates blended rates that reflect the new mix; an Amazon Prime Video India–style yearly subscription plan renegotiates when the annual renewal cycle produces a large spike. Streaming audio businesses such as JioSaavn face the same dynamic on the music-subscription side.
The renegotiated rate almost never takes effect on the first of a calendar month. Two commercial realities push it into the middle:
- Notice periods. Merchant agreements typically require 15 to 30 days written notice from either side for a rate change. Notice served on 15 June, with a 30-day period, lands the effective date at 15 July.
- PA billing cycles. Payment aggregators run their own operational cadence for rate-card updates. Changes queued in one cycle apply from the start of the next cycle, and cycles are rarely aligned with merchant calendar months.
The result is a settlement file for the month of change that legitimately contains two rates. This is not an error. It is the correct outcome of a dated contractual amendment.
The regulatory and PG-rules overlay
Three points anchor the compliance treatment:
Zero-MDR rails are unaffected. The MeitY / DFS notification of 30 December 2019 prescribes RuPay Debit and UPI as payment modes on which no MDR may be charged. Regardless of how the credit-card MDR is renegotiated, transactions on UPI and RuPay Debit continue to attract zero MDR. The rate-schedule table must have separate branches for zero-MDR instruments so no rate is applied to them at all — a common bug is a rate change that inadvertently pushes a non-zero rate onto UPI rows because the code path was not conditioned on instrument type.
MDR is not commission for TDS purposes. Section 194H TDS at 5% applies to commission and brokerage; the CBDT has clarified in the context of e-commerce and payment intermediation that MDR paid by a merchant to an authorised payment aggregator is not commission for 194H. So the change in MDR does not change the merchant’s 194H exposure — that exposure remains zero on this line. Where the payment aggregator is also acting as an e-commerce operator in a marketplace sense, Section 194-O (code 1042 in the 2026 TDS payment code schema) may apply on the underlying transaction, but 194-O is computed on gross transaction value and is independent of the MDR rate.
GST TCS under Section 52 CGST is unaffected. The 0.5% e-commerce operator TCS applies on the net value of taxable supplies made through the platform. MDR is a deduction inside the settlement chain and does not change the value of the underlying supply. A rate change from 2.4% to 2.0% leaves the Section 52 TCS position untouched, but it does change the net settlement credited to the merchant’s bank — which is what the reconciliation is trying to match.
The Reserve Bank of India publishes the master PA framework that sets the T+1 settlement obligation, and the commercial MDR terms sit inside the merchant agreement referenced by that framework.
A worked example — illustrative numbers
Consider an illustrative streaming subscription business — pick a Netflix India–scale or ZEE5-scale subscriber base for concreteness — that renegotiates its credit-card MDR with a Razorpay or PayU aggregator, moving the rate from 2.4% to 2.0% effective 15 July 2026 at 00:00:00 IST.
Assume the following July capture profile (rounded, illustrative):
| Period | Credit-card capture volume | Old rate applied | New rate applied |
|---|---|---|---|
| 1 July 00:00 – 14 July 23:59 | ₹18,00,00,000 | 2.4% (₹43,20,000 MDR) | — |
| 15 July 00:00 – 31 July 23:59 | ₹22,00,00,000 | — | 2.0% (₹44,00,000 MDR) |
| July total (credit card only) | ₹40,00,00,000 | ₹87,20,000 total MDR |
Assume input GST on MDR at 18% (9% CGST + 9% SGST for intra-state, or 18% IGST for inter-state — depending on PA and merchant registrations). GST on MDR: ₹15,69,600. Total credit-card MDR cost including input GST: ₹1,02,89,600.
Now consider three ways the reconciliation could go:
Wrong approach 1 — single flat 2.4% applied across July. Expected MDR = ₹40,00,00,000 × 2.4% = ₹96,00,000. Actual on settlement file = ₹87,20,000. Reconciliation shows a ₹8,80,000 “under-deduction” that finance investigates as a possible gateway error. The gateway is right and the reconciliation is wrong.
Wrong approach 2 — single flat 2.0% applied across July. Expected MDR = ₹40,00,00,000 × 2.0% = ₹80,00,000. Actual on settlement file = ₹87,20,000. Reconciliation shows a ₹7,20,000 “over-deduction” that finance treats as a recoverable claim against the aggregator. The claim is invalid because the old rate on pre-15 July transactions is contractually correct.
Correct approach — rate-schedule lookup per transaction. Expected MDR on pre-15 July captures = ₹18,00,00,000 × 2.4% = ₹43,20,000. Expected MDR on 15 July onward captures = ₹22,00,00,000 × 2.0% = ₹44,00,000. Total expected = ₹87,20,000, matching the settlement file within paisa-level tolerance. Zero variance.
The rate-schedule table for this reconciliation:
| Effective from | Rate | Instrument scope | Notes |
|---|---|---|---|
| 1 April 2026 00:00 IST | 2.4% | Credit card (all networks except RuPay Debit) | Prior contract |
| 15 July 2026 00:00 IST | 2.0% | Credit card (all networks except RuPay Debit) | Renegotiated rate |
| 1 January 2020 00:00 IST | 0.0% | UPI, RuPay Debit | Zero-MDR notification |
Now overlay a cross-window edge case. A subscription auto-debit for a monthly plan captures at 23:58:22 on 14 July but settles into the merchant’s bank on 16 July. Which rate applies? The old 2.4%. MDR is fixed at capture, not at settlement. If the reconciliation keys off settlement date instead of capture date, this transaction would incorrectly get the new rate applied and produce a paisa-level variance that quietly poisons the report.
A second edge case: a chargeback dispute won on a transaction originally captured on 10 July. The recovery lands as a positive entry in the August settlement file. When MDR is refunded on the recovery, which rate is refunded? Again, the old 2.4% — because that was the rate deducted at original capture. The rate-schedule lookup on a refund or reversal must use the capture date of the original transaction, not the date of the reversal.
Common reconciliation breakages
- Single monthly rate. Finance teams that store MDR as a per-month constant in a config file rather than as a rate-schedule table keyed by effective date create a phantom variance every time a rate changes.
- Settlement-date lookup instead of capture-date lookup. MDR is computed at capture; a reconciliation that reads settlement date and applies the current rate to old-capture transactions will double-count the variance in either direction.
- Zero-MDR bypass missed. A rate-change code path that increments the rate on all rows without checking instrument type will apply a non-zero rate to UPI and RuPay Debit rows. The settlement file will show zero MDR for these; the reconciliation will show an expected non-zero MDR; every UPI transaction will appear as a variance for the day the code shipped.
- Refund and chargeback recovery rate mismatch. A refund on a July-captured transaction that lands in an August settlement file must reverse MDR at the July rate, not the current rate. A rate-lookup that keys off the refund date produces small persistent variances that finance can never chase down.
- Cross-window capture-to-settlement transactions. A transaction captured at 23:59 on 14 July that settles on 16 July belongs in the old-rate bucket. A reconciliation that partitions the month by settlement date rather than capture date will misclassify this row.
- Input GST on MDR not scoped by rate. The GST on MDR moves with the MDR base. A rate change from 2.4% to 2.0% also shifts the GST amount. A reconciliation that computes expected GST on the old MDR total will overstate the GST expected on the new-rate transactions.
- Rate change on the same day as a public holiday. A rate that takes effect on 15 July which happens to fall on a weekend or holiday can create a mismatch between the merchant’s expectation of the effective moment and the aggregator’s application timestamp. The rate-schedule table should store the timestamp at IST midnight precision, not just the date.
How a reconciliation platform handles this
A structured reconciliation platform treats MDR rates as a first-class time-varying data object, not as a static config value.
Rate schedule stored as an effective-dated table. Every historical and current MDR rate has an effective-from timestamp at IST midnight precision, an optional effective-to (open for the current rate), an instrument-scope filter, and a payment-aggregator scope. A merchant with two aggregators (say Razorpay and Cashfree) that renegotiate at different times has two independent schedules.
Per-transaction rate lookup at reconciliation time. For every row on the settlement file, the platform pulls the capture timestamp from the transaction detail (not the settlement date), matches the instrument type, and selects the rate whose effective-from is the greatest date less than or equal to the capture timestamp. This is a deterministic lookup — same input, same output every time — which is what makes the reconciliation auditable.
Tolerance-based match. Expected MDR from the schedule is compared to the deduction on the settlement file within a tolerance that absorbs paisa-level rounding differences (gateways sometimes round MDR to the nearest paisa; the reconciliation should not fail on rounding). The tolerance is expressed both as an absolute amount and as a percentage of the transaction value, so small transactions do not trip the percentage check and large transactions do not trip the absolute check.
Split reporting. The MDR variance report is split by rate window. For a rate-change month, the report shows: total captures at old rate, expected MDR at old rate, deducted MDR at old rate, variance at old rate; then the same four fields for the new rate; then a summary row. This structure lets finance see immediately whether any variance sits in one window (a targeted issue, e.g., a specific card network reclassification) versus both windows (a broader misconfiguration).
Audit evidence pack. For each rate-change month, the platform emits a static evidence pack: the rate schedule as it stood, the count and value of transactions in each window, the total expected MDR, the total deducted MDR, and any variance with reasoned classification. This pack sits alongside the standard settlement audit trail and answers the auditor’s likely question — “how did you know both rates were correct?” — without a re-computation.
Structured payment gateway reconciliation treats MDR as time-varying data, not as a per-month constant. Reconciliation software India automates the effective-dated lookup, the tolerance match, and the split-window reporting so a rate-change month closes with the same throughput as any other month.
The Reserve Bank of India publishes the Payment Aggregator framework that governs the commercial context; the effective-date logic on MDR is a merchant-agreement construction, not a regulatory prescription. The 30 December 2019 zero-MDR notification sets the same effective-dated pattern for a different reason and is the template the industry has followed for every subsequent MDR adjustment.
The five FAQs below cover the questions finance and audit teams ask most often when a mid-month MDR change is inside a monthly close.
Frequently Asked Questions
- ▸ RBI — Guidelines on Regulation of Payment Aggregators and Payment Gateways (17 March 2020) — Master framework requiring authorised PAs to settle merchant funds on T+1 basis; commercial MDR terms sit in the merchant agreement between PA and merchant.
- ▸ MeitY / DFS — Zero MDR Notification (30 December 2019) — Notification prescribing RuPay Debit and UPI as modes on which no MDR may be charged w.e.f. 1 January 2020; effective-date logic identical to any other MDR change.
- ▸ CBDT — Section 194-O of the Income-tax Act, 1961 — 1% TDS by e-commerce operator on gross amount of sale of goods/services facilitated to Indian resident participants; applied on the gross value before MDR deduction, independent of the MDR rate applied.
- ▸ CBIC — Section 52, CGST Act, 2017 — 0.5% TCS by e-commerce operator on net value of taxable supplies made through the platform; unaffected by the MDR rate applied at the gateway layer.