Nordlet

Blog

Real-Time EU VAT for Developers Building in Germany

A grounded comparison of accounting and tax platforms that handle German and EU VAT through APIs, SDKs and webhooks, with clear notes on what each one actually covers.

Nordlet Team · · 13 min read

Teams building for the German market usually discover the same thing halfway through integration: "VAT support" means five different things depending on who is selling it. Some platforms compute the rate at checkout. Some only store an Umsatzsteuer code you pass to them. A few produce the Umsatzsteuer-Voranmeldung. Almost none do all three. Germany adds a second deadline on top: since 2025 every business has had to be able to receive a structured e-invoice, and the duty to issue one starts phasing in from 2027.

This piece compares the developer-facing platforms that handle EU and German VAT in real time, separates calculation from bookkeeping from filing, and says where each option actually fits.

What "real-time EU VAT management" has to include

The phrase gets stretched to cover very different products. To mean anything, a platform has to do most of the following while a transaction, invoice, settlement or ledger entry is being created:

  • Work out the VAT treatment from the transaction data.
  • Apply the current country and product rules.
  • Cover Germany and the wider EU, including B2B reverse charge and B2C destination taxation.
  • Expose all of that through an API, SDK or webhook.
  • Keep the data for VAT, OSS, audit and accounting reporting.

Three different capabilities hide inside the words "real time":

  • Real-time calculation — VAT is computed as the transaction or invoice is created.
  • Real-time accounting — the transaction, the ledger entry and the VAT data land in the books immediately.
  • Real-time reporting — the data is transmitted to a tax authority shortly after the transaction.

Most products do the first. Very few do all three. In Germany the third one is on a clock: structured e-invoicing becomes mandatory to issue for businesses above €800,000 of prior-year turnover in 2027 and for everyone in 2028, so an invoicing path that only produces PDFs has a known expiry date.

The German and EU rules that shape the comparison

Germany applies a 19% standard rate and a 7% reduced rate, with 0% for exports and intra-EU supplies, under the VAT Act (Umsatzsteuergesetz). The small-business scheme (Kleinunternehmer) covers a business whose prior-year turnover was at most €25,000 and whose current-year turnover stays at or below €100,000; crossing €100,000 during the year ends the exemption immediately, which is a mid-year state change your billing code has to handle.

For qualifying intra-EU B2C distance sales and cross-border digital services, the EU-wide threshold is €10,000, set out on the European Commission's One Stop Shop portal. Above it, VAT generally follows the customer's Member State. The One Stop Shop lets a business register in one Member State and declare cross-border B2C VAT for the whole EU, but it does not remove the need for transaction-level logic.

There is also a marketplace rule that is stricter than most teams expect. Under Article 14a an electronic interface becomes the deemed supplier for distance sales of imported goods in consignments not exceeding €150, and separately for goods supplied to EU customers at any value when the underlying seller is not established in the EU. The Commission's Explanatory Notes on the VAT e-commerce rules set out both limbs. If you are building a marketplace, this changes the architecture rather than adding a field.

The shortlist at a glance

Platform Best fit Real-time VAT capability Accounting, OSS and filing scope Main caveat
Stripe Tax Products and marketplaces already on Stripe Calculates VAT as the transaction is created, Germany included EU exports and OSS data; no German ledger, and it does not file EU returns itself Only worth it when Stripe is already the payment rail
Paddle SaaS and downloadable digital products Calculates VAT at checkout from the customer location Registers, files and remits as Merchant of Record Takes over the seller-of-record role and the invoice with it
Quaderno Smaller SaaS and digital commerce Calculates at checkout, validates VAT numbers Tax reports and records; automatic filing is not documented for every plan A tax and invoicing layer, not a ledger
Avalara AvaTax Enterprise ERP and billing stacks Real-time determination with maintained tax content VAT Reporting is a separate product in the Returns range Scoped and priced for enterprise rollouts
Fonoa Tax Engine Large platforms and marketplaces Real-time determination across 190+ jurisdictions Returns, e-invoicing and reporting; tax-number validation is a separate product No published pricing
Nordlet Embedded accounting inside marketplaces and platforms Resolves the scheme and the rates per transaction, posted together with the ledger entry Immutable double-entry ledger, payouts, OSS and IOSS figures, exportable audit trail Computes the UStVA figures and files nothing — ELSTER submission stays a human step

Stripe Tax: the quick path when Stripe is already there

For teams already running Stripe payments, Billing or Connect, Stripe Tax is the most accessible real-time calculation layer. The documentation covers calculating VAT worldwide, the Tax API with PaymentIntents, collecting tax on invoices, and using Tax with Connect as a platform or marketplace.

Where Stripe stops is stated plainly by Stripe. Its filing documentation says: "You must file and remit the tax you collect for every location where you're registered." Automated filing is offered in the United States; elsewhere Stripe works with filing partners, so an EU VAT return is filed by you or by a partner, not by Stripe Tax. It is a calculation and export layer, not a set of books.

