← Back to all articles

Creating e-invoices without replacing your accounting software

SealDoc Team · · 6 min read

You do not need to replace your accounting software to send e-invoices. Your ERP already knows your customers, your products and your prices. What is missing is one step: turning that data into an electronic invoice that meets the European standard EN 16931. You take that step with one API call: in that same call SealDoc creates the e-invoice and checks it. Your software stays the source.

Why the question matters now

More and more customers ask for a structured e-invoice instead of a PDF in the email.

  • Germany. Since 1 January 2025 every business in Germany has had to be able to receive e-invoices from other businesses. Read what applies in Germany.
  • Belgium. Since 1 January 2026 the structured e-invoice between Belgian businesses has been mandatory, with Peppol as the standard channel. Read what changed in Belgium.
  • France. Since 1 September 2026 every business in France has had to be able to receive e-invoices. Read what changes in France.

Choosing and rolling out a new ERP is a project of months, with migration, training and a switchover date. A connection to the software you already have is a much smaller step.

What your software already does, and what an e-invoice also requires

Your accounting software knows who the customer is, what was supplied, at what price and at which VAT rate. With that it creates an invoice a person can read. An e-invoice asks for more:

  • A fixed structure. EN 16931 defines which data an invoice contains, with a number for each item. The invoice number is BT-1, the invoice date BT-2, the seller’s VAT number BT-31.
  • Fixed codes. VAT categories, units, payment means and document types come from fixed code lists. See all the codes an e-invoice needs.
  • A syntax and a format. The data goes into XML, as CII or UBL, and follows a format such as Factur-X, XRechnung or Peppol BIS Billing 3.0. See the difference between those formats.
  • Hundreds of validation rules. Rule BR-CO-10, for example, requires the sum of the line amounts to equal the total of the lines. XRechnung adds its own German rules on top. See every BR-DE rule explained.

That is exactly the work SealDoc takes over.

How the connection works

  1. Your software sends the invoice data. As JSON to one endpoint: seller, buyer, invoice lines, VAT rates and payment details. If your software uses its own invoice numbers, SealDoc adopts them.
  2. SealDoc creates the e-invoice. SealDoc calculates the line amounts, the VAT per rate and the totals, builds the XML in the format you choose, and creates a PDF/A-3 with that XML embedded.
  3. SealDoc checks the invoice. Every invoice goes through the schema and the validation rules of the chosen format, and every PDF through a PDF/A-3 check. If something is wrong, your software gets an error message with the findings per rule, and no invoice. That attempt does not count towards your package.
  4. Your software sends as always. The invoice is ready as soon as the call returns. Your software then fetches the files: the PDF/A-3, and the XML separately. Which one you send depends on the format. That is set out below.

Three things that make a connection reliable

  • No duplicate invoices. If your software sends the same call twice, for example after a timeout, the same Idempotency-Key returns the same invoice. No second one is created.
  • Errors before issue, not after. An invoice that does not pass the check is not issued. Your software gets the findings back and can correct the request.
  • Your numbering stays yours. Your software keeps its own series, or you let SealDoc assign the next number from a series.

Which formats

FormatSyntaxWhat your customer receivesWhat you fetch from SealDoc
Factur-X / ZUGFeRDCIIthe PDF/A-3 with the XML insidethe PDF/A-3 with factur-x.xml
XRechnung 3.0CIIthe XML filethe XML separately, and a PDF/A-3 with xrechnung.xml inside
Peppol BIS Billing 3.0UBL 2.1the UBL message, over the Peppol networkthe UBL XML separately, and a PDF/A-3 with peppol-ubl.xml inside

With Factur-X the PDF itself is the invoice: one file for people and machines. With XRechnung and Peppol BIS the XML is the invoice. The PDF/A-3 is then the readable version, for your own records or to send along. XRechnung exists in two syntaxes, UBL and CII. SealDoc creates XRechnung in CII.

Each format has its own check. SealDoc validates Factur-X against the schema and the Factur-X rules, XRechnung against the schema, the EN 16931 rules and the XRechnung rules, and Peppol BIS against the UBL schema, the EN 16931 rules and the Peppol rules.

Which format your customer wants depends on their country and their accounting software. If you do not know, ask. A German public-sector customer often asks for XRechnung, a Belgian business receives via Peppol.

Without programming

Not every connection needs a developer. With the SealDoc node for n8n you create invoices from your own workflows, for example as soon as an order comes in from your webshop or CRM. Follow the step-by-step tutorial, or see all integrations.

What it costs

API access is included in every paid Invoice package, from Invoice 50 at €7.50 per month (excl. VAT) for 50 invoices. To build and test, there is the free Developer package. For larger volumes there is Platform, from Starter: €49 per month (excl. VAT) for 1,000 documents. See all packages.

Frequently asked questions

Do I have to replace my accounting software for the e-invoicing mandate?

No. The mandate is about the invoice, not about the software that creates it. Your existing software supplies the data, and a service such as SealDoc turns it into an e-invoice that meets EN 16931.

What data does the API need?

The same as on an ordinary invoice: name, address and VAT number of seller and buyer, invoice date, lines with description, quantity, price and VAT rate, and the payment details. SealDoc calculates the amounts and totals itself.

How do I know the e-invoice is correct?

SealDoc checks every invoice before it is ready. To check an invoice from another system, use the free validator. It works without an account.

Can I test the connection before I pay?

Yes. The Developer package is free and gives API access. With it you build the connection and create test invoices.

In short

Your ERP keeps doing what it does well: your customers, your orders and your records. SealDoc adds the e-invoice: structured under EN 16931, in the format your customer asks for, checked before it goes out. See what developers do with it or choose a package.

Check whether a VAT number is registered on Peppol →
← Back to all articles