MCP App Store
by KeenEthics

Overview

Check your P&L, cash position, outstanding invoices, top customers and more — directly from ChatGPT. Xero surfaces real-time financial summaries with flexible date ranges, year-over-year comparisons, and links back to Xero for deeper analysis. ChatGPT connects with read-only access. Any data retrieved is used only to respond to your questions and is never stored between sessions.

Tools

get_1099_report_summary

ChatGPT
Retrieve the Xero report summary needed to review or prepare year-end 1099 forms, including 1099-NEC and 1099-MISC box decisions, service-calculated thresholds, IRS filing deadlines, W-9 identity and source status, missing-detail flags, overrides, e-filing validation errors, TIN-matching statuses, and possible third-party-payment matches. This covers Xero data only. PayPal, Stripe, and other payment sources must be obtained and combined separately. W-9 status is enriched from Tax.W9.Service and is independent of whether a tax ID is recorded in the US1099 report. <discrimination> Do NOT use get_bills to decide who needs a 1099 or whether a payee crossed a tax threshold; get_bills returns individual supplier documents and line items, while this tool returns the US1099 service's tax-year classification. Use get_bills only when the user asks to inspect bills. Do NOT use get_contacts for 1099 eligibility, missing tax information, or contractor payment totals; get_contacts only looks up contact identity and email. </discrimination> <hints> - tax_year is required. Preserve the user's calendar year exactly. - Inspect xero_configuration_status before interpreting any report data. If it is not_configured, explain that the report cannot establish W-9 status or whether reportable payees exist, surface xero_1099_report_link, and ask the user to set up 1099 reporting before rerunning. Never describe W-9 status as "unknown" based on an unconfigured report. - Use form_totals for filing deadlines rather than assuming a date. - Use boxes as the source of truth. reported_total and override_total are separate values supplied by the service; do not silently combine them. Interpret boxes by name and do not sum unlike boxes unless the user's question requires it. CREDIT_CARD_PAYMENT exclusions report zero because this endpoint does not expose their underlying amount. - Use w9_status.code as the primary W-9 classification and w9_status.description as its Xero UI meaning. KEY_W9_DETAILS_STORED means key W-9 details are stored and valid for the W-9-details check; do not report that payee as missing W-9 details. RESPONSE_RECEIVED and W9_RECEIVED_MANUALLY mean a W-9 was received. has_manually_received_w9 is the underlying manual-receipt source signal. - Use legal_name for the accountant-facing payee identity. business_name and business_type support corporation-exemption review, but never automatically exclude a payee based on them. - Review legal_name, missing_details, warnings, validation_errors, and efiling_organisation_errors together when assessing preparation or e-filing issues. PAYMENTS_CHANGED_AFTER_EFILED requires review because current payment data no longer matches the e-filed form. Do not infer readiness merely because no validation error was returned. Legal name is required; business name is optional. - Treat tin_match_result as the last raw status returned by the US1099 service, not proof of a real-time IRS check. A null result means no status was returned; the status value none is distinct. TIN matching is per form and does not establish whether a W-9 is on file. - Treat third_party_payment_review_required as a review flag, not proof of PayPal or Stripe usage. - form_type is supplied by the service and may contain a rules-version year; tax_year is the filing year. </hints> <examples> - "who do i need to send 1099s to for 2025" - "get my contractor tax forms ready for the accountant" - "which vendors are missing tax info for last year's 1099s" - "show contractors just under the filing threshold in 2025" - "how much federal tax was withheld on contractor forms in 2025" - "did any contractors fail TIN matching for 2025" </examples>

get_aged_payables

