Odoo 17 turns a confirmed sales order or a completed delivery into a draft customer invoice, which you check, validate, send by email or customer portal, and settle with a payment that closes the receivable. Payment providers such as Stripe, PayPal, Adyen, Mollie and Razorpay let the customer pay it themselves. Invoicing is part of Odoo 17 Community; the full Accounting app is Enterprise.
Odoo 17 makes invoicing part of your natural sales flow:
- Create a sales order or deliver a product
- Odoo generates a draft invoice
- Review and validate the invoice
- Send to the customer (email or portal)
- Accept payment via bank, check, or online
This seamless flow ensures you never miss billing for your services or shipments.
Creating and Sending Invoices
You can create invoices from:
- 💼 A confirmed sales order
- 🚚 A completed delivery
- 📝 Manually for custom billing (consulting, deposits, etc.)
Fields to configure include:
- Customer and delivery address
- Product lines with pricing, tax, and quantity
- Terms, due dates, and payment instructions
Once validated, click "Send & Print" to email the invoice or share a portal link.
Recurring Invoices and Subscriptions
If you offer subscription-based services or retainers:
- Use the Subscriptions module for automated recurring billing
- Define contract period, renewal cycle, and invoice generation rules
- Track renewals, churn, and MRR (monthly recurring revenue)
Odoo will handle recurring invoices and notify customers on renewal dates.
Accepting Online Payments
Odoo integrates with popular payment gateways like:
- 💳 Stripe
- 🏦 PayPal
- 🌍 Adyen, Mollie, Razorpay, and more
Enable online payments in your settings and customers will be able to pay invoices directly from their portal. Payment confirmations are synced automatically to Accounting.
Tracking Payments and Payment Matching
Each invoice has a clear payment status:
- 🟢 Paid
- 🟡 Partially Paid
- 🔴 Unpaid
Odoo supports:
- Batch payments
- Manual or automatic bank reconciliation
- Multi-currency support
Pro Tip: Import your bank statements and let Odoo auto-match payments to open invoices.
Customer Reminders and Follow-ups
Improve cash flow with automatic reminders:
- 📩 Email follow-ups for overdue invoices
- 📆 Configure days, templates, and escalation steps
- 💬 Add manual notes or schedule calls with your AR team
This keeps your receivables under control and reduces the need for manual chasing.
Receivables Reports and Cash Flow
Finance teams can monitor:
- 📊 Aged receivables by customer
- 📅 Payment due dates and amounts
- 💰 Revenue recognition and deferred revenue
- 📈 Cash forecast based on open invoices
All reports can be exported to Excel or shared with stakeholders.
Conclusion
Odoo 17 makes invoicing smarter, faster, and more accurate. You can automate billing, accept payments online, and track receivables — all within one clean interface.
Need help setting up invoicing automation in Odoo 17? Our finance experts are here to help.
Questions we get asked
Do I need Odoo 17 Enterprise to send invoices?
No. The Invoicing app in Odoo 17 Community creates, validates, emails and tracks customer invoices, records payments and posts the journal entries. Enterprise adds the full Accounting app: the bank reconciliation widget, automatic bank feeds, financial reports such as Aged Receivable and Balance Sheet, and automated payment follow-ups. Many businesses start on Community Invoicing and move up when reporting demands it.
Can customers pay an Odoo 17 invoice online?
Yes. Odoo 17 Community ships payment provider modules for Stripe, PayPal, Adyen, Mollie, Razorpay and others. Once a provider is enabled and published, the invoice email and the customer portal both show a payment button. A successful payment creates the payment record in Odoo and marks the invoice paid or partially paid, with nothing keyed in by hand.
How do I invoice only part of a sales order in Odoo 17?
On a confirmed sales order click Create Invoice and pick Down payment, as a percentage or a fixed amount, for a deposit. Alternatively set the order lines to be invoiced on delivered quantities, so only what has actually shipped becomes billable. Either way the order keeps showing how much is still left to invoice, and you repeat the step later.
Does Odoo 17 chase overdue invoices automatically?
Automatic payment follow-ups, with reminder levels, email templates and a chase schedule per customer, come from the Follow-up module in Odoo 17 Enterprise Accounting. Odoo 17 Community still shows overdue invoices through a filter on the invoice list, and you can schedule a call or an email activity on each one. The reminder wording and timing are yours to define.
