Step‑by‑Step Guide to Set Up Automated Recurring Invoicing in Odoo 16
Step‑by‑Step Guide to Set Up Automated Recurring Invoicing in Odoo 16
Many service‑based businesses need to bill clients on a regular schedule—monthly subscriptions, maintenance contracts, or retainer fees. Doing this manually in Odoo can be time‑consuming and error‑prone. This tutorial shows you how to configure Odoo 16 so that invoices are generated automatically, sent to customers, and recorded without manual intervention.
Prerequisites
- An active Odoo 16 instance with Administrator access.
- The Invoicing (or Accounting) app installed.
- Customer records with valid email addresses.
- Basic understanding of Odoo’s menu navigation.
Enable Recurring Invoicing Feature
- Log in to Odoo as an administrator.
- Navigate to Apps → Apps. Search for “Recurring Invoicing”.
- If the module Recurring Invoicing is not installed, click Install. Wait for the installation to finish.
- After installation, go to Invoicing → Configuration → Settings.
- In the Settings page, locate the Recurring Invoicing section and tick the checkbox “Allow recurring invoices”.
- Click Save at the top left to apply the change.
Create a Recurring Invoice Template
- Open Invoicing → Customers → Recurring Invoices.
- Click the Create button.
- Fill in the required fields:
- Customer: select the client.
- Journal: usually “Sales Journal”.
- Recurring Frequency: choose Monthly, Quarterly, etc.
- Start Date: the date of the first invoice.
- End Date (optional): when the series should stop.
- Amount: either fixed or based on a product line.
- Under the Invoice Lines tab, click Add a line and select the product or service you bill for. Set the quantity, unit price, and taxes as needed.
- Save the template by clicking Save.
Configure the Scheduler for Automatic Generation
Odoo uses its internal scheduler (cron) to run recurring tasks. You can adjust the frequency or create a dedicated job if you need tighter control.
- Go to Settings → Technical → Automation → Scheduled Actions. (If the Technical menu is hidden, enable it in Settings → Users & Companies → Users**, edit your user, and tick “Technical Features”.)
- Search for the action named Generate recurring invoices.
- Open the action and verify the following fields:
- Interval Number: 1
- Interval Unit: Days (or Hours if you prefer more frequent checks).
- Next Execution Date: set to a future date/time when you want the first run.
- If you want to run the job at a specific time each day, adjust the Next Execution Date accordingly.
- Save the changes.
For a robust production environment, you might host Odoo on a reliable Cloud VPS that offers consistent uptime and easy scaling. A stable server ensures the scheduler runs without interruption, keeping your recurring invoices on track.
Set Up Email Sending for Recurring Invoices
- Navigate to Invoicing → Configuration → Settings again.
- In the Email section, enable “Send invoices by email”.
- Specify the default email template:
- Click the Configure Email Templates link.
- Select the template named “Invoice: Send by Email”.
- Adjust the subject line, body, and placeholders (e.g.,
${object.partner_id.name}) to match your branding.
- Make sure the outgoing mail server is configured under Settings → Technical → Email → Outgoing Mail Servers. Test the connection with the “Send Test Email” button.
Test the Recurring Invoicing Workflow
- Return to Invoicing → Customers → Recurring Invoices and locate the template you created.
- Click the Generate Now button to manually trigger the first invoice.
- Verify that a new draft invoice appears under Invoicing → Customers → Invoices. Open it to confirm line items, taxes, and totals.
- If the invoice status is “Open”, click Validate to post it.
- Check the customer’s email inbox for the invoice attachment and message.
- Finally, wait for the scheduled action to run at the next interval (or manually trigger it from Technical → Automation → Scheduled Actions → Run Manually**). Confirm that a new invoice is generated automatically.
Optional: Automate Payment Registration
If you also want payments to be recorded automatically, you can enable the “Auto‑payment reconciliation” option in Invoicing → Configuration → Settings**. This works best when you use a payment gateway that pushes transaction data back to Odoo.
Conclusion
By following these steps, you have turned a repetitive billing process into a fully automated workflow. Recurring invoicing saves time, reduces human error, and improves cash flow visibility. Keep an eye on the scheduler logs (found under Settings → Technical → Automation → Scheduled Actions → Log**), and adjust the frequency or template details as your business evolves.