Avalara Overview

Note: This feature is not in general availability, please contact your account manager to join the beta preview.


The Avalara AvaTax integration automates the process of calculating and reporting tax. This integration can support companies with complex tax and even those with multiple nexuses.

By default, keeping BillForward taxation-strategies current is a manual process and the customer is fully responsible for specifying taxation rates and ensuring they remain correct.

With AvaTax integration, customers no longer need to concern themselves with specifying correct taxation. BillForward consults the customer's AvaTax account to calculate the applicable tax when generating charges or invoices.

As Avalara maintains an up-to-date tax database and tax conditions you can be confident that tax is always calculated correctly


Setup and Configuration

The BillForward Avalara Integration is currently in limited availability. Please contact your account manager to enable this feature and for setup instructions.


AvaTax Overview

AvaTax Transactions

AvaTax transactions record how tax was calculated and the amount due. AvaTax transactions require a number of inputs to correctly calculate these values:

  1. Tax code
  2. Origin address
  3. Destination address
Tax Codes

A tax code is generated via the AvaTax admin portal and corresponds to a set of tax rules. The tax code stipulates which taxes should be applied and for what Avalara company code.

When using AvaTax, a tax code should be stipulated for each applicable pricing-component via the creation of tax-code objects.

Example:

{
    "name": "avalara example tax",
    "description: "extra detail",
    "avataxTaxCode": "exampleTax",
    "avataxCompanyCode: "example_company",
    "pricingComponentID: "PCO-8298E5D0-3EC6-11E6-BC39-D5511267",
    "pricingComponentName: "example_internal",
    "pricingComponentPublicName: "example",
    "organizationID": "ORG-E58BC014-3EC5-11E6-BC39-D5511267"
}

When creating a tax-code, if no company code is explicitly provided the company code associated with the avatax-configuration will be used.

When an invoice is raised the tax-codes associated with pricing on the invoice will be sent to Avalara along with the price to calculate the tax.

Once an invoice has been generated it is possible to update or remove the tax-codes on an invoice via recalculation of that invoice. This enables different taxation rules to be applied to a single invoice only.

Origin Address

The origin address is the address of the merchant. The minimum address data required is the country and postal code, though more detailed address data should be applied in the case of zoning or similar scenarios.

Example:

{
    "profileID": "PRF-4B0FBB94-3ECF-11E6-BC39-D5511267",
    "organizationID": "ORG-E58BC014-3EC5-11E6-BC39-D5511267",
    "addressLine1": "BillForward Inc",
    "addressLine2": "325 9th st",
    "city": "San Francisco",
    "province": "CA",
    "country": "United States",
    "postcode": "94103",
    "primaryAddress": true
}

The origin address will, by default, be the primary address associated with the organization.

Destination Address

The destination address is the address of the end customer. It is required to correctly select their tax jurisdiction. The minimum address data required is the country.

Example:

{
    "profileID": "PRF-787DD71E-3ECF-11E6-BC39-D5511267",
    "organizationID": "ORG-E58BC014-3EC5-11E6-BC39-D5511267",
    "addressLine1": "Example Inc",
    "addressLine2": "123 4th st",
    "city": "San Francisco",
    "province": "CA",
    "country": "United States",
    "postcode": "94103",
    "primaryAddress": true
}

To use AvaTax a BillForward account must be associated with at least one billing address. If an account has more than one address the primary billing address will be used.

Subscriptions can also have a specific billing address associated with them, this address will be used as the destination address.


AvTax Calculation


Tax Status

The pricing associated with a product-rate-plan may be defined as inclusive or exclusive of tax.

"taxStatus": "inclusive | exclusive"

If the pricing is defined as inclusive of tax then AvaTax will be used to calculate the price exclusive of tax when an invoice or quote is generated.


Tax Exemption Status

Some end customers such as charity representatives may not be required to pay sales tax.

Their exemption certificate number and an entity code which classifies their exemption type may be specified on their BillForward profile. AvaTax will use this information to calculate the appropriate amount of tax payable for these customers.

Example:

{
    "accountID": "ACC-DC325560-3EC9-11E6-BC39-D5511267",
    "organizationID": "ORG-E58BC014-3EC5-11E6-BC39-D5511267",
    "firstName": "Bill",
    "lastName": "Forward",
    "email": "example@billforward.net",
    "taxExemptionCerticiateNumber": "",
    "taxExamptionEntityCode": "B"
}

The following entity codes may be specified:

A. Federal government (United States)
B. State government (United States)
C. Tribe / Status Indian / Indian Band (both)
D. Foreign diplomat (both)
E. Charitable or benevolent org (both)
F. Religious or educational org (both)
G. Resale (both)
H. Commercial agricultural production (both)
I. Industrial production / manufacturer (both)
J. Direct pay permit (United States)
K. Direct mail (United States)
L. Other (both)
M. Not Used
N. Local government (United States)
O. Not Used
P. Commercial aquaculture (Canada)
Q. Commercial Fishery (Canada)
R. Non-resident (Canada)

MED1. US Medical Device Excise Tax with exempt sales tax
MED2. US Medical Device Excise Tax with taxable sales tax

EU Customers

For end customers registered in the EU their VAT number will be used by AvaTax to calculate the correct amount of tax payable.

An end customer's VAT number may be specified on their BillForward profile, this will be sent to AvaTax when calculating tax.

Example:

{
    "accountID": "ACC-DC325560-3EC9-11E6-BC39-D5511267",
    "organizationID": "ORG-E58BC014-3EC5-11E6-BC39-D5511267",
    "firstName": "Bill",
    "lastName": "Forward",
    "email": "example@billforward.net",
    "vatNumber": "123456789"
}