# Update a transaction

> PUT /transactions/{transaction_id}

Source: https://docs.trykintsugi.com/reference/2026-07-21/update-a-transaction

PUT /transactions/{transaction_id}

Update a transaction

Replace a transaction's fields. The scalar fields (`date`, `totalAmount`, `description`, `currency`, `source`, `marketplace`) and the customer are overwritten with what you send. Line items are replaced: an item is matched to a stored one by `externalId`, a new `externalId` is added, and a stored line whose `externalId` you do not send is removed. Addresses are replaced per `type`: send a `SHIP_TO` to replace the ship-to, a `BILL_TO` to replace the bill-to; a type you omit is left as it was. The transaction's `type` is preserved and cannot be changed here.

Tax is recalculated asynchronously, so `totalTaxAmountCalculated` and the per-line `taxItems` repopulate shortly after this returns.

Updating a transaction you do not own answers `404`, identical to one that does not exist. A locked or already-filed transaction answers `409`.

Category: Transactions

Path parameters:
transaction_id (string, required) - The unique identifier of the transaction to update.

Request body:
externalId (string, required) - Your stable identifier for the transaction.
date (string, required) - When the transaction occurred. This drives which filing period it lands in, so send the real transaction time, not the time of the call.
currency (CurrencyEnum, required) - ISO-4217 currency of every amount sent.
  allowed values: AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD (and 150 more, see the reference page)
totalAmount (string) - Total transaction amount.
addresses (TransactionAddressWrite[]) - Addresses for the transaction, replaced per `type`: a `SHIP_TO` you send replaces the stored ship-to, a `BILL_TO` the stored bill-to, and a type you omit is left unchanged. Jurisdiction is resolved from these, so an incomplete address means tax cannot be calculated accurately.
  type (PublicAddressTypeEnum, required) - Which party or location this address represents. Tax jurisdiction usually follows `SHIP_TO` (or `BILL_TO` when there is no ship-to).
    allowed values: BILL_TO, SHIP_TO, SHIP_FROM, BILL_FROM
  street1 (string) - First line of the street address. Omit or send `null` when unset.
  street2 (string) - Second line of the street address. Omit or send `null` when unset.
  city (string) - City or locality. Omit or send `null` when unset.
  county (string) - County or district. Omit or send `null` when unset.
[truncated, see the reference page]

---

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