Step-by-step walkthrough: Upload → Parse → Validate → Fix → Export GSTR-1
File: happy-path-test.xls
Clean data, zero errors. Shows end-to-end upload → validate → export in under 2 minutes.
File: demo-negative-scenarios.xls
12 errors + 2 warnings. Shows the system catching real-world GST mistakes.
File: Any scanned invoice PDF
Azure AI Document Intelligence extracts data from paper invoices. No manual entry.
| Invoice | Type | What to Say | System Message |
|---|---|---|---|
| (empty) | ERROR | "A blank invoice number. The system catches it immediately instead of failing at the GST Portal." | Invoice number is required |
| BRS/007 | ERROR | "This GSTIN is only 14 characters instead of 15. The system validates the exact structure — state code, PAN format, Z at position 14. Not just length." | Invalid GSTIN format: 36ABCDE1234F1Z |
| BRS/008 | ERROR | "State code 99 doesn't exist. The system knows all 37 valid Indian state codes." | Invalid GSTIN format: 99XYZAB5678G1Z5 |
| BRS/009 | ERROR | "Invoice says ₹15,000 but taxable + tax is ₹11,800. A ₹3,200 discrepancy. The GST Portal would reject this — we catch it first." | Invoice value (15000) ≠ Taxable + Tax. Diff: ₹3200 |
| BRS/010 | ERROR | "Zero-value on a regular supply? That's a red flag." | Taxable value must be greater than 0 |
| BRS/001 | ERROR | "BRS/001 appears twice. Copy-paste mistake — very common. The system detects duplicates across the entire batch." | Duplicate: Invoice #BRS/001 already exists |
| Section | Type | What to Say | System Message |
|---|---|---|---|
| B2CS row | ERROR | "₹3 lakh inter-state B2C sitting in B2CS. The GST Portal requires this in B2CL. Most juniors miss this threshold rule." | should be classified as B2CL |
| B2CL/002 | ERROR | "And the reverse — ₹50,000 intra-state invoice in B2CL. The system knows the ₹2.5 lakh threshold and state rules." | should be classified as B2CS |
| Note | Type | What to Say | System Message |
|---|---|---|---|
| CN/002 | ERROR | "A credit note without referencing which invoice it's adjusting. The portal will reject this outright." | Original invoice number is required for CN/DN |
| CN/003 | ERROR | "Credit note dated January 1st but the original invoice is January 5th. You can't issue a CN before the invoice exists. Time-travel isn't allowed in GST." (pause for laughter) | Note date is before original invoice date |
| CN/004 | ERROR | "This CN is for ₹30,000 but the original invoice was only ₹15,000. You can't credit more than you invoiced. This is an audit red flag." | Over-credit: CN value ₹30,000 exceeds original ₹15,000 |
| CN/005 | ERROR | "This references an invoice from November 2023. The deadline was 30 September 2025. It's expired — the portal won't accept it." | CN/DN date past time limit (30-Sep of FY after original) |
| Invoice | Type | What to Say |
|---|---|---|
| BRS/LONG-INV-... | WARN | "Invoice number is 27 characters. The GST Portal may truncate at 16. It's not a blocker, but we flag it so you can shorten it proactively." |
| BRS#010@26 | WARN | "Hash and @ in the invoice number — the portal only accepts A-Z, 0-9, dash and slash. This might cause issues." |
| # | Invoice | Sheet | Level | Scenario | Expected Error Message |
|---|---|---|---|---|---|
| 6 | (empty) | b2b | ERR | Missing invoice number | Invoice number is required |
| 7 | BRS/007 | b2b | ERR | GSTIN only 14 chars | Invalid GSTIN format: 36ABCDE1234F1Z |
| 8 | BRS/008 | b2b | ERR | GSTIN state code 99 | Invalid GSTIN format: 99XYZAB5678G1Z5 |
| 9 | BRS/009 | b2b | ERR | Invoice value ≠ Taxable+Tax | Invoice value (15000) ≠ Taxable (10000) + Tax (1800) |
| 10 | BRS/010 | b2b | ERR | Taxable value = 0 | Taxable value must be greater than 0 |
| 11 | BRS/001 | b2b | ERR | Duplicate invoice number | Duplicate: Invoice #BRS/001 already exists in FY |
| 12 | BRS/LONG... | b2b | WARN | Invoice # > 16 chars | Invoice number exceeds 16 characters (27 chars) |
| 13 | BRS#010@26 | b2b | WARN | Special chars #, @ | Invoice number contains special characters |
| 14 | — | b2cs | ERR | Inter-state B2C > ₹2.5L in B2CS | Should be classified as B2CL (value > ₹2,50,000) |
| 15 | B2CL/002 | b2cl | ERR | Intra-state < ₹2.5L in B2CL | Should be classified as B2CS |
| 16 | CN/002 | cdnr | ERR | CN without original inv ref | Original invoice number is required for CN/DN |
| 17 | CN/003 | cdnr | ERR | CN date before original inv | Note date is before original invoice date |
| 18 | CN/004 | cdnr | ERR | CN taxable > original (over-credit) | Over-credit: CN value ₹30,000 exceeds original ₹15,000 |
| 19 | CN/005 | cdnr | ERR | CN past time limit (FY 23-24) | CN/DN date past time limit (30-Sep-2025) |
✅ Log into portal.taxzpro.in as Partner · ✅ Have happy-path-test.xls on desktop · ✅ Have demo-negative-scenarios.xls on desktop · ✅ Have a scanned invoice PDF ready · ✅ Clear any existing data for the demo client/period before starting · ✅ Walk through errors slowly — this is the "wow moment" where CAs realize the system knows GST rules better than their juniors