GSTIN extraction and format review from invoices
By Dynamite Docs. Published . Updated .
Turn GST invoices into clean, reviewed data for Excel and Tally.
A [GST invoice](/accounting/india/gst-invoice-data-extraction) may contain several 15-character GSTINs: supplier, billed-to customer, shipped-to consignee and sometimes transporter. A single confused letter or digit can break a purchase-register match. Dynamite Docs extracts visible GSTINs into role-tagged fields and checks whether each value fits the expected structural pattern. That is a document-level format check, not proof that a registration is active, belongs to the named party or was valid on the transaction date. Confirm important identifiers against your approved master data and current compliance process.
Try a GST invoice or compare its storage, processing, and export limits.
A single misread character in a GSTIN creates reconciliation issues
- Matching purchase bills against portal records requires exact GSTINs. A typo in either the supplier or buyer GSTIN prevents automatic matching.
- Standard OCR software often confuses similar characters in 15-digit strings, such as swapping "8" with "B", "0" with "O", or "1" with "I".
- In "Bill To / Ship To" transactions, the billing customer GSTIN determines the tax regime while the consignee GSTIN marks physical delivery.
- Some e-invoices display a signed QR code as well as printed identifiers, creating two visible sources that may need separate review.
Document types this workflow handles
- B2B GST invoices: supplier and buyer GSTINs with state codes
- E-invoices (IRP signed): printed GSTINs captured for source review
- E-way bills (NIC): consignor, consignee, and transporter GSTIN records
- Bill To / Ship To invoices: separate billing buyer and shipping consignee GSTINs
What gets extracted from the GSTIN block
Each GSTIN is organized into components and checked against structural rules:
- Supplier GSTIN: 27AABCS1429B1ZP
- Customer (Billed-to) GSTIN: 27BAAFG2874Q1ZX
- Consignee (Shipped-to) GSTIN: 07AAECU4471L1ZF
- State code (digits 1-2): 27 (Maharashtra) / 07 (Delhi)
- PAN component (digits 3-12): AABCS1429B (5 letters, 4 numbers, 1 letter)
- Entity & check characters (13-15): 1ZP (Entity 1, default Z, check P)
- Trade / legal registered name: Shri Balaji Traders
- Format review status: Pattern pass; source review required
A realistic example
Sample data. Not a real invoice or filing record.
A tri-party inter-state e-invoice extracts into structured entity records for review:
| Entity Role | GSTIN (15-char) | State Code & Name | PAN Component | Trade Name | Validation Status |
|---|---|---|---|---|---|
| Supplier | 27AABCS1429B1ZP | 27 - Maharashtra | AABCS1429B | Shri Balaji Traders | Pattern pass |
| Billed-To Customer | 27BAAFG2874Q1ZX | 27 - Maharashtra | BAAFG2874Q | Vasavi Office Systems | Pattern pass |
| Shipped-To Consignee | 07AAECU4471L1ZF | 07 - Delhi | AAECU4471L | UrbanMiles Logistics | Pattern pass |
What to validate before export
Validation issue
Review every 15-character GSTIN and distinguish supplier from recipient.
Limitation
The extractor does not verify registration status with the GST Portal.
Reviewed by Dynamite Docs content team. Last verified 2026-09-11.
Understanding the 15-character GSTIN structure
A GSTIN follows a strict 15-character structure: digits 1 and 2 indicate the state code (such as 27 for Maharashtra or 07 for Delhi); characters 3 to 12 represent the 10-character PAN of the business; character 13 indicates the entity registration number; character 14 is default "Z"; and character 15 is a checksum digit.
A structural check can catch the wrong length or a letter in a numeric position, but it has limits. A different 15-character value may still fit the pattern. If glare turns “8” into “B,” or a blurred “0” into “O,” use the confidence signal to find the field and then compare it with the source document. For supplier onboarding or filing, use the organization’s approved registry or portal-check process as well.
Role tagging matters as much as character recognition. The GSTIN closest to a “Bill To” block should not automatically become the supplier value, and a delivery address may carry a consignee identifier that differs from the billed-to party. Keep the printed label, nearby name and address with each extracted value so the reviewer can resolve the role from context.
Build duplicate and mismatch checks around the reviewed export. Compare the supplier GSTIN with the vendor master, compare the buyer GSTIN with the entity receiving the invoice, and flag unexpected state-code changes. Preserve the raw extracted value separately from a corrected value, along with the reviewer and reason, so a later reconciliation can explain what changed.
For an e-invoice QR code, do not claim a cross-check unless the workflow actually decodes and validates that code. This page covers visible document extraction and structural review. Portal status, registration ownership, effective dates and cryptographic verification require separate controls.
Separating supplier, buyer and consignee GSTINs into distinct columns makes purchase-register matching easier, but it does not establish the correct tax treatment by itself. Place of supply, invoice type and transaction context still need tax review.
GSTIN capture with model choice
Reading alphanumeric identifiers from mobile photos and scanned bills requires careful visual extraction. Every signed-in tier can connect a supported provider key, subject to the provider’s own terms and limits.
Digital PDFs may expose embedded text, while scans need visual extraction backed by structural checks. Neither method proves that a GST registration is active or belongs to the printed name.
Reviewed GSTIN records can be exported to Excel, CSV or JSON, or pushed to Google Sheets when connected. Free and Hobby own-key pages use monthly PE; Pro and Ultra own-key runs do not consume PE.
Questions, answered
How does format validation detect OCR mistakes in 15-digit GSTINs?
The system checks length and expected character positions, which can flag some OCR mistakes. A pattern pass is not the same as portal validation or proof of ownership, so compare the value with the document and your approved party master.
How are billing and shipping GSTINs separated on deliveries?
In "Bill To / Ship To" transactions, the buyer billing GSTIN and shipping consignee GSTIN are extracted into distinct, role-tagged columns so they do not get mixed up.
Does this workflow validate the e-invoice QR code?
No. This workflow extracts visible document fields and checks the GSTIN structure. Cryptographic QR validation and portal verification are separate controls.
Why is supplier GSTIN accuracy important for input tax credit?
GSTIN is a key match field between a purchase record and supplier-reported data. Accurate capture reduces avoidable mismatches, but input tax credit eligibility depends on additional document, transaction and compliance conditions reviewed by your tax team.
Related document workflows
Related extraction articles
Open the document extraction workspace, no credit card required.