ChatGPT
Retrieve the aged payables report (accounts payable / creditor aging) for a Xero organisation. Returns the outstanding balance split by how overdue it is (current, < 1 month, 1 month, 2 months, 3 months, 3+ months) and the suppliers the business owes the most, each with their oldest outstanding bills. Use this to understand who the business owes money to and how overdue each balance is. This is the payables-aging slice of a multi-metric overview: a question that weighs cash, what is owed, and trading performance together takes its payables part from here, alongside get_cash_position and get_profit_and_loss. <discrimination> Do NOT use for money owed TO the business (receivables / debtors), use get_aged_receivables Do NOT use when the user asks whether the business can afford to pay a supplier, use get_cash_position Do NOT use when the user wants a high-level cash/payables total without an aging breakdown, use get_cash_position </discrimination> <hints> - A balance-sheet-only snapshot goes to get_financial_position. A snapshot that also asks what is owed takes its aging slice from here. - For month-end close queries ("close the month", "month-end", "closing the books", "reconcile", "what's missing in my books", or a month-end P&L summary / narrative), call alongside get_profit_and_loss, get_financial_position, and get_aged_receivables. - Pages hold 50 rows. Pass next_cursor back unchanged as cursor; stop when it is null. - The summary names only the top five suppliers. aged_payables pages every outstanding bill, so walk next_cursor to reach suppliers past them. </hints> <examples> - "Show me the AP aging report" - "Who do we owe money to and how overdue is it?" - "Which bills are more than 90 days overdue?" - "Which suppliers should I pay first?" - "What bills are the most overdue right now?" </examples>

get_aged_receivables

ChatGPT
Aged receivables report (accounts receivable / debtor aging) for a Xero organisation: outstanding balance by how overdue it is (current, < 1 month, 1 month, 2 months, 3 months, 3+ months), the customers who owe the most (debtors) with their oldest outstanding invoices, and unapplied credit notes and overpayments. Default for outstanding, unpaid, overdue, or due-soon customer invoices: biggest debtors, who to chase, invoice counts, upcoming due dates, and unused credit, even when the user never says "aging". For a multi-metric overview, use alongside get_cash_position and get_profit_and_loss. <discrimination> Do NOT use for money the business owes (payables / creditors), use get_aged_payables. Do NOT use for per-invoice fields (invoice/reference numbers, line items, currency), one named customer's invoices, PAID invoices, or an explicit issued-date range, use get_invoices. Do NOT use for a period total grouped by currency or customer, use show_invoices_summary. Do NOT use for a cash or receivables total without invoice or debtor detail, use get_cash_position. </discrimination> <hints> - A balance-sheet-only snapshot goes to get_financial_position. A snapshot that also asks who owes what takes its aging slice from here. - For month-end close queries ("close the month", "month-end", "closing the books", "reconcile", "what's missing in my books", or a month-end P&L summary), call alongside get_profit_and_loss, get_financial_position and get_aged_payables. - Pages hold 50 rows. Pass next_cursor back unchanged as cursor; stop when it is null. - The summary names only the top five. aged_receivables pages every outstanding invoice, so walk next_cursor to reach customers past them. </hints> <examples> - "Show me the AR aging report" - "List all unpaid invoices" - "What invoices are due this week?" - "Who's behind on paying me, who should I chase?" - "How much unused credit do customers have?" </examples>

get_bank_account_transactions

ChatGPT
List accounting-side bank transactions used in Xero bank reconciliation. Use for bank-reconciliation work, month-end close checks, or reviewing accounting entries still awaiting reconciliation. Currently only unreconciled transactions are available. Results cover active bank and credit-card accounts. Each response-wide page contains a bounded number of transactions, grouped by account. <discrimination> Do NOT use for cash on hand, liquidity, or aggregate bank balances — use get_cash_position. Do NOT treat this as the complete monthly transaction register or use it to claim that every duplicate, category, or receipt has been reviewed. It excludes reconciled and non-bank-account entries and does not return every line of multi-line entries. Use get_profit_and_loss for aggregate monthly financial results; request a Xero transaction-detail export when the complete register is required. Do NOT use for outstanding customer invoices or supplier bills — use get_aged_receivables or get_aged_payables. This tool returns Xero accounting entries awaiting reconciliation, not imported bank-statement lines and not payment-processor settlement data. For one named bank or card account, pass its UUID from get_chart_of_accounts as bank_account_ids; pages cap across all accounts, so filtering groups can miss it. Omit it otherwise. </discrimination> <hints> - reconciliation_status currently accepts only UNRECONCILED; omit it to use that default. - For a broad month-end close, call alongside get_profit_and_loss, get_financial_position, get_aged_receivables, and get_aged_payables. For an explicit bank-reconciliation queue request, use this tool without automatically calling those reporting tools. - Omit both dates to use the previous calendar month in the organisation's timezone. - Supplying only one date creates an open-ended range. - Omit bank_account_ids to include all active bank and credit-card accounts. - Pages contain at most 200 transactions in total, not per account. There is no byte-size limit. - When next_cursor is not null, call again with it passed unchanged as cursor. Stop when next_cursor is null. - Do not invent, inspect, or modify cursors. Keep the same dates, status, and bank-account filters while paging. - Descriptions are previews of at most 200 characters; truncation flags identify shortened text. - Find the transaction in Xero to read full descriptions. - Account metadata and contact names may be cached for up to five minutes; transaction rows and counts are live. - Do not infer a description match or absence from a preview. References and financial fields are unchanged. - A null line_account does not prove that an entry is uncategorized, especially for multi-line entries, payments, and transfers. </hints> <examples> - "what still needs reconciling from last month" - "show me the entries waiting for bank rec" - "which July transactions haven't been matched yet" - "anything left to reconcile on the credit card" - "check the bank rec queue before we close the month" </examples>

