01 โ Two ways to get the date wrong
10/06/2026 is 10 June
DocDtls.Dt is dd/mm/yyyy. Read as ISO it becomes
October 6th; read the American way it becomes the same thing. Both numbers sit in
a legal range, the row still looks right, and the entry lands in the wrong month.
Here the format is taken literally and nothing else is guessed.
The IRN โ the 64-character hash the IRP gave back โ travels in the reference column. It is what a query, a reconciliation, or a notice is answered with.
02 โ One tax, two shapes
IGST or CGST + SGST
Within a state the tax arrives as CGST and SGST, each half the rate. Across
states it arrives as IGST. Never both โ so the tax column is their sum, and the
rate comes from GstRt, never from dividing one amount by another.
Where RndOffAmt carries the invoice-level rounding, taxable value
plus tax legitimately stops matching the total. Those rows are not
flagged as out of balance, because they are not.
The GSTIN is checked, not just copied
A GSTIN carries a base-36 check digit over its first fourteen characters. Input tax credit is posted against the buyer's GSTIN: one wrong character and the credit lands on somebody else's account, while everything on the supplier's side looks normal. A number that fails its own check digit is marked in the sheet, with the reason spelled out โ and a string that is not GSTIN-shaped is left alone rather than called wrong.
What is not done here
Nothing is sent to the IRP, no IRN is generated and no signature is verified: the JSON is read inside the browser and stays there. This is not an e-invoicing registrar โ it reads the files you already have.
A printed invoice with only the QR code on it is a different problem: the signed QR is a JWT, and reading it is not the same as reading the document. If a file carries no structured data, the row comes out empty and marked, never invented.
Trying it
Drop files on the main page โ up to 10 invoices per export and 20 a day, free, no account, and the count resets at midnight. Pro lifts both limits for 29 โฌ once, with no renewal.
Nothing is uploaded
Files are read in the browser. There is no server they could go to, and it takes two minutes to check: open developer tools, the Network tab, and drop an invoice โ not one request goes out. Which countries are read.