Skip to main content
How-To · 10 min read

Pharma Distributor and Stockist Reconciliation for Indian Pharmaceutical Manufacturers

Indian pharma manufacturers move 80-90% of revenue through a three-tier CFA → super-stockist → retail chemist distribution rail. Reconciliation must close five gaps at once: primary-vs-secondary sales (sell-in vs sell-out), CFA service-charge settlement, expiry returns split into saleable (credit-note) and non-saleable (destruction certificate), Section 393(1)(a) code 1002 TDS on CFA charges, and GST credit notes under Section 34 on returned stock.

Terra Insight
Terra Insight Reconciliation Infrastructure

Content authored by practitioners with experience at Amazon India, Intuit QuickBooks, and the Tata Group. Meet the team →

Published 12 June 2026
Domain expertise
TDS Reconciliation GST Input Credit Platform Settlements NACH Batch Matching Bank Reconciliation Form 26AS Matching ERP Integrations Enterprise Finance Ops
Knowledge Card
Problem

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.

How It's Resolved

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.

Configuration

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.

Output

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

ItemValue
RegulatorCentral Drugs Standard Control Organization (CDSCO) under Ministry of Health & Family Welfare
LicensingForm 20B / 21B (wholesale drug licence) for CFAs, super-stockists and chemists
Typical CFA service fee1.5% to 3.5% of dispatched value plus per-box handling
Typical primary-vs-secondary gap5% to 25% of trailing primary sales sits as channel inventory
Expiry-return policyMost 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 codes1002 (Section 393(1)(a) CFA service charge), 1011 (Section 393(1)(c) warehouse rent if separately invoiced)
GST credit-note cut-off30 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

Primary reference: Central Drugs Standard Control Organization (CDSCO) — for drug regulatory framework and pharmaceutical distribution licensing.

Frequently Asked Questions

What is a CFA in pharma distribution and how does the manufacturer reconcile against it?
A CFA (Carrying and Forwarding Agent) is a state-level agent that holds the manufacturer's stock on consignment in a CDSCO-licensed warehouse and dispatches to super-stockists against orders booked by the manufacturer's field force. The CFA does not buy the stock — it holds it on the manufacturer's books, raises tax invoices to super-stockists on the manufacturer's behalf under the manufacturer's GSTIN, and charges the manufacturer a service fee (typically 1.5% to 3.5% of dispatched value) plus per-box handling. Reconciliation ties the CFA's stock-in (manufacturer dispatch advice) to stock-out (invoices raised to stockists) to closing stock (CFA monthly stock statement), and validates the CFA service-charge invoice against the dispatched-value base.
What is the primary-vs-secondary sales gap and why does it need reconciliation?
Primary sales is what the manufacturer ships through CFAs to super-stockists (sell-in); secondary sales is what super-stockists onward-sell to retail chemists (sell-out). The gap between the two — typically 5% to 25% sitting as stockist inventory — is the manufacturer's true demand signal. Reconciliation pulls secondary sales data uploaded monthly by stockists (via tools like C&S, AIOCD AWACS feed, or the manufacturer's own distributor portal), matches it to primary dispatch, and surfaces stockists whose secondary lag indicates stuffing or whose secondary spike indicates a parallel-trade leak. Without secondary reconciliation, the manufacturer is blind to channel inventory and prone to forecast errors that drive expiry exposure.
How are pharma expiry returns reconciled when some stock is saleable and some must be destroyed?
Returns from chemists and stockists arrive in two buckets: saleable returns (near-expiry stock returned before the expiry date, typically with 3-6 months residual shelf life, which can be relabelled and redistributed under CDSCO norms) and non-saleable returns (expired stock that must be destroyed under a CDSCO-witnessed destruction protocol with a destruction certificate). Both are credit-noted to the stockist under Section 34 of the CGST Act, reversing the original GST. Reconciliation must keep the two streams separate — saleable returns rejoin the saleable-stock ledger, non-saleable returns are written off against an expiry-provision account and the destruction certificate is filed for both GST and Income Tax audit defence.
What TDS code applies to CFA service charges paid by a pharma manufacturer?
CFA service charges fall under Section 393(1)(a) of the Income Tax Act 2025, payment code 1002 (which replaced legacy Section 194C). Rate is 1% for individual/HUF CFAs and 2% for company/firm CFAs, with a per-transaction threshold of ₹30,000 and aggregate annual threshold of ₹1 lakh. The CFA invoice typically combines a percentage-of-dispatch service fee with a per-box handling fee and warehouse rent recovery; the entire service-charge component sits under code 1002. Warehouse rent, if separately invoiced by a different lessor, may instead fall under Section 393(1)(c) code 1011 (rent on plant/machinery/building).
How does the GST credit note under Section 34 work for pharma returns?
Section 34 of the CGST Act allows a credit note to be issued by the supplier (the manufacturer, through the CFA acting as agent) for goods returned by the recipient (the super-stockist). The credit note must reference the original tax invoice and be issued by 30 November following the financial year of the original supply, or before the filing of the annual return, whichever is earlier. For expiry returns this window often binds — stock dispatched in June of one year and returned as expired in March of the next year must be credit-noted before 30 November of that subsequent year, otherwise the GST input reversal becomes the stockist's cost. Reconciliation tracks return-window ageing per dispatch lot and triggers credit-note issuance before the cut-off.

See how TransactIG handles reconciliation for your industry

Configuration takes 2–4 weeks. No code development required. ISO 27001:2022 certified.