# Xero MCP MCP

> Xero MCP lets you handle complex bookkeeping tasks through natural conversation. Pull balance sheets, check bank transactions, list invoices, or run PnL reports—all without navigating a single accounting dashboard. It brings your financial data directly into your AI agent.

## Overview
- **Category:** money-moves
- **Price:** Free
- **Tags:** invoicing, bookkeeping, bank-reconciliation, financial-reporting, contact-management, tax-compliance

## Description

Forget manually clicking through tabs and copying figures to build a report. With this MCP, you talk to Xero like talking to an accountant. You can ask for specific details—like the total revenue from last quarter or if that client paid their invoice yet—and get precise answers immediately. It pulls everything you need: P&L reports, current bank balances, and full lists of contacts. Because money is involved, data integrity matters most. When your agent runs these requests through Vinkius, every single tool call generates a cryptographically signed audit trail. This means the record of what was requested and what data flowed out is tamper-proof by design. You're not just getting an answer; you’re getting proof of it.

## Tools

### get_balance_sheet
Gets a report listing assets, liabilities, and equity totals for a specific date.

### get_invoice_details
Retrieves the full, detailed information for one specific invoice.

### get_organisation_info
Retrieves foundational data about the Xero organization, like legal currency and registration details.

### get_profit_and_loss
Generates a Profit and Loss report covering a specified start and end date range.

### list_bank_transactions
Lists all financial activity recorded in your connected bank accounts.

### list_chart_of_accounts
Provides a complete list of every available general ledger account type (Bank, Expense, Revenue).

### list_xero_contacts
Lists all customers and suppliers registered in the Xero system.

### list_xero_invoices
Lists all sales and purchase invoices within your Xero organization.

### list_xero_payments
Lists every payment that has been applied to an existing invoice.

## Prompt Examples

**Prompt:** 
```
List all my unpaid invoices in Xero.
```

**Response:** 
```
I found 5 invoices with outstanding balances: 1. INV-001 ($1,200.00), 2. INV-005 ($450.00), 3. INV-012 ($890.00), and 2 others. Would you like the details for the largest one?
```

**Prompt:** 
```
What is our Profit and Loss for March 2026?
```

**Response:** 
```
PnL Report for March 2026: Total Revenue: $42,500.00, Total Expenses: $28,150.00, Net Profit: $14,350.00. This is a 12% improvement compared to February. Would you like a breakdown by category?
```

**Prompt:** 
```
Find the contact ID for 'Global Tech' and show their last 3 payments.
```

**Response:** 
```
Contact 'Global Tech' (ID: 550e8400-e29b...) found. Their last 3 payments were: 1. $1,200.00 (2026-03-15), 2. $1,200.00 (2026-02-15), and 3. $1,200.00 (2026-01-15). All applied to recurring service invoices.
```

## Capabilities

### Generate Financial Statements
Request real-time Balance Sheet and Profit & Loss reports for any specific date range.

### Review Transaction History
List every transaction recorded in the bank account or track payments applied to invoices.

### Audit Billing Records
See all sales and purchase invoices, including line items, payment statuses, and full contact details.

### Verify Accounting Codes
Browse the general ledger accounts to check specific codes for Bank, Expense, or Revenue before logging entries.

### Get Organization Context
Retrieve core company details, like legal registration and base currency, for compliance checks.

## Use Cases

### The month-end checkup
A controller needs to close the books for March. They ask their agent to get_balance_sheet data for March 31st, then run a get_profit_and_loss report for the quarter. The agent gathers both sets of figures automatically.

### Following up on overdue bills
A business owner notices an invoice is due and asks to list_xero_invoices, filtering for those that are unpaid. This gives them the necessary contact IDs from list_xero_contacts to follow up.

### Auditing a single transaction
An accountant needs to verify if $500 was paid last week. They ask for payment details, and the agent uses get_invoice_details on the relevant invoice ID to confirm the source and date.

### Understanding cash flow
A finance analyst wants to reconcile their accounts receivable. They use list_bank_transactions alongside list_xero_payments to compare what hit the bank versus what was officially applied to an invoice.

## Benefits

- Eliminate manual data gathering. Instead of opening multiple tabs to check invoices, you can ask the agent for a list of all sales and purchase invoices in one go.
- Streamline reconciliation by listing bank transactions and payments applied to invoices, letting you easily track outstanding balances.
- Build instant financial reports; simply asking for the Profit and Loss report with date ranges generates accurate data without opening the reporting dashboard.
- Verify compliance details instantly. You can retrieve organization information or list all general ledger accounts before creating any new entries.
- Never lose a payment record. The ability to list payments applied to invoices ensures you always know who paid what, and when.

## How It Works

The bottom line is, you use natural language commands instead of complex software menus to access financial data.

1. Subscribe to this MCP and enter your Xero Access Token along with the Tenant ID.
2. Connect the MCP to your preferred AI client (Claude, Cursor, etc.).
3. Ask your agent a specific question—like 'What was our PnL for Q2'—and it executes the necessary calls.

## Frequently Asked Questions

**Can I retrieve my profit and loss report for a specific period via chat?**
Yes. The `get_profit_and_loss` tool allows your AI agent to retrieve a PnL report by providing a start and end date. This provides an instant summary of your revenue and expenses without manual reporting.

**How do I find out the outstanding amount on a specific invoice?**
You can use the `get_invoice_details` tool. Provide the unique invoice ID, and your agent will return the full metadata, including the original amount, any applied payments, and the current balance due.

**Is it possible to see my bank transactions through the agent?**
Absolutely. Use the `list_bank_transactions` tool to retrieve a list of all transactions recorded in your Xero bank accounts, helping you monitor cash flow directly through your conversation.

**How do I verify my organization's base currency and legal details using get_organisation_info?**
Yes, this tool immediately retrieves core organizational data. It confirms your base currency and critical tenant information without you having to navigate multiple compliance dashboards.

**If I need a customer's unique ID for billing purposes, how do I use list_xero_contacts?**
It lists all registered customers and suppliers, providing the necessary contact IDs. You must run this first to get the required identifier before using it with payment or invoice tools.

**Before recording a transaction, how do I verify my general ledger codes using list_chart_of_accounts?**
You browse every available account code in your chart of accounts. This lets you confirm the correct type—like Bank or Expense—before instructing your agent to post any data.

**When I run get_invoice_details, what level of granularity do I get for line items and taxes?**
The response provides comprehensive breakdowns that go far beyond the total amount. It shows exactly which services or goods made up the invoice and how specific tax rates were applied.

**How does list_xero_payments handle retrieving payments across different invoices?**
It lists all payment records, showing which amounts are applied to which invoices. This gives you a complete picture of the cash flow history attached to your sales and purchases.