VAT and sales tax when you sell software
Cross-border software tax starts with where your customer sits, not with what you earn. What the EU, UK and US rules say, and when a merchant of record pays.
Ask a founder when they start owing tax on software sales and you get a number back. A hundred thousand dollars, ninety thousand pounds, two hundred transactions. The assumption is reasonable: thresholds are how tax works almost everywhere else in a small business's life.
For cross-border digital sales it is wrong, in one specific and expensive way. The rule governing your first sale into another country is not about how much you earned but about where the person paying you was sitting. Article 58 of the EU VAT Directive puts the place of supply for electronically supplied services at the customer's location, from the first euro of the first sale. Everything else here is a consequence of that sentence.
None of this is tax advice; it is the shape of the rules, so you know which question to take to someone who can answer it for your situation.
The threshold everyone quotes has a condition nobody reads
There is a €10,000 EU threshold. It is real, it sits in Article 59c, and it is quoted constantly by people who do not qualify for it. Its three conditions are cumulative:
"(a) the supplier is established … only in one Member State; (b) services are supplied to non-taxable persons … in any Member State other than the Member State referred to in point (a); and (c) the total value, exclusive of VAT, of the supplies … does not in the current calendar year exceed EUR 10 000 … nor did it do so in the course of the preceding calendar year."
Condition (a) decides everything. It requires establishment in exactly one Member State. A solo founder in Ireland or a two-person studio in Portugal qualifies, and may charge the home VAT rate on cross-border B2C digital sales and skip the One Stop Shop until those sales pass €10,000 in a calendar year. Domestic sales do not count toward the €10,000, and once you cross it Article 58 applies from the supply that crossed it, not from the next quarter.
If you are established outside the EU, condition (a) cannot be satisfied. There is no reduced version, no pro-rata, no grace period. A US LLC, a UK limited company, a Canadian sole proprietor: VAT is due on the first euro of the first sale to the first EU consumer, at that consumer's national rate. The Commission's own place of taxation guidance says the same in flatter language.
The practical route for a non-EU seller is the non-Union One Stop Shop scheme: pick one Member State, register there, file one return, pay one authority, and let it redistribute to the other twenty-six. One registration instead of twenty-seven is a real saving. It is still a registration, a filing calendar and a rate table you now maintain, triggered by a sale of €10.
A UK seller with £5,000 of turnover can owe VAT in Germany
The UK combination is the harshest in these rules, and worth working as a case. Take a UK sole trader with £5,000 of total turnover, everything included, well under the £90,000 VAT registration threshold that took effect on 1 April 2024. They sell one €10 monthly subscription to a consumer in Germany.
That sale creates an EU VAT obligation. The £90,000 figure is a UK threshold for UK VAT and has no bearing on what Germany is owed. HMRC's guidance on supplying digital services to private consumers gives a UK business exactly two options for EU consumers: register for the non-Union scheme in an EU member state, or register for VAT in each member state where you supply. No turnover exemption attaches to either, because neither exemption is available. Article 59c requires establishment in a Member State, and the UK is not one; the EU's small-business scheme, below, excludes UK-established enterprises by name.
So that one subscription means €10 of revenue, German VAT on top, one registration, and a quarterly return for as long as the customer stays. Whether that is worth doing for €120 a year is a real question, and the answer is usually no unless someone else is filing.
Two qualifiers. "Digital services" here means automatic delivery, "with minimal or no human intervention" — software, downloads, hosting, updates. A live webinar you run falls outside these rules. And this is the B2C case; B2B sales to a VAT-registered business generally shift the accounting to the buyer under reverse charge, which is why validating a customer's VAT number matters more than it looks. Either way the VAT line and the customer's country belong on the invoice when you raise it, not reconstructed in April, and a plain invoice generator with a tax field is enough to start.
The one real exemption is closed to anyone outside the EU
Since 1 January 2025 there is a genuine escape hatch, and it is the best news here for an EU-established seller. The cross-border SME scheme lets a business established in one Member State sell VAT-exempt into the others, up to a Union-wide turnover of €100,000 across all twenty-seven in both the current and previous calendar year, and subject to each destination country's own threshold. Those are set nationally and capped at €85,000, so check the country rather than a single EU number.
What it buys: a founder in Ireland can sell to consumers in France and Spain without registering for VAT in either, and without OSS. What it costs: one prior notification to your own Member State, an EX number issued only where you are established, and one quarterly report covering turnover in all twenty-seven, due a month after quarter end. The Commission's explanatory notes confirm you can run both systems at once, the SME scheme in some Member States and OSS in the others. Breach the €100,000 and you are excluded everywhere at once, EX number deactivated.
And the line that closes it to everyone else, from the Commission's own page: "Non-EU small enterprises cannot apply the SME scheme," explicitly including enterprises established in the United Kingdom, including Northern Ireland.
American sales tax is two questions, and founders answer only one
US state sales tax splits into two independent questions that get merged constantly. Nexus asks whether a state may require you to register. Taxability asks whether it taxes software as a service at all. They do not travel together, and you can have nexus in a state and owe it nothing.
The modal economic-nexus threshold is $100,000 in sales or 200 transactions, whichever comes first, and the departures matter more than the mode. California sets it at $500,000 with no transaction count. Texas and New York also sit at $500,000. Alabama and Mississippi use $250,000 with no transaction count. Delaware, Montana, New Hampshire and Oregon have no state sales tax; Alaska has none either, but its localities collect from $100,000. The Streamlined Sales Tax remote-seller guidance is the closest thing to a neutral index of where the states currently stand.
Then taxability, where three verified examples cover the range. New York taxes remote-access software: its own bulletin says "the sale to a purchaser in New York of a license to remotely access software is subject to state and local sales tax" (TB-ST-128). Texas taxes it as a data processing service with 20% of the charge exempt, so at a typical 8.25% combined rate you collect 0.80 × 8.25 ≈ 6.6%. California does not tax electronically delivered software, but under CDTFA Publication 109 shipping any physical component makes the entire transaction taxable. Send a USB stick or a printed manual and the exemption is gone for the whole sale, software included.
Now the honest part. No primary source gives you a complete, current, fifty-state SaaS taxability list; every map online is a vendor's product on the vendor's update schedule. Several states have quietly dropped their 200-transaction test since 2019, so a transaction-count column copied from a 2020 blog post is stale in a direction that will not help you. Verify your specific state, on its own revenue department's site, on the day you need to act on it.
The tax you have read about is not the tax that reaches you
Digital services taxes get attention out of all proportion to who pays them. The UK's is 2%, and applies only where a group's digital services revenues exceed £500m worldwide and £25m in the UK, with a £25m allowance deducted first (HMRC DST41000). European DSTs sit at similar scale. They are not about you.
The tax that reaches a two-person software business is destination VAT, and it arrives on sale number one.
Merchant of record versus doing it yourself, priced out
Which brings you to the only decision here that costs money either way. A merchant of record buys your product from you and sells it to the customer, so the transaction taxes become theirs. You pay a percentage to move a liability, and whether that trade is good is arithmetic.
Stripe alone, plus Stripe Tax | Merchant of record | |
|---|---|---|
Cost on a $100 US domestic card sale | Paddle 5% + $0.50 = $5.50; Polar Starter 5% + 50¢ = $5.50; Polar Scale 3.4% + 30¢ = $3.70 | |
Cost on a $20 monthly subscription | $0.88 processing + $0.10 tax = $0.98, or 4.9% | $1.50 at Paddle or Polar Starter, or 7.5% |
Seller of record | you | the provider — Paddle "acts as a reseller of your product" |
Registration, calculation, collection, filing, remittance | yours, in every jurisdiction where you have an obligation | theirs |
Transaction-tax audit exposure | yours | theirs |
Income, corporation, self-employment tax | yours | still yours |
Disputes | your account: $15 US / £20 UK / €20 EU received fee, not returned if you win | their relationship of record; Polar charges $15 flat regardless of outcome |
What stays on your desk | OSS or state registrations, a filing calendar, threshold monitoring, evidence of customer location | one payout to reconcile, and your own income tax |
The flat fee dominates small tickets. On a $20 subscription the gap between $0.98 and $1.50 is 2.6 percentage points, against 1.8 points on a $100 sale. If you sell cheap monthly plans, the merchant of record is expensive in a way the headline "5%" hides.
At the top tier the premium disappears. Stripe plus Stripe Tax is 2.9% + $0.30 + 0.5%, which is 3.4% + $0.30, and Polar's Scale tier is 3.4% + 30¢. Those are the same number, so at that volume the liability transfer costs nothing.
Stripe's own Managed Payments is the outlier: 3.5% of the full transaction amount including indirect taxes, on top of standard processing. On a €100 net sale into a Member State whose rate adds 20%, the customer is billed €120 and the 3.5% applies to that gross figure, so €4.20, or 4.2% of the money that was ever yours, before processing. Lemon Squeezy, still listed at 5% + 50¢, is in migration to Managed Payments with no published sunset date: workable for an existing business, poor foundation for a new one.
What transfers is worth quoting exactly, because the marketing blurs it. Polar's documentation says it takes on "the liability of international sales taxes globally for you," then immediately: "However, you're always responsible for your own income/revenue tax in your country of residency." Transaction taxes move, audit exposure included. Income tax, corporation tax and self-employment tax on the money you receive do not. A merchant of record simplifies your VAT returns, not your April; the set-aside is the same problem it always was, worth estimating monthly rather than annually, as how to prepare for tax season sets out.
The column missing from every pricing page is your hours. One non-Union OSS registration plus four returns a year is the floor for an EU-facing seller, and each US state adds its own filing frequency and login. None of that scales with revenue. The premium does.
Where the arithmetic flips
Put the two against each other with your own numbers. The premium a merchant of record charges over Stripe plus Stripe Tax is about 1.8 points of revenue at Paddle or Polar Starter pricing, plus roughly $0.20 per transaction. Call it 0.018 × R, where R is annual cross-border revenue. The cost of doing it yourself is J × h × your hourly rate, where J is the number of jurisdictions you must register in and h is the hours each costs you per year, registration amortised plus filings.
The two are equal when R = (J × h × rate) ÷ 0.018. As an illustration rather than observed data: three jurisdictions at six hours each per year, with your time valued at $75 an hour, is 3 × 6 × 75 = $1,350 of admin a year, and the premium matches that at $75,000 of cross-border revenue. Below that, the merchant of record buys back your time cheaper than you can do the work. Above it, you are paying more for the service than the work costs you, and the gap widens every month.
Two corrections. The sum understates the merchant of record, because the audit exposure you keep carries no number, and a known 1.8% is worth paying to remove an unknown. And below a $30 average ticket, use the per-transaction gap rather than the percentage.
So, the rule. If you sell cross-border at all, the obligation starts at your first sale rather than at a threshold, so the choice is never "later" — it is a merchant of record now, or a registration now. Below roughly $75,000 a year in cross-border revenue, or above three jurisdictions you would have to file in, take the merchant of record and price the fee into your plans. Above that, with customers concentrated in one or two tax jurisdictions, run Stripe with Stripe Tax and file yourself, then revisit when you add a fourth. If you are EU-established and under €100,000 of Union turnover, check the SME scheme before either, because it may remove the question instead of answering it.
Every number above is gross, and the fee, the VAT and the settlement delay all sit between a sale and your bank balance, which is the subject of MRR is not cash; where the time goes instead is the bottleneck moved twice. None of this is bookkeeping, which is why a tool built for the day-to-day rather than the tax return is a different purchase from an accountant, and most founders selling software need both.
Worklyn's invoicing puts the customer's country and the tax line on the document at the moment you raise it, so the record of where each sale was taxed exists before anyone asks for it.