Xero: Retrieves a single spent or received money transaction by using a unique bank transaction Id
Xero accounting.getBankTransaction: arguments, response, policy and SDK examples.
← Accounting operations · Get started
Operation xero.getbanktransaction
Provider route: GET /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"]["getBankTransaction"]>[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.getBankTransaction(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.get_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 |
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”15 more schemas are linked from the tables above, on the schema pages.
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
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]+)?$ |
Retrieves any spent or received money transactions — response body — Bank Transactions item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
BankAccount | Model | Required within parent | Expand Deletes a chart of accounts — response body — Accounts item |
BankTransactionID | string | Optional | Xero generated unique identifier for bank transaction Format: uuid |
Contact | Model | Optional | Expand Creates contacts to a specific contact group — response body — Contacts item |
CurrencyCode | Model | Optional | Expand Deletes an Allocation from a Prepayment — response body — Invoice Currency Code |
CurrencyRate | JSON | Optional | |
CurrencyRate (anyOf 1) | number | Alternative | 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 |
CurrencyRate (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
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 Known values: Exclusive, Inclusive, NoTax |
LineItems | array | Required within parent | See LineItems |
LineItems[] | Model | Each item | Expand Deletes an Allocation from a Prepayment — response 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 Known values: AUTHORISED, DELETED, VOIDED |
StatusAttributeString | string | Optional | A string to indicate if a invoice status |
SubTotal | JSON | Optional | |
SubTotal (anyOf 1) | number | Alternative | Total of bank transaction excluding taxes Format: double |
SubTotal (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
Total | JSON | Optional | |
Total (anyOf 1) | number | Alternative | Total of bank transaction tax inclusive Format: double |
Total (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
TotalTax | JSON | Optional | |
TotalTax (anyOf 1) | number | Alternative | Total tax on bank transaction Format: double |
TotalTax (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
Type | string | Required within parent | See Bank Transaction Types Known values: 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: Deletes a chart of accounts — response body — Accounts item, Deletes an Allocation from a Prepayment — response body — Invoice Currency Code, Creates contacts to a specific contact group — response body — Contacts item, Deletes an Allocation from a Prepayment — response 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 |
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 Batch Payments
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | Bank details for use on a batch payment stored with each contact |
BankAccountName | string | Optional | Name of bank for use with Batch Payments |
BankAccountNumber | string | Optional | Bank account number for use with Batch Payments |
Code | string | Optional | (NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero. Maximum length: 12 |
Details | string | Optional | (Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18 |
Reference | string | Optional | (NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero. Maximum length: 12 |
Creates contacts to a specific contact group — response body — Contacts item Contact Persons item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
EmailAddress | string | Optional | Email address of person |
FirstName | string | Optional | First name of person |
IncludeInEmails | boolean | Optional | boolean to indicate whether contact should be included on emails with invoices etc. |
LastName | string | Optional | Last name of person |
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.getbanktransaction. Catalog operation: getBankTransaction. 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.