Under
normal circumstances WooCommerce uses tax classes to determine how the add tax
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.
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 calulate 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 the Tax Codes tab of
the Woosage Desktop Client application.
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:
- Location
components, such as Country code (e.g. GB)
- Tax
name (e.g. VAT)
- 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:
- T0
Zero rated
- T1
Standard Rate
- T2
Exempt
- T4
Sales to other EU countries (where applicable)
- T5
Reduced
- T9
Non-taxable
For example, VAT in the UK is
typically mapped as GB-VAT-1 to T1 as indicated in the first row of the tax
codes table shown below.
The above
table must include a WooCommerce tax code that will be used as a default (see , to be assigned to
order elements that do not have tax codes. This code does not have to exist in your WooCommerce tax class rates
table as it is purely to assign a T code in Sage where tax codes are missing from line items and shipping charges If WooCommerce has been setup correctly it should get used by Woosage (See
Website Settings).
Note
that in the above table ZERO RATE-1 has no country code and may be defined in
WooCommerce as shown below.
Country Code
|
State Code
|
Postcode / ZIP
|
City
|
Rate %
|
Tax Name
|
Priority
|
Compound
|
Shipping
|
*
| *
| *
| *
| 0
| ZERO RATE
| 1
| | Yes |
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.