Indian pharma manufacturers route 80-90% of sales through a CFA → super-stockist → retail chemist chain on consignment, with primary-vs-secondary sales gaps of 5-25% sitting as channel inventory, expiry returns split into saleable and non-saleable buckets, CFA service charges at 1.5-3.5% of dispatched value, Section 393(1)(a) code 1002 TDS on CFA charges, and Section 34 GST credit notes on returns — five overlapping reconciliation rails that no generic ERP module handles together.
Reconcile CFA stock-in (manufacturer dispatch) to stock-out (invoices to stockists) to closing stock (CFA monthly statement); match primary sales to secondary sales data from stockist uploads to surface channel inventory and parallel-trade leaks; split expiry returns into saleable (relabel and reissue) and non-saleable (destruction certificate filed) with both credit-noted under Section 34 inside the cut-off window; deduct Section 393(1)(a) code 1002 TDS on CFA service-charge invoices at 1%/2% with thresholds; tie GST output reversal on returns to the stockist's GSTR-2B.
CFA master keyed by state, CDSCO licence number and GSTIN; stockist master with secondary-sales feed source (C&S, AIOCD AWACS, or distributor portal); product master with batch number, manufacturing date, expiry date and shelf-life policy; expiry-return taxonomy with saleable/non-saleable flag and destruction-certificate reference; CFA service-charge contract per state with percentage band and per-box handling; Section 393(1)(a) vendor rate matrix with code 1002 default; Section 34 credit-note ageing ledger per dispatch lot.
A daily reconciled view per CFA showing dispatched value to invoiced value to closing stock with variance coded by reason; primary-vs-secondary gap per stockist aged month-over-month with channel-inventory days-on-hand; expiry-return register split saleable vs non-saleable with destruction-certificate status; CFA service-charge invoice approval gate validating base value and Section 393 TDS deduction at code 1002; Section 34 credit-note ageing per dispatch lot with cut-off countdown to the 30 November window.
A mid-sized Indian pharma manufacturer closes April books and pulls the channel ageing: of ₹680 crore dispatched through 14 CFAs across the year, ₹147 crore sits as stockist inventory at month-end — 21.6% of trailing-twelve-month primary sales held in the channel, ₹38 crore of which is within 6 months of expiry. The numbers are predictable for any pharma distributor reconciliation India operation that runs CFA settlements, secondary sales and expiry returns on spreadsheets. The full stack covers five distinct rails and a tax overlay that interacts with each one.
Quick reference
| Item | Value |
|---|---|
| Regulator | Central Drugs Standard Control Organization (CDSCO) under Ministry of Health & Family Welfare |
| Licensing | Form 20B / 21B (wholesale drug licence) for CFAs, super-stockists and chemists |
| Typical CFA service fee | 1.5% to 3.5% of dispatched value plus per-box handling |
| Typical primary-vs-secondary gap | 5% to 25% of trailing primary sales sits as channel inventory |
| Expiry-return policy | Most manufacturers accept returns 3-6 months pre-expiry as saleable; post-expiry as non-saleable destruction |
| GST rate (pharma) | 12% on most formulations; 5% on essential/lifesaving drugs; 18% on selected categories |
| Key TDS codes | 1002 (Section 393(1)(a) CFA service charge), 1011 (Section 393(1)(c) warehouse rent if separately invoiced) |
| GST credit-note cut-off | 30 November following the financial year of original supply, or annual return filing date, whichever is earlier |
The CFA agreement and three-tier distribution structure
Indian pharma distribution moves stock through a three-tier rail: a CDSCO-licensed manufacturer plant → state-level Carrying and Forwarding Agents (CFAs) holding stock on consignment → super-stockists (typically one or two per district) → retail chemists. A typical mid-sized manufacturer runs 12-20 CFAs covering 28 states and UTs, with each CFA holding 30-60 days of forward cover for its region.
The CFA does not buy the stock. The agreement is consignment — stock dispatched to the CFA remains on the manufacturer’s books until invoiced to a stockist. The CFA raises GST tax invoices to stockists under the manufacturer’s own GSTIN (with state-level CFA GSTIN registration where required), collects payment on behalf of the manufacturer (or on a direct-collect model where the stockist pays the manufacturer directly), and charges the manufacturer a service fee. Typical commercial pattern: 2.0% to 2.5% of dispatched value as the headline service fee, ₹4-8 per shipper-box as handling, and a separate monthly warehouse-rent recovery if the CFA leases the godown on the manufacturer’s behalf.
Super-stockists buy from the CFA on 45-60 day credit terms, hold 15-30 days of inventory, and sell to retail chemists on 21-day credit. Retail chemists hold 7-15 days of inventory. The total channel inventory across all three tiers is typically 60-100 days — a number that has to be managed actively or expiry exposure compounds.
The five reconciliation rails
Rail 1 — CFA stock and dispatch reconciliation
Reconciliation must tie the manufacturer’s dispatch advice (goods sent from plant to CFA) to the CFA’s stock-in confirmation, the CFA’s invoices raised to stockists (stock-out), the CFA’s closing stock as per the monthly stock statement, and the manufacturer’s books. The accounting identity per CFA per SKU per month is: opening stock + stock-in − stock-out = closing stock. Variances arise from in-transit shortages, damaged-in-warehouse write-offs, expiry shifts mid-month, and batch-numbering errors. Each variance has to be coded — settled-with-CFA, in-transit-claim-pending, damage-debit-raised, expiry-transfer-saleable, expiry-transfer-non-saleable — and aged.
Rail 2 — Primary-vs-secondary sales reconciliation
Primary sales is dispatched value from CFA to stockist. Secondary sales is what the stockist onward-sells to retail chemists, captured through monthly secondary-sales uploads either via the manufacturer’s distributor portal, an industry feed (C&S, AIOCD AWACS), or the stockist’s own ERP export. The reconciliation matches primary to secondary at SKU and stockist level, computes channel inventory days-on-hand, and flags two patterns: (a) stockists where secondary lags primary by structurally more than the agreed inventory norm — indicating stuffing or weak demand; (b) stockists where secondary spikes ahead of primary — indicating either parallel trade from another territory or unrecorded inventory drawdown that will surface as an expiry return later.
See reconciliation software India for the underlying platform pattern that handles consignment-style variance taxonomies across CFA and stockist tiers.
Rail 3 — Expiry returns reconciliation (saleable vs non-saleable)
Pharma returns are split into two streams that reconcile differently. Saleable returns — stock returned by stockists or chemists within the manufacturer’s relabel window (typically 3-6 months before expiry date) — re-enter the manufacturer’s saleable-stock ledger after CDSCO-compliant relabelling at a designated repackaging site, get a credit note under Section 34 reversing the original GST, and are re-issued through the CFA chain. Non-saleable returns — stock returned post-expiry — must be destroyed under a CDSCO-witnessed protocol with a destruction certificate, are credit-noted under Section 34 reversing the GST, and the inventory value is written off against the manufacturer’s expiry-provision account.
Reconciliation must keep these two streams strictly separate — a non-saleable return mis-coded as saleable becomes a CDSCO compliance breach and a tax-audit exposure. The expiry-return register ties each returned lot to: original dispatch invoice, batch number, manufacturing date, expiry date, returned quantity, saleable/non-saleable flag, credit-note number, GST reversal value, destruction-certificate reference (if non-saleable), and the stockist’s GSTR-2B confirmation that the corresponding ITC reversal was processed.
Rail 4 — CFA service-charge settlement
The CFA raises a monthly service-charge invoice combining percentage-of-dispatch fee, per-box handling, warehouse rent recovery and ad-hoc reimbursements (insurance, security, AMC of cold-chain equipment). Reconciliation validates each component: the percentage fee against the dispatched-value base for the month from the CFA stock statement, the per-box handling against the dispatch-advice box count, the warehouse rent against the lease agreement, and reimbursements against supporting third-party invoices. Section 393(1)(a) code 1002 TDS is deducted on the service-charge component at 1%/2% per the CFA’s PAN status, with thresholds ₹30,000 per transaction and ₹1 lakh aggregate per year. Warehouse rent, if separately invoiced by a third-party lessor (not the CFA), falls under Section 393(1)(c) code 1011 instead.
Rail 5 — Tax reconciliation overlay
Section 393(1)(a), code 1002 — contractor TDS on CFA service charges and on third-party logistics (cold-chain transport, last-mile distribution) at 1%/2% with thresholds ₹30,000 per transaction and ₹1 lakh aggregate per year. See Section 393 TDS new Income Tax Act reconciliation and TDS payment codes 1001-1092 India for the full code map.
Section 393(1)(c), code 1011 — rent TDS at 10% on warehouse rent separately invoiced by a lessor, with a ₹2.4 lakh annual threshold per landlord PAN.
Section 34 CGST Act — credit note for expiry returns. Cut-off date: 30 November following the financial year of the original supply, or the annual return filing date, whichever is earlier. Reconciliation must track return-window ageing per dispatch lot — a June dispatch returned as expired in March of the next year must be credit-noted before 30 November of that subsequent year, or the GST input reversal sticks to the stockist as a cost.
Cross-era note: invoices and 26AS data raised under the previous Act (before 1 April 2026) will continue to carry legacy section references (194C for code 1002, 194I for code 1011) — reconciliation against historical Form 26AS data must keep the legacy section cross-reference live for at least one full tax-year cycle.
Worked example — pharma manufacturer with ₹680 crore through 14 CFAs
A mid-sized formulations manufacturer with ₹680 crore annual sales, 14 CFAs across 22 states, 220 active SKUs, and roughly 1,800 super-stockists:
- Monthly primary dispatch: ₹56.7 crore average across CFAs
- Channel inventory band: 60-90 days; total channel value ₹120-170 crore at any point
- CFA service-charge invoices: monthly, average ₹1.25 crore per month across all 14 CFAs (2.2% blended on dispatched value)
- Section 393(1)(a) code 1002 TDS on CFA charges: ₹2-2.5 lakh per month
- Expiry returns: 2-4% of trailing-twelve-month primary sales surfaces as returns annually, split roughly 30% saleable, 70% non-saleable
- Section 34 credit notes issued: 2,400-3,200 per year against expiry-return lots
- Secondary sales upload coverage: ~85% of stockists (1,530 of 1,800) upload monthly; the 15% gap is the manufacturer’s blind spot
- Non-saleable destruction certificates filed: 28-40 per year (consolidated by destruction batch and CDSCO inspection cycle)
The structured close ties every line to a reason code: stock-matched, in-transit, damage-debit, saleable-relabel, non-saleable-destruction, primary-secondary-gap-stuffing, primary-secondary-gap-parallel-trade, CFA-service-fee-paid, TDS-deducted-code-1002, rent-deducted-code-1011, GST-credit-note-issued, GST-credit-note-cutoff-approaching. Without it the close is a 12-15 day spreadsheet exercise across CFA emails and stockist uploads; with it the close runs inside four working days and the expiry-provision number stops being a year-end shock.
Estimate the cost of CFA and stockist exception handling
Channel inventory variances, expiry returns and CFA service-charge disputes all flow through the same exception-handling queue. The Three-Way Match Exception Cost Calculator estimates the loaded cost per exception across AP, AR and channel teams.
Open the calculator →CDSCO regulatory anchors
Distribution licensing — Form 20B and 21B for wholesale drugs — and the destruction-protocol oversight for expiry stock sit with the Central Drugs Standard Control Organization (CDSCO) and the state Drug Control Authorities. Reconciliation systems at pharma manufacturers typically encode the CDSCO licence number and validity into the CFA and stockist master so that a lapsed-licence dispatch is blocked at the order-release stage rather than discovered at audit.
What automated reconciliation changes
Manual pharma distributor reconciliation across the five rails plus the tax overlay is a 12-15 day month-end exercise at a multi-CFA manufacturer, and rail-2 secondary gaps typically do not surface until the next planning cycle — by which time the channel inventory has aged another month closer to expiry. Purpose-built reconciliation software India treats each rail as a structured variance stream and surfaces only the lines that fail to match. TransactIG carries 24+ industry presets, including a configuration that handles CFA stock statements, primary-vs-secondary gap analysis, expiry-return saleable/non-saleable splits, Section 34 credit-note cut-off tracking, and the Section 393 deduction map. Customer outcomes include match-rate improvement from 51% to 88%, and exception rates moving into the sub-15% band post-implementation. Build is two-to-four weeks on AWS Mumbai (ISO 27001:2022). For the GST-side rail on output reversals and stockist GSTR-2B alignment see GST reconciliation software.
Continue reading — pharma cluster
- Medical representative (MR) settlement and expense reconciliation — field-force expense reimbursement, sample stock accounting, and Section 393(1)(a) TDS on MR incentive payouts.
- Pharma expiry returns: saleable and non-saleable destruction — deep-dive on the relabel window, CDSCO destruction protocol, and Section 34 GST credit-note mechanics.
- CGHS / ECHS hospital pharma billing reconciliation — government-scheme institutional pharma supply, rate-contract reconciliation, and deduction patterns at empanelled hospitals.