Skip to main content
The tax_info object provides a unified, connector-agnostic way to record tax details directly on journal entry lines. Using tax_info eliminates the need for separate VAT lines and ensures consistent behavior across all accounting systems. It also supports “VAT per line” where available. “VAT per line” refers to recording VAT directly on each journal entry line instead of as a separate line. This approach aligns with the system’s expected handling of VAT and enables users to fully leverage built-in VAT reporting and declaration features. The object presented here allows you to book VAT in a single, consistent way. On our side, we take care of posting the VAT according to the “VAT per line” approach, or alternatively generating separate VAT lines when needed, using the information provided in the object.

tax_info Structure

Each journal entry line can include tax_info:
"tax_info": {
  "tax_code": "0",
  "description": null,
  "tax_amount": 0,
  "vat_account": null,
  "reversed_vat_account": null
}

Field Definitions

FieldRequiredDescription
tax_codeYesIdentifier of the tax rate. Used to map the correct VAT rate for the line.
descriptionNoOptional text describing the tax. Useful for reports or bookkeeping notes.
tax_amountYesThe amount of VAT for this line. Always positive, sign follows the line (debit/credit).
vat_accountYesLedger account for VAT. Always required for a unified approach. Some systems use only the VAT account, others only the tax code, and some require both. If not required by target software, the value will be ignored.
reversed_vat_accountNoOptional, account to record reversed VAT when applicable
VAT account vs tax codeFor consistency across connectors, always provide both vat_account and tax_code.
Different accounting systems rely on different mechanisms: some use only the VAT account, some only the tax code, and others require both. Supplying both ensures the most robust behavior and allows the platform to correctly handle features such as VAT per line.

Key Takeaways

  • Attach tax_info to each VAT-relevant line
    Include the tax details directly in the line item of your journal entry payload.
  • Provide both VAT account and tax code
    Always supply both fields for cross-connector consistency. Some systems use only the VAT account, others only the tax code, and some require both. If a system doesn’t need one, the value is ignored.
  • Handle reversed VAT if needed
    Include reversed_vat_account when reversed VAT applies.
  • Fallback logic
    If a connector does not fully support tax_info, the legacy tax_code mechanism is used automatically.
  • Never create separate VAT lines if using tax_info
    tax_info ensures the tax is recorded directly on the line.

Example

{
  "items": [
    {
      "description": "Consulting services",
      "account_type": "general_account",
      "amount": 1000,
      "debit_account": "7010",
      "credit_account": null,
      "tax_info": {
        "tax_code": "VAT20",
        "description": "20% VAT",
        "tax_amount": 200,
        "vat_account": "44571",
        "reversed_vat_account": null
      }
    }
  ]
}