get_bills

ChatGPT
Filtered list of accounts payable documents (bills): supplier, amount due, due date, status. include_line_items=True adds line description, quantity, unit and line amount, and inventory item id, code and catalogue name, in a larger response. Paginated. Use when the request is scoped: named suppliers, paid bills, an issued-date window, or line-item detail. Supplier names are not accepted: call get_contacts first, then pass every ID it returns as contact_ids. <discrimination> Do NOT use for generic unpaid, overdue, outstanding or due-soon payables, who we owe, biggest payables, who to pay next, how many bills await payment, or aging by days overdue, even phrased as a list or as "due this week", use get_aged_payables, the default payables tool. A due range is fine here alongside another scope, as in "issued last month and due this month". Do NOT use for recurring or repeating bills, the templates that regenerate supplier bills on a schedule (subscriptions, rent, utilities, fixed recurring supplier payments or expenses), use get_repeating_bills. Only bills already issued are returned here, never the schedules behind them, whatever the request calls them. Do NOT use for a single aggregate figure with no per-bill breakdown (total payables, total receivables, working capital), or for cash-coverage and liquidity questions, use get_cash_position. Do NOT use for contractor or vendor 1099 eligibility, tax thresholds or missing tax details, use get_1099_report_summary alone, never bills to check its answer. </discrimination> <examples> - "Which bills have been paid?" - "Show me bills issued between January and March" - "Show me the line items on bills issued last month" - "Show me all bills from Acme" (resolve via get_contacts, then pass contact_ids) - "Bills issued last month that are due this month" </examples>

get_cash_position

ChatGPT
Show a summary of the cash position for the connected Xero organisation. Covers aggregate totals: cash balance, total amount owed to you (receivables), and total amount you owe (payables). Only use for questions about cash on hand, cash-coverage/liquidity, whether the business can cover its obligations, or a standalone total of what is owed to or by it. Only data for the last three financial years can be returned. <discrimination> Do NOT use for profitability or performance over a period — whether the business is profitable, income vs expenses, or spending vs earning — use get_profit_and_loss. Do NOT use for top debtors summary or summary of largest outstanding or overdue invoices — use get_aged_receivables. Do NOT use for a broad financial overview, point-in-time financial snapshot, financial healthcheck, business valuation / worth, or working capital — use get_financial_position instead. Do NOT use for a per-customer breakdown or an aging of what you are owed — use get_aged_receivables instead. Do NOT use for a per-supplier breakdown or an aging of what you owe — use get_aged_payables instead. </discrimination> <examples> - "What's my cash position?" - "How much cash do I have?" - "Can I cover my bills?" - "How much do I owe vs how much is owed to me?" - "Do we have enough cash to pay what we owe?" </examples>

get_chart_of_accounts

