Tax support is an ongoing process, check out the Tax infrastructure project for current progress. See below what we have right now.
Enable the Orchard Core Commerce - Tax feature. This grants you the Tax content part, which you can attach to any content type that has a Product part. This adds the following settings to the content item editor:
- Tax Code: You may use this field to store a product classification code or tax bracket name. This can be used for calculating gross price or for accounting.
- Gross Price & Tax Rate: These are used by the basic tax support, see below.
Filling out the Gross Price and Tax Rate (percentage) fields, automatically updates the product's regular price field to the calculated net price during publish. For products configured like this the shopping cart shows the Gross Price instead of the Price field. This is suitable for stores that only ship locally.
If you only ship to a restricted list of locations, it should be enough to look up the VAT or sales tax rates to those locations. This way, you don't have to subscribe to an external service.
- Enable the Orchard Core Commerce - Custom Tax Rates feature.
- Go to Configuration → Commerce → Custom Tax Rates in the admin dashboard.
- You can fill out the City, State, Postal code, Country, and Tax code columns to match against a product.
- These fields use regular expressions for more flexibility, though usually you can just treat them as raw text.
- The state and country codes are the same as the POST values used during checkout, e.g. use US and NY instead of United States and New York respectively.
- The Address 1 & 2 fields are rarely used, but if you need them for a rule, uncheck the Hide Address Columns checkbox.
- If a location has multiple taxes, add their rates together. For example Quebec has GST and QST. To handle them together add a row with CA for country, QC for state, and 14.975 for tax rate.
- Match against the tax code for products with reduced tax rates.
- Set the tax rate as a numeric percentage.
- Use the Add Row button to add more rules. These are evaluated from top to bottom, so you can put more specific (e.g. regional) rules above the more generic (e.g. national) ones.