Prepare the invoice JSON payload conforming to the GST e-invoice schema (currently schema version 1.1), including all mandatory fields: seller and buyer GSTIN, invoice number, date, line items with HSN codes, and tax amounts
Authenticate with the IRP via the sandbox or production API using your GSTIN and credentials to obtain a session token (or use an authorized GSP/ASP for production access)
POST the invoice JSON to the IRP's /eicore/v1.03/Invoice endpoint; the IRP validates the schema, checks for duplicate invoice numbers, and signs the payload
Extract the 'Irn' (Invoice Reference Number, a 64-character hash), 'AckNo', 'AckDt', and the signed QR code data from the response
Embed the IRN and QR code on the printed or PDF invoice before sending to the buyer; store the full IRP acknowledgement response for audit purposes
Known gotchas
E-invoicing is mandatory only above a turnover threshold that the Indian government has progressively lowered over time; verify the current applicability threshold before implementation as it may have changed
The IRP only stores an IRN for 24 hours after generation; your system must retrieve and store the signed invoice data within that window or the IRN becomes irretrievable (though still valid)
Cancellation of an e-invoice must be done on the IRP within 24 hours of generation; after that window, cancellation must be handled through the GST portal or by issuing a credit note — you cannot cancel via the IRP API
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp