HomeProduct DocsAPI ReferenceChangelog
RecurlyAPI GuidesRecurly.jsWebhooksAPI ReferenceSupportBook demo
Product Docs

Sales taxes

Configure Recurly's built-in tax solution — powered by Avalara — to calculate and collect sales tax, VAT, and GST across supported regions worldwide, with address validation, tax-exempt customers, and per-plan tax collection settings.

Recurly's built-in tax solution — powered by Avalara — automatically calculates and applies the correct sales tax, VAT, or GST to invoices based on customer and merchant addresses. Enable the regions where you collect tax, configure your plans, and let Recurly handle the calculations. For advanced tax rules, custom product taxability, or broader global coverage, upgrade to your own Avalara AvaTax or Vertex account.
Available on all Recurly plans

Limitations

  • Recurly's built-in tax calculations are based on Avalara's AvaTax. Advanced tax rules and rate mappings require integration with your own Avalara AvaTax or Vertex account.
  • Custom credit adjustments don't support tax calculations.
  • In sandbox mode, Avalara's address validation can't be tested, and minor variations in applied tax rates may occur.

Definition

Recurly Taxes is the platform's built-in sales tax compliance solution, powered by Avalara. It calculates and applies the appropriate sales tax, VAT, or GST to transactions based on merchant and customer addresses across a wide range of supported regions. For communications taxes, surcharges, or regions not covered by Recurly Taxes, additional integrations are available.
Need more advanced tax options?Connecting your own Avalara AvaTax or Vertex account gives you access to more taxable regions, detailed product taxability rules, advanced tax reporting, and tax filing services. Learn more about Avalara AvaTax and Vertex.
Tax compliance disclaimerRecurly's tools are designed to help merchants comply with local sales tax and VAT laws, but Recurly does not guarantee tax compliance. For advice on laws applicable to your business, consult a sales tax professional. Contact [email protected] for a referral to a tax firm.

Additional resources:

Key details

Determining taxable addresses

