Skip to content

Quote to Invoice

In Odoo, when a customer accepts a quote (sale.order moves to “sale” state), an invoice has to be created, possibly validated, and sometimes emailed. This workflow automates the chain: as soon as the quote is confirmed, the invoice is created and a Telegram notification fires if the amount crosses a configurable threshold.


ProblemWithout automationWith automation
Invoicing forgottenQuote confirmed, invoice never createdAutomatic creation
Invoicing delayInvoice 3 days after confirmationInstant
No visibilityDiscover the sale inside OdooInstant Telegram notification

Quote-to-Invoice workflow

Yes

No

Yes

No

Yes

sale.order · state → sale

Odoo Automated Action

N8N webhook /odoo/sale-confirmed · internal

Check duplicate invoice

Create account.move · Odoo XML-RPC

auto_post enabled?

Validate invoice

auto_send_email enabled?

Send invoice email

amount > threshold EUR?

Notification Hub

An Odoo Automated Action watches sale.order records moving to “sale” and posts an internal webhook to N8N.

  1. Verification — The workflow checks that no invoice already exists for this quote (duplicate prevention)
  2. Creation — Odoo XML-RPC call to create the invoice (account.move) from the sale.order
  3. Auto-post (optional) — If auto_post is enabled, the invoice moves from draft to validated
  4. Email send (optional) — If auto_send_email is enabled, the invoice email is sent to the customer
  5. Notification — If the amount crosses the threshold (default: 1000 EUR), a Telegram notification is sent
ParameterDefaultDescription
auto_postfalseAutomatically validate the invoice
auto_send_emailfalseSend the email to the customer
notification_threshold1000Telegram notification threshold (EUR)

LimitImpactMitigation
No accounting validationInvoice auto-posted without reviewauto_post disabled by default
Fixed thresholdSame threshold for every customerConfigurable per workflow

If manager validation is needed: