Skip to main content

How Taxes Work in Treez

Treez Support avatar
Written by Treez Support
Updated today

Disclaimer: Treez Support can explain how tax configurations work within the Treez platform, but cannot create, edit, or manage tax settings on your behalf. Customers are responsible for ensuring their tax configurations are accurate and compliant with applicable tax laws. Treez is not liable for tax calculations, filings, penalties, or compliance issues. For guidance beyond this documentation, consult a qualified CPA or tax professional.

Overview

Treez uses a flexible tax engine that allows operators to model complex state and local tax requirements. Taxes are calculated using layers, compounding rules, and product subtypes to ensure the correct amounts are applied to each transaction.

This article explains the core tax logic used by Treez. These concepts apply to all markets and customer types and should be understood before configuring taxes in the system.

This article does not provide state-specific guidance or setup instructions. For configuration steps or market rules, see the related articles linked throughout this guide.


How Treez Calculates Taxes

At a high level, Treez calculates taxes in three stages:

  1. Determine which taxes apply to each product based on product subtype and customer type

  2. Calculate taxes layer by layer, following compounding rules

  3. Add calculated taxes to the order total

Understanding how layers and subtypes work is key to configuring taxes correctly.


Tax Layers

Layers determine:

  • Which taxes compound together

  • Which taxes are calculated independently

  • The order in which taxes are applied

Taxes are always calculated starting from the first layer and moving downward, one layer at a time.


Compounding vs Non-Compounding Taxes

Option 1: Compounding Taxes

  • Taxes that appear in the same layer do not compound with each other.

  • Each tax in the layer is calculated independently using the same base amount.

  • If a layer is the first layer, taxes in that layer are calculated using the order subtotal.

For example, this photo displays Local Tax, Excise Tax, and Sales Tax in three different layers. Meaning, the Local Tax will be calculated off the subtotal, the excise tax will be calculated off the subtotal + Local Tax, and the Sales Tax will be calculated off the Subtotal + Local Tax + Excise Tax.

For example, let's assume you're selling a $100 cannabis item. Here's how the taxes would be calculated directly off of the subtotal and do not Compound together.


Subtotal: $100.00

Layer 1
Local Tax ($100 x 6%): $6.00
Layer 1 total: $106.00

Layer 2
Tax B ($106 x 15%): $15.90

Layer 2 total: $121.90

Layer 3

Tax C ($121.90 x 8.75%): $10.67

Final total: $132.57

Layer 2 compounds on Layer 1

Layer 3 compounds on Layer 2

Option 2: Non-Compounding Tax Layers

  • Taxes that appear in the same layer do not compound with each other.

  • Each tax in the layer is calculated independently using the same base amount.

  • If a layer is the first layer, taxes in that layer are calculated using the order subtotal.

Each Tax Label does not affect each other’s calculation.

​For example, this photo displays Local Tax, Excise Tax and Sales Tax in the first layer. Meaning, all taxes are calculated directly off the subtotal and do not compound together.

For example, let's assume you're selling a $100 cannabis item. Here's how the taxes would be calculated directly off of the subtotal and do not Compound together.


Subtotal: $100.00
Tax A (6%): $6.00
Tax B (15%): $15.00

Tax C (8.75%): $8.75


Total after layer: $129.75


Product Subtypes and “Applies To”

Every tax in Treez includes an “Applies To” setting that controls which products the tax is calculated on.

Taxes can apply to:

  • Cannabis products only (Metrc, BioTrack Packages)

  • Non-cannabis products only (Merch)

  • All products (Everything)

This filtering happens before tax calculation begins.

Important behaviors to understand:

  • A tax will only calculate against products it applies to

  • Multiple taxes in the same layer can apply to different product groups

  • Taxes that do not apply to a product are skipped entirely for that product

Example:


If a layer includes:

  • A cannabis-only tax

  • A non-cannabis-only tax

Each tax will calculate only on the products it applies to, even though they exist in the same layer. This allows Treez to support mixed baskets with different tax treatments.


Customer Types (Medical vs Adult-Use)

Treez supports separate tax structures for medical and adult-use customers.

Each customer type has its own tax configuration, including:

  • Which taxes are enabled

  • How taxes are layered

  • What rates are applied

The system automatically applies the correct tax structure based on the customer’s classification at checkout.

Market-specific rules determine when one or both customer types must be configured.


Tax Labels and Rates (Conceptual Overview)

Tax labels

A tax label defines the behavior of a tax, such as:

  • Whether it is a sales tax, excise tax, or custom tax

  • Whether it supports automated rate behavior

  • How it interacts with customer exemptions

Each tax label can only be used once per customer type.

Tax rates

Rates define the percentage or value used to calculate a tax.

Some rates are:

The label controls how the rate behaves, while the rate controls how much is charged.

For instructions on entering rates or creating new taxes, learn more in Setting Up Tax Rates and Custom Taxes.


How the Final Total Is Calculated

For each transaction, Treez:

  1. Groups items by product subtype and customer type

  2. Applies eligible taxes in the first layer

  3. Calculates each subsequent layer using the prior layer’s total

  4. Adds all calculated taxes to the order

This process ensures taxes are calculated consistently and in the correct order.

Some states apply additional calculation rules that affect how taxes interact with discounts. For an example, learn more in Calculating Taxes on Pre-Discount Prices (New York).


What This Article Does Not Cover

This article does not explain:

  • How to add or edit taxes in the UI

  • State-specific tax requirements

  • Product modeling for tax compliance

  • Post-tax pricing behavior

For those topics, learn more in:

Next Steps

Once you understand how Treez calculates taxes, you’re ready to configure your tax structure.

Start with:

Did this answer your question?