← All articles

Blog

Recurring Invoices in Odoo: Setting Up Automated Billing for Indonesian SMEs

How to set up recurring invoices and automated billing in Odoo — for retainers, rentals, and subscriptions — so Indonesian SMEs stop chasing the same invoice every month.

3 min read
  • mid
  • odoo

If your business bills the same customers the same amount every month — retainers, maintenance contracts, rentals, memberships — manually creating those invoices is wasted effort and a reliable source of “we forgot to bill them” revenue leaks. Odoo can generate and send these automatically. Here is how to set it up so it actually runs without you.

Decide which app you need

Odoo gives you two routes for recurring billing, and choosing right saves pain later:

  • Recurring invoices via Sales/Invoicing. Good for straightforward repeat billing — a fixed monthly retainer, a standing service fee.
  • The Subscriptions app. Better when you need plan management, automatic renewals, upgrades and downgrades, prorating, and churn tracking. If you run anything subscription-shaped, this is the right tool.

For a simple agency retainer, recurring invoices are enough. For a SaaS or membership business, use Subscriptions. Do not force a true subscription business into manual recurring invoices — you will rebuild Subscriptions badly by hand.

Build the template

Set up the recurring document with the customer, the products or services, the amount, the tax (PPN where applicable), and the billing frequency — monthly, quarterly, annually. Odoo uses this as the pattern for every cycle, so get the tax and pricing right once and every future invoice inherits it.

Set the cadence and start date

Define when billing starts and how often it repeats. For Indonesian B2B retainers, monthly billing dated on the first working day is common, with payment terms (net 14, net 30) that match what your customers actually honor. Be realistic about terms — setting net 7 when your customers always pay in 30 just makes your aged-receivables report misleading.

Automate the send, not just the create

Generating an invoice that sits in draft helps no one. Configure Odoo to email the invoice to the customer automatically on generation, with the PDF attached. For Indonesian customers, pair this with a WhatsApp nudge — many businesses find a polite WhatsApp reminder gets faster payment than email alone.

Wire up payment and follow-up

Two things turn recurring billing from “sent” into “paid”:

  • Online payment links on the invoice, connected to a gateway like Midtrans or Xendit, so customers can pay without a manual transfer.
  • Automated follow-up reminders for overdue invoices, so the chasing happens on a schedule instead of when someone remembers.

Review monthly, do not ignore

Automation is not “set and forget.” Once a month, glance at the recurring schedule: which contracts ended, which customers churned, which amounts changed. A retainer that increased in price but kept billing the old amount is a quiet loss. Five minutes of review protects the revenue the automation is generating.

The payoff

Done properly, recurring billing removes a whole category of monthly busywork and, more importantly, plugs the leaks — the contracts that quietly went unbilled because someone was on leave the week invoices were due. For a business with even twenty recurring customers, that is real money recovered and hours given back.

If you bill on retainer, rental, or subscription and you are still creating those invoices by hand each month, there is a clean automation waiting. We are happy to map it to how you bill in a short, free conversation.