Xero: Updates a single spent or received money transaction
Xero accounting.updateBankTransaction: arguments, response, policy and SDK examples.
← Accounting operations · Get started
Operation xero.updatebanktransaction
Provider route: POST /api.xro/2.0/BankTransactions/{BankTransactionID}. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/xero with npm, or alter-sdk-xero with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { XeroIntegration } from "@alter-ai/xero";
async function execute(input: Parameters<XeroIntegration["accounting"]["updateBankTransaction"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new XeroIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.accounting.updateBankTransaction(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_xero import XeroIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = XeroIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.accounting.update_bank_transaction(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.BankTransactionID | string | Required within parent | Format: uuid |
query | object | Optional | Additional keys: not allowed |
query.unitdp | integer | Optional | |
headers | object | Required within parent | Additional keys: not allowed |
headers.xero-tenant-id | string | Required within parent | |
headers.Idempotency-Key | string | Optional | |
body | Model | Required within parent | Expand Updates a single spent or received money transaction — request body — body |
Referenced models: Updates a single spent or received money transaction — request body — body
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Retrieves any spent or received money transactions — response body |
Referenced models: Retrieves any spent or received money transactions — response body
Schemas
Section titled “Schemas”31 more schemas are linked from the tables above, on the schema pages.
Updates a single spent or received money transaction — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
BankTransactions | array | Optional | |
BankTransactions[] | Model | Each item | Expand Updates a single spent or received money transaction — request body — body Bank Transactions item |
Warnings | array | Optional | Displays array of warning messages from the API |
Warnings[] | Model | Each item | Expand Retrieves journals — response body — Warnings item |
pagination | Model | Optional | Expand Creates a new credit note — request body — body pagination |
Referenced models: Creates a new credit note — request body — body pagination, Updates a single spent or received money transaction — request body — body Bank Transactions item, Retrieves journals — response body — Warnings item
Retrieves any spent or received money transactions — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
BankTransactions | array | Optional | |
BankTransactions[] | Model | Each item | Expand Retrieves any spent or received money transactions — response body — Bank Transactions item |
Warnings | array | Optional | Displays array of warning messages from the API |
Warnings[] | Model | Each item | Expand Retrieves journals — response body — Warnings item |
pagination | Model | Optional | Expand Retrieves prepayments — response body — pagination |
Referenced models: Retrieves prepayments — response body — pagination, Retrieves any spent or received money transactions — response body — Bank Transactions item, Retrieves journals — response body — Warnings item
Creates a new credit note — request body — body pagination
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
itemCount | integer | Optional | |
page | integer | Optional | |
pageCount | integer | Optional | |
pageSize | integer | Optional |
Updates a single spent or received money transaction — request body — body Bank Transactions item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
BankAccount | Model | Required within parent | Expand Creates a new chart of accounts — request body — body |
BankTransactionID | string | Optional | Xero generated unique identifier for bank transaction Format: uuid |
Contact | Model | Optional | Expand Creates contacts to a specific contact group — request body — body Contacts item |
CurrencyCode | Model | Optional | Expand Create a new currency for a Xero organisation — request body — body Code |
CurrencyRate | number | Optional | Exchange rate to base currency when money is spent or received. e.g.0.7500 Only used for bank transactions in non base currency. If this isn’t specified for non base currency accounts then either the user-defined rate (preference) or the XE.com day rate will be used. Setting currency is only supported on overpayments. Format: double |
Date | string | Optional | Date of transaction – YYYY-MM-DD |
HasAttachments | boolean | Optional | Boolean to indicate if a bank transaction has an attachment Default: false Read only: true |
IsReconciled | boolean | Optional | Boolean to show if transaction is reconciled |
LineAmountTypes | string | Optional | Line amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types One of: Exclusive, Inclusive, NoTax |
LineItems | array | Required within parent | See LineItems |
LineItems[] | Model | Each item | Expand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item |
OverpaymentID | string | Optional | Xero generated unique identifier for an Overpayment. This will be returned on BankTransactions with a Type of SPEND-OVERPAYMENT or RECEIVE-OVERPAYMENT Format: uuid Read only: true |
PrepaymentID | string | Optional | Xero generated unique identifier for a Prepayment. This will be returned on BankTransactions with a Type of SPEND-PREPAYMENT or RECEIVE-PREPAYMENT Format: uuid Read only: true |
Reference | string | Optional | Reference for the transaction. Only supported for SPEND and RECEIVE transactions. |
Status | string | Optional | See Bank Transaction Status Codes One of: AUTHORISED, DELETED, VOIDED |
StatusAttributeString | string | Optional | A string to indicate if a invoice status |
SubTotal | number | Optional | Total of bank transaction excluding taxes Format: double |
Total | number | Optional | Total of bank transaction tax inclusive Format: double |
TotalTax | number | Optional | Total tax on bank transaction Format: double |
Type | string | Required within parent | See Bank Transaction Types One of: RECEIVE, RECEIVE-OVERPAYMENT, RECEIVE-PREPAYMENT, SPEND, SPEND-OVERPAYMENT, SPEND-PREPAYMENT, RECEIVE-TRANSFER, SPEND-TRANSFER |
UpdatedDateUTC | string | Optional | Last modified date UTC format Read only: true |
Url | string | Optional | URL link to a source document – shown as “Go to App Name” |
ValidationErrors | array | Optional | Displays array of validation error messages from the API |
ValidationErrors[] | Model | Each item | Expand Retrieves journals — response body — Warnings item |
Referenced models: Creates a new chart of accounts — request body — body, Create a new currency for a Xero organisation — request body — body Code, Creates contacts to a specific contact group — request body — body Contacts item, Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item, Retrieves journals — response body — Warnings item
Retrieves journals — response body — Warnings item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
Message | string | Optional | Validation error message |
Retrieves prepayments — response body — pagination
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
itemCount | JSON | Optional | |
itemCount (anyOf 1) | integer | Alternative | |
itemCount (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
page | JSON | Optional | |
page (anyOf 1) | integer | Alternative | |
page (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
pageCount | JSON | Optional | |
pageCount (anyOf 1) | integer | Alternative | |
pageCount (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
pageSize | JSON | Optional | |
pageSize (anyOf 1) | integer | Alternative | |
pageSize (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
Create a new currency for a Xero organisation — request body — body Code
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | string | Root | 3 letter alpha code for the currency – see list of currency codes One of: AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BYR, BZD, CAD, CDF, CHF, CLF, CLP, CNY, COP, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EEK, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SKK, SLE, SLL, SOS, SRD, STD, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VES, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW, ZMK, ZWD |
Deletes an Allocation from a Prepayment — response body — Invoice Currency Code
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | string | Root | 3 letter alpha code for the currency – see list of currency codes Known values: AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BYR, BZD, CAD, CDF, CHF, CLF, CLP, CNY, COP, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EEK, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SKK, SLE, SLL, SOS, SRD, STD, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VES, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW, ZMK, ZWD |
Creates contacts to a specific contact group — response body — Contacts item Sales Tracking Categories item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
TrackingCategoryName | string | Optional | The default sales tracking category name for contacts |
TrackingOptionName | string | Optional | The default purchase tracking category name for contacts |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: xero.updatebanktransaction. Catalog operation: updateBankTransaction. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.