ChatGPT
Retrieve the organisation's chart of accounts — the list of active accounts (the ledger accounts transactions are coded to), each with its code, name, type, class, status, tax type, and description. Only ACTIVE accounts are returned; archived and deleted accounts are excluded. The full active chart of accounts for the given organisation is returned. <discrimination> Do NOT use for account balances, financial statements, or how much is in an account — use get_financial_position / get_profit_and_loss / get_cash_position for figures. This tool returns the account definitions (code/name/type), not any monetary amounts or transactions. Do NOT use for bank reconciliation or transactions on a bank or credit-card account (the "rec", outstanding/unreconciled items) — use get_bank_account_transactions. For the rec of one named bank or card account, look its UUID up here first and pass that. Do NOT use for the tracking labels, tags, or dimensions used to categorise, segment, or analyse spending and income (e.g. by region or department) — use get_tracking_categories. Do NOT use for inventory items (get_inventory_items) or contacts (get_contacts). </discrimination> <hints> - Returns the whole active chart of accounts for the given organisation. - Use it to look up an account code or name, or to see which accounts exist before coding a transaction (e.g. for the ap-processor bill-coding flow). - account_class is one of ASSET, LIABILITY, EQUITY, REVENUE, EXPENSE; type is the finer-grained Xero account type (e.g. BANK, CURRENT, FIXED, REVENUE, EXPENSE). </hints> <examples> - "What's our chart of accounts?" - "List all our account codes" - "Which expense accounts do we have?" - "What account code should I use for advertising?" - "Show me the revenue accounts" </examples>

get_connected_organisations

ChatGPT
List every Xero organisation the signed-in user has connected to this app, so you can tell how many organisations they have and which ones are available to run org-scoped tools against. <discrimination> Do NOT use for a single organisation's details such as name, currency, country, industry or timezone — use get_organisation_info. </discrimination> <hints> When more than one organisation is connected, use the organisation the user has named, or one from this list they have already chosen. If they have not, ask which organisation to use before calling any tool that takes an organisation_id. Do not pick one yourself or run the request for every organisation unless the user asked about all of them. </hints> <examples> - "How many Xero organisations do I have connected?" - "List all my companies" - "do i have more than one org linked" - "What other businesses can you see?" - "show me all the orgs on my account" </examples>

get_contacts

ChatGPT
Look up contacts (customers and suppliers) by UUID or by name, returning each match's contact ID, name and email address only, with no balances, invoices or purchase history. Two modes: contact_ids resolves known UUIDs, contact_name searches for contacts whose name contains that text and can match several. Use it for "who is this contact", "what's their email", "do I have a contact called X", and to turn a customer name into the contact IDs that get_invoices filters by. <discrimination> Do NOT use for outstanding balances, who owes money, overdue amounts, or the biggest debtors, use get_aged_receivables. Do NOT use to list a customer's invoices, or to answer what a customer bought, purchased, ordered or spent, or their sales history: that is get_invoices, and resolving the name here is only the FIRST step. Once this tool returns the contact ID(s) you MUST call get_invoices with those contact_ids (include_line_items=True for "what did they buy"). Never answer a question about invoices or purchases from the contact record alone. Do NOT use for 1099 eligibility, contractor tax-year totals, filing thresholds, or missing tax information, use get_1099_report_summary. </discrimination> <hints> - organisation_id is required. Use the organisation the user is working with; if you do not know its ID, call get_connected_organisations first — never make one up. - Provide exactly one of contact_ids or contact_name. Supplying both, or neither, is an error. - contact_ids accepts a list, so several known UUIDs can be resolved in a single call. - contact_name is a "contains" search, so a partial or approximate name is fine. Prefer contact_ids when exact UUIDs are already known (e.g. from a previous invoice or bill result). </hints> <examples> - "what's the email for Acme Corp" - "do I have a contact called Sarah Jones" - "look up contact d290f1ee-6c54-4b01-90e6-d701748f0851" - "who is the contact on this invoice" (when you have the contact_id) - "find John Smith's contact details" </examples>

get_financial_position

ChatGPT
Show the balance sheet and business health indicators for a Xero organisation. Use this tool for a point-in-time broad financial overview, financial snapshot, or health-check queries. This single tool covers these — do not fan out to multiple tools. Defaults to accrual basis, or returns cash basis when accounting_basis is CASH. Only data for the last three financial years can be returned. <discrimination> Do NOT use for questions about profitability or business performance over a period of time — use get_profit_and_loss instead. </discrimination> <examples> - "What's my balance sheet?" - "Give me a financial overview of the business" - "What are my total assets and liabilities?" - "How healthy is the business financially?" - "What's my net equity?" - "What's my working capital?" </examples> <hints> - If the user asks for cash-basis financial position, set accounting_basis to CASH. If the user does not ask for cash basis, omit accounting_basis or use ACCRUAL. </hints>

get_invoices