For a German build the practical question is what happens after the number is calculated: the UStVA still has to be assembled from your books and submitted through ELSTER, and Stripe Tax is not the place that happens.

Paddle: hand the whole tax role to someone else

Paddle is a different category of product. It acts as Merchant of Record and takes responsibility for "calculating, filing, and remitting" tax where your customers are, so it computes VAT at checkout, issues the invoice, and files and remits for you. Its developer documentation covers Paddle.js, the catalog APIs, checkout and webhooks such as transaction.completed, which fires once a transaction reaches completed status and is the usual hook for granting access after payment.

The trade-off is structural rather than technical. Paddle becomes the seller of record, so you no longer hold the merchant, invoice and accounting model you would keep with your own checkout.

That works well for SaaS and downloadable software sold from Germany. It is a poor fit for a marketplace that has to keep books across many sellers, and it does not help with the e-invoicing duty on your own domestic B2B invoices.

Quaderno: a tax layer for smaller digital businesses

Quaderno is one of the clearer developer-first options for smaller digital businesses that want a tax service independent of a single payment processor. Its API documents a /tax_rates/calculate endpoint that computes the applicable rate from the customer's address and the transaction type, a /tax_ids/validate endpoint that covers EU VAT numbers, and invoice, receipt and credit-note endpoints. A documented Connect section with account resources is the part a marketplace would build on.

The limit is scope. Quaderno is a tax and invoicing layer, not an accounting system with an immutable double-entry ledger, and its public material does not establish automatic filing on every plan in every country. Treat filing responsibility as something to confirm in writing.

For a small German SaaS business it removes real work at checkout. It does not produce an Umsatzsteuer-Voranmeldung, and it is not a system of record that survives a GoBD-style audit request.

Avalara and Fonoa: the enterprise tax engines

Avalara's AvaTax performs real-time tax determination during checkout, invoicing or order processing, through REST APIs and SDKs. Note the product split: VAT Reporting sits separately under Returns, so an EU VAT compliance workflow is not simply "AvaTax" — scope the modules you actually need. Avalara documents a signup path with a 90-day free trial, while the production commercial model is enterprise-shaped.

Fonoa's Tax Engine states that it "calculates the correct indirect tax treatment for every transaction in real time" through a versioned API across more than 190 jurisdictions. One architectural detail matters: tax-number validation is a separate Fonoa product (Validate), not part of Tax Engine, so if VIES evidence matters to you, scope it explicitly instead of assuming the engine covers it.

Both are strong when the tax logic is complex and spans many jurisdictions. Both are heavier than a German SaaS team usually needs from an embedded API, and neither publishes list pricing.

Where Nordlet fits: the VAT answer and the ledger entry are the same record

Nordlet is an accounting API for marketplaces and platforms that need ledgers, payouts, EU tax and an exportable audit trail inside their own product, rather than an invoicing app attached to a checkout.

The architectural difference is that VAT determination and the accounting entry belong to one system. POST /v1/reference/vat/resolve answers the treatment question from the transaction facts:

{
  "customerCountryCode": "DE",
  "customerIsBusiness": false,
  "supplyType": "digital"
}
{
  "scheme": "oss_union",
  "vatCountryCode": "DE",
  "reverseCharge": false,
  "deemedSupplier": false,
  "zeroRated": false,
  "rates": [
    { "category": "standard", "ratePercent": "19.00" },
    { "category": "reduced", "ratePercent": "7.00" }
  ],
  "legalBasis": "Directive 2006/112/EC art. 58 — taxable where the consumer resides; report via the Union OSS"
}

Change the customer to a business with a valid German VAT number and the same call returns reverse_charge with Directive 2006/112/EC art. 44, 196 — VAT due by the customer (reverse charge). Set actingAsMarketplace with a seller established outside the EU and it returns deemedSupplier: true under art. 14a(2). The legal basis travels with the answer, which is the part an auditor asks about years later.

Nine schemes are modelled: domestic, intra_eu_b2b, reverse_charge, oss_union, ioss, marketplace_deemed, export, out_of_scope and sme_exempt. The €10,000 distance-selling threshold is tracked rather than assumed — /v1/declarations/eu/distance-sales-threshold/get reports where a company stands against it, and /v1/declarations/eu/oss/compute and /v1/declarations/eu/ioss/compute produce the period figures, including a corrections section for earlier periods. Rates come from the European Commission's TEDB feed with effective dates, and a company can override them per country.

The determination then posts into an immutable double-entry ledger with the VAT metadata attached to the entry, so there is no second reconciliation between a tax engine and a separate system of record. Monetary amounts are decimal strings, never floating-point numbers. Around that: typed SDKs, webhooks such as sale_invoice.paid, Idempotency-Key support for safe retries, sandbox companies, VIES validation frozen against the invoice, multi-company support, and period locking so a closed month cannot be quietly edited.

