● Coming soon
VAT calculation API · self-serve

Keep your Stripe account.
Keep your accountant.
Just get the VAT math right.

Duty27 is a calculation layer, not a Merchant of Record. It plugs into checkout you already control — Stripe, Mollie, Klarna, or your own — no revenue cut, no new payment processor, no giving up the customer relationship.

Free tier planned. No credit card required.

Sourced directly from the European Commission's TEDB. Every response will carry its rate source and effective date — built to hold up under audit, not just at checkout.

calculate · sample illustrative
✓ calculated
€ 21.00
net_amount100.00
vat_amount21.00
gross_amount121.00
rate21.0%
countryNL
date2026-08-28
sourceTEDB
duty27.dev/v1/calculate sample response, illustrative
27 EU member states covered B2C + B2B in one API date-effective rate resolution
Why "as of" matters

A rate isn't one number. It's a number with a start date.

Rates change. Refunds and credit notes issued against a past sale need the rate that applied then — not the rate that applies today. Duty27 is built around effective-dated windows from the start, so a correction six months later resolves to the same rate the original sale used.

§ calc.core

Real-time rate calculation, all 27 member states

One call, correct rate — for digital goods and services, across every EU member state.

§ calc.b2b

B2C and B2B in one API

Reverse-charge is determined automatically for validated business buyers — no separate B2B code path to maintain.

§ calc.threshold

€10,000 threshold, handled for you

Applies your home-country rate or the buyer's destination rate correctly, based on cumulative EU-wide sales — you don't track the threshold yourself.

§ calc.rate

Reduced-rate categories

Country-specific exceptions — digital publications and similar categories — instead of a blanket standard-rate assumption that's wrong for them.

§ calc.input

Tax-inclusive or tax-exclusive, explicitly

You state which one you're sending. No silent assumption either direction.

§ val.number

VAT number validation, built into the flow

Not a bolted-on separate step, and not a bare yes/no. If the validation service is down, that's returned as its own explicit outcome — so checkout can hold and retry instead of guessing wrong in either direction.

§ val.audit

An audit trail, not just a number

Every response will carry the rate's source and effective date, sourced directly from the European Commission's TEDB — not a resold or aggregated feed.

How we're different

A calculation layer, not a new checkout.

Merchant of Record

Paddle, Lemon Squeezy, and similar

They become the legal seller of your product. Checkout routes through them — replacing your existing Stripe setup — and they take a cut, commonly 3.5–7%+ per transaction.

Stripe's native add-on

Stripe Tax

Calculates tax within Stripe Checkout or Billing, on top of Stripe's normal processing fees. You still configure registrations, product tax codes, and tax-ID collection yourself.

Compliance services

Registrations, filings, bookkeeping

Real, valuable, human-assisted work. But it's not a developer tool, and it's not something a checkout flow can call in real time.

Planned pricing

Metered by calculation volume — never by revenue.

Your bill will move with usage, not with your product price or your margins. Exact tiers are still being finalized — get in touch and we'll let you know as soon as signups open.

Who this is being built for

If you already run your own checkout, this is for you.

§ 1

Indie & small-to-mid EU sellers

Selling digital goods or services who don't want or need a full Merchant of Record.

§ 2

Owners of their own stack

Already invested in Stripe, Mollie, Klarna, or another processor, and not interested in rebuilding checkout to get tax right.

Want to be first in line when we launch?

Tell us a bit about what you're building and we'll reach out the moment signups open — no spam, no sales calls until you ask for one.