Skip to main content
Glama

Billy MCP by usefulapi

Server Details

Read Billy invoices, bills, contacts, products and postings; create contacts and draft invoices.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

15 tools
billy_create_contactCreate a contact
Destructive
Inspect

WRITE: create ONE new contact (customer and/or supplier) in the company's Billy account. It does not check for duplicates (call billy_list_contacts first) and nothing is sent to the contact. Not idempotent: a repeat call creates a second contact. POST /contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
eanNoEAN location number for e-invoicing (Denmark).
cityNoCity.
nameYesCompany or person name.
typeNocompany (default) or person.
emailNoPrimary contact e-mail (stored as the primary contact person; nothing is sent).
phoneNoPhone number.
streetNoStreet and number.
zipcodeNoPostal code.
contact_noNoYour own customer or supplier number.
country_idNoISO country code (default DK).
is_customerNoCustomer flag (default true).
is_supplierNoSupplier flag (default false).
registration_noNoCVR number (Denmark) or EU VAT number.
billy_create_draft_invoiceCreate a draft invoice
Destructive
Inspect

WRITE: create ONE invoice in the DRAFT state for an existing contact. The invoice is NOT approved, booked, numbered into the ledger or sent: the user reviews it in Billy and approves and sends it there. The invoice number is assigned by Billy. No payment is created. Not idempotent: a repeat call creates a second draft. POST /invoices with state=draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
linesYes1-100 invoice lines.
tax_modeNoWhether unit prices include (incl) or exclude (excl) VAT (default: the company's setting).
contact_idYesThe customer's contact id (from billy_list_contacts or billy_create_contact).
entry_dateNoInvoice date yyyy-mm-dd (default today, UTC).
currency_idNoInvoice currency, e.g. DKK (default: the company's base currency).
contact_messageNoMessage to the customer shown at the top of the invoice PDF.
billy_get_billGet a bill
Read-only
Inspect

One supplier bill by id with its lines. GET /bills/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe bill id (from billy_list_bills).
billy_get_contactGet a contact
Read-only
Inspect

One contact by id, with its contact persons (names and e-mail addresses). GET /contacts/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe contact id (from billy_list_contacts).
billy_get_invoiceGet an invoice
Read-only
Inspect

One invoice by id with its lines (product, description, quantity, unit price, amount, tax) and its payment associations. GET /invoices/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe invoice id (from billy_list_invoices).
billy_get_organizationGet the company
Read-only
Inspect

The Billy company the access token belongs to: id, name, address, registration (CVR) number, base currency, VAT settings, fiscal year, default payment terms, invoice numbering, default accounts. Good first call. GET /organization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

billy_get_productGet a product
Read-only
Inspect

One product by id with its unit prices per currency. GET /products/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe product id (from billy_list_products).
billy_list_accountsList accounts (chart of accounts)
Read-only
Inspect

The chart of accounts: account number, name, group, nature, VAT rate, bank-account flag and bank details (IBAN, bank name) of bank accounts. With is_bank_account=true this lists the bank accounts whose ids billy_list_bank_lines needs. Paged. GET /accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
page_sizeNoRecords per page, 1-200 (default 50).
is_bank_accountNotrue = only bank accounts.
billy_list_bank_linesList bank lines
Read-only
Inspect

List the bank-statement lines of ONE bank account (read only; nothing is matched or reconciled): date, description, amount, side (debit/credit), reconciled flag, receipt state. Get the account id from billy_list_accounts with is_bank_account=true. Paged. GET /bankLines.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search over description or amount.
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
sideNoOnly debit (money in) or credit (money out) lines.
statusNoLine status (the API defaults to booked).
page_sizeNoRecords per page, 1-200 (default 50).
account_idYesThe bank account id (required).
max_amountNoAmount at most.
min_amountNoAmount at least.
is_reconciledNotrue = only reconciled lines, false = only unreconciled.
receipt_stateNoOnly lines with a missing or uploaded receipt.
sort_propertyNoSort by (default entryDate).
max_entry_dateNoEntry date on or before (yyyy-mm-dd).
min_entry_dateNoEntry date on or after (yyyy-mm-dd).
sort_directionNoSort direction (default ASC).
entry_date_periodNoDate period: all, year:2026, month:2026-03, quarter:2026-2, dates:2026-01-01...2026-01-31 ...
billy_list_billsList bills (supplier invoices)
Read-only
Inspect

List bills (purchase invoices from suppliers): supplier, dates, state (draft/approved/voided), amount, balance, isPaid, supplier invoice number. Filter by state, supplier, dates or paid status. Paged. GET /bills.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search over supplier name, description, voucher number, amount, supplier invoice number.
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
stateNoOnly bills in this state.
is_paidNotrue = only paid bills, false = only unpaid.
page_sizeNoRecords per page, 1-200 (default 50).
contact_idNoOnly bills of this supplier contact.
max_due_dateNoDue date on or before (yyyy-mm-dd).
min_due_dateNoDue date on or after (yyyy-mm-dd).
sort_propertyNoSort by (default entryDate).
max_entry_dateNoBill date on or before (yyyy-mm-dd).
min_entry_dateNoBill date on or after (yyyy-mm-dd).
sort_directionNoSort direction (default ASC).
suppliers_invoice_noNoExact supplier invoice number.
billy_list_contactsList contacts
Read-only
Inspect

List customers and suppliers: name, type, address, CVR/registration number, EAN, payment terms, customer/supplier flags. The API has no documented search filter, so search is applied to the returned page only (case-insensitive on name, contact number and registration number); page on with next_page to look further. Paged. GET /contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
searchNoKeep only contacts on the returned page whose name, contactNo or registrationNo contains this text.
page_sizeNoRecords per page, 1-200 (default 50).
billy_list_invoicesList invoices
Read-only
Inspect

List sales invoices and credit notes (newest first by default): number, date, due date, state (draft/approved/voided), amount, tax, balance, isPaid, contactId, currency. Filter by state, customer, number, date, period, paid status or free text. Paged. GET /invoices.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search over invoice number, order number, contact name, line description, amount.
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
stateNoOnly invoices in this state.
is_paidNotrue = only paid invoices, false = only unpaid.
page_sizeNoRecords per page, 1-200 (default 50).
contact_idNoOnly invoices of this contact (from billy_list_contacts).
invoice_noNoExact invoice number.
max_due_dateNoDue date on or before (yyyy-mm-dd); with is_paid=false this finds overdue invoices.
min_due_dateNoDue date on or after (yyyy-mm-dd).
sort_propertyNoSort by (default entryDate).
max_entry_dateNoInvoice date on or before (yyyy-mm-dd).
min_entry_dateNoInvoice date on or after (yyyy-mm-dd).
sort_directionNoSort direction (default ASC).
entry_date_periodNoDate period: all, year:2026, month:2026-03, quarter:2026-2, dates:2026-01-01...2026-01-31 ...
billy_list_postingsList ledger postings
Read-only
Inspect

List ledger postings (the bookkeeping entries): date, text, account, amount, side (debit/credit), currency, voided flag. Filter by account, date or period. Read only. Paged. GET /postings.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search over the posting text and the originator name.
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
is_voidedNotrue = only voided postings, false = only live ones.
page_sizeNoRecords per page, 1-200 (default 50).
account_idNoOnly postings on this account (from billy_list_accounts).
max_entry_dateNoEntry date on or before (yyyy-mm-dd).
min_entry_dateNoEntry date on or after (yyyy-mm-dd).
entry_date_periodNoDate period: all, year:2026, month:2026-03, quarter:2026-2, dates:2026-01-01...2026-01-31 ...
billy_list_productsList products
Read-only
Inspect

List products and services usable as invoice lines: name, product number, description, sales account, archived flag. The API has no documented search filter, so search is applied to the returned page only (name, productNo). Paged. GET /products.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
searchNoKeep only products on the returned page whose name or productNo contains this text.
page_sizeNoRecords per page, 1-200 (default 50).
billy_list_tax_ratesList tax (VAT) rates
Read-only
Inspect

The company's VAT rates: name, rate (as a fraction, 0.25 = 25 percent), whether it applies to sales or purchases, active flag. Paged. GET /taxRates.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
page_sizeNoRecords per page, 1-200 (default 50).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updates
    • First observedbilly_create_contact
    • First observedbilly_create_draft_invoice
    • First observedbilly_get_bill
    • First observedbilly_get_contact
    • First observedbilly_get_invoice
    • First observedbilly_get_organization
    • First observedbilly_get_product
    • First observedbilly_list_accounts
    • First observedbilly_list_bank_lines
    • First observedbilly_list_bills
    • First observedbilly_list_contacts
    • First observedbilly_list_invoices
    • First observedbilly_list_postings
    • First observedbilly_list_products
    • First observedbilly_list_tax_rates

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Integrates Billy's accounting system with MCP, providing tools to manage invoices, contacts, products, payments, and more via natural language.
    15
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Connects AI assistants to the Danish accounting platform Billy (billy.dk) for managing invoices, journal entries, balances, and receipts, with built-in human approval for all write operations.
    40
    34 npm
    1
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables local MCP-based accounting operations for Billy: receipt import with provenance, reviewed bookkeeping drafts, payments, and bank reconciliation.
    21
    14 npm
    1
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    Enables interaction with the Bokio accounting API for managing journal entries, invoices, customers, items, and more, with read-only mode by default for safety.
    18
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.