Skip to main content
All Billy tools are read-only and are called via tools/call over POST /billy/mcp. The connector is connected with an access token (Billy’s permanent, organization-scoped token, no OAuth). See Forbind Billy.
Endpoint: https://mcp.consile.ai/billy/mcp. Billy is its own named connector with only its own tools. The transport namespaces each tool as billy__<tool> (e.g. billy__get_invoice); your AI assistant invokes these for you, so the names below are the bare tool names.
This connector is read-only by construction: the client exposes only a generic JSON GET (getJson) and has no write verb (no post/put/delete) at all. Every one of the 17 tools is readOnly. Your AI can read your figures but can never change, create or delete anything in Billy.

Shared conventions

No organizationId

Billy’s access token is organization-scoped: one token maps to exactly one Billy company, so no tool takes an organizationId. The token itself scopes every request. get_organization is the health-check that tells you which company the connected token belongs to. A customer with several Billy companies connects one instance (one token) per company (multiInstance).

Pagination

List tools return a compact { items, pagination } envelope. Billy returns a real filtered total (unlike some other connectors), so pageCount and hasMore are reliable.
integer
default:"1"
1-based page number.
integer
default:"50"
Rows per page. Default is 50 on every list tool except list_currencies (default 200). Billy hard max is 1000.

Amounts, ids and dates

Billy amounts are floats in major units: 1200 means 1200.00 DKK. Never divide by 100. On invoices, bills and lines the taxMode field (incl/excl) governs whether the amount already includes VAT. Interpret VAT via list_tax_rates.
string
All Billy ids (invoiceId, billId, contactId, accountId, daybookId, transactionId, …) are opaque strings, never integers.
string (YYYY-MM-DD)
Date-only, no time or zone. minEntryDate/maxEntryDate are inclusive bounds on the invoice and bill lists.

Embedded children

get_invoice embeds its lines + customer contact and returns a downloadUrl (the invoice PDF link). get_bill embeds its lines + supplier contact. list_transactions, get_transaction embed the balanced postings. These get-one tools are already self-contained, so no follow-up call is needed.

Error contract

A 429 is retried once after ~2 seconds; all other 4xx are never retried. Every upstream call is bounded at 15 seconds. See Errors & limits.

Organization & reference


Sales: invoices (accounts receivable)

Invoice state is draft or approved; approved is a finalised invoice (a one-way door in Billy).

Purchases: bills (accounts payable)


Contacts

Billy keeps one contact register for both customers and suppliers. The isCustomer/isSupplier flags split them; registrationNo carries the CVR.

Finance / general ledger


Code examples

This connector vaults the customer’s Billy access token with no upstream validation at connect time, so an invalid or revoked token surfaces here as a “reconnect required” error (401) on the first call rather than at connect. A 403 means the token lacks permission and reconnecting the same token will not help. See Errors & limits.