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 the checkout you already control, whether that's Stripe, Mollie, Klarna, or your own. There's no revenue cut, no new payment processor, and the customer relationship stays yours.

No credit card required.

Sourced directly from the European Commission's TEDB. Every response carries its rate source and effective date, so a calculation holds up in an audit long after checkout.

calculate · try it
net price, VAT added on top
Demo showing primary markets. API supports all 30 official ECB daily reference currencies (SEK, DKK, CZK, etc.).
✓ calculated
EUR 19.00
net_amount100.00
vat_amount19.00
gross_amount119.00
rate19.0%
date2026-10-10
sourceTEDB
api.duty27.com/v1/calculateVAT-number check here is informational. The full API requires successful validation before reverse charge applies.
27 EU member states coveredB2C + B2B in one APIdate-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 on the day of that sale. 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.

Real example · Estonia's standard VAT rate history
20.0%
2023-01-01
22.0%
2024-01-01
24.0%
2025-07-01
24.0%
2026-10-10
today
A refund processed today against a sale from an earlier window is calculated at that window's rate, and carries that window's source and effective-date stamp.
The calculation flow

Every entry in the ledger, accounted for.

§ calc.core

Real-time rate calculation, all 27 member states

One call returns the correct rate for digital goods and services in every EU member state.

§ calc.b2b

B2C and B2B in one API

Reverse charge is determined automatically for validated business buyers, so there's no separate B2B code path to maintain.

§ calc.threshold

€10,000 threshold, handled for you

On accounts with transaction tracking enabled, Duty27 applies your home-country rate or the buyer's destination rate based on cumulative EU-wide sales, so you don't track the threshold yourself. Opt-out available, per Article 59c(3).

§ calc.rate

Reduced-rate categories

Country-specific exceptions for e-books, newspapers, and periodicals, where a blanket standard rate would be wrong.

§ 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

Validation runs inside the calculation flow and returns more than a bare yes or no. If the validation service is down, you get that back as its own outcome, so checkout can hold and retry instead of guessing.

§ val.audit

The source and date travel with every rate

Every response carries the rate's source and effective date, taken directly from the European Commission's TEDB rather than a resold or aggregated feed.

How we're different

Four ways to handle EU VAT, compared.

Merchant of Record

Paddle, Dodo Payments, and similar

They become the legal seller of your product, and checkout moves to them, replacing your existing Stripe setup. In exchange for handling tax, invoicing, payment processing, and remittance end to end, they take a cut, commonly 3.5–7%+ per transaction.

Best below ~€20k MRR, when you'd rather not handle filings yourself
Compliance & accounting services

Registrations, filings, bookkeeping

Real, valuable, human-assisted work. But it isn't a developer tool, and a checkout flow can't call it in real time. Onboarding takes weeks.

Best for registration and filing
Stripe's native add-on

Stripe Tax

Calculates tax within Stripe Checkout or Billing. Costs 0.5% of transaction value (no-code) or €0.50/transaction via API, on top of Stripe's normal processing fees. You still configure registrations, product tax codes, and tax-ID collection yourself.

Convenient if you're already all-in on Stripe Billing; costly at volume
Pricing

Usage-based pricing. Zero revenue share.

Metered by calculation volume, never by revenue.

Your bill moves with usage alone. Raising your prices or widening your margins doesn't change it.

Upgrade or downgrade anytime, without a sales call or a contractSelf-serve dashboard: usage, API keys, and add-ons, always visibleRates verified against official EU sources
Free
€0/mo

500 calculations/month. No credit card required.

Growth
€9/mo

5,000 calculations included. €0.00234 per additional call. No per-seat charges.

Scale
€49/mo

50,000 calculations included. €0.00127 per additional call. Same model, lower unit rate at volume.

Compare plans and features
FeatureFreeGrowthScale
Price€0/mo€9/mo€49/mo
Calculations included500/mo (hard cap)5,000/mo50,000/mo
Additional callsBlocked over cap€0.00234/call€0.00127/call
API rate limit10 req/min60 req/min300 req/min
Audit-ready archive + EU OSS reporting—Add-on (€19/mo)Included

Every archived transaction is stored the moment you send it, as a record no one can alter or delete for 10 years, Duty27 included: evidence type, OSS scheme, payment method, and the exchange rate used, all captured up front. Refunds are tracked separately and attributed to the correct filing quarter automatically, per EU correction rules, so a refund is never netted into the wrong period. Quarterly reports are generated on demand; you get a notification the moment one is ready, and the report itself stays behind your login.

Need a custom plan, volume pricing, or invoicing instead of a card on file? Contact Sales

Who this is built for

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

§ 1

EU sellers & global exporters

Selling digital goods to European customers without needing 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.

§ 3

High-volume SaaS & digital platforms

Scales predictably with usage calls instead of taking a percentage cut off your top-line revenue as MRR grows.

Get the VAT math right, without giving anything else up.

The free tier is enough to fully integrate and test, and it needs no credit card.