Subscribe
← All articles
Sep 25, 2026

Who owes the tax on your sale: merchant of record or you

By Built and shut down a subscription platform on Stripe Connect, Telegram Stars and crypto payouts

A wooden-handled wax seal stamp and a brass melting spoon standing against a black background

We built Volta between April and June 2026, a subscription platform for creators selling access to an audience, and retired it in August. Its database had a column called payment_mode with three allowed values. Two of them were ever written. The third was mor, for merchant of record, added early "so Phase 7+ avoids migration churn". Nothing in the codebase ever set it. Creators in countries Stripe did not support, the people that mode was planned for, got a form asking for their email so we could tell them when things changed.

That unused value marks the difference between two kinds of platform that look identical from the seller's side of the dashboard. On one kind, the platform is the seller and the tax is its problem. On the other, you are the seller and the tax is yours, whatever the checkout page says. Volta was the second kind, and our own planning notes said we should tell creators so. We never did.

The name on the statement is not the answer

A buyer who paid a creator through Volta saw Volta on their card statement, as a side effect of how we set up payments. We charged cards as what Stripe calls destination charges and never set a parameter named on_behalf_of, and Stripe's documentation is direct about the consequence: "If on_behalf_of is omitted, the platform is the business of record for the payment." The same setting decides "whose statement descriptor the customer sees."[1]

That does not make the platform the party that owes the tax. Stripe's own guide for platforms says responsibility for collecting and reporting tax "can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details."[2] The card network cares about one question and the tax authority about another, and a platform can answer them differently.

We answered them differently. Our name was on the statement. The creator received the money into their own Stripe account, and nothing we built calculated, collected or filed a cent of tax. Our v0.1 spec carried a risk line saying we would "flag to creator that they're responsible" until a tax module shipped. A search of every screen and every translation file in the dashboard today finds no mention of tax at all.

What a merchant of record takes off you

The term has a plain meaning. Lemon Squeezy defines a merchant of record as "the legal entity selling goods or services to an end customer," responsible for "collecting sales tax, processing refunds and chargebacks, and ensuring PCI compliance."[3] You are not selling to the buyer. The platform is, and it then pays you.

Gumroad moved to this model at the start of 2025. Its help centre now reads "Gumroad now acts as the Merchant of Record for all sales," with sales tax "collection and remittance worldwide."[4] Its pricing page puts the date at 1 January 2025.[5]

A platform that is only running Stripe Connect for you is a different arrangement, even when its checkout looks the same. It moves your money. It does not stand between you and the tax authority. The quickest test is to search the platform's help centre for "merchant of record". If the phrase does not appear, assume you are the seller.

The EU sale you cannot ignore at $10

This matters most for a seller outside the EU with even a handful of European buyers.

For digital services sold to consumers, the EU taxes the sale where the buyer is: "You charge VAT at the rate of the customer's country."[6] For a supplier outside the EU, the Commission's summary of the rules says the place of taxation "is within the EU and accordingly they are subject to VAT," and that such a business can register in a single member state of its choosing rather than in every country it sells into.[7]

There is a EUR 10,000 threshold, and it is easy to misread as a small-seller exemption. The guidance frames it around sales that "may be subject to VAT in the EU country where the taxable person is established."[8] A creator in Texas or Toronto has no EU country of establishment for that rule to point back to, and the registration scheme built for them, the Non-Union scheme, is described as being "for businesses established outside the EU, with no EU fixed establishment."[6] The relief the threshold gives an EU seller is not written for you. Check it with an adviser before relying on it either way.

Registering also commits you to returns. A Non-Union return is filed every calendar quarter, due by the end of the following month, and a quarter with no EU sales still needs a "nil return."[9] That is four filings a year for as long as you stay registered, whether you sold one ebook in Germany or none.

Stars do not move the problem

Selling in Telegram Stars can feel like a way around all of this, since Telegram runs the purchase end to end. The developer terms close that door in section 6.4: "You are solely responsible for all taxes and fees associated with any income you receive," and "Telegram will not inform you of, nor calculate or pay out any taxes and fees on your behalf." The clause names Stars explicitly, along with "any other payment framework or processor you may choose."[10]

Across the three rails Volta shipped, cards through Stripe Connect, Stars and crypto, nobody filed tax for the creator. We did not on cards or crypto, and Telegram says in writing that it does not on Stars.

What each route costs on a $10 sale

The merchant-of-record fee looks expensive next to a card processor's until you price what the processor leaves undone. For one $10 digital sale, before any tax is added:

RouteFee on the saleWho files the tax
Stripe, US buyer$0.59you
Stripe, EU card$0.74you
Stripe Tax Basic on top+$0.05you, still
Lemon Squeezy$1.00Lemon Squeezy
Gumroad, direct link$1.50Gumroad
Gumroad, via Discover$3.00Gumroad

