Bexio MCP server
Swiss accounting integration for Bexio. 314 tools: invoices, contacts, projects, account balances
33 stars91 downloads/wk
Reviews
Write oneNobody has reviewed Bexio yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Bexio tools (100, 31 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
advanced_search_contactsPerform advanced search on contacts using multiple criteria
bulk_create_contactswrite actionCreate multiple contacts in one call. Returns per-item results with success/failure status.
cancel_invoicewrite actionCancel an invoice
copy_invoiceCopy an invoice
create_accountwrite actionCreate a new account in the chart of accounts
create_additional_addresswrite actionCreate an additional address for a contact
create_commentwrite actionCreate a new comment on a document
create_contactwrite actionCreate a new contact in Bexio. Set contact_type to 'person' for individuals or 'company' for organizations.
create_contact_relationwrite actionCreate a new contact relation
create_currencywrite actionCreate a new currency in Bexio. Swiss default: round_factor 0.05 (5 rappen). Common currencies: CHF, EUR, USD, GBP.
create_iban_paymentwrite action⚠️ Creates a STANDALONE bank payment that is NOT linked to any supplier bill. To pay a supplier bill (and have it marked paid), use `create_outgoing_payment` with a `bill_id` instead — that works for both IBAN and QR and records the payment against the bill. A standalone payment created here CANNOT be attached to a bill afterward. Use this tool only for ad-hoc payments that have no underlying bill
create_invoicewrite actionCreate a new invoice in Bexio
create_itemwrite actionCreate a new item in Bexio
create_manual_entrywrite actionCreate a manual journal entry (double-entry bookkeeping). Provide flat params; the handler transforms to nested entries array internally. Bexio validates that debits equal credits.
create_payment_typewrite actionCreate a new payment type for invoices and payments
create_qr_paymentwrite action⚠️ Creates a STANDALONE bank payment that is NOT linked to any supplier bill. To pay a supplier bill (and have it marked paid), use `create_outgoing_payment` with a `bill_id` instead — that works for both IBAN and QR and records the payment against the bill. A standalone payment created here CANNOT be attached to a bill afterward. Use this tool only for ad-hoc payments that have no underlying bill
delete_additional_addresswrite actionDelete an additional address from a contact
delete_contactwrite actionDelete a contact (soft delete -- moves to trash). Use restore_contact to recover.
delete_currencywrite actionDelete a currency by ID. Cannot delete currencies in use by documents.
delete_filewrite actionDelete a file from Bexio
delete_invoicewrite actionDelete an invoice
delete_itemwrite actionDelete an item
delete_manual_entrywrite actionDelete a manual entry
download_fileDownload a file's content from Bexio. Small files (<= 64 KB by default) are returned inline as a base64 string (`content_base64`). Larger files are written to a file on the server and the tool returns `file_path` instead of the base64 (this prevents context overflow). Pass `output_path` to control where the file is written, or set the BEXIO_DOWNLOAD_INLINE_MAX_BYTES env var to change the inline th
edit_invoiceEdit/update an existing invoice
edit_itemEdit/update an existing item
find_contact_by_nameFind contacts by name (searches through all pages)
find_contact_by_numberFind a specific contact by its contact number (e.g., '001008')
get_accountGet a specific account by ID from the chart of accounts
get_account_balancesGet account balances (Saldenliste) computed from the accounting journal. Bexio has no native balance endpoint, so balances are derived: balance = sum(debits) - sum(credits) per account over the date range. Defaults to the current business year, which includes opening/carry-forward entries and therefore reflects the current balance. Returns each account with account_no, name, debit/credit totals an
get_additional_addressGet a specific additional address for a contact
get_bank_accountGet details of a specific bank account by ID
get_calendar_yearGet a specific calendar year by ID
get_commentGet a specific comment by ID from a document
get_company_profileGet the company profile including name, address, and settings
get_contactGet a specific contact by ID
get_contact_relationGet a specific contact relation by ID
get_currencyGet details of a specific currency by ID
get_currency_exchange_ratesGet exchange rates for a specific currency (by ID, from list_currencies), optionally for a historical date. Useful for multi-currency reporting and conversions.
get_deliveryGet a specific delivery by ID
get_fileGet a specific file's metadata by ID
get_iban_paymentGet details of an IBAN payment by ID
get_invoiceGet a specific invoice by ID
get_invoice_pdfGet an invoice as PDF (returns base64-encoded content)
get_itemGet a specific item by ID
get_journalQuery the accounting journal with optional date range. Returns journal entries for the specified period.
get_manual_entryGet a specific manual entry by ID
get_open_invoicesGet all open invoices (draft and sent/pending)
get_overdue_invoicesGet all overdue invoices
get_payment_typeGet a specific payment type by ID
get_qr_paymentGet details of a QR payment by ID
get_taxGet a specific tax by ID
issue_deliveryIssue a delivery
issue_invoiceIssue an invoice
list_account_groupsList account groups (read-only hierarchy). Account groups organize the chart of accounts into categories.
list_accountsList chart of accounts with pagination. Returns all accounts in the chart of accounts.
list_additional_addressesList additional addresses for a contact
list_all_invoicesList every invoice in Bexio by paging automatically
list_all_statusesList all document statuses for invoices, quotes, and orders
list_bank_accountsList all configured bank accounts in Bexio. Returns account details including IBAN, bank name, and currency. Use this to get valid bank_account_id values before creating payments.
list_business_yearsList business/fiscal years (read-only). Business years define fiscal periods for accounting.
list_calendar_yearsList calendar years defined in the system
list_commentsList all comments for a specific document (quote, order, invoice, or delivery)
list_companiesList the Bexio companies (mandates) this server is configured for. Returns each company's label, its real company name, and which one is currently ACTIVE. Use this to discover the available companies before switching with select_company.
list_contact_relationsList all contact relations
list_contactsList contacts from Bexio with optional pagination and filtering
list_currenciesList all currencies configured in Bexio. Returns currency codes (CHF, EUR, USD, etc.) with their rounding factors for invoicing.
list_currency_codesList all ISO currency codes Bexio supports (for use when creating currencies).
list_deliveriesList deliveries from Bexio with optional pagination
list_filesList files from Bexio with optional pagination
list_invoice_statusesList all available invoice statuses with their meanings
list_invoicesList invoices from Bexio with optional pagination
list_itemsList items from Bexio with optional pagination
list_manual_entriesList manual journal entries
list_payment_typesList all payment types available for invoices and payments
list_permissionsList all available user permissions in the Bexio account (v3.0 API)
list_taxesList taxes from Bexio with optional pagination
list_vat_periodsList VAT periods (read-only). VAT periods define reporting periods for value-added tax.
mark_invoice_as_sentMark an invoice as sent
pingTest tool that returns pong - validates SDK integration
restore_contactRestore a previously deleted contact from trash.
revert_invoice_to_draftRevert an issued invoice back to draft status
search_accountsSearch accounts by criteria. Use field/value/criteria pattern for flexible searching.
search_additional_addressesSearch additional addresses for a contact by criteria
search_contactsSearch contacts by name, email, or other fields
search_deliveriesSearch deliveries via the Bexio search endpoint. Use query for simple text search, or filters for advanced criteria.
search_invoicesSearch invoices via the Bexio search endpoint
search_invoices_by_customerSearch invoices by customer name (finds contact, then invoices)
search_itemsSearch items by name
select_companySwitch the ACTIVE Bexio company (mandate). Every other tool operates on the active company, so call this first whenever the user refers to a specific company (e.g. "in Globex, list open invoices"). Pass the company's label exactly as shown by list_companies. The active company persists until you switch again.
send_invoicewrite actionSend an invoice
update_additional_addresswrite actionUpdate an additional address for a contact
update_company_profilewrite actionUpdate company profile settings
update_contactwrite actionUpdate an existing contact's information
update_currencywrite actionUpdate an existing currency's settings
update_filewrite actionUpdate a file's metadata in Bexio
update_iban_paymentwrite actionUpdate a pending IBAN payment. Only pending payments can be modified. Note: this cannot attach the payment to a supplier bill — Bexio returns 403. To pay a bill, create the payment via `create_outgoing_payment` with a `bill_id`.
update_manual_entrywrite actionUpdate a manual entry
update_qr_paymentwrite actionUpdate a pending QR payment. Only pending payments can be modified.
upload_filewrite actionUpload a file to Bexio. File content must be provided as base64 encoded string for MCP JSON transport.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan244 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner6/10
What the publisher says
From the Bexio repository's README, as published. We do not edit it. Read it on GitHub
@promptpartner/bexio-mcp-server
Complete Swiss accounting integration for Bexio via the Model Context Protocol (MCP). Works with Claude Desktop, n8n, and any MCP-compatible client.
Manage invoices, contacts, projects, time tracking, and 300+ more tools through AI conversation or workflow automation.
⚠️ Early Release Software
This project is under active development. While it's functional and tested, you may encounter bugs or unexpected behavior. Features will continue to be added and improved over time. Please report any issues you find!
Compatibility
Quick Start
For Claude Desktop
Option A: MCPB Bundle (Easiest)
- Download the latest .mcpb file from GitHub Releases
- In Claude Desktop, go to Settings → Extensions
- Install the extension using one of these methods:
- Double-click the downloaded .mcpb file, or
- Drag and drop the file onto the Extensions window, or
- Click Advanced Settings → Install Extension and select the file
- Enter your Bexio API token when prompted
Option B: npm
Add to claudedesktopconfig.json:
{
"mcpServers": {
"bexio": {
"command": "npx",
"args": ["@promptpartner/bexio-mcp-server"],
"env": {
"BEXIO_API_TOKEN": "your-token-here"
}
}
}
}Config location:
- macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json
- Windows: %APPDATA%\Claude\claudedesktopconfig.json
For n8n and Other HTTP Clients
Start the server in HTTP mode, with a bearer token:
BEXIO_API_TOKEN=your-token BEXIO_HTTP_TOKEN=$(openssl rand -hex 32) \
npx @promptpartner/bexio-mcp-server --mode http --host 127.0.0.1 --port 8000Clients then send Authorization: Bearer on every request (GET /, the health check, stays open).
Security: every tool reads or changes your books. Without BEXIOHTTPTOKEN the HTTP
endpoints are unauthenticated: on 0.0.0.0 (the default) anyone who can reach the port
can use them, and because CORS allows any origin, even a loopback-only server can be
called by a web page open in your browser. The server warns at startup when no token is
set. Local file paths (uploadfile filepath, downloadfile outputpath) are
refused over HTTP unless BEXIOFILEDIR names a directory to confine them to.
The server exposes MCP over HTTP at http://localhost:8000. Configure your MCP client to connect to this endpoint.
For Other stdio Clients
BEXIO_API_TOKEN=your-token npx @promptpartner/bexio-mcp-serverOr build from source:
git clone https://github.com/promptpartner/bexio-mcp-server
cd bexio-mcp-server/src
npm install && npm run build
BEXIO_API_TOKEN=your-token node dist/index.jsGetting Your Bexio API Token
- Go to developer.bexio.com
- Log in with your regular Bexio account
- Navigate to Personal Access Tokens
- Click Create New Token
- Copy the token and use it in your configuration
Features
This MCP server provides 315 tools across all Bexio domains:
Contacts & CRM
- Create, update, search contacts
- Contact groups, sectors, salutations, titles
- Contact relations management
Invoices & Sales
- Full invoice lifecycle (create, issue, send, cancel)
- Quotes with accept/decline workflows
- Orders with delivery management
- Incoming payments tracking
- Interactive invoice preview (Claude Desktop)
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y @promptpartner/bexio-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add bexio-mcp-server -- npx -y @promptpartner/bexio-mcp-server
Bexio: common questions
- Is Bexio MCP server safe?
- Yes, by our scan: it is graded A (89/100). Read the Bexio safety report
- How do I install Bexio?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Bexio need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Bexio maintained?
- The last commit was 2 days ago (2026-09-25). The latest release is v2.5.0.
- What can I use instead of Bexio?
- Servers from other publishers that do the same job: Xero MCP server, E Arveldaja MCP server and Xero MCP server. Compare all Bexio alternatives.
Alternatives to Bexio
Same job from other publishers: the closest match first, then the best rated.
- XeroMCP server for Xero — global cloud accounting: contacts, invoices, payments, items, reportsnot reviewedGrowingB
- E ArveldajaEstonian e-arveldaja (RIK e-Financials) accounting — invoices, bank import, reports.not reviewedGrowingB
- XeroXero MCP server for invoices, contacts, payments, quotes, and financial reports.not reviewedGrowingA
BankMCP™Read-only MCP server for your own bank accounts via Enable Banking. Self-hosted, one user.not reviewedEstablishedA- three.ws TutorRead a Pay-As-You-Learn tutoring session's itemized tab and close it for an attested invoice.not reviewedEstablishedA