ChatGPT
Filtered list of individual sales invoices (accounts receivable): customer, invoice and reference number, amount due, due date, status. include_line_items=True adds line description, quantity, unit and line amount, and inventory item id, code and name, in a larger response. Paginated. Use for named customers, PAID invoices, an explicit issued-date range, invoice or reference numbers, line items, and for browsing individual invoices with no period given. Customer names are not accepted: call get_contacts first, then pass every ID it returns as contact_ids. Also the tool for invoicing broken down per customer ("total invoicing by customer", "how much did each customer get invoiced", "roll up my invoices by customer"), which needs every customer rather than the top few show_invoices_summary ranks. <discrimination> Do NOT use for generic unpaid, overdue, outstanding or due-soon receivables, who owes money, biggest debtors, who to chase, how many await payment, or aging by days overdue, even phrased as a list or as "due this week", use get_aged_receivables, the default receivables tool. A due range is fine here alongside another scope, as in "issued last month and due this month". Do NOT use for a period total by currency with the top customers inside each, use show_invoices_summary. Do NOT use for a single aggregate figure with no per-invoice breakdown (total receivables, total payables, working capital), or for cash-coverage and liquidity questions, use get_cash_position. </discrimination> <examples> - "Which invoices have been paid?" - "Show me all invoices between January and March" - "List all invoices issued to Acme" (resolve via get_contacts first) - "Show me invoices for Acme and Globex" (resolve both, then one call) - "I want to see my recent invoices" - "Invoices issued last month that are due this month" </examples>

get_organisation_financial_year

ChatGPT
This tool returns the current financial year start and end dates for a Xero organisation. WHEN TO USE THIS TOOL: - When the user specifies a financial date or date range: - Financial year - Financial quarter - Financial half year - The user mentions fiscal, financial, FY, FYTD etc. date or date range DO NOT USE THIS TOOL IF: - The user mentions only a date or date range <examples> - "When does my financial year start?" - "What are the dates for FY25?" - "Show me profit for this financial year" - "What's the start of our fiscal year?" - "Give me revenue for the current FYTD" </examples>

get_organisation_info

ChatGPT
Return information about a Xero organisation. Use this tool to retrieve details about region, currency, timezone, business industry and company registration number. <discrimination> Do NOT use for financial data (P&L, balance sheet, cash) — use the appropriate financial tool. Do NOT use for financial year dates — use get_organisation_financial_year for that. </discrimination> <hints> - Use when you need to know the base currency, region, country, or timezone of the organisation. - Use when you need to know the line of business or industry of the organisation as context for seasonality benchmarking or marketing/content planning - Use when you need information about the organisation or company </hints> <examples> - "What country is my organisation in?" - "What's my base currency?" - "What timezone is my org set to?" - "What line of business is my organisation in?" - "What industry is my company in?" - "What region is my Xero org?" </examples>

get_profit_and_loss

ChatGPT
Retrieve a profit and loss statement for the given period, optionally compared against another period. Shows net profit, income, expenses, and all accounts for the connected Xero organisation. Use for questions about profit, revenue, turnover, expense breakdown, top income sources, biggest earning accounts, or general business performance. Income and expenses over a period are also the run-rate behind any forward-looking question about what the business can cover or sustain, so include it there alongside the balance and aging tools. Accrual basis unless accounting_basis is CASH. Only the last three financial years are available. <discrimination> Do NOT use for queries asking for broad financial overview, point-in-time financial snapshot, financial healthcheck or business valuation / worth, use get_financial_position instead </discrimination> <hints> - "This year" and "last year" mean the calendar year: do NOT call get_organisation_financial_year for them. Call it only when the user says "financial year", "fiscal year", "FY" or similar. - Omit dates entirely when the user names no period, and never invent one. - Set accounting_basis to CASH when the user asks for cash basis and ACCRUAL when they ask for accrual, omitting it otherwise; set the two comparison dates only when the user asks for a comparison ("compared to last month", "vs FY24"). </hints> <examples> - "How much profit did we make this month?" - "What's our revenue for last quarter?" - "Am I spending more than I'm earning?" - "What were my top income sources?" - "What are our biggest expenses?" - "How does this month's income compare to last month?" </examples>

get_purchase_orders

