How to read Indian GST invoices and reconcile tax components accurately
Dynamite Docs, 2026-08-19
Capture the printed GST fields and line-item tax breakdowns
To extract GST invoices for accounting entry and tax review, capture the printed tax particulars and repeating item rows without assigning tax treatment. The schema may include 15-character GSTINs, HSN or SAC codes, and separate CGST, SGST, IGST, and cess values. Manual rekeying adds another opportunity for digits, codes, or tax amounts to be entered incorrectly.
A resilient extraction workflow follows five practical steps. First, define the statutory schema required by your accounting software. Second, extract text layers from digital PDFs or run preprocessing OCR on scanned paper bills. Third, validate the alphanumeric structure of supplier and recipient GSTINs. Fourth, reconcile invoice arithmetic across taxable values and tax splits. Fifth, review flagged exceptions in a side-by-side viewer before exporting clean purchase rows to your spreadsheet or accounting software.
Map the current tax-invoice particulars under Rule 46
Rule 46 of the CGST Rules specifies particulars for tax invoices. Requirements and exceptions can change, so build the schema from the current rule and guidance that apply to the transaction rather than treating this article as a filing checklist. Group the selected particulars into document headers and repeating line items.
Document headers capture transaction-level legal details, including supplier name, registered address, supplier GSTIN, invoice serial number, date, recipient particulars, place of supply, and whether reverse charge applies.
Line items can record product or service details such as description, HSN or SAC code, quantity, unit of measure, unit rate, taxable value, tax rate, and tax amounts. Keep the header and item layers separate so each value can be checked before the purchase register is updated.
- Supplier particulars: legal name, trade name, address, and 15-character GSTIN
- Invoice details: serial number up to 16 characters, invoice date, and PO reference
- Recipient particulars: customer name, address, state code, and recipient GSTIN
- Tax values: place of supply, reverse charge status, taxable values, tax rates, and totals
Validating 15-character GSTIN structures and HSN codes
Validating alphanumeric identifiers prevents downstream filing errors. A Goods and Services Tax Identification Number (GSTIN) follows a strict 15-character format. The first two digits represent the state code, ranging from 01 for Jammu and Kashmir to 37 for Andhra Pradesh. The next ten characters represent the PAN (five letters, four digits, one letter). The thirteenth character is an entity code, the fourteenth is the default letter Z, and the fifteenth is a checksum digit.
Optical character recognition engines frequently confuse visually similar characters within GSTINs, mistaking 0 for O, 1 for I, 8 for B, or 5 for S. Automated format validation tests each segment against statutory rules, alerting operators whenever an extracted string violates the expected pattern.
HSN reporting requirements depend on current GST rules, notifications, turnover, and transaction type. Confirm the required code length with the current CBIC or GST Portal authority and the responsible tax reviewer. Store HSN or SAC codes as text so leading zeros are preserved.
- GSTIN layout: 2-digit state code, 10-character PAN, 1-character entity code, default Z, and 1 checksum character
- HSN or SAC rule: confirm the current code requirement for the taxpayer and transaction type
- Data hygiene: format HSN codes and invoice numbers as text strings to preserve leading zeros in Excel exports
Intra-state versus inter-state tax splits: CGST, SGST, and IGST
Sections 7 and 8 of the Integrated Goods and Services Tax Act address inter-state and intra-state supplies. The legal classification depends on the transaction facts and current rules; extraction should capture the printed locations, place of supply, labels, rates, and amounts without making that determination.
When an invoice prints CGST and SGST or UTGST, store those components separately. Do the same for IGST. A reviewer can then compare the printed split with the applicable treatment instead of asking the extraction model to infer it.
Never permit an automated extraction tool to guess tax splits. If an invoice lists a combined tax figure or shows an inter-state place of supply with local CGST and SGST charges, flag the document for human review. Keep CGST, SGST, and IGST in separate columns in your Excel export to prevent errors during GSTR-1 preparation and GSTR-2B purchase matching.
Step 1: Extract digital PDFs, scanned bills, and e-invoices
GST invoices arrive in three formats: native digital PDFs generated by accounting software, scanned paper documents, and e-invoices with embedded QR codes.
Digital PDFs created by accounting software often contain selectable text and coordinates. Reading that text directly avoids an unnecessary OCR pass, but malformed encodings, unusual reading order, and table layout can still produce errors. Validate the resulting rows against the invoice.
Scanned bills and mobile photos require OCR and may benefit from deskewing, margin cleanup, and contrast correction. For e-invoices, retain the printed Invoice Reference Number and signed QR data as source fields. Verify their status through the appropriate GST system rather than treating extraction alone as validation.
- Native digital invoices: use selectable text and coordinates, then check reading order and table alignment
- Scanned paper bills: apply deskewing, noise reduction, and contrast enhancement before OCR processing
- E-invoices: verify the 64-character IRN hash and extract structured payload fields from the signed QR code
Step 2: Isolate repeating line items from tax summary tables
A common layout challenge on Indian tax invoices is the presence of an HSN summary table positioned directly beneath the main item table. The HSN summary consolidates taxable values and tax amounts grouped by tariff code.
Basic OCR parsers frequently mistake the HSN summary table for additional billable items, duplicating purchase values and inflating invoice totals. A specialized GST extractor distinguishes the primary item table from the summary table by inspecting column headers. Labels like "HSN/SAC", "Taxable Value", "Central Tax", and "State Tax" in the lower block indicate an aggregate summary rather than individual line items.
Multi-line descriptions require careful row stitching. Item descriptions frequently include batch numbers, manufacturing dates, expiry dates, or vehicle numbers wrapped across two or three lines. The extraction parser must join these descriptive fragments into the parent item row while keeping quantities, rates, and amounts cleanly separated.
Step 3: Run arithmetic cross-footing and reconciliation checks
Mathematical reconciliation can expose extraction errors when the invoice supplies the required components. Use it with format checks, source review, and approval before data reaches the accounting ledger.
Execute horizontal line checks: multiply quantity by rate, subtract discounts, and verify taxable value. Then multiply taxable value by the tax percentage to verify the computed tax amount.
Execute vertical table checks: sum the line taxable values and compare them with the printed subtotal. Then add the printed CGST, SGST, IGST, cess, and round-off adjustments and compare the result with the grand total. Apply only the rounding tolerance approved in the accounting policy.
- Horizontal check: confirm that quantity multiplied by unit rate less discount equals the printed taxable value
- Tax calculation check: confirm that taxable value multiplied by tax percentage equals the printed tax amount
- Vertical check: confirm that the sum of line taxable values equals the printed taxable subtotal
- Grand total check: confirm that taxable subtotal plus all tax components matches the final invoice total
Step 4: Prepare data for Tally, Busy, and GSTR-2B reconciliation
Map reviewed data to the current import structure used by the organization's accounting software. TallyPrime, BUSY, and other systems can be configured differently, so inspect the target company, masters, voucher type, tax ledgers, and import template before shaping a full batch.
For tax professionals and finance teams, clean invoice data accelerates monthly GSTR-2B reconciliation. GSTR-2B is an auto-drafted Input Tax Credit (ITC) statement generated by the GST Portal based on sales reported by your suppliers in GSTR-1. Reconciling extracted purchase data against GSTR-2B identifies missing invoices, mismatched tax amounts, or supplier non-compliance before filing monthly GSTR-3B returns.
Step 5: Review exceptions and enforce the GST scope boundary
Human review remains necessary because format and arithmetic checks do not establish tax compliance. Route mismatches, unreadable codes, and missing particulars to a reviewer, and set a spot-check policy for rows that pass automated checks.
Keep the extracted table beside the invoice during review. Selecting a flagged cell should reveal its source location so the reviewer can confirm a faint digit or HSN code before export.
Understand the operational scope of document extraction. Dynamite Docs extracts text and numbers from source documents. It does not determine whether an invoice complies with GST law, verify taxpayer active status on the portal, determine ITC eligibility, or prepare tax returns. Review every extracted value against the original document and consult a qualified Chartered Accountant or tax advisor before filing.
A repeatable workflow to extract GST invoices in Dynamite Docs
Dynamite Docs processes GST invoices through automated schema inference and visual verification. Upload invoice PDFs, scanned vouchers, or receipts directly into the workspace. The engine identifies statutory headers, item tables, and tax summaries without requiring custom coordinate templates.
In the Data Studio, arithmetic checks can compare taxable values and printed tax splits. Discrepancies appear beside the source invoice so the reviewer can adjust mappings, resolve wrapped text, or reject an uncertain value. Saved corrections can be reused for recurring layouts, but later invoices still need validation.
Approved invoices can be exported to Excel, CSV, JSON, or Google Sheets. If the data will be imported into Tally or Busy, map it to the company's configured masters and test a small batch first. Security still depends on the storage, provider, retention, and access policies selected by the organization.
Frequently asked questions about extracting GST invoices
Can I extract GST data from scanned paper bills and photos? Yes. Scanned documents and mobile photos pass through high-resolution OCR preprocessing to digitize printed characters, correct page rotation, and reconstruct item tables for arithmetic validation.
How does the extractor handle CGST, SGST, and IGST? It captures the printed place of supply, GSTIN state codes, tax labels, rates, and amounts into separate fields. Rules can flag inconsistent or missing combinations, but a qualified reviewer decides the correct tax treatment.
What should I do if a supplier invoice does not show HSN codes? If an invoice omits HSN codes, the extractor leaves the field blank to reflect the source document accurately. Never invent or assume tariff codes. Flag the invoice for operator review so your accounting team can verify reporting requirements with the supplier.
How do you prevent HSN summary tables from becoming duplicate line items? Use the summary headers and aggregate labels as layout anchors, then compare item counts and taxable totals with the source. Route ambiguous tables to review rather than accepting them as purchase rows.
Does extracting GST invoices automatically verify Input Tax Credit on the GST Portal? No. Document extraction digitizes text and numbers from invoices. Verifying Input Tax Credit requires reconciling your approved purchase register against the auto-drafted GSTR-2B statement on the GST Portal.
Review one GST invoice batch before reusing the schema
GST invoice extraction should preserve the printed particulars, item rows, and tax amounts while keeping filing decisions outside the extraction step. Format checks and arithmetic reconciliation can expose errors, but they do not decide compliance or input tax credit eligibility.
Test the schema on invoices with mixed tax rates, discounts, round-off, and difficult scans. Compare the exported rows with the source, record unresolved exceptions, and let the accounting reviewer approve the mapping before it is reused.
Sources checked for this note
Related workflow: Extract GSTINs, HSN codes, and tax components from Indian tax invoices.
Keep reading
Try it yourself. Upload a PDF, scan, or image and let Dynamite Docs infer the schema.