For invoicing, ERP and accounting software

Germany's e-invoice mandate starts 1 Jan 2027

Add XRechnung, ZUGFeRD and Peppol sending to your software in a day. Every invoice is validated on the official rules and the buyer is checked before it's sent.

No card needed. Sandbox for every endpoint.

Who has to issue e-invoices, and when

  • GermanyReceiving structured e-invoices: required since 1 Jan 2025
  • GermanyIssuing: from 1 Jan 2027 for companies above €800,000 prior-year turnover
  • GermanyIssuing: from 1 Jan 2028 for all B2B invoices
  • BelgiumPeppol B2B e-invoicing: in force since 1 Jan 2026

Details and sources: Germany e-invoicing deadlines.

Checked before every send

  • XRechnung and EN 16931 validation on the official KoSIT and CEN rules, with rule ID and fix hint
  • Buyer VAT number checked in VIES
  • Buyer on Peppol: live sends to a buyer who isn't registered are refused before anything is transmitted
  • Sanctions screen of the buyer (EU, UN, OFAC, UK)
  • Signed receipt for every send, to store as evidence

One key, all your client companies

  • Each client company accepts a Peppol mandate through your app (click-through, signed receipt)
  • We check each company (KYC) and set up its own Peppol sending account
  • GET /platform/companies shows every company's onboarding stage, next step and live document counts, for your own billing
  • GET /platform/usage shows this month's checked invoices, Peppol documents, active companies and cost so far
  • Create XRechnung / ZUGFeRD from JSON, validate incoming files, read them back as JSON

Two calls

api.wsystem.dev
curl -s -X POST https://api.wsystem.dev/einvoice/send \
  -H 'X-API-Key: $KEY' -H 'Content-Type: application/json' \
  -d '{"invoice": {...}, "mode": "live", "recipient_check": "strict"}'

curl -s https://api.wsystem.dev/platform/companies -H 'X-API-Key: $KEY'

Design partners: first month free

  • For invoicing, ERP and accounting software going live before the German deadline.
  • One month free, counted from when your first client company goes live.
  • Integration help by e-mail: we review your field mapping and test files and watch your first live sends with you.
  • In return: your logo on wsystem.dev and a short case study once you're live.

What we do and don't do

  • German B2B invoices don't have to go over Peppol. We validate and create the XRechnung or ZUGFeRD file and send it over Peppol when the buyer is reachable there; otherwise your software delivers it through its usual channel, such as e-mail.
  • Live Peppol sending is switched on per company after its mandate and our KYC check. The sandbox runs the whole flow from day one.
  • We don't submit to Poland's KSeF and we aren't a French approved platform (PA).

Price: free sandbox key, then the Platform plan: €149 a month including 10 active companies and 1,000 checked invoices. Each extra active company is €3 a month (companies that send nothing that month are free). Each extra checked invoice is €0.05, falling to €0.03 above 10,000 and €0.015 above 50,000 a month, whatever channel it goes out on. Invoices sent over Peppol are charged the Peppol document price instead, with the check included, so nothing is counted twice. No unit limit on invoice calls, an optional monthly spend cap, and no setup fee. Example: 50 companies sending 5,000 invoices a month, 1,000 of them over Peppol, come to €619 a month before VAT.

Questions

Do we need Peppol for German customers?

No. German B2B e-invoices can be exchanged by e-mail or any agreed channel, as long as the format is EN 16931 (XRechnung or ZUGFeRD). Peppol is one channel; Belgium requires it.

How fast can we go live?

The API integration usually fits in a day: create, validate, send in the sandbox. Each client company then goes live after its mandate and our KYC check.

Is there a setup fee?

No setup fee and no minimum volume. Design partners get the first month free.

What counts as a checked invoice?

Each outgoing invoice you create, validate, check or send through us, counted once a month per seller VAT number and invoice number, however many calls you make for it. An invoice sent over Peppol is charged as a Peppol document only.

Can we cap the bill?

Yes. Set a monthly spend cap with PUT /platform/spend-cap. A call that would go over it is refused with a clear error and nothing is charged. There is no hard unit limit otherwise.

Where is the API hosted?

In the EU (Frankfurt). Official KoSIT and CEN rules run unmodified.