Understanding Tax Codes

Understanding Tax Codes

Under normal circumstances WooCommerce uses tax classes to determine how the tax is applied to orders and shipping by using table of rates based on the billing or shipping address in the order (or shop base address).

Each product and the shipping classes can be assigned a tax class to determine which table of tax rates to use.  The rates are based on location (Country, State, City & Zip/Postcode) and priority (to allow application of multiple tax rates).  Each rate is given a name and this name is combined with the location elements (Country, city etc) and priority to create a tax rate code that is stored in WooCommerce orders against product and shipping (e.g. GB-VAT-1).

If no tax rate is found for a location, then the tax is set to zero (0.00) and other tax-related fields are left blank (null).

It is usual to set rates for all locations you sell/ship to, applying the relevant rates.

Normally, not assigning a tax class for an item (product or shipping) or not having codes for all locations is ok, if you are happy that it does not apply any tax.  However, Sage 50 requires tax to be given tax codes (T Codes) to classify tax for various reasons (e.g. government tax returns) and Woosage uses the WooCommerce tax rate code to facilitate this via a mapping table.

We recommend that your rates include default rates (i.e. rates that apply if none of the other rates match the location information), but we have also included a default rate that will be used for mapping a T-code in such cases.

Warning
Some retail/consumer sites setup WooCommerce so that tax calculations are not performed in WooCommerce and all prices include tax.  You must setup WooCommerce to calculate tax even if it is not shown to the online customer or the Sage tax codes will be incorrect and no VAT will be shown.
An example “Standard” tax class table in WooCommerce might contain:


Country Code


State Code


Postcode / ZIP


City


Rate %


Tax Name


Priority


Compound


Shipping

*

*

*

20

VAT

1

 

Yes

*

*

*

*

0

ZERO

1

 

 

In the above example the first line determines that UK (GB) orders will be taxed at 20%, including shipping charges (this is shown as a tick in WooCommerce).  The second line determines that orders for all other locations will be zero-rated (assuming all products have a “Standard” tax class).

The resulting tax WooCommerce tax code for the first line one would be GB-VAT-1 and the second line would be ZERO-1 (see below)

The same would apply if the second line was omitted and although WooCommerce would still show zero tax on the order for outside the UK, this would create problems for assigning T-code in Sage.

If you use other tax classes to apply tax to product or shipping, then these work in exactly the same way and you should define tax code for each class to cover each region you sell/ship to.

All tax codes defined in WooCommerce must be mapped to a T-code in Woosage50>Settings>Taxes. (See Woosage50 Tax Settings)

Each tax class entry that is used in WooCommerce must be mapped to an appropriate Sage tax code.  Standard, Reduced and Zero Rates are provide by WooCommerce when installed and we recommend removing tax classes that are not used.

During WooCommerce order processing a tax code is inserted in to the order.  The form of the WooCommerce tax code is Country code-Tax name-Priority (e.g. GB-VAT-1) and this is obtained by concatenating the following fields from WooCommerce/Settings/Tax/Standard Rates, Reduced Rates and Zero Rates (see figure 4 below) with a “-“ (minus) character between each:

  1. Location components, such as Country code (e.g. GB)
  2. Tax name (e.g. VAT)
  3. Priority (e.g. 1)


The Sage tax codes are T0 through T99 and typical default codes are shown below, but you should check your Sage installation:
  1. T0 Zero rated
  2. T1 Standard Rate
  3. T2 Exempt
  4. T4 Sales to other EU countries (where applicable)
  5. T5 Reduced
  6. T9 Non-taxable
Warning
Do not enable automated taxes using WooCommerce Services to automatically set tax codes as this dynamically generates names for codes based on customer location, which are not always consistent.



    • Related Articles

    • Installation and Setup of Woosage for Sage Accounting

      Woosage for Sage Accounting is intended to be a self-install application and everything you need to do this is contained is right here in just 4 easy steps. Install the Woosage plugin Add your subscription Identifier Authorise Woosage to access your ...
    • What is Woosage for Sage Accounting?

      Woosage is a plugin for your website that will integrate your WooCommerce shop with Sage Accounting (also known as Sage Business Cloud Accounting - formerly Sage One). Woosage Essentials Edition is available and has the following features: Imports ...
    • Create an optional Sage Accounting user for Woosage

      While this step is optional, we we recommend that you add a Woosage user to allow us to access Sage Accounting on your behalf when installing WoosageBCA or providing ongoing support. If you do not add an additional user for Woosage, then we will not ...
    • Tax Discrepancies

      As Woosage50 works with two different systems, WooCommerce & Sage, both of which can have different tax calculation methods and number precision, there is scope for discrepancies between the WooCommerce order and the imported sales order/invoice in ...
    • Woosage50 Tax Settings

      By Default Woosage50 uses the tax calculations from the website order when creating a Sales Order or Sales Invoice in Sage. This is done to ensure the tax figures that the customer has been presented with in the checkout are used in Sage, avoiding ...