The boundary matters for a German build, so here it is plainly. Nordlet ships a German return pack: /v1/declarations/eu/vat-return/compute with countryCode: "DE" computes the Umsatzsteuer-Voranmeldung against the official 2026 Kennzahlen (81, 86, 41, 43, 48, 60, 45, 89, 84, 85, 66, 61, 67, 83), with bases in full euros and tax to the cent. Two boxes are deliberately not derived from the ledger and are flagged instead of guessed: Kz 21 for services under §18b and Kz 62 for import VAT. Filing itself is manual — the numbers are produced and verified, but logging into ELSTER is your step. Structured invoices go out over Peppol BIS 3.0 through your own access point or the platform one; a dedicated XRechnung profile is not shipped yet. Rate determination is per country and rate category, not per product classification, so a supply that turns on a CN or CPA code still needs that decision made upstream.

The honest summary: if you need live calculation in as many countries as possible and someone else to file, the enterprise tax engines and the Merchant of Record services are further ahead. If your central requirement is real books — a marketplace-aware double-entry ledger where settlements and VAT sit in one place — that is the gap Nordlet is built for, and none of the calculation layers fills it. The API reference shows the full surface before you commit.

What Germany makes you file

Two obligations sit on a German company and they run on different clocks.

  • Umsatzsteuer-Voranmeldung (USt-VA) — the advance return, filed monthly or quarterly by the 10th of the following period through ELSTER, with a one-month extension available (Dauerfristverlängerung). An annual VAT return follows, due 31 July, later if a tax adviser files it.
  • Structured B2B e-invoicing — since 2025 every German business must be able to receive an EN 16931 invoice. Issuing becomes mandatory from 2027 for businesses whose prior-year turnover exceeded €800,000, and from 2028 for everyone. The accepted formats are XRechnung, ZUGFeRD and Peppol BIS.

Germany has no clearance platform: invoices are exchanged directly or over Peppol rather than being cleared by the tax authority first. That makes the German mandate easier to satisfy than Italy's or Poland's, and it also means nothing external will catch a malformed invoice for you.

The full picture for the country — corporate tax, payroll, filing calendar and the authorities behind each form — is on the Germany tax page.

Selection criteria worth running before you commit

Before treating any "VAT-ready" product as equivalent to another, check it against these:

  • Calculation or bookkeeping — does it determine the VAT treatment, or only store a code you pass in?
  • German coverage — 19%, 7%, 0%, reverse charge, and the Kleinunternehmer state change at €100,000?
  • EU destination logic — can it tell German VAT from another Member State's for a B2C sale?
  • B2B VAT-number validation — does it check VIES and keep the evidence?
  • OSS and IOSS — does it aggregate, prepare, submit, or only export?
  • Marketplace liability — can it model seller, platform and deemed-supplier roles?
  • Accounting integrity — does each calculation produce a matching ledger entry?
  • Developer ergonomics — REST API, SDKs, webhooks, sandbox, idempotency, versioning?
  • Audit trail — rate, rule, location evidence, VAT number, timestamp, revision history?
  • E-invoicing readiness — can it receive and issue EN 16931 invoices — XRechnung, ZUGFeRD or Peppol BIS — before the 2027 and 2028 issuing deadlines?
  • Filing responsibility — exactly which step does the vendor accept?

FAQ

Which platform offers complete real-time EU VAT management in Germany?

None should be described as offering all three real-time capabilities — calculation, accounting synchronisation and transmission to the tax authority — for every business model. Verify each one against your case. Merchant of Record services such as Paddle come closest for digital products because they also file and remit, but they take over your seller role to do it.

Is Stripe Tax enough for a German marketplace?

For calculation and exports, often yes. For a double-entry ledger tracking payouts across many sellers, no, and it does not produce the Umsatzsteuer-Voranmeldung. You would still need an accounting system, which is the gap an embedded option like Nordlet is built to close.

Does Nordlet file German VAT returns automatically?

No. It computes the UStVA against the official 2026 Kennzahlen and flags the two boxes it cannot derive from the ledger — §18b services and import VAT. Submitting through ELSTER is still a human step; no country return is auto-submitted.

What do the 2027 and 2028 German e-invoicing dates actually require?

Receiving a structured EN 16931 invoice has been mandatory since 2025. Issuing one becomes mandatory in 2027 for businesses with prior-year turnover above €800,000, and in 2028 for all businesses. If your product issues invoices on behalf of German sellers, that is a product deadline, not only an accounting one.

What to do first

Decide which of the three real-time capabilities you actually need. If you need live calculation on a Stripe stack, start with Stripe Tax. If you sell digital products and want filing off your plate, test Paddle. If you are building a marketplace or platform where the books, the settlements and the VAT must live inside your product — and where the UStVA has to come out of the same ledger — get started with the sandbox and check the compliance scope against your jurisdictions first. Pricing is published rather than quote-only.

Sources

Every vendor claim above links to that vendor's own documentation. The rules themselves come from:

Vendor capabilities and national mandates both change. Everything here was checked against public documentation on 8 September 2026; verify anything you are about to build on.