GST E-Invoice
GST E-Invoice manages Invoice Reference Numbers (IRNs) for GST-registered Indian businesses — generate a government-recognised IRN and QR code for a sale, attach an E-Way Bill for goods in transit, and cancel an IRN when needed, all from one dashboard.
Overview
This page is gated to stores whose country is India — everywhere else it shows a "Not available for your region" message instead of the dashboard, since e-Invoicing is a GST-specific legal requirement.
The main list shows every e-Invoice record generated so far, with its IRN, acknowledgement number/date, linked invoice, customer, total and E-Way Bill (if any); clicking a row opens a full detail view for that sale.
From the detail view you can generate a fresh IRN for a sale that does not have one yet, regenerate one, cancel an active IRN, attach an E-Way Bill for transport, and download the raw e-Invoice JSON payload.
Before You Start
- Your store's country must be set to India — the page (and the underlying
gstfeature) is not shown otherwise. - GST E-Invoice requires the Advanced plan tier or above.
- Generating/regenerating an IRN needs Create permission; cancelling an IRN needs Delete permission; downloading the JSON needs Export permission on this page.
Step-by-Step Guide
1 Browse and search e-Invoice records
- Use the search box ("Search IRN, invoice…") to filter by IRN, invoice number or customer.
- Use the status filter dropdown (All Statuses, Active, Cancelled, Failed, Pending) to narrow the list.
- Click Refresh to reload the list (the icon spins while loading).
- Click any row's View button to open the full IRN/E-Way Bill detail for that sale.
2 Generate an IRN for a sale
- Open the detail view for the sale (via View from the list, or the direct /einvoice/:saleId URL).
- If no IRN exists yet, click Generate IRN; if one already exists, the same button reads Regenerate IRN.
- Wait for the button to show "Generating…" — on success the IRN, Acknowledgement Number, Acknowledgement Date and signed QR code appear in the IRN Details card.
- Use the copy icon next to the IRN or Acknowledgement Number to copy it to the clipboard for filing or customer queries.
3 Attach an E-Way Bill for transport
- From the detail view (only available once the IRN is Active), click Generate E-Way Bill.
- Choose the Transport Mode (Road, Rail, Air or Ship) and Supply Type (Outward or Inward).
- Enter the Vehicle Number (e.g. DL01AB1234), and optionally the Transporter ID, Transporter Name and Distance (km).
- Submit the form — on success the new E-Way Bill number appears immediately in the E-Way Bills section of the detail page with its validity date, vehicle number and transport mode.
4 Cancel an IRN
- From the detail view, click Cancel IRN (only shown while the IRN is Active and you have Delete permission).
- Read the cancellation warning in the modal, then choose a Reason: Duplicate, Data entry mistake, Order cancelled, or Others.
- Optionally add Remarks with extra detail.
- Submit — the IRN status updates to Cancelled and the reason is shown on the record going forward; this cannot be undone.
5 Download the e-Invoice JSON
- From the detail view, click Download JSON (requires Export permission).
- The full e-Invoice payload is downloaded as a
.jsonfile named after the sale, for sharing with your accountant or GSP/ERP integration.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Search box | Filters the list by IRN, invoice number or customer name. |
Status filter | All Statuses, Active, Cancelled, Failed, Pending. |
Generate IRN / Regenerate IRN | Creates (or re-creates) the government IRN for the sale; label changes once a record already exists. |
Cancel IRN | Cancels an Active IRN; requires a Reason code and optional Remarks, with an irreversible-action warning. |
Generate E-Way Bill | Opens the E-Way Bill form (Transport Mode, Supply Type, Vehicle Number, Transporter ID, Transporter Name, Distance) for an Active IRN. |
Download JSON | Downloads the raw e-Invoice JSON payload for the sale. |
IRN | The Invoice Reference Number issued by the government e-Invoice system. |
Acknowledgement Number / Date | Proof-of-filing reference and timestamp returned alongside the IRN. |
Signed QR Code | The government-signed QR string that must be printed on the physical/PDF invoice; verifiable at einvoice1.nic.in. |
E-Way Bill list | Every E-Way Bill generated against this sale, with number, validity, vehicle and transport mode. |
Status badge | Active, Cancelled, Pending, Failed, or Expired (for E-Way Bills). |
Tips & Best Practices
- Generate the IRN as soon as the sale is finalised — many GST e-Invoice rules require the IRN before the goods physically move.
- Only generate an E-Way Bill once the IRN is Active; the option is hidden until then because an E-Way Bill must reference a valid IRN.
- Keep the Download JSON payload on file for each e-Invoice if you use a separate accounting/GSP tool that needs the raw signed data.
Troubleshooting & FAQ
The page just shows "Not available for your region".
I don't see Generate IRN, Cancel IRN or Download JSON.
Generate E-Way Bill isn't showing up for a sale.
Can I undo an IRN cancellation?
🧑💻 Developer Notes
Source component(s):
frontend-app/packages/pos-react-lib/src/pages/EInvoiceDashboard.jsx
Backend endpoints used:
GET /einvoiceGET /einvoice/:saleIdGET /einvoice/:saleId/ewaybillsPOST /einvoice/:saleId/generatePOST /einvoice/:saleId/cancelPOST /einvoice/:saleId/ewaybill/generateGET /einvoice/:saleId/json
Related tables (db-core repositories):
EInvoiceEWayBillSale
Redux slices:
scope (selectCurrentScope / getScopeQueryParams)
Feature flag key: gst (requires advanced plan tier or above)
The India gate is a hard storeFmt.isIndia check at the top of the component (not just a feature flag), so the entire dashboard — list and detail — renders a NotIndia placeholder for non-Indian stores regardless of permissions. The list view fetches up to 10,000 records in one call (limit: 10000) and does client-side DataGrid pagination/sorting on top.