The contract renews. Has its invoice actually been issued? For a recurring-service business, renewal, invoicing and collection are three different events. Keep them distinct in Odoo and your team can see what should be billed this month, who is following each renewal, and where action is needed. ToDoOps helps configure and test that connection. See our approach to implementing Odoo.

Odoo subscriptions manage customer contracts, not your software licence price

This guide covers the recurring services your company sells: a technical-support package, a monthly service or another repeating contract. The price of using Odoo itself is a separate decision covered in our Saudi Odoo pricing guide.

A renewal continues the agreement into the next period. An invoice records an amount to be paid and a date. Collection means the money has arrived and its recording and matching have been checked. A contract may continue without an invoice being issued; an invoice may be issued but remain unpaid. Each step needs its own follow-up and a clear owner.

An illustrative workday: finance opens the contract list at the start of the month. Two continuing contracts have no invoices, while a third has been invoiced and awaits settlement. The first two need the billing owner’s attention; the third belongs with collections. The business owner gets a specific answer without calling each department, and the accountant can explain what is complete and what remains.

How do you set recurring billing plans in Odoo?

Odoo 19.0 documentation specifies plan periods in weeks, months or years, with monthly and yearly plans available. Days are not a subscription billing period. Plan settings control customer renewal and closing options in the portal, and an automatic-closing setting defines a number of days after non-payment (Odoo reference).

Before configuration, decide what the customer receives each period, when payment is due and how renewal or closure works. Take these rules from the contract. An ongoing service is different from project instalments tied to milestone delivery: multiple payments alone do not make an agreement a subscription.

See the wider Odoo applications and industries we serve when choosing your scope. This guide uses documented version 19.0 functionality as a defined reference; the actual version is reviewed for your project.

Recurring invoicing versus automatic payment: what changes?

Creating a recurring invoice does not mean charging the customer’s card. Automatic payment requires a provider supporting payment tokenization, suitable configuration and a payment method saved by the customer through the supported process (Odoo reference). Review provider and method compatibility with your business before assuming that a payment gateway supports recurring charges.

If customers pay by bank transfer or another manual method, collection remains a separate step. The team should know whether it is waiting for an invoice, incoming money or the matching of a payment already received. Our Odoo invoice follow-up guide covers that later stage.

What should you do after an Odoo payment failure?

The automatic-payment documentation explains that Payment Failure marks the contract Contract in exception, stopping its scheduled actions. This helps avoid charging again when a payment may have succeeded but its outcome was not recorded clearly. Before resuming, the responsible person checks the transaction history and the provider’s status: did the charge actually occur? They then correct the invoice and contract state according to the result and resume the process. This operational review protects the customer and keeps collection orderly (Odoo reference).

Billing example: 12 service contracts and 9 issued invoices

Assume 12 continuing contracts are each due to be billed SAR 1,000 per month before taxes, all in the same period. This is a hypothetical example, not client data or an Odoo performance result.

Item Count Amount before taxes — SAR
Contracts due for invoicing 12 12,000
Invoices issued 9 9,000
Due contracts whose invoicing needs review 3 3,000

The arithmetic is 12 × 1,000 = SAR 12,000 and 9 × 1,000 = SAR 9,000, leaving a SAR 3,000 difference. This is a billing gap to explain, not confirmed lost money. Check the three contracts, their next invoice dates, plan settings and any exception that stopped processing. If their actual entitlement has changed, update the comparison before drawing conclusions.

Start by measuring how many contracts due for billing were actually invoiced, then how many issued invoices were collected. This identifies where action belongs. For an initial impact and budget estimate, use the ToDoOps calculators; they are a general estimating tool separate from this example’s calculation.

Does receiving subscription money mean recognising all the revenue?

IFRS 15 links revenue recognition to satisfying a performance obligation. Depending on the contract, this can happen at a point in time or over time. Issuing an invoice or receiving money does not determine the treatment on its own (IFRS Foundation reference).

In a separate simplified example, one customer pays SAR 12,000 upfront for a 12-month service. Assuming a single performance obligation delivered evenly over that term, the consideration is SAR 1,000 per month. Under that assumption, the full receipt is not revenue for the month the cash arrives. Your accountant reviews the actual contract and approves the treatment; configuration and reporting then need to reflect it.

For the owner, this separates available cash from services still owed. For finance, it provides a contract and period against which to explain the number, rather than treating every receipt as new revenue.

What should you test before subscription go-live?

Begin with one contract representing your workflow, then test business decisions rather than simply producing a sample invoice:

  1. New contract: the plan, price, service period and first invoice date.
  2. Renewal: continued agreement and the correct next-period invoice without duplication.
  3. Plan change: contract terms and their effect on billing.
  4. Payment failure: transaction verification before correcting and resuming the exception.
  5. Closing or cancellation: the right procedure for the contract and invoice state.
  6. Responsibility: who checks invoicing, follows settlement and approves accounting treatment?

This is a proposed ToDoOps checklist, adapted to your project. Analysis establishes the contracts, data and permissions needed, followed by setup, testing and training. E-invoicing and accounting treatment are reviewed within scope, each with its own requirements and configuration.

To see how connected operations work, try the interactive Odoo experience. It demonstrates sales and inventory using hypothetical data; discuss your particular subscription workflow with us separately.

Questions about Odoo subscriptions and billing

Is this about the price of an Odoo subscription?

It covers recurring customer contracts sold by your business. Odoo software licences are a separate cost: distinguish the system’s price from the services you sell through it.

Can monthly invoices be issued without automatic card charging?

Yes. Invoicing and collection are different processes. Configure the plan and due dates, then define a collection procedure and owner appropriate to the agreed payment method.

Why does a contract stop after a payment failure?

The exception pauses scheduled actions to avoid another charge when the outcome is unclear. Review the actual transaction before correcting the state and resuming.

Can subscriptions be billed daily?

Version 19.0 documentation specifies weeks, months or years and excludes Days as a subscription billing period. Review your business cycle before selecting the implementation approach.

Does the full invoice count as revenue for the period?

That depends on the performance obligation, contract terms and when it is satisfied. Your accountant establishes the treatment, and the system workflow is configured to support it.

Start with a contract whose complete cycle you can follow

Bring a recurring-contract example, its billing date and payment method. Discuss your subscriptions project with ToDoOps so we can review where the process begins, where it stops and what your team needs for configuration and testing. Start with our homepage to explore the solution, or use the calculators to estimate impact and budget before discussing scope.

References

  • Odoo — version 19.0 documentation, Subscriptions and Subscriptions and automatic payments: recurring plans, renewal and closing options, automatic-payment requirements and exception handling.
  • IFRS Foundation — IFRS 15 Revenue from Contracts with Customers: recognition when a performance obligation is satisfied. Original page.