Xero Automation
Xero Automation: manage invoices, contacts, payments, bank transactions, and accounts in Xero for cloud-based bookkeeping
- 0
- Installs
- —
- Rating
- —
- Success rate
- 1
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 422deedc41cbdd5f… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
Xero Automation
Automate Xero accounting operations including managing invoices, contacts, payments, bank transactions, and chart of accounts for small business bookkeeping.
Toolkit docs: composio.dev/toolkits/xero
Setup
This skill requires the Rube MCP server connected at https://rube.app/mcp.
Before executing any tools, ensure an active connection exists for the xero toolkit. If no connection is active, initiate one via RUBE_MANAGE_CONNECTIONS.
Multi-tenant: If you manage multiple Xero organizations, first call XERO_GET_CONNECTIONS to list active tenants and obtain the correct tenant_id for subsequent calls.
Core Workflows
1. List and Filter Invoices
Retrieve invoices with filtering by status, contact, date range, and pagination.
Tool: XERO_LIST_INVOICES
Key Parameters:
Statuses-- Comma-separated status filter:"DRAFT","SUBMITTED","AUTHORISED","PAID"ContactIDs-- Comma-separated Contact IDs to filter byInvoiceIDs-- Comma-separated Invoice IDs to filter bywhere-- OData-style filter, e.g.,"Status==\"AUTHORISED\" AND Total>100"order-- Sort expression, e.g.,"Date DESC","InvoiceNumber ASC"page-- Page number for paginationIf-Modified-Since-- UTC timestamp; returns only invoices modified since this datetenant_id-- Xero organization ID (uses first tenant if omitted)
Example:
Tool: XERO_LIST_INVOICES
Arguments:
Statuses: "AUTHORISED,PAID"
order: "Date DESC"
page: 1
2. Manage Contacts
Retrieve and search contacts for use in invoices and transactions.
Tool: XERO_GET_CONTACTS
Key Parameters:
searchTerm-- Case-insensitive search across Name, FirstName, LastName, Email, ContactNumberContactID-- Fetch a single contact by IDwhere-- OData filter, e.g.,"ContactStatus==\"ACTIVE\""page,pageSize-- Pagination controlsorder-- Sort, e.g.,"UpdatedDateUTC DESC"includeArchived-- Include archived contacts whentruesummaryOnly-- Lightweight response whentrue
Example:
Tool: XERO_GET_CONTACTS
Arguments:
searchTerm: "acme"
page: 1
pageSize: 25
Note: On high-volume accounts, some
wherefilters (e.g.,IsCustomer,IsSupplier) may be rejected by Xero. Fall back tosearchTermor pagination.
3. Create Payments
Link an invoice to a bank account by creating a payment record.
Tool: XERO_CREATE_PAYMENT
Key Parameters:
InvoiceID(required) -- Xero Invoice ID the payment applies toAccountID(required) -- Bank account ID for the paymentAmount(required) -- Payment amount (number)Date-- Payment date inYYYY-MM-DDformatReference-- Payment reference or descriptionCurrencyRate-- Exchange rate for foreign currency payments
Example:
Tool: XERO_CREATE_PAYMENT
Arguments:
InvoiceID: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
AccountID: "b2c3d4e5-f6a7-8901-bcde-f12345678901"
Amount: 1500.00
Date: "2026-02-11"
Reference: "Payment for INV-0042"
4. Create Bank Transactions
Record spend (payments out) or receive (money in) bank transactions.
Tool: XERO_CREATE_BANK_TRANSACTION
Key Parameters:
Type(required) --"SPEND"(payment out) or"RECEIVE"(money in)ContactID(required) -- Xero Contact IDBankAccountCode(required) -- Bank account code from chart of accountsLineItems(required) -- Array of line items, each with:Description(required) -- Line item descriptionUnitAmount(required) -- Unit priceAccountCode(required) -- Account code for categorizationQuantity-- Quantity (default 1)TaxType-- Tax type:"OUTPUT","INPUT","NONE"
Date-- Transaction date inYYYY-MM-DDformatReference-- Transaction referenceStatus--"AUTHORISED"or"DELETED"CurrencyCode-- e.g.,"USD","EUR"
Example:
Tool: XERO_CREATE_BANK_TRANSACTION
Arguments:
Type: "SPEND"
ContactID: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
BankAccountCode: "090"
LineItems: [
{
"Description": "Office supplies",
"UnitAmount": 75.00,
"AccountCode": "429",
"Quantity": 1,
"TaxType": "INPUT"
}
]
Date: "2026-02-11"
Reference: "Feb office supplies"
5. List Payments and Bank Transactions
Review existing payments and bank transaction history.
Tools:
XERO_LIST_PAYMENTS-- List payments linking invoices to bank transactionsXERO_LIST_BANK_TRANSACTIONS-- List spend/receive bank transactions
Common Parameters:
where-- OData filter, e.g.,"Status==\"AUTHORISED\""order-- Sort expression, e.g.,"Date DESC"page-- Page number for paginationIf-Modified-Since-- Incremental updates since timestamptenant_id-- Organization ID
6. View Chart of Accounts and Connections
Tools:
XERO_LIST_ACCOUNTS-- Retrieve all account codes for categorizing transactionsXERO_GET_CONNECTIONS-- List active Xero tenant connectionsXERO_LIST_ATTACHMENTS-- List attachments on an entity (invoice, contact, etc.)
Known Pitfalls
| Pitfall | Detail |
|---|---|
| Multi-tenant routing | If tenant_id is omitted, the first connected tenant is used. Always verify the correct tenant with XERO_GET_CONNECTIONS when managing multiple organizations. |
| High-volume filter rejection | On large accounts, some where filters like IsCustomer/IsSupplier may be rejected. Fall back to searchTerm with pagination. |
| OData filter syntax | Use double-equals (==) in OData filters, e.g., Status==\"AUTHORISED\". Single = causes errors. |
| Pagination required | Most list endpoints paginate results. Always check for additional pages and continue fetching until complete. |
| Date format | All dates must be in YYYY-MM-DD format. Timestamps for If-Modified-Since must be full ISO 8601 UTC datetime. |
| Bank account codes | BankAccountCode in bank transactions must match a valid code from the chart of accounts. Use XERO_LIST_ACCOUNTS to discover valid codes. |
Quick Reference
| Tool Slug | Description |
|---|---|
XERO_LIST_INVOICES | List invoices with filtering and pagination |
XERO_GET_CONTACTS | Retrieve and search contacts |
XERO_CREATE_PAYMENT | Create a payment linking invoice to bank account |
XERO_CREATE_BANK_TRANSACTION | Record a spend or receive bank transaction |
XERO_LIST_PAYMENTS | List payment records |
XERO_LIST_BANK_TRANSACTIONS | List bank transactions |
XERO_LIST_ACCOUNTS | Retrieve chart of accounts |
XERO_GET_CONNECTIONS | List active Xero tenant connections |
XERO_LIST_ATTACHMENTS | List attachments on an entity |
Powered by Composio
Files
1- SKILL.md
680f64b7ff6.9 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from ComposioHQ/awesome-claude-skills8
Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.
Automate SEO research with Ahrefs -- analyze backlink profiles, research keywords, track domain metrics history, audit organic rankings, and perform batch URL analysis through the Composio Ahrefs integration.
Automate web scraping and data extraction with Apify -- run Actors, manage datasets, create reusable tasks, and retrieve crawl results through the Composio Apify integration.
Automate Apollo.io lead generation -- search organizations, discover contacts, enrich prospect data, manage contact stages, and build targeted outreach lists -- using natural language through the Composio MCP integration.
Automate recruiting and hiring workflows in Ashby -- manage candidates, jobs, applications, interviews, and notes through natural language commands.
Automate Attio CRM operations -- search records, query contacts and companies with advanced filters, manage notes, list attributes, and navigate your relationship data -- using natural language through the Composio MCP integration.
Braintree Automation: manage payment processing via Stripe-compatible tools for customers, subscriptions, payment methods, and transactions
Related integrations skillsscan passed
Qdrant provides client SDKs for various programming languages, allowing easy integration with Qdrant deployments.
Measures whether an automation suite builds release confidence via feedback-loop length, suite reliability, release cadence, and production escape rate, and emits a release_confidence verdict. Use when judging suite value, ROI, or pre-release trust; not for writing or healing tests.
Qdrant provides client SDKs for various programming languages, allowing easy integration with Qdrant deployments.
Handles annotated matrices in single-cell analysis, .h5ad and Zarr files, and integration with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Browser automation + AI test authoring via kane-cli - run browser objectives, generate & refine test scenarios/cases from a description, design requirement-linked test suites from a PRD/spec (assurance), parse NDJSON output, inspect logs, save runnable _test.md. Use for any task requiring a real bro