Skip to main content
How-To · 9 min read

Stock Transfer Reconciliation in India: Intra-State, Inter-State, and Branch Transfer Mechanics

An Indian manufacturer running three GSTINs across Maharashtra, Karnataka and Tamil Nadu moves raw material, WIP and finished goods between plants on delivery challans and stock-transfer invoices. Intra-state transfers under a single GSTIN carry no GST; inter-state transfers between different GSTINs trigger IGST under Schedule I of the CGST Act even though no sale has occurred. Reconciling those movements against GSTR-1, GSTR-2B, the e-way bill portal and the receiving plant's GRN is a daily control that breaks at scale.

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 11 May 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

A multi-GSTIN Indian manufacturer moves raw material, WIP and finished goods between plants daily, with each movement carrying a different statutory treatment — same-GSTIN movements need a delivery challan only, different-GSTIN movements trigger Schedule I deemed supply with IGST or CGST+SGST, and inter-state movements above ₹50,000 need an e-way bill — and reconciling those movements against GSTR-1, GSTR-2B, the e-way bill portal and the receiving plant's GRN breaks at scale.

How It's Resolved

Classify each stock movement at origin by sender GSTIN, receiver GSTIN, value and inter-state flag; route same-GSTIN movements to delivery challan only, different-GSTIN movements to a tax invoice with IGST or CGST+SGST as applicable; generate e-way bill where consignment value exceeds ₹50,000; tie each outbound stock-transfer invoice to a GSTR-1 line at the sending GSTIN, a GSTR-2B line at the receiving GSTIN, an e-way bill number, and an inbound GRN at the receiving plant.

Configuration

Plant-to-GSTIN mapping; HSN-wise GST rate table; e-way bill threshold per state (₹50,000 inter-state baseline, state-specific intra-state thresholds); stock-transfer invoice series per sending GSTIN; ageing window for open outbound challans (target return or GRN within 7 days); reconciliation calendar tied to GSTR-1 due date (11th of following month) and GSTR-3B due date (20th).

Output

A daily stock-transfer dashboard showing outbound challans and invoices by sender and receiver GSTIN, e-way bill status (generated, in-transit, delivered, expired), inbound GRN match status at the receiving plant, GSTR-1 reporting status at the sending GSTIN, and GSTR-2B appearance status at the receiving GSTIN — with variance codes STOCK_TRANSFER_OPEN, EWAYBILL_EXPIRED, GSTR1_NOT_REPORTED, GSTR2B_NOT_MATCHED, and CHALLAN_AGED.

A finance controller at a textile manufacturer running three plants — Bhiwandi (Maharashtra), Hosur (Karnataka) and Coimbatore (Tamil Nadu), each on a separate GSTIN — pulls the April stock-movement register and finds ₹14.7 crore of inter-plant movements during the month. Of that, ₹3.2 crore moved between Bhiwandi’s two Maharashtra units under the same GSTIN (delivery challan only, no GST), ₹6.1 crore moved Bhiwandi → Hosur (IGST charged on a stock-transfer invoice), ₹4.4 crore moved Hosur → Coimbatore (IGST again), and ₹1.0 crore moved between two Hosur units on the same GSTIN. By the time GSTR-1 is filed on the 11th, twenty-seven of those movements have no matching e-way bill on the portal and forty-one inbound GRNs at receiving plants do not tie back to a sending challan. This is stock transfer reconciliation India at the scale where spreadsheet control breaks.

What stock transfer reconciliation means under GST

A stock transfer is a movement of goods between two locations of the same legal entity — between two plants, between a plant and a depot, between a depot and a stocking point, or between a plant and a contract-manufacturing unit. The statutory treatment depends entirely on whether the sending and receiving locations share a GSTIN.

Same GSTIN, same state. Two locations of the same company in the same state operating under one GSTIN move goods on a delivery challan under Rule 55 of the CGST Rules. No GST is charged, no tax invoice is raised, no entry appears in GSTR-1. The movement is a logistical event, not a supply.

Different GSTINs. Two locations of the same company operating under different GSTINs — whether the two GSTINs are in different states (the common case for inter-state manufacturers) or in the same state (separate registrations for distinct business verticals) — are treated as “distinct persons” under Section 25 of the CGST Act. Schedule I, Entry 2 deems any supply of goods between distinct persons to be a supply even when made without consideration. The sending GSTIN must raise a tax invoice, charge IGST (inter-state) or CGST+SGST (intra-state with separate registrations) at the applicable HSN rate, report the invoice in its GSTR-1, and pay the tax via GSTR-3B. The receiving GSTIN claims the tax as ITC after the invoice flows into its GSTR-2B.

