Tax & Invoicing
Two decisions, made once per Stripe account: who computes the VAT on each sale, and who issues the invoice the buyer receives. Every app on the account follows them. Your registrations (OSS, EX, UK…) live next door in Tax Setup — this page is about the machinery, not your reach.
Dashboard: Settings → Payments & Tax → Tax & Invoicing
Decision 1 — the VAT engine
VAT calculation — “who computes the VAT/sales tax on each sale”:
Both are complete tax engines — each fully computes the VAT on every sale. The difference is who does the computing, and what it costs:
| Onelo Tax | Stripe Tax | |
|---|---|---|
| Cost | Completely free | 0.5% per transaction |
| How it works | Onelo computes VAT from your Tax Setup answers & the buyer — origin rule, OSS, EX, reverse charge, exemptions. | Stripe owns rate determination across jurisdictions, computed from your Stripe Tax registrations. |
| Works with | ✅ Every issuer below — Stripe Invoicing and connected providers (Fakturownia…). | ✅ Every issuer below. |
| Handles exemptions | ✅ Small-business exemption & the EX scheme, with the legal clause on the invoice. | ❌ Can't model them — see the rule below. |
| Rates | EU + UK, kept current automatically (you'll see “✓ Rates kept current” with the last sync date). | Global, maintained by Stripe. |
| Best for | Selling in the EU + UK — the default for most sellers. | Multi-jurisdiction needs beyond EU + UK. |
Choosing Stripe Tax reveals two buttons — “Configure Stripe Tax settings” and “Manage tax registrations” — which open Stripe's own panels right in the dashboard. Below them, Onelo continuously cross-checks Stripe against your declared reach:
| Status line | Meaning |
|---|---|
| “Checking your Stripe Tax registrations…” | Comparing your Tax Setup reach with Stripe's active registrations. |
| “✓ Stripe Tax registrations match your setup.” | All good — every market you declared is covered. |
| “⚠ Stripe Tax isn't registered for part of your reach — that VAT won't be charged until you fix it” | A gap (e.g. you enabled OSS but Stripe has no Union OSS registration). The warning lists each missing registration by name; add them in “Manage tax registrations” above. |
Select Onelo Tax or Stripe Tax under “VAT calculation”, then Save changes. With Stripe Tax, use “Configure Stripe Tax settings” and “Manage tax registrations” to finish the Stripe side without leaving the page.
Decision 2 — the invoice issuer
Invoice issuer — “who issues the invoice document the buyer receives”. Whatever you pick consumes the VAT split from the engine above; nothing recomputes tax twice.
| Option | The buyer gets | Pick it when |
|---|---|---|
| None | The Stripe payment receipt only. (Subscriptions still get Stripe's standard per-cycle invoice — that's built into Stripe Billing.) | B2C sales where a receipt is enough. |
| Stripe Invoicing | A hosted Stripe invoice with the correct VAT breakdown. | You want proper invoices with minimal setup. |
| External integration | A fully compliant local invoice from your connected provider — Fakturownia today (inFakt and wFirma are marked Coming soon). Configure it in Integrations. | Your country requires national-format invoices (e.g. Poland with KSeF) or your accountant works in that system. |
Pick None, Stripe Invoicing or External integration under “Invoice issuer”, then Save changes. For an external provider, configure it next in Settings → Payments & Tax → Invoicing integrations.
Invoice language
One toggle: “Issue invoices in English”. Off, invoices are issued in your seller-country language (a German seller issues German invoices, a Polish seller Polish ones, and so on). On, every invoice is issued in English — handy when most of your buyers are international.
When you save
Save changes applies to every app on the account at once. Two kinds of feedback:
- A refusal (red) — only for the Stripe Tax + exemption conflict above. Nothing is saved; the message names the fix.
- An advisory (amber, after a successful save) — e.g. “Stripe Tax has no UK registration — that VAT won't be charged until you add it…”. Your save went through; finish the registration when you can.