Import bank statement lines into Xero using the BankTransactions endpoint with the IsReconciled flag set to false
Query existing unreconciled BankTransactions and match them to statement lines by amount, date, and reference using your matching logic
For matched pairs, update the BankTransaction with IsReconciled set to true and link the StatementLine using the appropriate reference fields
To record a transfer between two Xero bank accounts, POST to the BankTransfers endpoint with FromBankAccount, ToBankAccount, Amount, and Date
Verify the transfer appears on both accounts by querying BankTransactions filtered by each account and confirming the transfer reference
Retrieve the Reconciliation report via the Reports endpoint to confirm the closing balance matches the bank statement
Known gotchas
BankTransfers and BankTransactions are separate entities; creating two BankTransactions for a transfer instead of one BankTransfer record will cause duplicate entries and break reconciliation
Once a BankTransaction is reconciled, many fields become immutable; attempting to update non-editable fields on a reconciled transaction returns a validation error
Xero bank feeds (auto-imported transactions) and manually created BankTransactions can coexist for the same account period, leading to duplicates if the import logic does not check for existing statement lines
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp