Skip to main content
An external tax provider replaces Alguna’s rule table with a tax engine that determines the correct rate across country, state, county, and city jurisdictions from two inputs: each line’s tax code and the customer’s address. The engine keeps rates and nexus rules current. Use one when you sell into many jurisdictions, need per-product taxability, or want registrations and filings handled by a specialist. The engine is chosen per legal entity; Alguna Tax remains available for other entities. See the Tax overview.

Supported engines

How it works

With a provider connected, Alguna does not apply your own rules. For every invoice line — and every line in a POST /tax/calculations request — it sends the line’s tax code and the customer’s address to the engine, which returns the tax amount, rate, type, and reason. The result lands on the line as tax_rate, tax_amount, tax_type, and tax_reason, exactly as with Alguna Tax. You assign a canonical tax code to each product, or pass one per line through the API. You never deal with an engine’s native codes: Alguna translates the canonical code into whatever the configured provider expects, so switching engines does not require re-coding your catalogue.

Assigning tax codes

On products

Set tax_code when creating or updating a product. It applies to every invoice line for that product. See Create a product.

Per line in a tax calculation

POST /tax/calculations takes tax_code on each line item, for baskets that are priced outside the catalogue. A line without one resolves to txcd_business_saas. See the Tax overview.

Tax codes

Alguna owns a provider-neutral taxonomy. Each code is a txcd_… identifier that captures both the product category and the audience:
  • Audience is part of the code. Most categories come as a txcd_business_* / txcd_consumer_* pair. Pick the one matching who you sell to, since taxability can differ.
  • Default. txcd_business_saas. A product or line with no code resolves here.
  • Exempt. txcd_exempt marks a line as not subject to tax.
You only ever supply the canonical txcd_… code. Alguna maps it to the provider’s native code.

Tax code reference

The taxonomy is exhaustive. Every canonical code Alguna recognises is listed below.

Customer-side inputs

The engine also uses what is on the customer record: the billing address and tax_country, and the tax_id (for reverse charge and validation). A per-customer tax_rate and tax_reason, when set, override what the engine returns. See Customer Tax Settings. On POST /tax/calculations the same inputs are passed inline as customer.address and customer.tax_ids.

Next steps

Tax overview

Calculate tax through the API and issue invoices from the result.

Anrok

Connect Anrok to a legal entity.

Stripe Tax

Connect Stripe Tax to a legal entity.