Product Schema

Last updated on June 17, 2026.

This page documents how pricing and tax fields are stored on the Ecommerce product and product_variant schemas, and how the platform resolves the final price.

Tax handling on products

Each product and variant records how its price was entered so the platform can always resolve the correct net price and tax. The key field is is_tax_included.

is_tax_included is an entry convention, not a display setting. It tells the platform whether the figure entered against the product already includes tax.

Fields

FieldTypePurpose
regular_pricenumberThe price entered for the product
sale_pricenumberThe sale price, when on sale
tax_amountnumberTax rate (percentage) or a fixed tax figure
is_fixed_tax_amountbooleanTreat tax_amount as a fixed figure, not a percentage
is_tax_includedbooleanWhether the entered regular price already includes tax
is_sale_price_tax_includedbooleanWhether the entered sale price already includes tax

How the price is resolved

is_tax_included = true (entered figure is gross):

  • net = price / (1 + tax_amount / 100)
  • tax = net × (tax_amount / 100)
  • total = net + tax

is_tax_included = false (entered figure is net):

  • net = price
  • tax = net × (tax_amount / 100)
  • total = net + tax

When is_fixed_tax_amount is true, tax_amount is used directly instead of a percentage.

Worked example

Entered priceis_tax_includedRateNetTaxTotal
99true10%90999
90false10%90999

Both rows resolve to the same net, tax, and total.

Why the flag is per product

Pricing data often arrives in different conventions across supplier feeds and imports. Setting the convention per product lets merchants enter prices as the data arrives, while the platform normalises everything to consistent net, tax, and total values. For consistent storefront display, enter prices on a consistent basis across the catalogue.

Have a suggestion for this page?

Didn't quite find what you are looking for or have feedback on how we can make the content better then we would love to hear from you. Please provide us feedback and we will get back to you shortly.