Refunds and Credit Memos
Abacus Tax Engine uses a single transaction type for issuing credits: refund. Tax is always recalculated by the engine - but when linked to an original invoice, the engine uses the historical rates from that invoice's date rather than today's rates.
For field definitions, see the Transactions API Reference.
Linked Refund
When a corresponding invoice exists in Abacus Tax Engine, set linked_transaction to the external_id of the original invoice. The engine will automatically look up the original transaction date and apply the tax rates that were in effect at the time of the original sale.
This ensures the refunded tax is always calculated against the correct historical rates, without any manual computation on your side.
To issue a partial refund, include only the line items and amounts being credited. The engine treats the refund as a first-class transaction and produces a full jurisdictional breakdown based on what you submit.
Unlinked Refund
If there is no corresponding invoice in Abacus Tax Engine - for example, a credit issued against a sale originally processed in another system - submit a refund without setting linked_transaction. Tax will be recalculated fresh using the current rates for the shipping address.
If tax rates have changed since the original sale, the credited tax amount may differ from what was originally charged. Set linked_transaction whenever an original invoice exists in Abacus Tax Engine.
Reporting Behaviour
Refunds appear in nexus tracking and filing reports as negative amounts, reducing the taxable sales total for the relevant jurisdiction and period.
sales_order and estimate transaction types are excluded from filing and nexus tracking entirely - they exist for calculation reference only and have no compliance impact.