n8n-nodes-xero-extended
v1.1.1
Published
Xero node for n8n with additional features beyond the standard Xero node
Maintainers
Keywords
Readme
n8n-nodes-xero-extended
An enhanced Xero integration for n8n that extends the standard Xero node with additional resources and improved functionality.
Xero Extended is an enhanced Xero integration that extends the standard Xero node with additional resources and improved functionality, including enhanced search capabilities, summary modes, and quality-of-life improvements.

n8n is a fair-code licensed workflow automation platform.
- Installation
- Operations
- Credentials
- Compatibility
- Resources
- Setup after installation
- License
- Support
- Acknowledgments
Installation
Follow the installation guide in the n8n community nodes documentation. In short:
- In n8n, open Settings → Community Nodes and select Install.
- Enter the npm package name
n8n-nodes-xero-extendedand confirm. - Once installed, set up the credentials for the node (see Credentials).
Note: This node is currently only available for self-hosted n8n instances. Support for n8n Cloud is planned via pull requests to the base Xero node; because of the volume of changes involved, batching them into a later update is more practical than many individual pull requests for the n8n team to review.
Operations
This node provides enhanced functionality for Xero integration, including additional resources and quality-of-life improvements that go beyond the standard Xero node.
Available Operations
- Contacts: Get, Get Many, Create, Update, Delete
- Invoices: Get, Get Many, Create, Update, Delete
- Organisations: Get Connected Organisations, Get Organisation Details
- Attachments: Upload, Get, Get Many
- Accounts: Create, Get, Get Many, Update, Delete
- Reports: Get 1099 Report, Get Balance Sheet Report, Get Budget Summary Report, Get Profit and Loss Report, Get Trial Balance Report
- Bank Transactions: Create, Get, Get Many
- Bank Transfers: Create, Get, Get Many
- Manual Journals: Create, Get, Get Many
- Journals: Get, Get Many (system-generated general ledger entries, read-only)
- History and Notes: Create Note, Get History
Users can also benefit from the increased scopes to perform custom API calls with expanded actions.
Credentials
This node uses Xero OAuth2 credentials that are separate from the standard Xero node. The credentials request additional scopes not included in the original Xero base node.
Required Scopes
Xero migrated its broad accounting scopes to granular, per-resource scopes (details). This node requests the granular set:
Connection
offline_access
Accounting — transactions
accounting.invoicesaccounting.paymentsaccounting.banktransactions(also covers bank transfers)accounting.manualjournals
Accounting — core
accounting.settings(accounts, organisation, tax rates)accounting.contactsaccounting.attachmentsaccounting.budgets.read
Accounting — reports (read-only)
accounting.reports.aged.readaccounting.reports.balancesheet.readaccounting.reports.banksummary.readaccounting.reports.budgetsummary.readaccounting.reports.executivesummary.readaccounting.reports.profitandloss.readaccounting.reports.trialbalance.readaccounting.reports.taxreports.readaccounting.reports.tenninetynine.read(1099)
Files
files
Optional — general ledger (read-only)
accounting.journals.read— required by the Journals resource, but Xero does not assign this scope to newly registered apps, so it is not requested by default (requesting a scope your app lacks fails the whole connection). If your Xero app has the scope, enable Include Journal Endpoint Scope in the credential before connecting.
Setup
- Create a new Xero OAuth2 credential (cannot use the base Xero node credentials)
- Check the Include Journal Endpoint Scope setting — leave it off (the default) unless
your Xero app has the
accounting.journals.readscope enabled and you plan to use the Journals resource. Enabling it without the scope on your app makes Xero return an unauthorized error when connecting. - Connect, then select the resource/organizations you want to work with or accept all
Upgrading? If your credentials were created under an earlier version of this node (broad scopes, or before the Journals resource was added), reconnect them after upgrading — OAuth2 refresh tokens only carry the scopes granted at the time of consent. Also ensure your Xero developer app allows the requested scopes.
Using the Journals resource? Enable Include Journal Endpoint Scope in the credential and reconnect. This is off by default because Xero does not assign
accounting.journals.readto newly registered apps, and requesting an unassigned scope fails the connection.
Compatibility
This node is compatible with n8n versions that support community nodes. Tested with recent n8n versions.
Resources
📞 Contacts
Enhanced contact management with improved search and performance options:
- Get Contact - Retrieve a single contact with optional summary mode
- Get Many Contacts - Retrieve multiple contacts with enhanced search capabilities
- Create Contact - Create new contacts
- Update Contact - Update existing contacts
- Delete Contact - Remove contacts
Improvements:
- ✅ Summary Only Option - Returns lightweight responses for faster execution
- ✅ Enhanced Search - Case-insensitive text search across Name, FirstName, LastName, ContactNumber, CompanyNumber, and EmailAddress fields
🧾 Invoices
Comprehensive invoice management with enhanced functionality:
- Get Invoice - Retrieve a single invoice with optional summary mode
- Get Many Invoices - Retrieve multiple invoices with search capabilities
- Create Invoice - Create new invoices
- Update Invoice - Update existing invoices
- Delete Invoice - Remove invoices
Improvements:
- ✅ Summary Only Option - Returns lightweight responses for faster execution
- ✅ Enhanced Search - Case-insensitive text search across invoice fields
- ✅ Contact Selection - Dropdown to select contacts by name with fallback to ContactID via expression
🏢 Organisations
Manage organization information and connections:
- Get Connected Organisations - Retrieve list of connected organizations
- Get Organisation Details - Get detailed organization information
📎 Attachments
Complete attachment management for all transaction types:
- Upload Attachment - Upload files to any transaction (Invoices, Bills, Bank Transactions, etc.)
- Get Attachments - Retrieve list of attachments for a transaction
- Get Attachment - Download specific attachment files
💰 Accounts
Full account management capabilities:
- Create Account - Create new chart of accounts entries
- Get Account - Retrieve specific account details
- Get Many Accounts - Retrieve multiple accounts with filtering
- Update Account - Modify existing accounts
- Delete Account - Remove accounts
Quality of Life Improvements:
- ✅ Enhanced Filtering - Click-and-select filters for easier "Get All" result filtering
📊 Reports
Comprehensive reporting capabilities:
- Get 1099 Report - Retrieve 1099 tax reports
- Get Balance Sheet Report - Access balance sheet data
- Get Budget Summary Report - Retrieve budget information
- Get Profit and Loss Report - Access P&L statements
- Get Trial Balance Report - Retrieve trial balance data
Quality of Life Improvements:
- ✅ Format Report in Simple Format - Optional toggle (off by default) that transforms Xero's nested report structure into flat, readable line items with parsed amounts. Available on Balance Sheet, Budget Summary, Profit and Loss, and Trial Balance reports; original formatted values are preserved alongside in
*Formattedfields.
🏦 Bank Transactions
Complete bank transaction management:
- Create Bank Transaction - Create new bank transactions
- Get Bank Transactions - Retrieve transaction history
- Get Many Transactions - Retrieve multiple transactions with filtering
💸 Bank Transfers
Manage bank transfers between accounts:
- Create Bank Transfer - Create transfers between bank accounts
- Get Bank Transfers - Retrieve transfer history
- Get Many Transactions - Retrieve multiple transfers with filtering
Manual Journals
Manage manual journal entries:
- Create Manual Journal - Create new manual journal entries
- Get Manual Journal - Retrieve specific manual journal details
- Get Many Manual Journals - Retrieve multiple manual journals with filtering
📒 Journals
Read-only access to Xero's general ledger — the system-generated journal entries created automatically from invoices, bills, payments, manual journals, and other transactions:
- Get Journal - Retrieve a single journal by JournalID (GUID) or JournalNumber (integer)
- Get Many Journals - Retrieve journals with automatic offset-based pagination
Requires the optional
accounting.journals.readscope — enable Include Journal Endpoint Scope in the credential (see Credentials). Your Xero app must have been assigned this scope; Xero does not grant it to newly registered apps.
Options:
- ✅ Return All - Automatically pages through the full ledger (Xero returns 100 journals per request)
- ✅ Offset - Resume retrieval after a specific journal number
- ✅ Payments Only - Cash-basis journals only (accrual basis by default)
- ✅ If-Modified-Since - Only journals created or modified since a given timestamp
📝 History and Notes
Track changes and manage notes:
- Create Note - Add new notes
- Get History - Retrieve transaction history
Setup after installation
Similar to base Xero node:
- Once installed you will set up the credentials in the same way done for the Xero base node. (you can't use the base Xero node as additional scopes are requested and needed for this node)
- Review the Include Journal Endpoint Scope setting in the credential (off by default —
only enable it if your Xero app has the
accounting.journals.readscope; see Credentials) - Select the resource/organisations you want to work with or accept all
License
Support
For support, please open an issue on the GitHub repository.
Acknowledgments
This node is built upon the official n8n Xero node. Special thanks to:
- n8n team - For the original Xero node implementation
- Xero API team - For providing the excellent API
- n8n community - For the supportive ecosystem
Original Work Attribution
This project extends the functionality of the official n8n Xero node, which is part of the n8n core project. The original Xero node is licensed under the MIT License and is maintained by the n8n team.
- Original Xero node: n8n-nodes-base.xero
- n8n project: https://n8n.io
For detailed attribution information, see ACKNOWLEDGMENTS.md.
Author
Daniel Fonseca - [email protected]
Built for the n8n community and shout out to AutomationTown
