Skip to main content
This guide provides best practices and examples for calculating taxes accurately. To calculate taxes on an invoice, you need to provide us with information about the invoice. There are two levels of granularity of a tax calculation request:
  • Invoice-level properties
  • Line item-level properties

Invoice level

The invoice level is for generic invoice-wide information. You can define the type of invoice, currency, the date of the invoice, as well as the discount amount applied to the invoice as a whole (e.g: 10% off your entire invoice).

Currency

The currency of the invoice is important for tax calculation. We currently support USD as well as most international currencies, including CAD, GBP, EUR, JPY, AUD and more! If you need a to check support for a specific currency, please contact support via email or Slack.

Date

The date of the invoice is important for tax calculation. It is used to determine the tax rates that apply to the invoice. States can change exception rules and rates on a certain schedule. Time accuracy is important for audit protection.

Discounts

When discounts apply generally to an invoice and aren’t tied to a specific line item, you can apply them at the invoice level. To accurately calculate taxes, and protect our customers against audits, we apply discounts to lower tax-rate items first.

Line item level

To describe a line item, there are the basics: quantity and unit_price these are fairly self explanatory and always required. Each line item can also be augmented with some tax attributes relative to specific aspects.

Product details

Line items often express a specific product. You can describe the product in more details here with the addition of an address, tax_attributes and preset. The address of a product can be important to capture a service rendered at a specific location or a lodging location in the case of a hotel booking. Presets are a way to apply tax attributes and address to a product easily. You can define it in the products page and refer to it as a preset in the API. You can get more details on the presets page. Tax attributes for a product will describe the tax category of the product. Categories are hierarchical. The more specific the category, the more accurate the tax calculation will be. See the tax attributes page for more details. Note that passing a tax_attributes will override the tax attributes applied by the preset field. Examples of tax attributes:
  • DIGITAL_PROPERTY.DIGITAL_SOFTWARE
  • TANGIBLE_PERSONAL_PROPERTY.DIETARY_SUPPLEMENTS

Customer details

Currently we only support address as a customer detail. This is important to capture the location of the customer. This could be the shipping address or the billing address. The more accurate the address, the more accurate the tax calculation will be.

Seller details

Currently we only support address as a seller detail. This is important to capture the location of the seller. This could be the seller’s address or the supplier’s address. The more accurate the address, the more accurate the tax calculation will be.

Fulfillment details

Currently we only support address as a fulfillment detail. This is important to capture the location of the fulfillment. The more accurate the address, the more accurate the tax calculation will be.

VAT Reverse Charge and B2B Transactions

When handling B2B transactions in the EU and UK, Taxwire automatically applies the reverse charge mechanism or zero-rating for intra-community supplies when appropriate conditions are met. This includes:
  • Cross-border B2B services where place of supply is the customer’s country
  • Intra-Community supplies of goods between EU member states
The system requires:
  • Valid customer tax identification numbers
  • Appropriate product tax attributes (TANGIBLE_PERSONAL_PROPERTY, GENERAL_SERVICES, or DIGITAL_SERVICES)
  • Accurate seller and customer address information
You can also force B2B treatment by adding a _B2B attribute to the product’s tax attributes. For more detailed information on VAT and reverse charge implementation, see our VAT Handling guide.