SAC Codes for Logistics Services: Freight, Warehousing and Demurrage
For fleet safety, compliance and customs managers · Understand the problem

SAC Codes for Logistics Services: Freight, Warehousing and Demurrage: Illustrative 3PL contract rate and billing review session; not a client facility.
Quick answer: sac codes logistics services
Logistics services in India map to GST SAC codes under Heading 9965 for goods transport, such as 996511 for road freight, and Heading 9967 for supporting services: 996791 for goods transport agency services, 996711 to 996719 for cargo handling and 996729 for general storage and warehousing. No code names demurrage, so its treatment turns on what the charge pays for.
TL;DR — what you’ll learn
- The GST services scheme uses 6-digit codes: road freight is 996511, goods transport agency service is 996791, and general storage and warehousing is 996729 within group 99672.
- Since 22 September 2025 a GTA charges 5% GST without input tax credit, under reverse or forward charge, or opts for 18% with full credit, per the 56th GST Council FAQs.
- Supporting transport services other than GTA, including 996729 warehousing, fall in the residual Heading 9967 entry at 9% CGST plus 9% SGST, 18% in total, as checked on 13 November 2026.
- Invoices must show at least 6 code digits when prior-year aggregate turnover exceeds ₹5 crore and 4 digits up to ₹5 crore, under rule 46 and Notification 78/2020-Central Tax.
Topics: sac codes logistics services · sac 996729 · sac code for demurrage charges · sac 9965 · sac 9967 · gta reverse charge rate
All quantities, amounts, product codes and events are illustrative teaching examples.
An accounts payable clerk opens a forwarder's bill with five lines: road freight, loading, thirty days of storage, a cargo-handling fee and a container detention recharge. The vendor printed 996511 on every line, and the ERP copied its default tax code onto all five. Two months later the tax team finds reverse charge missed on the freight, warehousing coded as transport, and a detention line nobody can classify.
SAC mapping for logistics is a bounded job. The GST services scheme has a fixed list of six-digit codes for transport and support services, and the rate notification attaches each to a rate entry. This guide maps common logistics charges to their codes, explains the GTA rate and reverse charge choice, shows how to handle demurrage when no code names it, and builds the result into ERP charge masters.
How the GST services scheme numbers a logistics charge
Every service code has three layers: a four-digit heading, a five-digit group and a six-digit code. Logistics charges sit mostly in Heading 9965 for goods transport, Heading 9967 for supporting services in transport and Heading 9968 for postal and courier services.
The scheme is the annexure to Notification 11/2017-Central Tax (Rate), and the notification applies the interpretation rules of the First Schedule to the Customs Tariff Act, 1975, so far as they fit. In practice that means the most specific description wins over a general one, which is why a refrigerated storage invoice should not carry the catch-all storage code.
- Heading level, 9967: Supporting services in transport, the umbrella for handling, storage, terminal and agency services.
- Group level, 99672: Storage and warehousing services, which holds three codes.
- Service code, 996729: Other storage and warehousing services, the code behind the frequent search "SAC 996729".
- Rate entry: A separate table in the same notification that sets the rate for each heading or described service.
If you are still comparing carrier offers, our guide to running a comparable carrier tender covers price normalisation; this article starts after award, when the bill arrives and each line needs a tax code.
Heading 9965 codes for moving goods by road, rail, pipe, sea and air
Heading 9965 covers the carriage itself. The scheme splits it into land, water and air groups, and the six-digit codes follow the mode, not the vehicle owner or the contract name on the bill.
Scroll horizontally to see all columns.
| Charge as it appears on a bill | SAC | Official description (shortened) | Rate entry to check |
|---|---|---|---|
| Road freight by truck or trailer | 996511 | Road transport services of goods by trucks, trailers or other vehicles | Heading 9965; GTA entry if a consignment note is issued |
| Rail freight, wagon or rake | 996512 | Railway transport services of goods, including intermodal containers | Heading 9965 rail entries |
| Pipeline transport of petroleum or gas | 996513 | Transport via pipeline | Heading 9965 |
| Ocean or coastal freight | 996521 | Coastal and transoceanic water transport of goods | Heading 9965 vessel entry |
| Air freight | 996531 | Air transport services of letters, parcels and other goods | Heading 9965 |
| Goods transport agency service, road | 996791 | Goods transport agency services for road transport | GTA entry, under Heading 9965 since July 2022 |
| Transport agency service for rail, sea or air | 996792 | Goods transport agency services for other modes of transport | Heading 9967 entries; confirm with adviser |
| Truck hire with driver, priced by time | 996601 | Rental of road vehicles with or without operator | Heading 9966 |
| Courier pickup and delivery | 996812 | Courier services | Heading 9968 |
The last two rows are the common traps. A fleet owner who rents a truck with driver for a day is renting a vehicle, not necessarily transporting goods, and a courier bill sits in Heading 9968 even when the parcel travels by air.
Heading 9967 codes for handling, storage and terminal services
Heading 9967 holds everything that supports the movement without being the movement. Its groups separate cargo handling, storage, mode-specific terminal services and agency services, and each has a residual code ending in 9 for anything not described elsewhere.
- Cargo handling, group 99671: 996711 container handling, 996712 customs house agent services, 996713 clearing and forwarding, 996719 other cargo and baggage handling.
- Storage, group 99672: 996721 refrigerated storage, 996722 bulk liquid or gas storage, 996729 other storage and warehousing.
- Road support, group 99674: 996743 parking lot services, 996744 towing, 996749 other road support.
- Port support, group 99675: 996751 port and waterway operation excluding cargo handling, 996752 pilotage and berthing.
- Airport support, group 99676: 996761 airport operation excluding cargo handling, 996763 other air transport support.
- Other support, group 99679: 996791 and 996792 for goods transport agency, 996793 other goods transport services, 996799 other supporting services.
Port and airport operation codes both say "excluding cargo handling" in the scheme. A terminal bill that mixes berth hire and container lifts therefore needs two lines, 996751 and 996711, rather than one blended code.
Choosing between 996729, 996721 and 996722 for warehouse invoices
Code 996729 is correct only when the stored goods need neither refrigeration nor bulk liquid or gas storage. Cold rooms bill under 996721, and tank farms holding fuel, chemicals or gases bill under 996722.
Warehousing invoices under the GST Scheme of Classification of Services use 996721 for refrigerated storage, 996722 for bulk liquid or gas storage and 996729 for other storage. Notification 11/2017-Central Tax (Rate) applies its residual Heading 9967 entry at 9% CGST plus 9% SGST to these codes, 18% in total.
Value-added work inside a warehouse needs its own look. Packing goods for a client appears in the scheme as 998540, packaging services of goods for others, under Heading 9985 support services, not under storage. When a 3PL bills storage and kitting as one monthly fee, ask for a split so each part carries its own code and rate.
GTA consignment notes, the 5% or 18% option and reverse charge
A road carrier becomes a goods transport agency when it issues a consignment note, by whatever name called; that definition in Notification 11/2017-Central Tax (Rate) decides whether the GTA rate entry and reverse charge apply.
- Rate options since 22 September 2025: The 56th GST Council FAQs state GTA freight stays at 5% without input tax credit, with an option to charge 18% with full credit.
- Who pays under reverse charge: Notification 13/2017-Central Tax (Rate) shifts the tax to recipients such as a factory, a registered person or a body corporate, unless the GTA has opted for forward charge.
- Opting out of reverse charge: A GTA that wants forward charge files a declaration before the financial year; check the current window in the amended notification.
- Container trains: The same FAQs give container train operators a choice of 5% without credit or 18% with full credit.
- Multimodal moves: 5% with restricted credit where no leg is by air, and 18% with full credit once an air leg is involved.
Goods transport agency freight in India carries 5% GST without input tax credit, under reverse or forward charge, or 18% with full credit if the GTA opts in, according to the 56th GST Council FAQs effective 22 September 2025. A consignment note is what makes a road carrier a GTA.
Loading and unloading billed by the same GTA usually follow the freight. Circular 234/28/2024-GST, issued on 11 October 2024, treats ancillary services a GTA provides in the course of transport as part of the composite transport supply and says the method of invoicing will not generally change that, so listing them separately on the invoice does not by itself split them out; services outside the course of transport and invoiced separately are not part of it.
Demurrage, detention and port storage fees without a dedicated code
No code in the scheme names demurrage or detention, and the circulars reviewed for this guide do not classify either. The defensible approach is to record what the charge pays for, then apply the principle the CBIC has published for comparable charges.
Circular 178/10/2022-GST distinguishes two cases. Where a payment is really consideration for a facility ancillary to the main supply, it is assessed as that principal supply; paragraph 11.3 applies this to cancellation fees. Where a payment only compensates a loss from breach, with no agreement to tolerate the act, it is not consideration for a supply.
- Who billed it: A port, a container freight station, a shipping line, a railway or the GTA itself.
- What it pays for: Continued use of a container, wagon or yard space, or a penalty for late return under the contract.
- Tie to a principal supply: Whether the charge arises in the course of a transport or storage service already on the same contract.
- Evidence to keep: Free-time terms, gate-in and gate-out times, and the tariff or contract clause; our guide to separating demurrage, detention and terminal storage covers the operational proof.
Building SAC into the ERP charge master and invoice lines
Store the SAC on the charge code, not on the vendor. Every rate-card line in a freight or warehousing contract should map to one charge code that carries its SAC, rate entry and tax mode, so the ERP assigns tax per line instead of copying a vendor default.
Rule 46 of the CGST Rules requires a tax invoice to show the code for goods or services, and Notification 78/2020-Central Tax sets the digits from 1 April 2021: four where prior-year aggregate turnover is up to ₹5 crore, six above it. Six digits suit every logistics line because the useful distinctions, such as 996721 against 996729, only appear at that level.
[
{
"chargeCode": "WH-STORE-AMB",
"description": "Ambient storage per pallet-day",
"sac": "996729",
"rateEntry": "Heading 9967 residual",
"gstRatePct": 18,
"taxMode": "FORWARD",
"validFrom": "2025-09-22"
},
{
"chargeCode": "FRT-ROAD-GTA",
"description": "Road freight with consignment note",
"sac": "996791",
"rateEntry": "GTA entry, Heading 9965",
"gstRatePct": 5,
"taxMode": "RCM_UNLESS_VENDOR_FORWARD_DECLARATION",
"validFrom": "2025-09-22"
},
{
"chargeCode": "CTR-DETENTION",
"description": "Container detention beyond free days",
"sac": null,
"status": "HOLD_FOR_TAX_REVIEW",
"evidenceRequired": ["free-time clause", "gate-out time", "gate-in time"]
}
]
For the accounts payable side of GTA bills, including month-end accruals across many consignment notes, see our guide to freight payables with GTA reverse and forward charge.
A misclassified forwarder bill, traced from receipt to correction
The sequence below is illustrative, with invented document numbers, but it shows the usual chain: one wrong default on the vendor master spreads to every line, and the error surfaces only at the tax review.
- Day 1, 09:40: Forwarder bill FWD/2611/0187 arrives with SAC 996511 on all five lines, including storage and a ₹22,000 container detention recharge.
- Day 1, 09:55: The ERP applies the vendor-master tax code, 18% forward charge, to every line; the match passes because amounts agree with the purchase order.
- Day 1, 16:30: Posting completes; detention lands in freight expense with input tax credit claimed.
- Day 20 of the next month: The tax review finds no forward-charge declaration on the bill, so ₹1,28,000 of freight and loading should have been reverse charge at 5%, a ₹6,400 liability missed.
- Controlled version: Charge codes assign SAC per line, GTA lines without a declaration route to reverse charge, and the detention line waits in a review queue.
Scroll horizontally to see all columns.
| Record | Maintained by | Approves changes | Review trigger |
|---|---|---|---|
| Charge-code master with SAC, rate entry and tax mode | Indirect tax analyst | Head of indirect tax | Rate notification or Council decision |
| Contract rate card mapped to charge codes | Logistics procurement | Indirect tax analyst | New contract or new charge type |
| GTA forward-charge declaration on file | Accounts payable | Indirect tax analyst | Start of each financial year |
| Consignment notes behind each freight line | Transport desk | Accounts payable on match | Every bill |
| Position papers on demurrage and detention | Indirect tax analyst | Tax adviser and finance controller | New billing party or new circular |
| Code summary on outward invoices and returns | Billing team | Indirect tax analyst | Monthly return cycle |
Worked invoice in rupees, with the US column marked not applicable
The bill below re-codes the forwarder invoice from the trace, using illustrative amounts for a registered manufacturer buying within one state. The US column stays empty by design, because there is no federal GST or service code to compare against.
Scroll horizontally to see all columns.
| Line | SAC | Taxable value (₹) | Treatment | GST (₹) | US federal equivalent ($) |
|---|---|---|---|---|---|
| Road freight, consignment note issued | 996791 | 1,20,000 | Reverse charge at 5%, paid by recipient | 6,000 | Not applicable |
| Loading and unloading in the course of that transport | 996791 | 8,000 | Follows freight as composite supply | 400 | Not applicable |
| Ambient storage, 30 days | 996729 | 45,000 | Forward charge at 18% | 8,100 | Not applicable |
| Cargo handling at the warehouse, outside transport | 996719 | 10,000 | Forward charge at 18% | 1,800 | Not applicable |
| Container detention recharge | Pending | 22,000 | Held for tax review | Not posted | Not applicable |
| Totals posted | 1,83,000 | Vendor-charged GST 9,900; self-assessed 6,400 | 16,300 | Not applicable |
Compared with the original posting, the vendor-charged tax falls from ₹36,900 at 18% on everything, including the held line, to ₹9,900, while ₹6,400 moves to reverse charge. Whether the detention line attracts tax waits for the documented position described above.
What the ERP enforces, what software suggests, and a review list
Code lookup, rate and reverse charge tests are table-driven and should block posting when they fail. Reading free-text carrier descriptions and judging demurrage are where software can suggest and a person must decide.
Scroll horizontally to see all columns.
| Task | Handled by | Rule or reason |
|---|---|---|
| Reject a bill line whose charge code has no SAC in the master | Blocking ERP rule | Rule 46(g) needs a code on every invoice line |
| Route GTA lines to reverse charge when no forward-charge declaration is on file | Blocking ERP rule | Notification 13/2017-Central Tax (Rate) GTA entry |
| Print 4 or 6 code digits by prior-year turnover | Blocking ERP rule | Notification 78/2020-Central Tax table |
| Read "DET 14D 40HC" on a shipping line bill and propose a charge code | Software suggests, accounts payable confirms | Abbreviations vary by carrier |
| Flag a vendor whose SAC changes between months for the same service | Software flags, tax analyst reviews | May be a correction or an error |
| Decide whether a detention charge is consideration or compensation | Tax adviser | Circular 178/10/2022-GST principle applied to contract facts |
Logistics charge masters in an ERP should store the six-digit SAC, the rate entry and the tax mode per charge code, because rule 46(g) of the CGST Rules requires a code on each tax invoice and Notification 78/2020-Central Tax requires six digits above ₹5 crore turnover.
Scroll horizontally to see all columns.
| Check | Pass condition | Owner |
|---|---|---|
| Every active rate-card line mapped to a charge code | Zero unmapped lines in the last 3 months of bills | Logistics procurement |
| Storage codes split by refrigeration and bulk liquid | 996721 and 996722 used where applicable | Indirect tax analyst |
| GTA declarations collected for forward-charge vendors | Declaration on file for each such vendor for the year | Accounts payable |
| Rate table dated after 22 September 2025 | GTA, container train and multimodal options reflected | Indirect tax analyst |
| Demurrage and detention hold queue | Written position per billing party before release | Tax adviser |
| Code digits on outward invoices | Six digits where turnover exceeds ₹5 crore | Billing team |
Related transport tax and billing guides are collected in our logistics section. If you want the charge-code mapping built into your freight and warehouse billing flow, share your requirements and we will scope it against the checks above.
Discuss this workflow
Describe your current systems, the recurring exception and the outcome you need. Keep shipment, customer and financial records out of the initial message.
Common operational questions
Practical answers for operations, engineering, and finance teams working on sac codes logistics services in logistics & supply chain.
What is SAC 996729?
What is the SAC code for demurrage charges?
Do GTA services use SAC 9965 or 996791?
Who pays GST on GTA freight under reverse charge?
References
Sources checked 13 November 2026. US and India statutory authorities and vendor documentation support platform facts; the worked examples and diagrams are original.
- GST Council - Scheme of Classification of Services (Annexure to Notification No. 11/2017-Central Tax (Rate))Headings 9965, 9967, 9968 and 9985 codes and descriptions read. Accessed 13 November 2026.
- GST Council - Notification No. 11/2017-Central Tax (Rate) dated 28 June 2017GTA definition (consignment note) and Heading 9967 residual entry at 9% CGST read. Accessed 13 November 2026.
- GST Council - Notification No. 03/2022-Central Tax (Rate) dated 13 July 2022Heading 9967 explanation that GTA service falls under Heading 9965; in force from 18 July 2022. Accessed 13 November 2026.
- PIB - Frequently Asked Questions on the decisions of the 56th GST CouncilFAQ 1 (effective 22 September 2025) and FAQs 60-63 on GTA, container trains and multimodal transport read. Accessed 13 November 2026.
- CBIC - Circular No. 178/10/2022-GST on liquidated damages, compensation and penaltiesParagraphs 7.1 and 11.3 read; the circular does not mention demurrage or detention. Accessed 13 November 2026.
- GST Council - Circular No. 234/28/2024-GST dated 11 October 2024, paragraph 6Accessed 13 November 2026. Paragraph 6.3: ancillary services such as loading, unloading, packing, transshipment and temporary warehousing provided by a GTA in the course of road transport are a composite supply of transport, and the method of invoicing will not generally alter that; services not provided in the course of transport and invoiced separately are not part of it.
- CBIC - Central Goods and Services Tax Rules, 2017, rule 46 (tax invoice)Clause (g) and the first proviso on code digits for goods or services read. Accessed 13 November 2026.
- GST Council - Notification No. 78/2020-Central Tax dated 15 October 2020Four digits up to ₹5 crore and six digits above, from 1 April 2021. Accessed 13 November 2026.
- GST Council - Reverse Charge Mechanism flyer (Notification No. 13/2017-Central Tax (Rate) recipients)GTA entry and recipient categories read; forward-charge conditions have since been amended. Accessed 13 November 2026.
- U.S. Customs and Border Protection (CBP) — Automated Commercial Environment (ACE)US federal system of record for import entries, ISF 10+2, and Form 7501.
- Federal Maritime Commission (FMC) — OSRA 2022 Demurrage & Detention Billing RulesUS statutory requirements for ocean carrier and MTO demurrage invoicing.
- CBIC ICEGATE — Indian Customs Electronic GatewayIndian customs filing portal for Bill of Entry, Shipping Bill, and duty ledger reconciliation.
