EU Compliance
Scoped to Where the Rules Apply
Compliance only kicks in when the rules actually apply to you. Add a legal entity registered in the EU and Expensicat enables Factur-X format, the issued-document lock, and the strict numbering everywhere it touches your documents. Run only US or India entities and none of those layers activate — your PDFs are plain, edits stay editable, and the workflow matches what your accountant there actually expects.
The trigger is the legal entity, not the workspace. A US holding company with a German subsidiary gets EU-grade enforcement on the German entity's invoices and stays out of your way for the US-side ones.
Compliant by Default in the EU
When the EU rules apply, every euro invoice you issue is a Factur-X PDF. To your customer it looks like the same PDF they've always received; underneath, it carries the structured EN 16931 data that French Chorus Pro reads, that Peppol Access Points consume across the EU, and that German B2B systems use to auto-book the bill into their accounting. Pick the format once per legal entity in template settings — EN 16931 for cross-border, Factur-X / ZUGFeRD for domestic German B2B.
On every euro invoice the PDF also carries a SEPA QR code. Customers open their banking app, scan, and every payment field — IBAN, amount, reference — is pre-filled. Faster paid, no typos, no chasing missing reference numbers. The QR self-skips for non-euro invoices and non-SEPA accounts, so a USD invoice or a US routing number simply doesn't render one.
Locked Once Issued — When the Law Asks for It
For EU-registered entities, the day you issue an invoice or a quote its number, dates, customer, totals, and line items become locked. This is what GoBD in Germany, the DGFiP in France, and SDI in Italy all require — once a document is out the door, the only legitimate way to correct it is by issuing a credit note. If you try to edit a locked field, you'll see a clear message telling you which field is locked and why, with the credit-note path one click away.
Outside the EU, this lock is off. A US sole proprietor or Indian SMB editing a typo on yesterday's invoice gets to fix it the way they always have.
A bounced payment or refund can still move the invoice back to unpaid — that's a real-life thing that happens. On EU workspaces, the amounts and customer info stay frozen across the round-trip, so the document you issued is the document the auditor sees.
Gap-Free Numbering, Universally
Every workspace gets continuous numbering per legal entity per document type — invoice, quote, credit note. No skipped numbers, no reuse. Deleting a draft still consumes its slot. The EU strictly requires this; everywhere else expects it as good practice, so we apply it to all workspaces. If you run two trading names — Acme Ltd and Acme GmbH — each keeps its own line of numbers without bleed-over.
Every number that gets assigned is recorded against the document that received it, so when a tax inspector asks "show me invoice 2026-0042 and the audit trail behind it," the answer is one search away.
One Complete Record
We capture every event that matters in one chronological feed: invoice issued, customer viewed it, payment received, edits attempted on a locked document, quotes sent and accepted from the public link, credit notes raised, members added or removed, legal entity address updated, logins. Each entry carries who did it, when, and what changed in plain language — not internal IDs.
This is the foundation regulator-facing reports project from. SAF-T exports for Norway, Hungary, and Portugal; GoBD queries for German tax audits; the upcoming Spanish Verifactu hash-chain — all read from the same source of truth. Capture is universal and silent — the data is there for every workspace, regardless of country, so when you're ready, it's ready.
Available on Team
The searchable Activity view inside Settings — where admins and owners can browse the full history — is part of the upcoming Team tier. Eligible workspaces will be switched on automatically; you don't need to do anything.
- E-InvoicingInvoices and credit notes ship as Factur-X / ZUGFeRD hybrid PDFs — they look like a normal PDF to your customer and carry the EN 16931 data Chorus Pro, Peppol, and German B2B receivers expect
- E-InvoicingPick the e-invoicing format per legal entity — EN 16931 for cross-border, Factur-X for German B2B, or off if your country doesn't require it
- PaymentsEvery euro invoice now carries a SEPA QR code — your customer scans it with their bank app and the transfer is pre-filled
- InvoicingQuotes and credit notes are first-class documents with their own lifecycle and locale-aware titles — FACTURE, RECHNUNG, FATTURA, DEVIS, GUTSCHRIFT, NOTA DI CREDITO
- InvoicingInvoice and credit-note numbers are gap-free per legal entity — what French, German, and Italian tax authorities require on every issued document
- ComplianceFor workspaces with at least one EU legal entity, issued invoices and quotes lock their amounts, dates, customer, and line items — corrections happen through a credit note, the way regulators expect
- ComplianceUS, India, and other non-EU workspaces keep editing issued documents in place — no credit-note dance for a typo fix
- ComplianceEverything that happens — issued, sent, viewed, paid, edits attempted on a locked doc, members added, settings changed, logins — is captured in a single record
- InvoicingWhen you try to edit a locked field on an EU workspace, you get a clear message naming which field is locked and why
- PDFSwitched the PDF font to Noto Sans so Czech, Polish, Hungarian, and Greek issuers no longer see missing characters or broken accents
- PDFPDFs now embed the color profile required for German long-term archive readability (GoBD)
- InvoicingA bounced or refunded invoice can still flip back to unpaid — and on EU workspaces, the amounts stay locked across that round-trip