Skip to main content
Invoicing turns work into money: draft an offer or an invoice, finalize it into a numbered e-invoice, send it, take payment, and chase what stays unpaid. Documents can be linked to a CRM contact, a deal and a booking, so an invoice always knows what it was for.
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.
Only 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

Set taxTreatment 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}.
meetergo does not read your bank account. Incoming transfers have to be recorded through this endpoint, either by hand in the dashboard or by your own automation. The invoice PDF carries an EPC QR code so the buyer’s banking app can prefill the transfer, but the match back is yours to make.

Mahnwesen

Configure reminder levels once, in PUT /invoicing/settings:
With 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.

Products, recurring invoices and export