Skip to content
Skillpedia
Automations77k · #1661

Xero Automation

Helps your agent manage invoices, contacts, and payments in Xero. Useful for keeping your business finances organized.

What it does

This tool helps manage your finances in Xero, like invoices, contacts, and payments. It automates bookkeeping tasks for small businesses.

When to use it

  • ✓When you need to see all paid invoices.
  • ✓When you want to record a new bill payment.
  • ✓When you need to find a specific contact.

Example of what to ask your AI

“List all authorized and paid invoices, ordered by the most recent date.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/xero-automation/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/xero-automation/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool connects to your Xero account to access and modify your financial information. It uses specific commands to search, create, or update data like invoices and contacts.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add ComposioHQ/awesome-claude-skills --skill Xero Automation

Or download just the file:

curl -L https://raw.githubusercontent.com/ComposioHQ/awesome-claude-skills/master/composio-skills/xero-automation/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

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 by
  • InvoiceIDs -- Comma-separated Invoice IDs to filter by
  • where -- OData-style filter, e.g., "Status==\"AUTHORISED\" AND Total>100"
  • order -- Sort expression, e.g., "Date DESC", "InvoiceNumber ASC"
  • page -- Page number for pagination
  • If-Modified-Since -- UTC timestamp; returns only invoices modified since this date
  • tenant_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, ContactNumber
  • ContactID -- Fetch a single contact by ID
  • where -- OData filter, e.g., "ContactStatus==\"ACTIVE\""
  • page, pageSize -- Pagination controls
  • order -- Sort, e.g., "UpdatedDateUTC DESC"
  • includeArchived -- Include archived contacts when true
  • summaryOnly -- Lightweight response when true

Example:

Tool: XERO_GET_CONTACTS
Arguments:
  searchTerm: "acme"
  page: 1
  pageSize: 25

Note: On high-volume accounts, some where filters (e.g., IsCustomer, IsSupplier) may be rejected by Xero. Fall back to searchTerm or 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 to
  • AccountID (required) -- Bank account ID for the payment
  • Amount (required) -- Payment amount (number)
  • Date -- Payment date in YYYY-MM-DD format
  • Reference -- Payment reference or description
  • CurrencyRate -- 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 ID
  • BankAccountCode (required) -- Bank account code from chart of accounts
  • LineItems (required) -- Array of line items, each with:
    • Description (required) -- Line item description
    • UnitAmount (required) -- Unit price
    • AccountCode (required) -- Account code for categorization
    • Quantity -- Quantity (default 1)
    • TaxType -- Tax type: "OUTPUT", "INPUT", "NONE"
  • Date -- Transaction date in YYYY-MM-DD format
  • Reference -- Transaction reference
  • Status -- "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:

…

FAQ

What is a 'tenant_id'?

It's a unique identifier for each Xero organization you connect. It's important to use it correctly if you manage multiple companies in Xero.

How do I record an expense?

Use the command to create bank transactions of type 'SPEND', providing the contact, bank account, and item details.

What happens if I don't specify a 'tenant_id'?

The tool will use the first connected Xero account. If you have multiple, it's best to verify and specify the correct 'tenant_id' to avoid errors.

Details

Original description by the author

Xero Automation: manage invoices, contacts, payments, bank transactions, and accounts in Xero for cloud-based bookkeeping

repo: ComposioHQ/awesome-claude-skills

Popularity

GitHub stars
77k
Ranking position
#1661
License
—
Updated
9/18/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills