InvoicingTaxes

Invoicing

Taxes

Set up the tax rates each business charges, as exclusive, inclusive or compound taxes, and apply them per line. Rates are frozen on each line.

Taxes such as VAT, GST or sales tax are set up once per business as a list of tax rates, then applied to each line of a document. The engine works out the tax for every line and the document's tax total, in integer minor units, and copies the rate onto the line so later changes never alter documents you already issued.

Tax rates

Each business keeps its own list of tax rates in Settings > Taxes. A tax rate has:

FieldWhat it means
nameThe label printed on the document, for example "VAT" or "GST".
rateThe percentage, for example 20 or 17.5. Up to four decimal places.
calculationexclusive: tax is added on top of the price. inclusive: the price already contains the tax.
compoundWhen true, this tax is calculated on top of the amount including other taxes.
preset_keySet when the rate was created from a built-in preset.

Rates you no longer use can be archived. An archived rate is not offered for new lines, and documents that already used it are not changed.

Exclusive, inclusive and compound

The tax is added to the line. A line of 100.00 with a 20% exclusive tax comes to 120.00, with 20.00 of tax.

The engine is tested so that exclusive, inclusive and compound taxes give the same result whether they are computed line by line or recomputed from a stored snapshot, and so that rounding never creates or loses a minor unit.

Built-in presets

To save typing, tax presets ship for the first markets: Pakistan, India, the United Kingdom, the European Union, the United States and the United Arab Emirates. Preset names and rates are taken from official sources when they are built, so check them against your own obligations. The United States has no national rate: you add state rates yourself.

Free Invoice Automation calculates the tax you choose; it does not decide which tax applies to you or file returns. Check with your accountant or tax office which rates you must charge.

Set up and use taxes in the web app

1

Open Settings > Taxes

Make sure the business switcher shows the business you are setting up.

2

Add a rate

Start from a preset or enter the name, percentage, calculation (exclusive or inclusive) and whether it is compound.

3

Set defaults

Optionally choose a default tax rate for the business, override it for particular clients, or give a saved item its own default rate.

4

Apply on lines

In the document editor, each line has a tax field filled from those defaults. Change it on any line if needed.

Your business's own tax registration numbers live on the business profile, and a client's tax number on the client, so both can be printed on the document.

Through the API

Create or update a tax rate with one call, then reference it on lines with tax_rate_id:

Create a tax rate
curl -X POST "https://api.freeinvoiceautomation.com/v1/tax-rates" \
  -H "Authorization: Bearer $FIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 1a2b3c4d-vat-standard" \
  -d '{
    "business_id": "0193f2a0-1b2c-7d3e-8f40-5a6b7c8d9e01",
    "name": "VAT",
    "rate": "20",
    "calculation": "exclusive",
    "compound": false
  }'
Line using it
{ "description": "Website design", "quantity": "1", "unit_price_minor": "100000", "tax_rate_id": "0193f2a3-2d4e-7f60-8a1b-2c3d4e5f6a70" }

With a 20% exclusive rate, that line has tax_minor of "20000" and total_minor of "120000".

TaskEndpoint
List tax ratesList tax rates
Create or update a rateCreate or update a tax rate
Archive a rateArchive a tax rate

Tax rates have no MCP tool of their own. MCP clients and the AI agent apply existing rates by id when they create documents with create_invoice or create_estimate.

Rules and edge cases

  • Frozen on the line. When a line uses a tax rate, the tax name, rate and calculation are copied onto the line. Editing the rate in your settings later changes new lines only.
  • Frozen in the snapshot. When a document is first sent, its line tax rates are part of the snapshot. Changes after that are revisions.
  • Totals per rate. The document's tax_minor is the sum of its lines' tax. From the week of 25 January 2027 the Tax collected report groups tax by rate and period.
  • Store taxes. The Shopify and WooCommerce connectors let you map store taxes to your tax rates in their settings.

Permissions

ActionPermission key
See tax ratesbusinesses.view
Create, change or archive tax ratessettings.manage
Choose a tax rate on a linedocuments.create or documents.edit

By default only Owners and Admins can change tax rates.

Errors you may see

CodeMeaning
validation_failedFor example a calculation other than exclusive or inclusive.
not_foundThe tax_rate_id on a line does not exist in this business.
permission_deniedYour role lacks settings.manage.
document_not_editableThe document was sent; change a line's tax by revision.