Invoicing is a paid feature. If your plan does not include it, every endpoint
below returns
403. Any member of a company that has the feature can use these
endpoints; there is no separate invoicing permission.The document lifecycle
This is the part that trips people up: creating a document does not produce an invoice anyone can pay. There are three distinct calls.1
Create a draft
POST /invoicing/documents returns a draft. It has no number, no PDF and no
payment link, and you can still change everything on it.2
Finalize it
POST /invoicing/documents/{id}/finalize allocates the next number from your
number range, freezes an EN 16931 record of the document, and renders the PDF
and the e-invoice XML. After this the document is immutable — corrections go
through a credit note or a cancellation, which is what the law expects.3
Send it
POST /invoicing/documents/{id}/send emails the PDF and XML to the buyer,
with a payment link when a payment provider is connected.buyer.name is strictly required to create a draft. Finalizing needs more:
at least one line item, and a Steuernummer or USt-IdNr on your invoicing settings.
Document kinds and statuses
Linking a document to the rest of meetergo
GET /invoicing/buyer-prefill/company/{crmCompanyId} builds a buyer block from
a CRM company you already have, so you do not have to reassemble the address.
Tax treatment
SettaxTreatment on the document when the default German standard rate does not
apply:
standard, tax_free_de, reverse_charge_13b, reverse_charge_18b,
intra_community, oss, export, out_of_scope.
Per line you can also set taxCategory and taxRate.
Getting paid
Two paths, and most businesses use both. Hosted payment page.GET /invoicing/documents/{id}/payment-link returns the
public URL of the invoice. Every finalized document has one; a draft has none
yet, and the endpoint returns { "url": null } until you finalize it.
Whether the buyer can pay there is a separate question: the page offers card,
PayPal and Mollie only for the providers you have connected, the money moves on
your own account, and the payment is recorded against the invoice automatically
through the provider’s webhook. With no provider connected the page still shows
the invoice, and send leaves the payment link out of the email.
Bank transfer and cash. Record these yourself:
method accepts bank_transfer, cash or other. paidAt lets you backdate to
the Wertstellung. The invoice’s amountPaid, paidAt and status are derived
from the payments on it, so a partial amount produces partially_paid. A payment
recorded by mistake is removed with DELETE .../payments/{paymentId}.
Mahnwesen
Configure reminder levels once, inPUT /invoicing/settings:
autoSend on, meetergo sends the next due reminder on weekday mornings.
Levels never skip: the first counts from the due date, later ones from the last
reminder. Each reminder is its own PDF on your letterhead with the original
invoice attached; the invoice document itself is never altered.