LedgerdropFree

E-invoice โ†’ ledger ยท in the browser

Drop e-invoices in. Get one spreadsheet out.

Every field is read from the invoice's own XML โ€” nothing is guessed, and nothing leaves your browser. No upload, no account, no server to trust.

Factur-X / ZUGFeRDXRechnungPeppol BIS 3.0 FatturaPA .p7mFacturae .xsigKSeF FA(2) e-FacturaCAMT.053 / MT940
Workspace Nothing is uploaded ยท 10 per batch on Free
Drop invoices here, or click to choose
PDF (Factur-X / ZUGFeRD) ยท XML (UBL / CII / FatturaPA / Facturae / KSeF FA(2)) ยท signed .p7m and .xsig ยท ZIP archives ยท .eml and Outlook .msg emails ยท CAMT.053 and MT940 bank statements โ€” hundreds at a time
Processing runs on your own machine โ€” disconnect the network and it still works. EN 16931 checked on every invoice that carries structured data

01 โ€” What it reads

Read from the XML, not from the page

Since 2025 most EU invoices carry structured data alongside the human-readable page. Ledgerdrop reads that data directly, which is why the numbers come out exact rather than approximately right. Drop a plain PDF with no embedded data and Ledgerdrop will tell you so instead of quietly inventing numbers.

  • Duplicates across batches

    An invoice you exported in March is flagged when it turns up again in April's folder. Only the invoice numbers are remembered, per client, in your own browser โ€” and there is a button to forget them.

  • Currencies stay apart

    Totals are per currency, and the export gets one total row per currency. Adding 12,000 EUR to 18,800 PLN produces a number that looks perfectly normal and means nothing โ€” which makes it more dangerous than a blank cell.

  • IRPF, stamp duty, withholding

    Spanish and Italian document totals legitimately differ from net plus VAT. Those are reconciled before an invoice is called wrong, so the flag column keeps meaning something.

  • Ledger, CSV or DATEV

    An .xlsx with a ledger sheet and a summary sheet by month and supplier, a plain CSV, or a Buchungsstapel in DATEV's EXTF 700 format with all 125 columns.

Formats

What lands in the spreadsheet

02 โ€” Compliance

Is this invoice actually compliant?

Receiving a non-compliant invoice is your problem, not only the sender's: if the document does not meet the requirements, the input VAT may not be deductible. But the requirements live in an XML file nobody can read by eye. Ledgerdrop checks each invoice against EN 16931 and shows the rule numbers, so you can quote them back to the supplier.

Being precise about the limits: this is a subset of EN 16931, chosen because those rules are unambiguous. Rules that turn on code lists, VAT category semantics or national extensions are not implemented โ€” a half-right compliance verdict is worse than an honest gap. Where an invoice carries no structured data at all, the column simply reads "โ€”" rather than passing it.

BR-01 โ€ฆ BR-16Mandatory fields: specification identifier, invoice number and date, type and currency code, both parties with postal address and country, totals, and at least one line
BR-CO-10, BR-CO-13 โ€ฆ 16Arithmetic: line amounts sum to the stated line total, allowances and charges reconcile, VAT adds up, amount due follows from the total less prepayments
BR-S-08, BR-S-09Per VAT rate: the taxable amount at each rate matches the lines at that rate, and the VAT is that rate applied to that base

Sending invoices too? The same check, on one file at a time, is free at /validate/ โ€” the rules that get an invoice rejected are the same ones, seen from the other side.

03 โ€” Reconciliation

Drop the bank statement in too

Ledgerdrop reads CAMT.053 (ISO 20022) and MT940 statements from the same box, then matches payments to invoices: the invoice number in the payment reference, the amount, the counterparty name and a sensible date window. Matching an invoice to its payment needs both sides at once โ€” which is exactly what you already have open here.

  • Paid or open, per invoice

    Every invoice comes out marked, and statement entries that match nothing stay visible instead of disappearing.

  • No guessing

    Where the signals are not strong enough, no match is made. A wrong match is harder to notice than a missing one, so the tool leaves those to you.

  • Balance check

    The statement is checked against its own opening and closing balance. If the file is truncated you find out immediately rather than three reconciliations later.

