Streaming and OTT platforms in India run two economically distinct revenue streams through a single payment gateway rail. Subscription is an over-time performance obligation under Ind AS 115.35 — recognised across the subscription period. Advertising is a point-in-time obligation under Ind AS 115.32 — recognised on impression. Both attract 18% GST but under different SACs (998431 vs 998365) and different TDS treatments on the receivable side. A single-stream reconciliation misses one of them and produces a broken GSTR-1 SAC declaration, an unreconciled deferred revenue balance, or both.
Split every PG settlement line by revenue stream tag at capture (subscription_id vs campaign_id metadata), route each side to its own recognition schedule, then reconcile: subscription lines to the over-time deferred revenue ledger and the corresponding monthly revenue release; advertising lines to the point-in-time impression ledger where recognition has already occurred. Reconcile both streams separately to GSTR-1 by SAC (998431 vs 998365) and to Form 27EQ / Form 26AS for TDS suffered on the ad-network side. Cash from the PG settles once — accounting closes twice.
Stream classifier keyed on order metadata (subscription_id / campaign_id / impression_batch_id); Ind AS 115 recognition split (over-time straight-line for subscription vs point-in-time on impression for ad); SAC-wise GSTR-1 aggregation (998431 vs 998365); TDS receivable ledger split by section (194H code 1015 for network commission, 194C / 194J for direct advertiser).
Two independent revenue schedules tied to a single settlement file; deferred revenue movement schedule for subscription; impression-based revenue register for advertising; SAC-wise GSTR-1 supply values; TDS reconciled to Form 26AS entries by section; audit-ready evidence pack per stream.
Streaming and OTT platforms in India face a reconciliation problem that most single-product finance stacks miss: the same payment gateway rail carries two economically distinct revenue streams, and both must reconcile independently under Ind AS 115. Subscription revenue is an over-time performance obligation. Advertising revenue is a point-in-time performance obligation. The gateway settles both on the same day into the same nodal-flow bank account, but the GL revenue lines, deferred revenue schedules, GSTR-1 SAC declarations, and TDS receivable positions all diverge. A hybrid streaming platform that reconciles only the settlement cash — without splitting the file by revenue stream — carries an unreconciled deferred revenue balance and a broken GSTR-1 supply declaration into every audit.
The reconciliation in one paragraph
Multi-stream reconciliation for streaming platforms means splitting each payment gateway settlement line into its underlying revenue stream — subscription or advertising — using order metadata (subscription_id, campaign_id) that the platform tagged at capture. Each side is then routed to its own recognition schedule: subscription revenue is spread over the subscription period under Ind AS 115.35; advertising revenue is booked on impression under Ind AS 115.32. The reconciliation closes the loop across five records per stream — settlement report, GL revenue schedule, deferred revenue balance (for subscription), GSTR-1 supply value at the correct SAC, and TDS receivable position (for advertising) — without letting cash netting hide underlying accounting divergence.
What the two streams look like in India — safe illustrative context
Consider an illustrative hybrid platform in the mould of Netflix India, Sony LIV, ZEE5, Prime Video, or MX Player — a service that offers a paid subscription tier alongside an ad-supported free or freemium tier, with all consumer payments flowing through a single payment aggregator such as Razorpay, PayU, Cashfree, Bill Desk, or CCAvenue.
On a representative peak-load day the platform runs:
- Approximately ₹5 crore of gross subscription receipts across the day — new signups, monthly renewals, and annual plan payments, all captured through the same PG merchant account. Each transaction carries a subscription_id in the order metadata and links to a subscription contract that runs 30 days, 90 days, or 365 days from the payment date.
- Approximately ₹1.2 crore of gross ad revenue settled on the same day — this is not the impression stream itself, but ad-network payouts and direct-advertiser invoices that clear through the platform’s payment gateway on the advertiser-facing side, plus small in-app ad-purchase transactions (sponsored placements, boosts, promoted content) that flow the same way.
The gateway sees one merchant ID and one settlement file. It cannot distinguish between a Sony LIV monthly subscription renewal and an advertiser making a campaign payment. Both arrive as line items with a payment_id, a captured amount, an MDR deduction, and a settlement date. The classification is a platform-side concern, not a gateway-side concern.
Where the two streams diverge is accounting recognition — and the divergence begins the moment the money hits the nodal-flow account.
The regulatory / PG-rules overlay
Ind AS 115 — the two-paragraph split
Ind AS 115.35 governs performance obligations satisfied over time. A monthly streaming subscription is a textbook over-time obligation: the customer receives continuous access to the content library for 30 days, and the platform’s performance is discharged rateably across that period. Revenue is recognised on a straight-line basis over the subscription term.
Ind AS 115.32 governs performance obligations satisfied at a point in time. An advertising impression — the moment a user views a served ad — is a textbook point-in-time obligation. The platform’s performance is complete at the impression event. Revenue is recognised on that date, for that quantity of impressions, at the agreed CPM or CPC rate.
The distinction matters because the settlement date and the recognition date coincide only for the advertising stream. For subscription, the settlement date is a cash event; the recognition date is a schedule that begins on that date and extends across the subscription period.
GST — same rate, different SACs
Both revenue streams attract 18% GST under Notification 11/2017-Central Tax (Rate). But the SAC classification differs:
- SAC 998431 — online content services (OIDAR-classified for cross-border cases; standard classification domestically for streaming and OTT subscription services)
- SAC 998365 — advertising services
GSTR-1 requires the platform to report B2B supplies (and, for aggregate B2C, HSN/SAC summary) against the correct SAC. Because the GST rate is identical, misclassification carries no cash impact — but the department’s cross-check against advertiser ITC claims (which will reference 998365) and against Form 27EQ TCS entries for ad-network intermediaries (which reference the advertising SAC) will fail if the platform reports everything under 998431.
The time of supply rule under Section 13 of the CGST Act also matters. For subscription, GST is typically triggered at the earlier of invoice issue or payment receipt — meaning the full 18% GST on the ₹149 monthly subscription is a liability in the month of payment, even though only 16 days of service will be delivered in that month. The GST liability schedule and the Ind AS 115 revenue schedule therefore diverge for subscription in a way they do not for advertising.
TDS — receivable side reconciliation
On the receivable side, subscription revenue and advertising revenue attract very different TDS flows:
- Subscription revenue — B2C customers do not deduct TDS. Enterprise subscription contracts may attract Section 194J at 10% if classified as technical service consumption. The platform’s TDS receivable position on subscription is small and predictable.
- Advertising revenue — where the platform bills an advertiser directly, the advertiser deducts TDS at 2% under Section 194C (contract) or 10% under Section 194J (technical services). Where an ad network intermediates the relationship, the network typically deducts under Section 194H at 2% (payment code 1015, Sl. 18) on the commission it withholds before releasing the net payout. The platform must reconcile these deductions to Form 26AS entries by section.
Payment aggregator rules
Under the RBI Payment Aggregator framework of 17 March 2020, all consumer payments — whether they fund a subscription or an ad purchase — flow through the PA’s nodal escrow account and settle to the merchant on T+1 or T+2 depending on the instrument. MDR is 0% on UPI and RuPay Debit under the Zero-MDR notification of 30 December 2019, and variable on credit cards and premium cards. The MDR treatment is identical across the two revenue streams — the PG does not charge a different MDR for a subscription transaction versus an ad-purchase transaction — so the reconciliation of MDR back to the MDR fee reconciliation schedule remains a single flow.
A worked example — illustrative numbers
Take the illustrative peak day: ₹5 crore subscription gross + ₹1.2 crore ad-related gross through the PG rail.
Subscription side (₹5,00,00,000 gross)
Assume the day’s subscription mix is entirely monthly plans at ₹149, giving roughly 3,35,570 subscription transactions. Each of these transactions:
- Settles at approximately T+1 for card and UPI, minus MDR. Assume a blended MDR of 0.6% (heavy UPI mix), so net settlement is approximately ₹4,97,00,000.
- Triggers GST liability of ₹5,00,00,000 × 18/118 = ₹76,27,119 in the same month (time of supply under Section 13, CGST Act — receipt-driven for subscription).
- Recognises revenue rateably across 30 days. If the day is the 15th of the month, only 16 days fall in the current month — approximately ₹4,00,00,000 × 16/30 = ₹2,13,33,333 in current-month revenue. The remaining ₹1,86,66,667 sits in deferred revenue at month-end (contract liability) and releases into revenue in the following month.
The reconciliation therefore has three separate closing positions from the same settlement line:
- Cash: ₹4,97,00,000 in the bank (post-MDR)
- Revenue: ₹2,13,33,333 in the current month + ₹1,86,66,667 deferred
- GST liability: ₹76,27,119 payable in current month GSTR-3B (SAC 998431)
Advertising side (₹1,20,00,000 gross)
Assume the ₹1.2 crore comprises ₹1,05,00,000 of ad-network payouts (network deducts 194H commission TDS at 2% on its commission slice) and ₹15,00,000 of direct-advertiser payments (advertiser deducts 194C at 2%).
- Ad-network side: platform’s share is the gross ₹1,05,00,000. If the network’s commission is 15% (₹15,75,000), TDS at 2% on that commission is ₹31,500 — appearing in Form 26AS against payment code 1015. Net receipt to platform is ₹1,05,00,000 minus commission — but the network’s commission is not always billed separately; it is often netted at source.
- Direct-advertiser side: gross ₹15,00,000. Advertiser deducts 194C at ₹30,000. Platform recognises ₹15,00,000 as revenue and ₹30,000 as TDS receivable per Form 26AS.
- GST liability: ₹1,20,00,000 × 18/118 = ₹18,30,508 payable in current month GSTR-3B (SAC 998365).
- Revenue recognition: full ₹1,20,00,000 in current month (all impressions and campaign deliveries have occurred by the settlement date; no deferral).
Note the divergence: advertising has zero contract liability, subscription has ₹1.86 crore. Advertising has ₹30,000 + ₹31,500 in TDS receivables to reconcile against Form 26AS; subscription has none on B2C. Both streams sum to a GSTR-1 supply value of ₹6,20,00,000 — but that must be reported ₹5,00,00,000 under 998431 and ₹1,20,00,000 under 998365.
Common reconciliation breakages
Streaming platform finance teams that treat the PG settlement as a single-stream reconciliation typically fail in one of six recognisable ways:
- Deferred revenue drift. If subscription revenue is booked in full at settlement date (mirroring the cash receipt) rather than spread across the subscription period, the deferred revenue balance is understated at month-end. The Ind AS 115 note in the financial statements will not reconcile to the underlying contract population.
- SAC misclassification in GSTR-1. If all supplies are reported under one SAC — usually 998431 because it covers the bulk of the value — the ₹1.2 crore of advertising supplies is invisibly misclassified. Advertiser customers claiming ITC will file returns citing 998365; the mismatch appears in departmental cross-checks.
- TDS receivable orphaning. Where the ad network deducts Section 194H TDS on commission, the platform sees a net payout in the bank — smaller than the gross ad revenue it recognised. If the reconciliation does not carry forward the TDS receivable line, it appears as an unreconciled settlement gap and eventually gets absorbed as a bank charge or a fee expense, quietly writing off legitimate tax credit.
- Point-in-time vs over-time confusion at year end. Annual subscriptions (₹1,499 for 365 days) create a much larger deferred revenue balance than monthly plans. If they are recognised at settlement rather than over 12 months, current-year revenue is overstated and next-year revenue is understated — the auditor’s Ind AS 115 walk will catch this at year-end but only after the quarterly financials are already public.
- Time-of-supply mismatch. GST liability arises at the earlier of invoice or payment (Section 13, CGST). Revenue arises at the pace of performance obligation satisfaction (Ind AS 115.32 / 115.35). For subscription, GST is fully liable in the receipt month while revenue accrues over 30 days. A reconciliation that ties GST to revenue rather than to the correct time-of-supply trigger will understate current-month liability and overstate future-month liability — auditors reconcile monthly GSTR-3B to books, and this variance surfaces immediately.
- Refund-side stream ambiguity. When a subscription is cancelled mid-month and refunded, the refund cancels both the recognised revenue (partial) and the deferred revenue (remaining), and requires a Section 34 credit note. When an advertiser dispute is settled and refunded, only recognised revenue reverses — there is no deferred component. Refund handling therefore branches by stream, and generic refund logic (see refund reconciliation for payment gateways) is not sufficient — the split must precede the refund treatment.
How a reconciliation platform handles this
A reconciliation platform designed for multi-stream revenue routes every PG settlement line through a stream classifier keyed on the order metadata the platform tagged at capture — subscription_id, campaign_id, impression_batch_id. Each classified line is routed to its own recognition engine.
For subscription lines, the engine builds an over-time schedule from the subscription contract terms: 30 days for monthly, 90 for quarterly, 365 for annual. Revenue is released on a straight-line basis into the current and future months, and the deferred revenue balance is carried on the contract liability ledger. The corresponding GST liability is booked in full at the receipt month under SAC 998431.
For advertising lines, the engine ties the settlement receipt to the impression register — the internal record of impressions delivered by campaign, with rate and quantity. Revenue is already recognised at the impression date; the settlement receipt closes the receivable rather than triggering fresh recognition. The corresponding GST liability was booked at invoice date under SAC 998365, and TDS deducted by the advertiser or the ad network is reconciled to Form 26AS by section.
The reconciliation therefore closes across five records per stream:
- Subscription: PG settlement line → subscription contract → over-time revenue schedule → deferred revenue balance → GSTR-1 line at SAC 998431
- Advertising: PG settlement line → advertising invoice / ad-network statement → point-in-time revenue register → TDS receivable per Section 194H / 194C / 194J → GSTR-1 line at SAC 998365
At period end, the platform’s revenue note, GSTR-1 supply summary, GSTR-3B liability, and Form 26AS receivables all tie back to the same set of PG settlement events — through two schedules that never cross-contaminate.
Structured payment gateway reconciliation closes the two-stream gap without requiring finance teams to hand-cut the settlement file each day. Reconciliation software India automates the classifier, the two recognition engines, and the SAC-wise GSTR-1 aggregation across daily settlement volumes that a manual reconciliation cannot keep pace with.
The Ministry of Corporate Affairs publishes Ind AS 115 as part of the Companies (Indian Accounting Standards) Rules — the source for both the over-time and point-in-time paragraphs that drive this split.
Wave 1 sibling reconciliations for streaming platforms cover related PG-rail edge cases: refund after PG settlement for streaming, chargeback dispute recovery for streaming, weekend and holiday settlement stretch, split settlement across two bank credits, mid-month MDR rate renegotiation, premium card fee embedded in a UPI-lookalike transaction, and 98-paise ghost test transactions in production files.
The five FAQs below address the recognition split, SAC classification, and TDS routing questions that recur when finance teams first attempt to reconcile two-stream PG data against Ind AS 115.
Frequently Asked Questions
- ▸ Ind AS 115 — Revenue from Contracts with Customers — Paragraphs 31–38 (satisfaction of performance obligations — over-time vs point-in-time)
- ▸ CGST Act, 2017 — Section 13 — Time of supply of services — continuous supply and single supply treatment
- ▸ GST Rate Notification 11/2017-Central Tax (Rate) — SAC 998431 (online content services) and SAC 998365 (advertising services) at 18%
- ▸ Income Tax Act, 1961 — Section 194H — TDS at 2% on commission or brokerage — applied by ad networks on publisher payouts (payment code 1015, Sl. 18)
- ▸ RBI Payment Aggregator Guidelines, 17 March 2020 — T+1 / T+2 settlement obligations and nodal-account escrow requirements for PA merchants