Add products
Set each product’s tax class in the Pricing step.
Sellerlane’s tax engine is built from three building blocks plus a global settings layer that ties them together:
| Piece | What it defines |
|---|---|
| Tax zones | Where a rate applies — by country, by subdivision (state), by postal/PIN-code, or a single default catch-all that covers everywhere else. Tax-inclusive pricing is set per zone. |
| Tax classes | What kind of product — group products that share a rate (e.g. a class per GST slab: 0%, 5%, 12%, 18%, 28%). |
| Tax rates | The percentage charged for each class within a zone, with a priority that controls stacking. |
You manage all of these under Settings → Taxes (the Tax Dashboard), which has three areas: Global Tax Settings, Manage Tax Zones & Rates, and Manage Tax Classes.
Open Settings → Taxes → Global Tax Settings. These apply store-wide.
Default Tax Display Name — the word buyers see instead of a generic
“Tax” on cart, checkout, and invoices. Enter GST (or VAT, etc.).
Default Shopper Tax Zone — the catch-all zone used when a buyer’s address doesn’t match any specific zone (and before they’ve entered an address). Pick your default catch-all zone here.
Tax Calculation Basis — choose Destination Address (tax based on where the order ships, the usual choice for GST) or Billing Address. For pickup orders the engine uses the origin (your pickup location’s zone) regardless of this setting.
Shipping Fee Tax Class — the tax class applied to shipping charges. Pick a class (e.g. your standard GST class) so delivery fees are taxed, or leave it on None (Non-Taxable) to ship tax-free.
Cart & Checkout Tax Display and Order & Invoice Tax Display — set independently to Summarized (one combined tax line) or Broken Down (each rate/class shown separately). See display granularity.
Click Save Settings.
A tax class groups products that should be taxed the same way. The simplest GST setup is one class per slab.
Go to Settings → Taxes → Manage Tax Classes and choose Add Tax Class.
Name it after the slab — e.g. GST 18%, GST 12%, GST 5%, GST 0% / Exempt. The name is a label; the actual percentage lives on the rate
inside each zone (next section).
One class is marked (System Default for Products). Products that aren’t assigned a class fall back to it, so make the default match your most common slab.
The tax class is a mandatory, product-level field. In the product editor’s Pricing step, set Tax class. New products auto-select the first class, so always confirm it matches the product’s slab before saving. See Add products for the full product form.
A zone answers “where does this rate apply?” Create one zone per region that needs its own rates. Go to Settings → Taxes → Manage Tax Zones & Rates → Create New Tax Zone and pick a Based On basis:
Country — applies to whole countries. Select Target Countries (e.g. India). Use this for a nationwide rate.
Subdivision (State/Province) — applies to specific states. Pick the country, then choose Target Subdivisions (e.g. Karnataka, Maharashtra). This is the basis that matters for modelling intra-state vs inter-state GST.
Postal Codes — applies to specific PIN-code ranges. Choose the Target
Country for Postal Codes, then list codes/patterns (one per line; * is a
right-side wildcard and ? matches a single digit — e.g. 560* for PINs
starting 560).
Default Catch-All — the fallback for everywhere not matched above. There is exactly one catch-all per store, and it’s typically your Default Shopper Tax Zone.
By default a zone applies to All Customers. You can instead scope it to Only Customers in Select Groups (segments) under Applies To — useful for B2B or special-rate groups.
A segment-scoped tax zone is selected only from a successfully refreshed membership snapshot. While a dynamic segment is queued, stale, or in a failed refresh state, Sellerlane falls back to the applicable non-segment zone rather than calculating tax from an obsolete customer classification.
Each zone has its own Tax Rates. Open a zone → Zone Rates → Add Tax
Rate, give it a name and a Priority, then enter the percentage per tax
class (e.g. 18 for your GST 18% class, blank for classes that don’t apply
here).
How multiple rates combine for one product:
For a flat GST slab, one rate per class is all you need. Reserve priorities for genuinely stacked taxes.
Indian buyers expect shelf prices to be final. Tax-inclusive display is set per zone (not globally), under Price Display Settings for this Zone when you create or edit a zone:
Price ₹1,180 (incl. 18% GST) → shown as ₹1,000 + ₹180 GST on the invoice. The reverse formula:
base = inclusive ÷ (1 + rate)→1180 ÷ 1.18 = 1000, sotax = 180. A 5% example:₹525 ÷ 1.05 = ₹500 base + ₹25 GST.
In Global Tax Settings, Dynamically update inclusive prices for out-of-zone customers? controls what happens when a buyer falls outside your inclusive zone: leave it off to keep the entered price fixed, or turn it on to re-derive the displayed price for their zone.
Set Cart & Checkout Tax Display and Order & Invoice Tax Display separately under Global Tax Settings:
Choose Broken Down for the order/invoice if buyers need to see the GST components itemised, and keep cart/checkout Summarized for a cleaner storefront — they’re independent.
Three independent ways to zero out tax:
The exemption follows the purchase identity, and the two owners are never mixed:
The order snapshots the exemption decision in force at placement, so changing a flag later never re-taxes an existing order.
A cart is treated as exempt if either the per-cart POS override is on or the record that owns the purchase identity (customer for personal, company location for company) is flagged tax-exempt.
GST has an intra-state vs inter-state distinction:
Sellerlane models this with subdivision (state) zones and rates, then surfaces it through the broken-down display. Practically:
Because there are no built-in CGST/SGST/IGST labels or an HSN field, the
labels you give your rates are what appear on the invoice. The platform
guarantees the arithmetic; the GST semantics come from how you name and zone
your rates.
Each order records its tax as line-level amounts. Themes read these through the
tax_line Liquid object, and order
invoices show the breakdown under your display name. Shipping is taxed using the
Shipping Fee Tax Class you set in Global Tax Settings — not a separate
shipping rate.
If a buyer’s pickup location or address can’t be matched to a zone, checkout falls back to your Default Shopper Tax Zone and flags it; carts spanning multiple zones report the destination zone on the order.
Add products
Set each product’s tax class in the Pricing step.
Shipping & checkout
See how taxed shipping fees appear at checkout.
Customers & segments
Scope zones to groups and mark exempt customers.
GST calculator
Quick inclusive/exclusive maths with the GST calculator.