There is no net cash-flow loss to the legal entity overall, but the working-capital lag of one filing cycle and the ITC accumulation risk at the receiving end are both material at scale.

Inter-state vs intra-state mechanics

The split is cleanest on a worked example. Take a manufacturer with three GSTINs:

  • 27ABCDE1234F1Z5 — Maharashtra plant in Bhiwandi
  • 29ABCDE1234F1Z3 — Karnataka plant in Hosur
  • 33ABCDE1234F1Z9 — Tamil Nadu plant in Coimbatore
MovementFromToSame GSTIN?DocumentGSTReporting
Bhiwandi stores → Bhiwandi assembly27…Z527…Z5YesDelivery challanNoneNone
Bhiwandi → Hosur27…Z529…Z3NoTax invoiceIGST 18%GSTR-1 of 27; GSTR-2B of 29
Hosur → Coimbatore29…Z333…Z9NoTax invoiceIGST 18%GSTR-1 of 29; GSTR-2B of 33
Hosur stores → Hosur paint shop29…Z329…Z3YesDelivery challanNoneNone
Coimbatore → external customer (sale)33…Z9Buyer GSTINNoTax invoiceIGST/CGST+SGSTNormal outward

The reconciliation rail must tie every line in column “Document” to the e-way bill portal, to the receiving plant’s GRN, and to the appropriate GSTR-1/2B entries.

E-way bill — the ₹50,000 single-consignment rule

Rule 138 of the CGST Rules requires an e-way bill for any movement of goods where the consignment value exceeds ₹50,000. The threshold is per consignment, not per day or per vendor. Inter-state movements above the threshold always require an e-way bill; intra-state movements above the threshold require one in most states, though a few states have raised their intra-state threshold to ₹1 lakh. For a manufacturer with three GSTINs, every inter-state stock transfer above ₹50,000 — which is most of them — needs an e-way bill generated at the sending plant gate before the vehicle leaves.

The e-way bill number, sender GSTIN, receiver GSTIN, vehicle number and validity must all be reconciled against the outbound challan or invoice. Common breakdowns at scale: e-way bill generated but vehicle delayed past validity (e-way bills expire on a per-100-km basis); e-way bill generated against wrong receiver GSTIN; goods despatched without an e-way bill on the assumption that the consignment was below ₹50,000 when it crossed the threshold after adding GST and freight.

Reconciling stock transfers against GSTR-1 outward supply

For movements between distinct GSTINs, the stock-transfer invoice is an outward supply at the sending GSTIN and must appear in GSTR-1 (Table 4 — supplies to registered persons) by the 11th of the following month. The matching control is a four-leg tie:

  1. Stock-transfer invoice register at the sending GSTIN — value, HSN, GST.
  2. GSTR-1 outward supply table at the sending GSTIN — same value, HSN, GST.
  3. GSTR-2B inward auto-population at the receiving GSTIN — within the same filing cycle.
  4. Inbound GRN at the receiving plant — physical receipt confirmation.

Any leg missing creates a reconciliation exception. A common failure mode is GSTIN typo on the invoice — e.g., the sending plant types the receiving plant’s old GSTIN — which makes the invoice flow into the wrong receiver’s GSTR-2B (or none at all) and leaves the intended receiver short on ITC.

Schedule I deemed supply and ITC implications

Schedule I, Entry 2 makes the cross-GSTIN movement a supply for GST purposes even though no commercial sale has happened. This has two operational implications.

The sending GSTIN charges IGST on the stock-transfer invoice and pays it through GSTR-3B. The valuation must follow Rule 28 of the CGST Rules — open-market value, value of like-kind goods, or 110% of cost — with a practical option (proviso to Rule 28) to declare the invoice value as the value if the receiving GSTIN is eligible for full ITC.

The receiving GSTIN claims that IGST as ITC after the invoice appears in GSTR-2B and the goods are received (Section 16 conditions met). At entity level the cash flow nets out, but the timing lag of one filing cycle plus the risk of ITC accumulation at the receiving GSTIN — when the receiver does not generate enough outward supply to absorb the inbound ITC — must be tracked. Accumulated ITC may qualify for refund under Section 54 in inverted-duty-structure scenarios, but the refund pipeline runs 60-180 days.

For the related capital-goods ITC treatment when capital assets move between GSTINs, see capital goods ITC reconciliation for Indian manufacturing.

The TDS angle — Section 393 and the inter-plant movement

Stock transfers between own GSTINs do not attract Section 393 TDS — there is no third-party payee. But where a manufacturer uses third-party transporters for inter-plant freight, the transport charges fall under Section 393(1)(a) (replaces 194C), payment code 1002, at 1% (individual/HUF) or 2% (company/firm) once the per-transaction threshold of ₹30,000 or aggregate of ₹1 lakh is crossed. For the full code map see TDS payment codes 1001-1092 India and Section 393 TDS new Income Tax Act reconciliation.

