Key takeaways
What this article covers, in order:
- First, what's the difference between HSN and SAC?
- How many digits do I report?
- What changed with the B2B and B2C tabs?
- What does each column need?
- Why doesn't my Table 12 match the rest of GSTR-1?
- What about Table 13?
You've entered every invoice, the totals look right, and then GSTR-1 throws a warning on Table 12. Again. Table 12 is the HSN-wise summary of everything you sold in the period: each HSN (goods) or SAC (services) code, the quantity, the taxable value and the tax. Since the Apr 2025 tax period it's split into separate B2B and B2C tabs, and codes have to be picked from the portal's dropdown rather than typed in.
The number of digits depends on your turnover: 4 if you were at ₹5 crore or below last year, 6 if you were above. Most of the pain comes from three things: wrong digits, a summary that doesn't add up to the invoice tables, and units that don't make sense.
First, what's the difference between HSN and SAC?
HSN (Harmonised System of Nomenclature) codes classify goods. They're international, organised into chapters, so 0402 is milk powder, 6109 is T-shirts, 8471 is computers.
SAC (Services Accounting Code) is India's code list for services. All SAC codes start with 99. Legal services sit under 9982, IT services under 9983, restaurant services under 9963.
In GSTR-1 both go into the same Table 12. The portal doesn't care that one is goods and one is services; it just wants the right code, the right digits, and figures that tie up.
How many digits do I report?
| Aggregate turnover in previous FY | Digits in Table 12 |
|---|---|
| Up to ₹5 crore | 4 |
| Above ₹5 crore | 6 |
Look at last year's turnover across all GSTINs on your PAN, not just this registration. A firm with ₹4.8 crore in FY 2025-26 reports 4 digits throughout FY 2026-27, even if it crosses ₹5 crore halfway through.
You're always allowed to report more digits than the minimum. Some businesses with tightly classified products (pharma, auto parts) keep 8-digit codes on invoices for their own sanity. The dropdown will offer codes at the level the portal expects, so pick the one that matches.
What changed with the B2B and B2C tabs?
Before 2025 you could lump all sales of one HSN together. Now Table 12 has two tabs.
The B2B tab is for supplies to registered persons, and it should line up with your B2B invoices, credit/debit notes and amendments in Tables 4, 6B, 6C, 9B and so on.
The B2C tab is for supplies to unregistered buyers, and it's checked against B2C large, B2C small, exports and nil-rated tables.
So if Anand's hardware shop in Nashik sells ₹3,20,000 worth of HSN 7318 (screws and bolts) in Nov 2026, with ₹2,00,000 going to registered contractors and ₹1,20,000 over the counter, he reports two lines: ₹2,00,000 under 7318 in the B2B tab and ₹1,20,000 under 7318 in the B2C tab. Same code, two entries.
And the dropdown?
Manual typing of HSN codes is gone. You pick from a list, and the description fills itself from the government's HSN master. It cuts typos. It also means if your billing software had a made-up or outdated code on your item master, you'll find out now. Clean up your item list before the busy season, not on the 10th.
What does each column need?
| Field | What to enter | Common slip |
|---|---|---|
| HSN/SAC | Pick from dropdown | Using a code from an old rate list |
| Description | Auto-filled | Nothing to do here |
| UQC (unit) | NOS, KGS, MTR, LTR, etc. Services use "OTH" or "NA" as the portal allows | Mixing BOX and NOS for the same item across invoices |
| Total quantity | Sum for the period | Reporting value in the quantity field |
| Rate | Tax rate for that line | One HSN sold at two rates needs two lines |
| Taxable value | Sum net of discounts | Including tax in the value |
| IGST / CGST / SGST / Cess | Tax amounts | Charging both IGST and CGST on the same line |
Services almost never have a meaningful quantity, so don't overthink UQC for them. Pick what the portal accepts for services.
If one HSN code was sold at two different rates in the same period (this happened a lot around the 22 Sep 2025 rate changes), report a separate line for each rate.
Why doesn't my Table 12 match the rest of GSTR-1?
The portal compares the totals in Table 12 with the invoice-level tables. When they differ, it flags them. At the time of writing these validations show as warnings and still let you file, but check the portal's latest advisory because that can tighten.
The usual reasons for a mismatch:
- Credit notes not netted. If you issued a ₹20,000 credit note against HSN 8516, the HSN summary should reduce by that much.
- Advance adjustments. Advances received and adjusted in Tables 11A/11B can confuse manual summaries.
- Nil-rated and exempt items left out. They still belong in the HSN summary, at 0% tax.
- Rounding. Invoice-level rounding to the nearest rupee adds up across hundreds of invoices.
- The B2B/B2C split done by guesswork. If a customer got registered mid-month, invoices before and after need to land in the right tab.
The cleanest fix is to never build Table 12 by hand. Generate it from the same invoice data that produces the other tables. Then the only differences left are real errors.
What about Table 13?
While you're at the bottom of GSTR-1, Table 13 asks for a summary of documents issued: invoice series, from and to numbers, total issued and cancelled. It's simple, and it's where gaps in your numbering show up. If your series jumps from 0141 to 0145, make sure the three missing ones are marked as cancelled.
A short pre-filing check for Table 12
- [ ] Digits match last FY's turnover (4 or 6)
- [ ] Every item in your master has a valid code from the dropdown list
- [ ] B2B and B2C sales are on separate tabs
- [ ] Credit notes have reduced the right HSN lines
- [ ] Nil-rated and exempt sales are included at 0%
- [ ] One line per HSN per rate
- [ ] UQC is consistent for each item
- [ ] Table 12 totals agree with the invoice tables
- [ ] Table 13 document numbers have no unexplained gaps
What if I used the wrong HSN last month?
If the tax was right and only the code was wrong, the impact is usually limited to the summary, and you correct it going forward. If the wrong code meant the wrong rate, that's a tax issue: you'll need to issue credit or debit notes, amend through GSTR-1A before you file GSTR-3B for that period, or amend in a later GSTR-1. Classification disputes on borderline products (is it a food preparation or a namkeen? a part or an accessory?) are exactly where a CA earns their fee, so ask one.
How HelloBooks helps
In HelloBooks you set the HSN or SAC code once on each item or service, and it's carried onto every invoice. The HSN summary for GSTR-1 is built from those same invoices, so it lines up with the rest of the return instead of being a separate spreadsheet. You can then file GSTR-1 directly to the GST portal from inside HelloBooks on the Free plan for one GSTIN. See the GSTR-1 filing page and our HSN/SAC page for more.
FAQs
Do small businesses under ₹1.5 crore need to report HSN in GSTR-1?
Yes. The reporting requirement is based on the ₹5 crore threshold. Below it you report 4 digits; there's no exemption from Table 12 itself for regular taxpayers.
Where do I find the right SAC for my service?
The CBIC website publishes the services classification. Search by description, check the explanatory notes, and confirm the rate against the current rate notification.
Can I report the same HSN in both B2B and B2C tabs?
Yes, and you should if you sold it to both registered and unregistered buyers in the period.
Will a Table 12 mismatch stop me from filing GSTR-1?
At the time of writing it shows a warning and lets you file. That could change, so check the GST portal's current advisory, and fix mismatches anyway because they make reconciliation harder later.
Do QRMP filers report HSN in IFF?
No. IFF only takes B2B invoices and notes. The HSN summary goes in the quarterly GSTR-1.
Sort the item master once and Table 12 stops being the part of GSTR-1 you dread.
Start free — GST filing included, no card. Try HelloBooks Free