ChatGPT
Retrieve purchase orders for a Xero organisation. Shows per-purchase-order detail: supplier name, order status, order date, expected delivery date, and total amount. Use when the user asks to see their purchase orders — what has been ordered from suppliers, purchase orders in a given status, or purchase orders raised over a date range. Results are paginated — see the pagination hint below to retrieve further pages. <discrimination> Do NOT use for bills (accounts payable invoices) — money owed to suppliers for goods/services already invoiced — use get_bills for that. A purchase order is a commitment to buy, raised before the supplier's bill arrives. Do NOT use for generic "unpaid / overdue / outstanding" payables, who we owe money to, or the biggest payables — use get_aged_payables for that. Do NOT use for aggregate cash-coverage / liquidity figures — use get_cash_position for that. </discrimination> <hints> - By default purchase orders in every status except DRAFT are returned; set status to narrow to one or more of "DRAFT", "SUBMITTED", "AUTHORISED", "BILLED" (pass "DRAFT" explicitly to include drafts). Do not pass an empty array. - Filter by order date with issued_date_start / issued_date_end; either end may be omitted for an open-ended filter. When the user gives no date or period at all (e.g. "show me my purchase orders"), omit both date params — the tool defaults the range to the last three months, ending today. Do not invent a date range. - Pagination: to retrieve the next page, call this tool again with the same filters and page set to the current page + 1 while page is less than total_page_count. Stop once page reaches total_page_count. </hints> <examples> - "Show me my purchase orders" - "What purchase orders do we have with suppliers?" - "Show me draft purchase orders" - "Purchase orders raised last quarter" </examples>

get_repeating_bills

ChatGPT
Retrieve repeating bills — recurring supplier costs set up on a schedule (subscriptions, rent, utilities, fixed overheads, regular supplier payments) — for a Xero organisation. Returns each repeating bill template with its frequency, next due date, line items, and totals. These are the templates that automatically generate supplier bills (ACCPAY) on a schedule. A maximum of 100 templates are returned. This is the single tool for questions about what recurs on the supplier side: subscriptions, regular or recurring costs, utilities and rent paid regularly, fixed overheads, scheduled or upcoming recurring payments, and which recurring payments could be cancelled. It already includes each template's amount, totals, frequency, and next due date, so answer these from this tool alone. <discrimination> Do NOT use for one-off outstanding bills or paginated bill lists — use get_bills for that. Do NOT use for repeating templates that bill customers (recurring invoices/retainers) — use get_repeating_invoices for that. This tool is only for bills that repeat on a schedule. Do NOT fan out to other tools to look up the figures: this tool already returns each recurring bill's amount, totals, frequency, and next due date. For recurring / subscription / overhead / scheduled-payment questions, answer from this tool ALONE — do NOT also call get_bills, get_aged_payables, or get_profit_and_loss. </discrimination> <examples> - "What repeating bills do we have set up?" - "What subscriptions are we paying, and what are our fixed overheads?" - "What utilities and rent do we pay regularly?" - "What's coming up on my scheduled recurring payments?" - "Any draft repeating bills I haven't approved yet?" </examples>

get_repeating_invoices

ChatGPT
Retrieve repeating invoices — recurring customer charges set up on a schedule (retainers, memberships, subscriptions you bill customers) — for a Xero organisation. Returns each repeating invoice template with its frequency, next due date, line items, and totals. These are the templates that automatically generate customer invoices (ACCREC) on a schedule, not the invoices they produce. A maximum of 100 templates are returned. <discrimination> Do NOT use for one-off sales invoices or issued/paginated invoice lists — use get_invoices for that. Do NOT use for repeating templates that pay suppliers (recurring bills/subscriptions) — use get_repeating_bills for that. This tool is only for invoices that repeat on a schedule. </discrimination> <examples> - "What repeating invoices do we send out?" - "Show me our recurring customer charges and retainers" - "Which clients get billed automatically every month?" - "What's the schedule and amount for our retainer invoices?" - "Any draft recurring invoices waiting to go out?" </examples>

get_top_customers_by_revenue

