# Invoicing MCP: quotes and invoices handled by your AI

> Ondes PRO’s invoicing MCP server: your AI drafts quotes, turns them into invoices, chases late payments and issues credit notes, never erasing an invoice.

Updated on 2026-10-21 · The Ondes PRO team · https://ondes.pro/en/integrations/mcp/modules/invoicing

Ondes PRO’s **MCP server** opens your workspace’s invoicing to your AI assistant: it drafts a quote, sends it, turns it into an invoice once accepted, chases overdue invoices and issues a credit note when something needs fixing. Every write goes through the real `billing/devis`, `billing/factures` and `billing/avoirs` resources — and an issued invoice can never be deleted or voided.

## “Cancel that invoice”: how a well-guarded AI responds

_Example conversation · demo data (Atelier Lumen)_

> **You** : Cancel invoice FAC-2026-0203 for Galerie Ressac and reissue it without the returned Brass pendant.
>
> 🔧 `ondes_impossible` Confirms that an issued invoice can be neither deleted nor voided: corrections go through a credit note.
>
> 🔧 `ondes_appeler` `GET billing/factures` searching FAC-2026-0203 — paid, 3 lines, including 1 Brass pendant at €245 excl. VAT, 20% VAT.
>
> **Assistant** : An issued invoice cannot be cancelled: the rule is to issue a **credit note**. I suggest a partial credit note of **€245 excl. VAT** (€294 incl. VAT) against FAC-2026-0203, reason “Return of a damaged Brass pendant”. The invoice stays paid; the credit note records the refund owed to the gallery. Shall I issue it?
>
> **You** : Yes, and send it to them.
>
> 🔧 `ondes_appeler` `POST billing/factures/203/avoir/` (`nature: partiel`, reason, amount, rate) — credit note AV-2026-0011 issued, real write stated.
>
> 🔧 `ondes_appeler` `POST billing/avoirs/11/envoyer/` — PDF emailed to the gallery.
>
> **Assistant** : Credit note AV-2026-0011 is issued and sent. If another item came back, a second credit note on this invoice would be capped at the gross amount still left to credit.

## What your AI can read and do in invoicing

An invoicing MCP server is only useful if it follows the same rules as the screen. Ondes PRO’s calls the API’s real actions: create a quote and its lines, get its net, VAT and gross totals, email it as a PDF, duplicate it, send it for e-signature, then convert it into an invoice once the customer accepts.

On invoices, the assistant reads each document’s state — including **“overdue”**, which is never typed in by hand but computed (due date passed and invoice unpaid). It can record a payment, email reminders for the overdue invoices in a selection, export a list as CSV for your accountant, and issue a full or partial credit note.

## Invoicing resources available over MCP

| Resource | What the AI reads | What the AI can do |
| --- | --- | --- |
| `billing/devis` | Quotes, status, customer, totals, PDF | Create, `envoyer/`, `dupliquer/`, `vers-signature/`, `convertir-facture/`, `statut/` |
| `billing/lignes-devis` | Quote lines | Add, edit or remove a line |
| `billing/factures` | Invoices, state (incl. overdue), due date, totals | `envoyer/`, `statut/` (paid), `avoir/`, `relancer/`, `exporter/` |
| `billing/lignes-facture` | Invoice lines | Add or edit a line |
| `billing/avoirs` | Issued credit notes, reason, amount | `envoyer/` the credit note PDF |
| `billing/clients` | Billed customers, contact details | Create or update a customer |

If no number is supplied, a quote is numbered automatically in the company’s sequence (DEV-2026-…).

## Issued invoice, credit note required: invoicing safeguards

An AI that invoices has to follow invoicing rules, not work around them. They are written into the API.