04 โ€” Privacy

Verify the privacy claim yourself

Invoices carry VAT numbers, amounts and the names of everyone you trade with. That should not be uploaded to a stranger's server to be turned into a spreadsheet.

05 โ€” Pricing

One payment, no renewal

Free

โ‚ฌ0
  • 10 invoices per batch
  • Every parser, no limits on formats
  • Export carries one attribution line

Pro

โ‚ฌ29 once
  • Unlimited invoices
  • Clean export
  • Yours permanently, one payment
Get a licence key

Office

โ‚ฌ99 once
  • 5 licence keys, one per colleague
  • Per-client profiles: accounts and tax keys stay separate
  • Everything in Pro
  • One payment, no renewal
Get 5 licence keys

06 โ€” Questions

Questions

How do I convert a Factur-X or ZUGFeRD PDF to Excel?
Drop the PDF in. Ledgerdrop opens the embedded XML attachment and reads the fields from it, so no OCR and no layout guessing is involved.
Can it handle a plain XML file from Peppol?
Yes โ€” UBL 2.1 Invoice and CreditNote documents parse directly, as do standalone CII files.
What about Italian .p7m files?
Drop them in. Ledgerdrop reads the invoice out of the CAdES container so you do not have to unwrap it first. To be precise about what that means: it reads the signed document, it does not verify the signature โ€” use your certified provider's portal if you need that. An Italian invoice can also carry several invoice bodies in one file; each becomes its own row.
I have invoices in several currencies. Are they added together?
No. Totals are shown per currency, and the exported ledger gets one total row per currency. Adding 12,000 EUR to 18,800 PLN produces a number that looks perfectly normal and means nothing โ€” which makes it more dangerous than a blank cell.
Why does my Spanish invoice total not equal net plus VAT?
Because Spanish invoices from freelancers and professionals carry an IRPF withholding that is subtracted from the total: 3,900 โ‚ฌ at 21 % VAT with 15 % withheld comes to 4,134 โ‚ฌ, not 4,719 โ‚ฌ. Ledgerdrop applies the Facturae formula before deciding a total is wrong, so it does not flag nearly every Spanish invoice. The withholding is not VAT, so it stays out of the VAT summary.
Why does my Italian invoice total not equal net plus VAT?
Because it legitimately may not โ€” stamp duty, pension-fund contributions and withholding tax all move the document total. Ledgerdrop reconciles those before deciding whether a total actually looks wrong, so it does not flag every Italian invoice you own.
What happens with a scanned or plain PDF?
It is reported as having no embedded invoice data. Ledgerdrop will not fabricate values it cannot read.
Does it detect duplicates?
Invoices sharing a number are highlighted in the table and flagged in the export. Booking the same invoice twice is the expensive mistake this is designed to catch.
Are credit notes supported?
Yes, including negative totals, and they are labelled as credit notes in the ledger.
I handle several clients โ€” do I re-enter the accounts every time?
No. Create a client at the top of the page; accounts and tax keys are stored per client. Switching clients clears the workspace, so documents from two clients cannot end up in the same batch โ€” a mistake that otherwise surfaces only at audit time.
Can I import the result into DATEV?
Yes โ€” the export produces a Buchungsstapel in DATEV's EXTF 700 format, correctly encoded and with all 125 columns present. Accounts and tax keys are not guessed: you enter them once and they stay on your device. An invoice carrying several VAT rates is refused by name rather than booked with a single averaged key, because that would be wrong.
How many invoices at once?
Ten per batch on the free tier, unlimited with Pro. Hundreds at a time is fine โ€” the processing runs on your own machine.

Building software that reads these files?

The parsing core behind this site โ€” every format above, no server, no telemetry โ€” might be worth licensing as a library. It is not built as a product yet, and the developers page says so plainly; it is there to find out whether anyone would use it.

Activate Pro

Enter the email you bought with and the licence key you received. Verification happens offline.