ChatGPT
Customers ranked by the revenue they generated, for a Xero organisation. Default tool for top, best, biggest or most valuable customers and clients: who brings in the most revenue or sales, how revenue is spread across the client base, and which customers a period leaned on. Covers the last three financial years. <discrimination> Do NOT use for profitability or revenue with no customer context, use get_profit_and_loss. Do NOT use for top income sources, income streams, or revenue by account, category, product or service line: those are income accounts in the P&L, use get_profit_and_loss. Do NOT use for amounts invoiced, invoiced vs paid vs outstanding, totals by currency, or "top customers by invoicing", use show_invoices_summary. This tool ranks earned revenue, which is a different number from what a customer was invoiced. </discrimination> <hints> - Call get_connected_organisations first when you do not know the organisation ID. - For a period expressed against the financial year, you MUST call get_organisation_financial_year first to get its start and end dates. - Derive start_date and end_date yourself for calendar periods such as "this month" or "last quarter". - Omit both dates when the user names no period. Never invent one. </hints> <examples> - "Who are my top customers?" - "Which clients brought in the most revenue this month?" - "Who are my best customers by sales?" - "Show me my biggest customers for last quarter" - "Which customers drove most of our revenue last financial year?" </examples>

get_tracking_categories

ChatGPT
List the connected organisation's tracking categories and their options — the labels, tags, and dimensions used to categorise, segment, or analyse income and spending (for example Region or Department). Use this tool for questions about the organisation's tracking dimensions, category or label names, or the available values used to classify and break down transactions. Returns active tracking categories and options only; archived configuration is not exposed. <discrimination> Do NOT use for the ledger account list, account codes, or account names (the chart of accounts) — use get_chart_of_accounts. Tracking categories are the cross-cutting labels applied on top of accounts, not the accounts themselves. Do NOT use for inventory items or stock categories — use get_inventory_items. Do NOT use for organisation details such as region, country, currency, or industry — use get_organisation_info. </discrimination> <examples> - "What tracking categories do we have?" - "List the options for our Region tracking category" - "what labels do we use to break down our spending?" - "Can I track this invoice by department?" - "What values can I use for Department?" </examples>

show_invoices_summary

ChatGPT
Summarise sales invoices (accounts receivable) over a date range as per-currency totals (invoiced, outstanding, paid) plus a ranking of only the TOP few customers within each currency, never a breakdown covering every customer. Use for a rolled-up view of invoicing over a period: "how much did we invoice", "invoiced vs paid vs outstanding by currency", "who did I invoice the most / top customers this quarter". It also answers "what's the status of my invoices this period". <discrimination> Do NOT use for generic "unpaid / overdue / outstanding" receivables, who owes money, biggest debtors, or an aging breakdown bucketed by days overdue, use get_aged_receivables. Do NOT use for a single named customer's invoices ("invoices for Acme", "what has Acme bought"), PAID-only invoices, per-invoice document fields (invoice/reference numbers, line items), a list of recent or latest individual invoices ("my recent invoices"), or invoicing broken down per customer ("how much did each customer get invoiced", "total invoicing by customer", "roll up my invoices by customer"), use get_invoices. Any request spanning all customers or naming one is get_invoices. Do NOT use for browsing individual invoices, including an unfiltered "show me my invoices" — this tool returns per-currency totals and a top-customer ranking, use get_invoices for the list. Do NOT use for aggregate cash-coverage / liquidity figures, use get_cash_position. Do NOT use for ranking customers by revenue generated (earned sales, not invoicing), use get_top_customers_by_revenue. One call returns every currency group with the top customers inside each. Call this tool exactly once per request, and do not call get_invoices alongside it to fill in detail. </discrimination> <examples> - "What's the status of my invoices this quarter?" - "How much did we invoice last month, by currency?" - "Who were my top customers by invoicing this year?" - "Invoiced vs paid vs outstanding for last quarter" </examples>

get_1099_report_summary

Claude

get_aged_payables

Claude

get_aged_receivables

Claude

get_bank_account_transactions

Claude

get_bills

Claude

get_cash_position

Claude

get_chart_of_accounts

Claude

get_connected_organisations

Claude

get_contacts

Claude

get_contacts_and_receivables

Claude

get_financial_position

Claude

get_invoices

Claude

get_organisation_financial_year

Claude

get_organisation_info

Claude

get_profit_and_loss

Claude

get_purchase_orders

Claude

get_repeating_bills

Claude

get_repeating_invoices

Claude

get_top_customers_by_revenue

Claude

get_tracking_categories

Claude

show_invoices_summary

Claude

who_am_i

Claude

Capabilities

Interactive

Example Prompts

Click any prompt to copy it.

Similar Apps