LedgerdropETA

ETA JSON โ†’ spreadsheet

A month off the portal, in one table

Egypt's e-invoice is a JSON document, and what you download from the ETA portal is exactly that file. Drop a folder of them and read the month across โ€” without the two mistakes that make the totals wrong: the discount and the withholding.

Drop your files here โ†’

ETA document JSONUUID & internal IDT1 VATCredit & debit notes

01 โ€” Two amounts that look alike

netAmount, not totalSalesAmount

totalSalesAmount is the sum of the lines before the document discount; netAmount is after it. Take the first and the discount you granted quietly reappears in your ledger โ€” the row still balances against nothing in particular, and the error is the size of the discount.

02 โ€” Two taxes that are not the same tax

Only T1 is VAT

taxTotals holds every tax on the document. T1 is VAT; T4 is withholding, which is not yours to reclaim and does not belong in a VAT column. Summing the array puts them together and inflates the VAT you would report.

The currency is not where you would look

There is no currency field on the document. It lives on each line, in unitValue.currencySold โ€” so an Egyptian-pound invoice says EGP a hundred times and never once at the top. A reader that only looks at the header leaves the column empty, and an empty currency quietly lands in the "no currency" bucket when totals are grouped.

Both identifiers come through: internalID is the number your supplier knows the document by, and uuid is what the ETA answers to.

What is not done here

Nothing is submitted to or queried from the ETA, and no signature is verified: the file is read inside the browser and stays there. This is not an integrator โ€” it reads the documents you already have.

The printed representation without the JSON is a different problem. 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.