Why this breaks at scale

A three-plant manufacturer with three GSTINs generates 800-1,500 stock-transfer movements a month — a mix of same-GSTIN challans and cross-GSTIN tax invoices. Each movement carries a delivery challan number, an invoice number (where applicable), an e-way bill number, a receiver GSTIN, a GRN number at the receiving end, a GSTR-1 line, a GSTR-2B line. Eight identifiers per movement, 1,000 movements a month — 8,000 reconciliation points. Spreadsheet control breaks not on the simple cases but on the long tail: e-way bills expired in transit, GSTINs typed incorrectly, GRNs raised against a different challan number than the sender used, partial-receipt scenarios where 90 units arrived against 100 dispatched.

Reconciliation software India configured for manufacturing routes each stock transfer through a single matching pipeline that ties all eight identifiers, holds the variance codes STOCK_TRANSFER_OPEN, EWAYBILL_EXPIRED, GSTR1_NOT_REPORTED, GSTR2B_NOT_MATCHED, and CHALLAN_AGED in an ageing queue, and surfaces only exceptions for the finance team to work. The full pillar context is at manufacturing reconciliation India, and the three-way procurement match that often runs alongside is at PO-GRN-invoice three-way matching in India and is also available as three-way matching software India. For the current text of Schedule I, Rule 28, Rule 55 and Rule 138 the GST portal is the authoritative source.

Primary reference: GST portal — for Schedule I deemed supply rules, e-way bill thresholds, and Rule 138 movement notifications.

Frequently Asked Questions

Is GST applicable on stock transfers between two locations of the same company in India?
It depends on whether the two locations share a GSTIN. A stock transfer between two locations of the same company within the same state, operating under the same GSTIN, attracts no GST — the movement is treated as a delivery challan transaction, not a supply. A stock transfer between two locations of the same company operating under different GSTINs — whether inter-state or intra-state with separate registrations — is deemed a supply under Schedule I of the CGST Act, attracts IGST (inter-state) or CGST+SGST (intra-state with separate registrations), and must be invoiced as a stock-transfer invoice and reported in GSTR-1 of the sending GSTIN.
What is the e-way bill threshold for stock transfers in India?
An e-way bill is mandatory for any single consignment of goods with a value above ₹50,000 that moves on inter-state lines, and on intra-state lines in most states (a few states use ₹1 lakh for intra-state). The threshold is per consignment, not per day or per vendor. Stock transfers between plants of a multi-GSTIN manufacturer must generate an e-way bill before the truck leaves the sending plant gate, with the receiving plant's GSTIN as consignee. The e-way bill number must be retrievable later for reconciliation against the inbound GRN and the GSTR-1 outward entry.
How does Schedule I of the CGST Act treat stock transfers between distinct persons?
Schedule I lists activities treated as supply even when made without consideration. Entry 2 of Schedule I covers supply of goods or services between related persons or between distinct persons (as defined in Section 25), when made in the course or furtherance of business. A multi-GSTIN manufacturer is a single legal entity but each GSTIN is a 'distinct person' for GST purposes, so any movement of goods between two GSTINs of the same company is a deemed supply, requires a tax invoice and triggers IGST or CGST+SGST as applicable.
What is the difference between a delivery challan and a stock-transfer invoice?
A delivery challan under Rule 55 is used to move goods without an immediate supply event — for example, goods sent for job-work, goods sent on approval, goods moved within the same GSTIN. No GST is charged on the challan. A stock-transfer invoice is a full tax invoice raised when goods move between two distinct GSTINs of the same legal entity, with IGST or CGST+SGST charged at the applicable rate. The sending GSTIN reports the invoice in GSTR-1; the receiving GSTIN claims the ITC after the invoice flows into its GSTR-2B.
How do ITC implications differ when sending stock to a different GSTIN of the same company?
When a Maharashtra plant sends finished goods to a Karnataka plant of the same company under different GSTINs, the Maharashtra GSTIN charges IGST on the stock-transfer invoice and pays it via GSTR-3B; the Karnataka GSTIN claims that IGST as ITC after the invoice appears in its GSTR-2B. There is no net cash-flow loss at the entity level, but there is a working-capital lag of one filing cycle. If the receiving GSTIN cannot fully utilise the inbound ITC against its own outward supplies, accumulated ITC builds up and must be tracked for refund eligibility under Section 54 of the CGST Act.

See how TransactIG handles reconciliation for your industry

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