- **No invoice deletion**: invoices are kept by legal obligation. The resource has no `DELETE`, and `ondes_impossible` tells the assistant so before it goes looking for a route that does not exist.
- **No voiding, a credit note instead**: the “cancelled” status is refused. A credit note requires a reason, can be full or partial, and its total is capped at the invoice’s gross amount.
- **Dedicated numbering**: credit notes follow their own sequence (AV-YYYY-NNNN), in the company of the invoice concerned.
- **“Overdue” is computed**: the assistant cannot mark an invoice overdue, nor take one out of that state by changing its status. Only payment changes it.
- **Targeted reminders**: `relancer/` automatically skips invoices in the selection that are not overdue.
- **Real writes are flagged**: invoicing has no test twin. Every write is reported as real, and `simuler: true` lets you check a quote before creating it.

## Typical requests and what happens

| You ask | What the assistant does |
| --- | --- |
| “Quote 6 showroom armchairs for Le Fil Rouge.” | Dry-runs the body, creates the quote and its lines in `billing/devis`, gives you the totals. |
| “Le Comptoir des Marées accepted — invoice them.” | Sets the quote to accepted, then calls `convertir-facture/`. |
| “Chase every invoice more than 15 days overdue.” | Lists overdue invoices, shows them to you, then calls `relancer/`. |
| “Studio Nord paid by bank transfer yesterday.” | Calls `statut/` with “paid” and the payment date. |
| “Export October’s invoices for the accountant.” | Filters the month’s invoices and calls `exporter/` (CSV, semicolon-separated). |

## The invoice at the end of a chain of modules

MCP servers built only for invoicing stop at the document. In Ondes PRO, the same conversation can start from the customer’s record in [the CRM](https://ondes.pro/en/integrations/mcp/modules/crm), check availability in [inventory management](https://ondes.pro/en/integrations/mcp/modules/inventory), then produce the quote — and, once accepted, put the delivery date in [the calendar](https://ondes.pro/en/integrations/mcp/modules/calendar).

The other way round, an invoice that stays unpaid can become a follow-up task in [Kanban](https://ondes.pro/en/integrations/mcp/modules/kanban), or a note on the customer’s CRM record after your call. These hops come naturally because one server handles every module, with one set of permissions.

> **Check before sending** — The assistant can email a quote or an invoice to your customer. Ask it to create the document first and give you the totals, then review the PDF in Invoicing before approving the send. For view-only access, use an API key limited to reading invoicing — see [MCP server security](https://ondes.pro/en/integrations/mcp/security).

## Keep exploring

- [Small businesses and trades](https://ondes.pro/en/integrations/mcp/industries/small-businesses) — Quotes, invoices, reminders and scheduling prepared by AI and approved by you, even between jobs.
- [Web agencies and IT services](https://ondes.pro/en/integrations/mcp/industries/web-agencies) — One MCP server per client, documentation that is always accurate, and a test mode to ship without breakage.
- [Modules available over MCP](https://ondes.pro/en/integrations/mcp/modules) — Eleven business modules behind one MCP server: what the assistant can read and do in each.

## Frequently asked questions

### What is an invoicing MCP server?

It is a standard connector that lets an AI assistant read and produce quotes, invoices and credit notes in your software. Ondes PRO’s is built into every workspace and applies the same rules as the invoicing screen.

### Can the AI delete or void an invoice?

No. An issued invoice cannot be deleted and never moves to a “cancelled” status: corrections go through a full or partial credit note, with a mandatory reason and a total capped at the invoice’s gross amount.

### Can it chase customers who pay late?

Yes. The `relancer/` action emails a reminder for each overdue invoice in a selection and skips the rest. The “overdue” state is computed from the due date and the payment.

### Can the AI turn a quote into an invoice?

Yes: once the quote is accepted, the `convertir-facture/` action creates the matching invoice with frozen lines. The assistant can also send the quote for e-signature beforehand.

### Is there a test mode for invoicing?

No, invoicing has no test twin: every write is real and reported as such. Before a first create, `simuler: true` checks the request body without saving anything.

### Can my accountant get the invoices?

The assistant can export a selection of invoices as CSV (semicolon-separated, comma as decimal mark), a format that opens straight in a spreadsheet.
