Skip to Content
FluxStore is currently invite-only. Some sections of this documentation are still being written and expanded.
PaymentsStripe Tax

Stripe Tax

Stripe Tax automatically calculates and collects sales tax, VAT, or GST on checkout based on the buyer’s location and your tax registrations. FluxStore exposes it as a one-toggle feature on stores that have Stripe connected, with a per-package tax-code override for products that don’t fall into your store’s default category.

Stripe Tax requires that you’ve registered for tax in the relevant jurisdictions through your Stripe Dashboard. Stripe will only calculate tax for regions where you have an active registration.

Enabling Stripe Tax

Go to Dashboard > Payment Gateways. On the Stripe panel (visible once Stripe is connected), flip the Stripe Tax switch. The setting saves immediately.

Once enabled, every new Stripe Checkout session for that store includes Stripe’s automatic tax calculation. Buyers see the tax line on Stripe’s hosted checkout, the order detail page in your dashboard shows a “Tax” row in the payment summary, and the receipt email includes the collected amount.

Stripe Tax is Stripe-only. Orders paid through PayPal don’t carry a tax line because PayPal has no equivalent feature. If you need tax on PayPal orders too, you’ll have to handle that outside FluxStore.

Settings

With Stripe Tax enabled, click the Settings button on the Stripe Tax row to open the configuration dialog.

Default tax code

The Stripe tax code applied to every package on this store that doesn’t have its own override. We default to txcd_10000000 (“General electronically supplied services”), which is the right bucket for most digital game items, perks, and subscriptions. If you sell something different (physical goods, software downloads with separate VAT treatment, gambling-adjacent items), look up the right code in Stripe’s tax-code reference  and paste it here.

The code must start with txcd_ and exist in Stripe’s catalogue. Invalid codes will cause Stripe to reject the checkout session at create time.

Price behavior

Controls how Stripe interprets the prices you’ve listed on your packages.

BehaviorWhat it means
Exclusive (default)Your prices are pre-tax. Stripe adds tax on top. A package listed at $10 with 20% VAT becomes $12 at checkout.
InclusiveYour prices already include tax. Stripe extracts the tax portion from the listed price. A package listed at $12 with 20% VAT shows $12 at checkout, of which $2 is tax.

If you’re not sure which to pick: B2C stores in the EU/UK typically use inclusive pricing because consumers expect to see the final price. B2B stores and most US-based stores use exclusive pricing.

Collect B2B VAT IDs

When enabled, Stripe’s hosted checkout adds a “Tax ID” field. If a buyer enters a valid EU or UK VAT number from a different country than your business, Stripe applies reverse-charge treatment: the transaction is zero-rated, and the buyer self-accounts for VAT on their side.

Leave this off if you only sell to consumers. Turn it on if you sell to other businesses and want them to be able to claim reverse-charge.

Per-package tax codes

If most of your packages share the same tax code but a few are different, you can override the default on a per-package basis.

Edit any package (Dashboard > Packages > [package] > Edit) and look for the Stripe tax code field. Leave it blank to use the store-level default, or paste a specific code (for example txcd_10501000 for “Software as a service”). The override only applies to that one package.

The field is hidden until Stripe Tax is enabled on the store.

What you’ll see on orders

For orders processed with Stripe Tax enabled:

  • Order detail page: the payment summary shows a “Tax” row between the subtotal and the grand total. The order header also displays an amber “incl. $X tax” chip next to coupons and gift cards.
  • Receipt email: the default order_receipt template includes a tax line that renders when tax was collected. If you’ve customised your receipt template, you can add {taxLineHtml} (HTML version) or {taxLineText} (plain-text version) where you want the line to appear. Both variables render as empty strings for non-Stripe-Tax orders, so the line disappears entirely when there’s no tax.
  • Total amount: the stored TotalAmount is what Stripe actually charged. For inclusive-tax orders, that equals your listed price. For exclusive-tax orders, it’s listed price plus tax.

Subscription renewals processed by Stripe will also have tax calculated automatically (the setting carries over from the original checkout), and the tax line appears on Stripe’s invoice. FluxStore doesn’t currently store per-renewal financials, so the renewal tax line isn’t reflected in your dashboard. You can see it in your Stripe Dashboard’s invoice view.

Filing and remittance

Stripe Tax calculates and collects tax at checkout. It does not file returns or remit the collected tax to authorities. You’re still responsible for filing.

If you want Stripe to handle the filing side too, look at Stripe Tax Registrations . Alternatively, third-party services like TaxJar or Avalara plug into Stripe and handle remittance.

Troubleshooting

Stripe rejects the checkout session with a tax error. Usually this means you haven’t registered for tax in the buyer’s jurisdiction, or the tax code on the package is invalid. The buyer sees a generic “checkout couldn’t be created” message; the real error is logged server-side and visible in your Stripe Dashboard’s logs.

No tax line on an order I expected one on. Check that Stripe Tax is enabled on the store, that you have an active registration covering the buyer’s country/state, and that the order was paid through Stripe (not PayPal). Orders placed before you enabled the feature won’t be backfilled.

The tax amount looks wrong. Stripe is the authoritative source for tax calculation, not FluxStore. We just persist what session.total_details.amount_tax returns. If the number doesn’t match what you expect, check Stripe’s calculation in the Stripe Dashboard for the relevant Checkout Session.

Next steps