Tax rate on this server is per line item, not per invoice. A 23 percent domestic line and a zero rated reverse charge line sit on the same document, the totals block prints one tax line per distinct rate, and the total adds up. That is the whole mechanism.
What the server does not do is decide whether reverse charge applies to your sale. That depends on where both parties are established, what you sold, and whether the customer is VAT registered, and no tool in this repository is going to guess it. You decide; the server prints what you decided, correctly and consistently.
Set my business profile: Nova Studio, Warsaw, VAT id PL1234567890, default currency EUR, default tax rate 23, payment terms 14 days.
Paste this into Claude with the server connected.
That is business_set. It also takes an IBAN, a bank name, a logo path and an invoice
prefix. Anything it does not recognise is reported back to you rather than dropped quietly, so a typo
in a field name surfaces immediately.
Add a client: Beta GmbH, Musterstrasse 1 Berlin, VAT id DE811234567, email billing@beta.example.
Paste this into Claude with the server connected.
client_add. The client VAT id is the field that matters here: it is what gets printed
on the document, which is the point of recording it. An identical record is refused by name rather
than stored twice.
Invoice Beta GmbH for 20 hours of development at 90 EUR, zero rated, reverse charge, due in 14 days.
Paste this into Claude with the server connected.
invoice_create with the line carrying tax_rate: 0. The number is allocated
in sequence as INV-YYYY-NNNN and is never reused. Subtotal 1,800.00 EUR, tax 0.00, total
1,800.00 EUR, with Beta's VAT id in the BILL TO block.
Mixing rates on one document works the same way. Twelve hours at 23 percent and eight hours at zero produce two tax lines, and the arithmetic is done in integer minor units with each line rounded once and then summed, so the printed total equals the sum of the printed lines. There is no floating point drift between what the PDF shows and what the client pays.
Carry two currencies. Items may each declare a currency, and a mix is refused rather than billed as
if it were one. If you have USD hours and a EUR receipt to bill together, convert first and issue in
one currency. The currency server's fx_rates_for gives you European Central Bank
reference rates to do it with, and invoice_from_hours takes
target_currency plus fx_rates so the rate you used is the rate on the
document.
Three invoices per calendar month, and the PDF carries a small footer line. The overdue report is
free. Pro at 19 dollars once removes the invoice cap and the footer and allows a logo and a custom
prefix. Those figures are from data/facts.json in the repository. Ten tools on this
server, counted from data/tools.json.
No. It stores the string you gave it and prints it. There is no VIES lookup, because the server makes no network calls at all. Validate the id yourself before you rely on zero rating.
Put it in the line description, which is free text and prints on the document. There is no dedicated legal-notice field, so the honest answer is that you supply the wording your jurisdiction requires rather than the server supplying it for you.
Then charge your domestic rate on the line and the invoice prints one tax line at that rate. Nothing about the mechanism changes; only the number you put in tax_rate does.
Yes. The quotes server carries VAT, discounts and multiple currencies on the same engine, holds the client VAT id, and quote_accept turns an accepted quote into the invoice without retyping the lines. Its free tier is 5 open quotes at a time with unlimited pasteable text quotes.
All MCP servers and prices · All guides · Buy the bundle $39