Skip to content

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.

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 os
from alter_sdk import App
from 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()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.BankTransactionIDstringRequired within parentFormat: uuid
queryobjectOptionalAdditional keys: not allowed
query.unitdpintegerOptional
headersobjectRequired within parentAdditional keys: not allowed
headers.xero-tenant-idstringRequired within parent
headers.Idempotency-KeystringOptional
bodyModelRequired within parentExpand 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 media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Retrieves any spent or received money transactions — response body

Referenced models: Retrieves any spent or received money transactions — response body

31 more schemas are linked from the tables above, on the schema pages.

Updates a single spent or received money transaction — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
BankTransactionsarrayOptional
BankTransactions[]ModelEach itemExpand Updates a single spent or received money transaction — request body — body Bank Transactions item
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item
paginationModelOptionalExpand 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
FieldTypePresenceDescription and constraints
$objectRoot
BankTransactionsarrayOptional
BankTransactions[]ModelEach itemExpand Retrieves any spent or received money transactions — response body — Bank Transactions item
WarningsarrayOptionalDisplays array of warning messages from the API
Warnings[]ModelEach itemExpand Retrieves journals — response body — Warnings item
paginationModelOptionalExpand 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
FieldTypePresenceDescription and constraints
$objectRoot
itemCountintegerOptional
pageintegerOptional
pageCountintegerOptional
pageSizeintegerOptional
Updates a single spent or received money transaction — request body — body Bank Transactions item
FieldTypePresenceDescription and constraints
$objectRoot
BankAccountModelRequired within parentExpand Creates a new chart of accounts — request body — body
BankTransactionIDstringOptionalXero generated unique identifier for bank transaction
Format: uuid
ContactModelOptionalExpand Creates contacts to a specific contact group — request body — body Contacts item
CurrencyCodeModelOptionalExpand Create a new currency for a Xero organisation — request body — body Code
CurrencyRatenumberOptionalExchange 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
DatestringOptionalDate of transaction – YYYY-MM-DD
HasAttachmentsbooleanOptionalBoolean to indicate if a bank transaction has an attachment
Default: false
Read only: true
IsReconciledbooleanOptionalBoolean to show if transaction is reconciled
LineAmountTypesstringOptionalLine amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
One of: Exclusive, Inclusive, NoTax
LineItemsarrayRequired within parentSee LineItems
LineItems[]ModelEach itemExpand Creates a single payment for invoice or credit notes — request body — body Invoice Line Items item
OverpaymentIDstringOptionalXero 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
PrepaymentIDstringOptionalXero 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
ReferencestringOptionalReference for the transaction. Only supported for SPEND and RECEIVE transactions.
StatusstringOptionalSee Bank Transaction Status Codes
One of: AUTHORISED, DELETED, VOIDED
StatusAttributeStringstringOptionalA string to indicate if a invoice status
SubTotalnumberOptionalTotal of bank transaction excluding taxes
Format: double
TotalnumberOptionalTotal of bank transaction tax inclusive
Format: double
TotalTaxnumberOptionalTotal tax on bank transaction
Format: double
TypestringRequired within parentSee Bank Transaction Types
One of: RECEIVE, RECEIVE-OVERPAYMENT, RECEIVE-PREPAYMENT, SPEND, SPEND-OVERPAYMENT, SPEND-PREPAYMENT, RECEIVE-TRANSFER, SPEND-TRANSFER
UpdatedDateUTCstringOptionalLast modified date UTC format
Read only: true
UrlstringOptionalURL link to a source document – shown as “Go to App Name”
ValidationErrorsarrayOptionalDisplays array of validation error messages from the API
ValidationErrors[]ModelEach itemExpand 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
FieldTypePresenceDescription and constraints
$objectRoot
MessagestringOptionalValidation error message
Retrieves prepayments — response body — pagination
FieldTypePresenceDescription and constraints
$objectRoot
itemCountJSONOptional
itemCount (anyOf 1)integerAlternative
itemCount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
pageJSONOptional
page (anyOf 1)integerAlternative
page (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
pageCountJSONOptional
pageCount (anyOf 1)integerAlternative
pageCount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
pageSizeJSONOptional
pageSize (anyOf 1)integerAlternative
pageSize (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
Create a new currency for a Xero organisation — request body — body Code
FieldTypePresenceDescription and constraints
$stringRoot3 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
FieldTypePresenceDescription and constraints
$stringRoot3 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
FieldTypePresenceDescription and constraints
$objectRoot
TrackingCategoryNamestringOptionalThe default sales tracking category name for contacts
TrackingOptionNamestringOptionalThe default purchase tracking category name for contacts

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.

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.