Every invoice passes two addresses to your tax service: an Origin Address (your business address) and a Destination Address (the customer's location where goods or services are fulfilled). The tax service uses both to identify the applicable rate.

Merchant taxable address

The merchant's taxable address always reflects the business entity's tax address. On each business entity configuration page, you can use the same address for both invoice display and tax calculation, or set a separate address for each. In all cases, the entity tax address is what's sent to the tax service as the Origin Address.

Customer taxable address

The customer's taxable address is drawn from one of three sources, depending on the invoice type and your Tax Settings configuration:

Account Information address — Always used as the customer's taxable address on manual invoices, unless a shipping address is present on the invoice. You can also enable this for all invoices (manual and automatic) via the Tax Settings page.

Billing Information address — Used as the customer's taxable address on all automatic invoices, unless a shipping address is present or the Account Info address override is enabled in Tax Settings.

Shipping address — When a shipping address is present on an invoice, it always takes precedence as the customer's taxable address — regardless of invoice type or Tax Settings configuration.

Multiple shipping addresses

Some invoices have multiple unique shipping addresses — this can occur with Account Hierarchy Invoice Rollup and/or Calendar Billing. In these cases, Recurly sends the unique shipping address for each line item to the tax service. If different rates apply across line items, the invoice displays a generic "Tax" label with the total tax amount, plus a breakdown section showing each shipping address's state/country code, rate, and cumulative tax amount.

Setting taxable addresses

Taxable address configuration is set at the business entity level under the entity's Tax Settings section.

Tax exemptions apply firstIf a customer or plan is tax-exempt, no tax is applied to the invoice or subscription — regardless of taxable address settings.

By default, Recurly sets all entities to use the Business Entity Tax Address as the Origin Address and the Customer Tax Address as the Destination Address. This is the standard configuration for most regions and ensures invoices reflect the customer's local tax rate.

You can override these defaults if your business requires a different configuration:

Business Entity address for both Origin and Destination — Use this when all customers should be taxed based on your business entity's location. Tax will reflect the merchant's jurisdiction (e.g., GB VAT at 20% for a UK-based entity) regardless of the customer's location.

Standard practice for most regionsUsing the merchant's taxable address for Origin and the customer's taxable address for Destination is standard for most regions. Consult your accounting or compliance team before overriding these defaults — doing so may cause invoices to ignore standard tax service rules, such as reverse VAT. Additionally, if both the Origin and Destination addresses use the Business Entity tax address and that address is outside the United States, the invoice will display a "USST" VAT prefix for US customers instead of the local country code. The correct tax rate will still apply.

Customer address for both Origin and Destination — Some US states require this for specific goods, or when a merchant ships from a warehouse without a taxable presence at that location.

The taxable address configuration set on a business entity applies to all invoices associated with that entity. Each entity can have its own unique configuration. Changes to taxable address settings don't affect existing invoices — only invoices generated after the update follow the new behavior.

Taxable addresses for one-time charges

Taxable address settings for one-time charges are available via the Admin Console and both API versions for merchants on Recurly's Elite plan.

By default, charges inherit the taxable address configuration from the business entity applied to the invoice. To override this for a specific charge, enable Tax Collection when creating the charge, then check Override taxable address settings from business entity to set custom Origin and Destination addresses for that charge.

If an invoice contains multiple charges, each charge can have distinct taxable address settings — tax is calculated per line item based on each item's individual configuration.


Address requirements

Minimum address requirements by region

The minimum address fields required to calculate tax vary by region. Invoices missing the minimum required fields are posted without tax.

  • Australia: Country
  • Canada: Country and postal code
  • Chile: Country
  • Europe (non-EU): Country
  • European Union: Country
  • Indonesia: Country
  • Israel: Country
  • New Zealand: Country
  • South Africa: Country
  • Thailand: Country
  • United Kingdom: Country
  • United States: Country and postal code (full street address recommended)

Recurly address requirements

When you activate a tax region, Recurly automatically requires a country field for all new or updated customer billing addresses. This requirement applies to billing addresses only — if you're taxing based on the Account Information address, collect and store the necessary fields manually.

Address field character limits

Recurly Taxes enforces maximum character limits on address fields. Exceeding these limits can result in inaccurate tax calculation or no tax being applied.

FieldMax charactersExample
Street address50200 Main Street
Address line 2100
City50Irvine
State/provinceISO alpha-2 codesCA
CountryISO alpha-2 codesUS
Zip/postal code1192614

Recurly uses ISO alpha-2 country codes on all forms. For example, the United Kingdom is "GB," not "UK." The state/province field is required for US, Canada, Italy, and the Netherlands when mandated by your Site Settings Address Requirement.


Address validation

Recurly uses Avalara's address validation tools to verify the addresses used on taxed invoices before generating an invoice.

For new sign-ups

When using Recurly Taxes, if the address is invalid or the tax jurisdiction can't be determined, the sign-up is blocked — no subscription or invoice is created. One of the following errors is returned:

  • "The address provided is invalid, could not determine taxing jurisdictions" — The customer's or merchant's address is invalid or lacks sufficient information for jurisdiction determination.
  • "The state/province provided is invalid, could not apply tax" — The state/province in the customer's or merchant's address is invalid.
  • "The city provided is invalid, could not apply tax" — The city in the customer's or merchant's address is invalid for the specified country.

To allow sign-ups to proceed even when address validation fails, go to Configuration → Taxes → Tax Settings → Tax Service Settings and disable Require valid address for initial purchases. With this setting off, addresses are still sent to Avalara for jurisdiction determination, but an invalid address won't block invoice creation — the invoice is created without tax.

For renewals and ongoing subscriptions

Addresses are still validated on renewal, but an invalid address won't block invoice creation. The invoice is generated without tax until a valid address is on file.

Military addresses

For customers with military addresses, add "General Delivery" or "GD" to an extra street address line for proper validation.

When Avalara validation is used

For merchants using Recurly Taxes, only addresses in your active taxable regions are sent to Avalara for validation. For merchants with their own Avalara AvaTax account, all addresses are validated. If an account has no address, invoices are created without tax and skip Avalara validation.


Exempt customers

To mark an account as tax-exempt, navigate to the customer's account page in the Admin Console, edit the Account Information, and check Tax Exempt?. All future invoices for the account will be created without tax.


Your merchant address

Before activating a taxable region, confirm your merchant address is complete. This address — used on customer invoices and for tax calculations — is located in the Admin Console under Configuration → Business Entities. A postal code and country are required. Missing these fields will cause an error when attempting to enable a taxable region.

Tax registration numbers

In Business Entities, you can specify a default VAT Number and Tax Registration Number. These appear on all invoices you issue. For customer-specific VAT numbers or Tax IDs, a separate field is available on the customer's account record.

To display different VAT or Tax Registration Numbers for customers in specific countries (e.g., a Turkish VAT number on invoices to Turkey), configure this when adding or updating a business entity.


Enable a taxable region

Enable tax regions at the start of the day UTCAvalara's taxable region start and end dates don't include times. Enabling taxes mid-day UTC may result in customers invoiced earlier in that day not being taxed, and if a refund is later needed, Avalara may calculate taxes on the refund — potentially blocking it. To prevent this, enable new taxable regions and relevant plans at the start of the day UTC. If this issue occurs, contact [email protected].
1

Open tax configuration

Go to Configuration → Taxes.

2

Select the country

Click Configure for the country you want to enable.

3

Enable the region

Choose the Enabled option. If the country has state or province sub-regions, select the applicable ones.

4

Save and confirm

Click Save Changes, then confirm by clicking I agree to the above terms and Enable in the confirmation dialog.

Disable a taxable region

Disabling a taxable region stops tax collection on future invoices for customers in that location. Recurly tracks the date range during which you collected tax, so refunds on past invoices from a disabled region will still refund tax correctly.

Do not disable and re-enable a tax region in productionRe-enabling a previously disabled tax region resets the tracked date range, which means past invoices may not refund tax correctly. Only disable a region if you no longer have a tax obligation there. If you encounter this issue, contact [email protected].

Taxable plans and adjustments

Plans

After enabling a taxable region, configure your plans to collect tax. All existing plans default to tax-exempt — edit each plan individually to enable Collect Tax. All new plans default to collecting tax. When a plan has tax collection enabled, its included add-ons are also taxed.

One-time charges

After enabling a taxable region, you can create custom charge adjustments that collect tax. The Create Charge page in the Admin Console defaults to collecting tax on new charges. Custom credit adjustments don't support tax calculation — to credit a customer and refund tax, issue a refund rather than creating a custom credit.

Tax product type and tax codes

Recurly's built-in tax calculations treat each line item (plan, add-on, adjustment) as Tangible Personal Property (TPP). In many regions, digital goods and services follow the same tax rules as TPP. If your business requires a specific tax code, you can enter one per product.

You can find suggested tax codes on Avalara's website. Consult your tax and accounting team before applying a specific tax code. For advanced product distinctions and rule mappings, upgrade to your own Avalara AvaTax or Vertex account.


Tax previews at checkout

Recurly provides tax estimate previews based on internal rate tables. Final invoices use Avalara for tax calculation. Previews are available on Checkout, Hosted Payment Pages, via the API for Subscriptions and Invoices, and via Recurly.js for subscription sign-ups.


Tax on invoices

Invoices that include tax display:

  • A Tax column next to Subtotal, showing the tax rate per line item (0.00% if not applicable)
  • A Total column showing the combined subtotal and tax per line item
  • An invoice-level tax row showing the tax region, rate, and total tax amount

When an invoice contains multiple tax rates (e.g., mixed item types or multiple shipping addresses), the invoice also includes a Tax Details card that breaks down each rate, the associated subtotal, and the tax amount per rate.

Tax amount rounding

In sandbox mode and production previews, tax amounts are always rounded up to two decimal places. On actual production invoices, Avalara applies region- and jurisdiction-specific rounding at the line item level — amounts below five round down, five or above round up.

Example with HU VAT at 27%:

Sandbox / previewProduction
Line item 1 ($5.79)$1.57$1.56
Line item 2 ($5.81)$1.57$1.57
Total tax$3.14$3.13

Tax on credits and refunds

Refunds

Refunds generate a refund invoice that acts as a credit memo.

Line item refunds — Recurly calculates tax on the selected refund line items, maintaining the product identity so the correct tax amount is linked to the refunded credit on both the refund invoice and the Adjustments export. This is the recommended approach.

Open amount refunds — Recurly calculates the tax to be returned so the net refund matches the requested amount. Since these are at the invoice level, line item associations are lost.

Rounding issues with multiple partial refundsPartial refunds including tax may cause rounding discrepancies where the final refund's tax is slightly higher than the original transaction — which can block the refund with an error. If this occurs, contact [email protected].

Immediate upgrades and downgrades

Immediate subscription changes generate a single invoice that combines prorated charges for the new subscription and credits for the unused portion of the old one. Positive tax applies to new charges and negative tax applies to credits. The invoice's total tax is the net of both. Tax reporting through the Adjustments export reflects the correct amounts at the line item level.

Custom credit adjustments

Recurly doesn't calculate tax on custom credit adjustments. To credit a customer and refund tax, issue a refund rather than creating a custom credit.


Tax exports

Detailed tax reporting at the line item level is available through the Adjustments export. This export itemizes state, county, local, and special tax rates and amounts as calculated by Avalara.

Specialized tax reports and filings are available when you upgrade to your own Avalara AvaTax or Vertex account.


Existing customer addresses

Before activating tax collection, audit existing customer addresses to ensure they meet the minimum requirements for your taxable regions. Use the Accounts and Billing Info exports in the Reports section of the Admin Console to review postal codes and countries.

Notify existing customers before activatingExisting customers in newly taxable regions will see taxes on their next invoice. Proactively communicating this change reduces surprise and complaints. Also note: if an existing customer makes an immediate subscription change before their first taxed renewal, the change invoice includes tax on new charges but not on returned credits — because the original charge was invoiced before tax collection began.

Avalara downtime

When Recurly can't reach Avalara to calculate tax, behavior varies by invoice type.

New sign-ups and purchases — Blocked until Avalara responds. The customer sees: "Tax service currently unavailable, please try again later."

To allow sign-ups to proceed without tax during Avalara downtime, go to Configuration → Taxes → Tax Settings → Tax Service Settings and disable Require successful tax response for initial purchases. Invoices created without tax during downtime must be handled by the merchant — it's not possible to add tax to an existing invoice. Recurly recommends merchants who disable this setting be prepared to absorb any missing tax rather than attempting to collect it from customers after the fact. Monitor for affected invoices using the Invoices — Summary export or the Invoices API.

Future subscriptions and renewals — Recurly retries activation or renewal every hour until Avalara responds, honoring the original billing cycle dates. If Avalara returns an error (rather than being unreachable) during a renewal, the renewal proceeds and the invoice is created without tax.

To check Avalara's operational status, visit Avalara's status page and review the Avalara AvaTax section under "Tax Calculation Service."

Determining if the tax service was used

  • In the API and exports, the used_tax_service boolean field indicates whether the tax service was used for a given invoice.
  • In the Admin Console, a note on the invoice indicates whether the tax service was used.

Sandbox testing

In sandbox mode, both preview and final invoices use Recurly's internal rate tables instead of Avalara. In production, Avalara handles final invoice tax calculations and Recurly's internal tables are used for checkout previews only. As a result, sandbox mode can't test Avalara's address validation, and minor differences in applied tax rates may occur compared to production.

Go-live checklist

Follow these steps before enabling tax collection on your production site. Test all configurations in sandbox mode first.

1

Activate taxable regions

Enable the countries and/or states/provinces where you plan to collect tax. This makes tax options visible on plan and account pages.

2

Choose the customer taxable address

Decide which customer address to use for tax calculation — billing address or account address — and configure your Tax Settings accordingly.

3

Audit existing customer addresses

Ensure existing and new customer addresses meet the minimum requirements for your taxable regions.

4

Verify your merchant address

Confirm your merchant address in Business Entities includes a postal code and country — required for tax calculations to work.

5

Configure taxable addresses per business entity

On each business entity, set the Origin and Destination address configuration for tax calculation.

6

Mark tax-exempt customers

Identify tax-exempt customers and mark their accounts accordingly before going live.

7

Enable tax collection on plans

Edit each plan that should collect tax and enable Collect Tax. This applies to new invoices only — existing invoices are unaffected.

8

Add tax previews to checkout

Update your checkout pages to include tax previews so customers see estimated tax before completing a purchase.

Supported tax regions and rates

Africa

CountryTax regionTax rateTax type
AlgeriaDZ19%VAT
AngolaAO14%VAT
BeninBJ18%VAT
BotswanaBW12%GST
Burkina FasoBF18%VAT
BurundiBI18%GST
CameroonCM19.25%GST
Canary IslandsIC7%VAT
Cape VerdeCV15%GST
Democratic Republic of the CongoCD16%VAT
Côte d'IvoireCI18%VAT
EgyptEG14%VAT
EthiopiaET15%GST
GhanaGH15%GST
KenyaKE16%VAT
LesothoLS15%GST
MadagascarMG20%GST
MauritaniaMR16%GST
MozambiqueMZ16%GST
NamibiaNA15%GST
NigeriaNG15%GST
RwandaRW18%GST
SenegalSN18%GST
South AfricaZA15%VAT
TanzaniaTZ18%GST
TogoTG18%VAT
UgandaUG18%GST
ZambiaZM16%GST
ZimbabweZW14.5%GST

Asia

CountryTax regionTax rateTax type
ArmeniaAM20%VAT
ChinaCN13%VAT
Hong KongHK0%GST
IndonesiaID11%VAT
IranIR9%GST
IsraelIL17%VAT
JapanJP10%VAT
JordanJO16%GST
KazakhstanKZ12%VAT
KyrgyzstanKG12%VAT
Republic of Korea (South)KR10%VAT
LebanonLB11%VAT
MaldivesMV8%GST
MalaysiaMY10%GST
NepalNP13%GST
PakistanPK17%GST
Palestine Occupied TerritoryPS16%GST
PhilippinesPH12%GST
SingaporeSG8%GST
Sri LankaLK15%GST
TaiwanTW5%GST
ThailandTH7%GST
United Arab EmiratesAE5%VAT
VietnamVN8%VAT

Australia

Enabling tax collection in Australia applies 10% GST to all taxable plan, add-on, or adjustment line items for Australian customers.

Tax regionTax typeTax rateMinimum address requirement
AUGST10%Country

ABN and ACN

When a customer's country is set to Australia, the VAT number field is labeled ABN / ACN across invoices, Checkout, Hosted Pages, and the Admin Console. Values entered are validated as either nine or 11 digits and saved in the formats "000 000 000" or "00 000 000 000," respectively.

To identify customers with an active, GST-registered ABN for Australian GST exemption, contact [email protected] to enable ABN validation through the Australian Business Register on your site.

AU GST on digital services

Effective July 1, 2017, Australia requires non-resident businesses selling digital services above a certain threshold to register and collect GST. Businesses with an active, GST-registered ABN are exempt.

When ABN validation is enabled, 11-digit values in the ABN/ACN field are checked against the Australian Business Register API. Invalid ABNs are rejected. Valid, GST-registered ABNs for cross-border sales (where your Site Settings country is outside Australia) result in no GST being applied. ABNs that are valid but not GST-registered still appear on the invoice, but GST is charged.

Recurly revalidates ABNs every six months. If a revalidation finds the ABN no longer qualifies, GST is applied to the next invoice.

Test ABNs for sandbox mode:

  • 10 120 000 004 — Active and GST-registered; exempt from tax
  • 10 000 000 000 — Valid ABN, not GST-registered; taxed
  • 51 824 753 555 — Not a valid ABN; not saved

To require two pieces of matching location evidence from Australian customers, enable Tax Location Validation for Australia.

Europe

Non-EU Europe

Enabling tax collection in a non-EU European country applies that country's VAT rate to all taxable plan, add-on, or adjustment line items. All non-EU European countries have a tax type of VAT and a minimum address requirement of Country.

CountryTax regionTax rate
AlbaniaAL20%
Åland IslandsAX24%
AndorraAD4.5%
BelarusBY20%
Bosnia and HerzegovinaBA17%
GeorgiaGE18%
IcelandIS24%
Isle of ManIM0%
KosovoXK18%
LatviaLV21%
LiechtensteinLI7.7%
MoldovaMD20%
MonacoMC20%
MontenegroME19%
Northern IrelandXI20%
NorwayNO25%
RussiaRU20%
SerbiaRS20%
SwitzerlandCH7.7%
TurkeyTR18%
UkraineUA20%

Russia

If you need to collect a State Registration Number (SRN) instead of a VAT number for Russia, contact [email protected] to display the VAT Number field as "SRN / SRNIE" when the associated address country is Russia. This applies across invoices, the Admin Console, Checkout, and Hosted Pages. Values saved in this field are validated to be 13 or 15 digits.

European Union

The EU VAT system has its own dedicated page. See European Union VAT for full details.

United Kingdom

LocationTax regionTax rateTax typeMinimum address requirement
United KingdomGB20%VATCountry

Oceania

New Zealand

Enabling tax collection in New Zealand applies 15% GST to all taxable plan, add-on, or adjustment line items for New Zealand customers.

CountryTax regionTax rateTax typeMinimum address requirement
New ZealandNZ15%GSTCountry

Starting October 1, 2016, New Zealand requires non-resident digital services businesses to collect GST from non-business customers. To enforce collection of two matching pieces of location evidence, enable Tax Location Validation for New Zealand.

Recurly supports collecting GST Numbers from New Zealand business customers. Enter the GST Number in the VAT Number field — for New Zealand addresses, the field is labeled "GST Number" and validated as eight or nine digits. When a valid GST Number is provided and your Site Settings country is not New Zealand, no GST is applied.

North America

Canada

Activating Canada applies 5% GST to all taxable line items for Canadian customers. Additional provincial taxes (PST, HST, or QST) apply when you enable specific provinces as taxable sub-regions. To collect GST only across all provinces, enable Canada without selecting any specific province.

Tax regionTax typeMinimum address requirement
CAGST / GST+PST / GST+HST / GST+QSTCountry and postal code

Provincial tax types by province:

ProvinceTax type
AlbertaGST
British ColumbiaGST/PST
ManitobaGST/PST
New BrunswickGST/HST
Newfoundland and LabradorGST/HST
Northwest TerritoriesGST
Nova ScotiaGST/HST
NunavutGST
OntarioGST/HST
Prince Edward IslandGST/HST
QuebecGST/QST
SaskatchewanGST/PST
YukonGST

Customers in a province not enabled in your Canada tax settings are charged GST only. Some Canadian cities have unique exemption rules (e.g., Lloydminster spans Alberta and Saskatchewan and is PST-exempt). Recurly Taxes accounts for city-specific rules in production; sandbox mode and production previews calculate at the provincial level only.

United States

Enabling US tax collection applies sales tax — including state, county, local, and special taxes — to all taxable line items for customers in the states you enable. The tax region always shows as the two-letter state code.

The minimum address requirement for US Sales Tax is postal code and country.

Collect the full street address for more accurate US ratesUS sales tax jurisdiction lines can run down to the street level — two houses across the street in the same postal code may be in different jurisdictions. While postal code and country are the minimum requirement, collecting the full street address produces more accurate tax rates.

Caribbean and Central America

CountryTax regionTax rateTax type
BarbadosBB17.5%VAT
Costa RicaCR13%VAT
Dominican RepublicDO18%VAT
GuadeloupeGP8.5%GST
GuatemalaGT12%GST
HondurasHN15%GST
JamaicaJM15%GST
MartiniqueMQ8.5%VAT
MexicoMX16%GST
NicaraguaNI15%GST
PanamaPA7%GST
El SalvadorSV13%GST

South America

CountryTax regionTax rateTax type
ArgentinaAR21%GST
BoliviaBO13%GST
ChileCL19%VAT
ColombiaCO19%VAT
CuracaoCW6%GST
EcuadorEC12%VAT
Falkland IslandsFK0%GST
GuyanaGY14%GST
ParaguayPY10%GST
PeruPE18%GST
SurinameSR10%GST
Trinidad and TobagoTT12.5%GST
UruguayUY22%GST
VenezuelaVE16%GST
ChileRecurly does not support RUT number validation, format validation, or IP address validation for Chile.


Did this page help you?