The Stripe rows come from 2.9% + 30¢, with 1.5% more for an international card and another 1% when currency conversion is needed.[11] Stripe Tax Basic adds 0.5% per transaction on its no-code checkout, but only where you are already registered, and it calculates and collects without filing. Registrations and filings sit in Tax Complete, which starts at $90 a month on a one-year contract.[12] Lemon Squeezy's headline is 5% + 50¢, with a note that some payments carry additional fees.[13] Gumroad's is 10% + $0.50 on direct sales and 30% on Discover.[5]

At this price the cheapest line on the table is the one that files nothing. On a domestic sale, Stripe plus Stripe Tax comes to $0.64 against Lemon Squeezy's $1.00, a gap of 36 cents. The entry tier of Tax Complete covers 200 transactions a month, two registrations a year and four filings a year,[12] which is exactly one Non-Union registration's quarterly returns. Two hundred sales at 36 cents is $72, less than the $90 the tier costs. At $10 a sale, a creator who wants the filing automated pays more on Stripe than a merchant of record charges to take the whole problem, at every volume that tier allows.

Raise the price and the answer changes. At $50, the gap per sale is a dollar, and the subscription pays for itself at 90 sales a month. A percentage fee scales with the price; a filing subscription does not.

Three questions before you sell anywhere

Ask the platform who the business of record is on your buyer's statement, and whether that entity also collects and files sales tax and VAT. The answers can differ, as ours did.

If the answer to the second question is you, ask where in the product it tells you so. A platform that has thought about it will point at a screen. Ours would have pointed at a line in a planning document.

And if you are outside the EU with European buyers, decide before your first sale whether you are registering for the Non-Union scheme or selling through someone who already has. Deciding later means going back over every quarter you already sold in.

Disclosure. The payment_mode column, the unused mor value, the destination-charge setup without on_behalf_of, the waitlist form that replaced the planned merchant-of-record fallback, and the tax disclosure that never shipped are all from our own build of Volta, so they carry no citation below. Volta was our product, it is retired, and nothing here recommends it. This is not tax advice. Every external quote is cited to the provider's or the regulator's own page.

Sources

Every external figure in this article is cited to the provider's own published terms, checked 24 September 2026.

  1. 1.Stripe, Create destination charges - the on_behalf_of parameter sets the settlement merchant, which decides whose statement descriptor the customer sees; if on_behalf_of is omitted, the platform is the business of record for the payment
  2. 2.Stripe, Tax for software platforms - liability for collecting and reporting tax in a Connect integration can belong to the platform or to connected accounts, depending on the business model, government regulations and individual transaction details
  3. 3.Lemon Squeezy, Merchant of Record - a merchant of record is the legal entity selling to the end customer and takes responsibility for collecting sales tax, processing refunds and chargebacks, and PCI compliance
  4. 4.Gumroad, Sales tax on Gumroad - Gumroad acts as the merchant of record for all sales and handles sales tax collection and remittance worldwide; sellers do not manage tax settings
  5. 5.Gumroad, Pricing - merchant of record since 1 January 2025; 10% + $0.50 per transaction on direct sales, 30% on sales through the Discover marketplace
  6. 6.European Union, Your Europe, EU VAT One Stop Shop (OSS) - VAT is charged at the rate of the customer's country; the Non-Union scheme is for businesses established outside the EU with no EU fixed establishment, and covers services supplied to EU consumers
  7. 7.EUR-Lex, VAT: special arrangements applicable to services supplied electronically - for non-EU suppliers of electronic services to EU consumers the place of taxation is within the EU and they are subject to VAT; they may register with a single member state of their choosing
  8. 8.European Union, Your Europe, Cross-border VAT - a EUR 10,000 threshold applies to distance sales; below it, electronic services may be taxed in the EU country where the seller is established
  9. 9.European Commission, Declare and pay in OSS - the non-Union scheme return is quarterly, due by the end of the month after the quarter, and a nil return is required for a quarter with no EU sales
  10. 10.Telegram, Bot Platform Developer Terms of Service - section 6.4: the developer is solely responsible for taxes on income received through the Bot Platform; Telegram will not inform, calculate or pay taxes on the developer's behalf; this applies to Telegram Stars and any other payment processor
  11. 11.Stripe, Pricing - 2.9% + 30¢ for domestic cards, plus 1.5% for international cards and 1% if currency conversion is required
  12. 12.Stripe, Stripe Tax pricing - Tax Basic, no-code integration: 0.5% per transaction where you are registered to collect tax, calculation and collection only; registrations and filings are in Tax Complete, starting at $90 per month on a one-year contract, whose entry tier lists 2 registrations per year, 200 transactions per month and 4 filings per year
  13. 13.Lemon Squeezy, Pricing - 5% + 50¢ per transaction, with automated sales tax compliance; some payments may be subject to additional fees