Skip to content

All tools

Every tool of the EenFactuurMaken.nl MCP server with what it does, an example request and example arguments, plus the resources and the built-in prompts.

Your assistant picks the right tool itself. You don't need to know the names, but it helps to know what's possible. Each tool shows whether it only reads, changes something or sends something; AI apps usually ask for your confirmation before changing or sending.

Give amounts in euros with unitPrice (for example 85 or "85.50"), or in cents with unitPriceCents. Prices are always excluding VAT.

Account and business

ToolTypeWhat it does
get_accountReadYour plan, its limits and how many invoices you have left this month.
get_business_profileReadYour business details, numbering and defaults, plus what's still missing for a valid invoice.
update_business_profileChangeUpdate business details, numbering, defaults and house style. Not: IBAN, BIC, account holder name, reply-to address and payment link (those only work in the web app).

Example: "Set my KvK number to 12345678 and my VAT ID to NL001234567B01."

json
{ "kvkNumber": "12345678", "vatNumber": "NL001234567B01" }

Customers and products

ToolTypeWhat it does
list_customersReadSearch customers by name, email, KvK or VAT number.
get_customerReadOne customer with all details.
create_customerChangeAdd a customer. For Dutch businesses with a KvK number, for reverse charge and EU customers with a VAT number.
update_customerChangeUpdate a customer. archived: true archives, false restores.
list_productsReadSearch products and services.
create_productChangeA product or service with a price (excl. VAT), unit and VAT rate.

Example: "Add Muster GmbH from Berlin, VAT number DE123456789."

json
{ "type": "business", "name": "Muster GmbH", "city": "Berlin", "country": "DE", "vatNumber": "DE123456789" }

Invoices

ToolTypeWhat it does
list_invoicesReadSearch invoices by status (including open and overdue), kind, customer, text or period.
get_invoiceReadAn invoice with lines, totals, VAT per rate and (for a draft) the checks.
create_invoiceChangeCreate a draft, for an existing customer (customerId) or a new one (customer). Nothing is numbered or sent.
update_invoiceChangeUpdate a draft. lines replaces all lines.
duplicate_invoiceChangeCopy an invoice into a new draft dated today. Counts towards your monthly limit.
issue_invoiceFinaliseCheck, number and lock it. Can't be undone.
create_credit_noteFinalise (optional)A credit note for a finalised invoice: in full, or partially with lines. With issue: true it's finalised straight away.
mark_invoice_paidChangeMark an invoice as paid (today by default).
check_invoice_complianceReadCheck whether an invoice meets the Dutch requirements.
get_next_invoice_numberReadThe number the next invoice and credit note will get. Nothing is reserved.

Example: "Create an invoice for Bakkerij De Gouden Korst: 12 hours of web design at €85 and hosting for €120."

json
{
  "customerId": "…",
  "lines": [
    { "description": "Web design", "quantity": 12, "unit": "HUR", "unitPrice": 85 },
    { "description": "Hosting (year)", "unitPrice": 120 }
  ]
}

Example: "Credit €200 of invoice 2026-0012." (create_credit_note)

json
{
  "id": "…",
  "lines": [ { "description": "Discount on invoice 2026-0012", "unitPrice": 200, "vatRate": 21 } ]
}

All invoice fields of the REST API work here too, like vatTreatment, supplyType, supplyDate, currency, locale, reference, buyerReference, notes, paymentLink and (Pro) layoutId.

Sending

ToolTypeWhat it does
send_invoiceSendEmail a finalised invoice or credit note with the PDF (and UBL). To the customer's address by default.
send_payment_reminderSendSend a payment reminder now for an outstanding invoice.

On Free the same rules apply as in the app: only to your customer or yourself. See Sending by email.

Documents and figures

ToolTypeWhat it does
get_invoice_download_linksReadTemporary links (15 minutes by default, ttlMinutes 1 to 60) for the PDF and UBL. They work without signing in. For finalised invoices it also returns the publicUrl of the online invoice.
get_statsReadOutstanding, overdue, paid, turnover this year, your monthly limit and VAT per quarter per box. With quarter (and year) for another quarter.
list_recurring_invoicesReadYour recurring invoices (Pro).

Example: "How much VAT do I owe for the third quarter?" (get_stats)

json
{ "year": 2026, "quarter": 3 }

Resources

Every invoice is also available as the resource invoice://{id} (JSON, the same shape as the API). Apps that support resources show your latest 50 invoices and can add one to the conversation as context.

Prompts

Ready-made tasks your app can show as shortcuts (in Claude, for example, through the + or / menu):

PromptArgumentsWhat it does
create-invoicecustomer, work, languageCreate a correct invoice step by step: check your business details, find or create the customer, lines, VAT, checks, and after your approval issue and send it.
monthly-overviewmonth (YYYY-MM), languageA monthly overview: invoiced, paid, outstanding and overdue, plus the VAT for the quarter.
chase-overdue-invoiceslanguageFind overdue invoices and send reminders after your approval.

language is nl (default) or en. You'll find more ready-made requests in the prompt library.

Errors

If something goes wrong, your assistant gets a clear error with a tip, for example which details are missing for a valid invoice, or a link to your subscription for a Pro feature. The codes are the same as for the REST API.

Last updated on 13 October 2026

Stuck?

Email us at support@eenfactuurmaken.nl. Tell us what you tried and what happened, and we will help you out.

support@eenfactuurmaken.nl