Taxes
Turn on tax for each market you sell in and use the health page to check that every order charges the right tax.
Litestore works out the tax on each order and charges it as a separate line. Read this page to set tax up for each market and to catch a market that is quietly charging nothing.
Litestore records the tax amount on the order and refunds it along with the order. Tax is a number on your own order. You don't have to reconcile it later against a figure in someone else's dashboard.
Litestore can work out tax in two ways. The flat engine uses a rate you set for each market. Stripe Tax works out the real tax for the buyer's jurisdiction.
Settings → Taxes tells you whether your setup is complete enough to charge tax with confidence.
Litestore owns the number
Stripe's own automatic tax is switched off.
Even when you use Stripe Tax, Litestore reads the amount back and charges it as a Litestore line item.
Stripe Tax asked for the destination's real tax
↓
amount read back into Litestore
↓
charged as a Litestore line item on the orderLitestore does this so every order handles tax the same way. A tax-free store, a Stripe Tax store and a payment flow without Stripe all produce orders that record tax in the same place. Refunds, reports and the order record then behave the same, however the figure was worked out.
Two engines
The flat engine applies the market's own rate. Litestore uses the number you set.
Stripe Tax asks Stripe for the real tax at the buyer's destination. It keeps EU VAT and US nexus rules up to date without you maintaining rate tables. That is the main reason to use it, because no store owner can keep those tables accurate by hand.
Before you can use Stripe Tax, set up two things in your Stripe dashboard:
- Switch tax on.
- Set an origin address.
Set per market
You set three things on each market, under Markets rather than on the taxes page:
- The rate
- The behavior, which is whether tax is included in the displayed price or added on top
- Which engine to use
Tax depends on where you sell, so you set it on the market that describes that place.
Product in each market
This has a direct consequence: an order with no market attached collects no tax. Litestore has nowhere to read a rate from.
The master switch
A single setting turns tax calculation on or off. You find it on the taxes page.
While it is off, orders collect zero tax, even in markets that have rates configured.
Read that again. A market can have the right rate, the right country and Stripe Tax connected, and it still charges nothing while the master switch is off. The rates aren't wrong. Litestore just isn't using them.
The health page
Settings → Taxes runs a set of checks. Each one shows as green, or as a link to the page where you can fix it.
It checks:
- The master switch
- The selling country of each active market
- The engine chosen for each active market
- Whether the rate is still 0% on each market where the flat rate is what charges
The fourth check catches the quiet failure. A market that was created and never finished has a 0% rate. That is a valid setup, and it looks exactly like a market you meant to keep tax-free. This check asks you about it directly.
Checkout still completes when Stripe Tax is unreachable
Litestore falls back to the market's flat rate if the destination country is missing, the taxable amount isn't positive, Stripe returns any error, or the market names an engine that isn't wired. The order still gets a complete, charged tax amount. The taxes health page is where you find out this happened.
What is not wired
Litestore doesn't do two things:
- Report tax back to Stripe for filing
- Reverse tax at Stripe when you refund an order
On a refund, Litestore works out its share of the recorded tax itself. The refunded order is correct. Only Stripe's own tax records fall out of step.
Getting tax right
- Turn on the master switch first. Nothing else matters while it is off.
- Go through the health page market by market. Tax is decided per market, so a store that sells into three countries has three separate answers.
- Use Stripe Tax where you have real tax obligations in a jurisdiction, and set a flat rate anyway. Litestore charges the flat rate when it can't reach Stripe, as the callout above explains. A 0% flat rate behind an active Stripe Tax market is a silent zero waiting to happen.
Check the health page each time you change a market, not after a customer complains. When this goes wrong you see no error, just an order that charged no tax and looked fine.
Related
Payments
Connect Stripe, read the ledger that records every money movement on an order, and keep track of disputes.
Checkout
Understand what happens between a shopper's cart and a paid order, and what to check when checkout goes wrong.
Markets
Give each market its own currency, language, tax rules and product visibility, so one catalog can sell in several places.