# Estimate tax on a transaction

> POST /tax-estimations

Source: https://docs.trykintsugi.com/reference/2026-07-21/estimate-tax-on-a-transaction

POST /tax-estimations

Estimate tax on a transaction

Estimate the tax due on a transaction without recording it. Nothing is stored and the estimate is not retrievable afterwards, so send the same request again to price it again.

The estimate is computed for exactly one organization: send an `Organization-Id`, `Connection-Id` or `Entity-Id` selector, which a credential owning more than one organization must do.

Each line names either an `externalProductId` you have already created or a `productCategory` and `productSubcategory` pair, which is priced without creating a product. An `externalProductId` is unique only within a connection, so when the same id exists in more than one of your connections, send a `Connection-Id` to price against that connection's product; without one an ambiguous id returns 400. Addresses are validated as part of the estimate: an address that cannot be validated returns 400, one in a country Kintsugi does not cover returns 422, and an address-validation outage returns 503.

Tax is only due where an active registration covers the destination, so `hasActiveRegistration` false comes back with every amount at zero. Set `simulateActiveRegistration` to see what the transaction would be taxed at if you were registered there.

Category: Tax Estimations

Request body:
externalId (string, required) - Your identifier for the transaction. Echoed on the response.
date (string, required) - When the transaction takes place. Rates in force on this date are the ones applied.
currency (string, required) - Currency of every amount on the request, ISO 4217. An unrecognized code returns 400.
simulateActiveRegistration (boolean) - Set true to price the transaction as though you were registered in the destination jurisdiction. Use it to preview what registering would cost your buyers; leave it false to see what you owe today.
customer (TaxEstimateCustomer) - The buyer. `null` when you have no buyer to attribute the transaction to, in which case no customer-level exemption applies.
  externalId (string) - Your stable identifier for the buyer. Defaults to an empty string when omitted. When it matches a customer Kintsugi already holds, that customer's exemptions and tax registrations are applied to the estimate.
  name (string) - Buyer name.
  companyName (string) - Registered or legal business name.
  email (string) - Contact email address.
[truncated, see the reference page]

---

Index of every page: https://docs.trykintsugi.com/llms.txt
