Litestore · Help center
Commerce

Taxes

Turn on tax for each market you sell in, and use the setup guide to check that every market charges through a real tax engine.

Litestore works out the tax on each order and charges it as a separate line. Tax is set up per market, and the setup guide catches a market that is quietly charging nothing.

Tax healthCalculate tax
United StatesStripe Tax · Added on top
Stripe Tax
GermanyFlat 19% · Included
Flat 19%
United KingdomFlat 20% · Included
Flat 20%
!
JapanThe flat rate is still 0%
Fix in Markets
3 of 4 markets passTax is charged as its own line
The setup guide checks `ENABLE_TAXES` and every active market, and keeps the tax step open while a market's flat rate is still 0%.

Tax calculation

Tax is a number on the store's own order. You don't have to reconcile it later against a figure in someone else's dashboard.

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 order

Litestore does this to make every order handle 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.

Tax engines

The flat engine applies the market's own rate. Litestore uses the number you set.

Market tax settings

You set three things on each market, under Markets.

FieldWhat it does
RateSets the flat tax rate for the market.
BehaviorSets whether tax is included in the displayed price or added on top.
EngineChooses the flat engine or Stripe Tax.

Tax depends on where you sell, and you set it on the market that describes that place.

This has a direct consequence: an order with no market attached collects no tax. Litestore has nowhere to read a rate from.

ENABLE_TAXES

The ENABLE_TAXES environment variable turns tax calculation on or off. It defaults to false, so a new store collects no tax until whoever runs the server sets it to true.

While it is off, orders collect zero tax, even in markets that have rates configured.

A market can have the right rate, the right country and Stripe Tax connected, and it still charges nothing while ENABLE_TAXES is off. The rates aren't wrong. Litestore just isn't using them.

Setup guide check

The admin home's setup guide has a Set up taxes step that links to Markets. It counts as done when ENABLE_TAXES is off (the store deliberately charges no tax), or when every active market charges through a real engine: Stripe Tax, or the flat engine with a rate above 0%.

That last condition 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, so the step stays open until you give it a rate or switch it to Stripe Tax.

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 fallback is logged on the server, so ask whoever runs the store to check the logs if Stripe Tax numbers look off.

Unsupported features

Litestore doesn't report tax back to Stripe for filing, and it doesn't 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.

Setup

Tax activation

Set ENABLE_TAXES to true first. Nothing else matters while it is off.

Market review

Tax is set per market, and a store that sells into three countries has three separate answers.

Stripe Tax and flat rates

Use Stripe Tax where you have real tax obligations in a jurisdiction. 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 setup guide each time you change a market, not after a customer complains. When this goes wrong, the admin shows no error, only an order that charged no tax and looked fine.

On this page