Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. Recurring Invoices Pro v 19.0
  4. Sales Conditions FAQ

Recurring Invoices Pro

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 54
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 3687
Technical Name eh_account_recurring_invoices
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 3687
Technical Name eh_account_recurring_invoices
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
ERP Heritage · Accounting Suite
RECURRING CUSTOMER INVOICES FOR ODOO 19 COMMUNITY

Recurring Invoices Pro

Template-driven recurring customer invoices on Community, with a self-healing cron and concurrency-safe issuance that never double-bills a period.

Free · LGPL-3FREE LGPL-3ODOO 19 COMMUNITYv19.0.1.0.7
Cadence engine
Self-healing cron
Lock-safe issue
Proration
Auto-post

Why this module

Recurring Invoices Pro

01 / DEPTH

The cadence is real, not a calendar trick

An arbitrary N interval over five built-in units (day, week, month, quarter, year). Every 2 weeks, every 6 months, monthly, quarterly, yearly are all settings. Bound the run with an end date or a maximum invoice count, and the template finishes itself.

02 / RESILIENCE

One bad template never freezes the queue

The daily cron isolates each template in its own savepoint. A generation failure rolls back the partial draft, the schedule still advances, and the captured error is parked on the template, so the cron never retries a broken record forever or stalls the others behind it.

03 / OWNERSHIP

Standard invoices, yours to keep

Output is plain account.move out_invoice records, so core reconciliation, the customer statement, and every report already understand it. LGPL-3 source on disk, no activation key, no phone-home, no recurring licence.

Day in the life

A billing clerk reprices a subscription mid-cycle and lets the rest run itself.

Twelve monthly retainer templates sit active, each issuing a draft invoice on its own day for review. One client moves to a higher tier mid-month. The clerk opens the proration wizard on that template: in a single savepoint it books a credit note for the unused calendar days, issues a new-price invoice for the remainder, and reprices the template going forward, so a credit can never land without its matching charge. Overnight, the daily cron walks every due template, generates each in its own savepoint, and advances the schedules. One template references a product that was archived, so its generation fails; the cron rolls back that partial draft, still advances its next run, and records the error on the template. The clerk sees the parked template in the morning, fixes the line, and the other eleven invoices are already waiting in draft, untouched.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

CONCURRENCY

Manual issuance takes a SELECT FOR UPDATE row lock and invalidates the cache before reading the next-run date, so a double-click or browser retry serialises: the second request issues the NEXT period instead of double-billing the current one.

SELF-HEALING CRON

If even advancing the next-run date fails, it is retried in its own savepoint and the template is parked with the captured error and logged at ERROR level, so one stuck record never makes every later cron tick retry it forever.

FAILURE ADVANCES

A failed generation rolls back the partial draft move, but the template's next-run date still advances and the error is recorded, so a single bad period does not freeze the whole cadence.

PRORATION GUARD

Proration refuses ambiguous cases instead of guessing: multi-line templates and zero-days-remaining are rejected with explicit UserError remedies rather than producing a wrong credit.

ATOMIC PRORATION

The credit note, the new-price invoice, and the template reprice all commit under one savepoint, so a partial failure cannot leave a credit note without its matching charge.

TYPO GUARD

Configuring a recurrence longer than 12 months (for example interval unit accidentally set to year) raises a soft onchange warning before the schedule is saved.

NO ZOMBIE SCHEDULES

A finished template cannot be silently reactivated, and a template without lines cannot be activated or generated, so empty or zombie schedules never start issuing.

CODE INTEGRITY

Template code is validated against a strict identifier pattern and is unique per company, preventing collisions when several companies share the database.

What is inside

Built to do the job, end to end.

  • Recurring template. One template per billing arrangement: customer, sale journal, payment term, fiscal position, default ref and narration, with multi-line products, descriptions, per-line income accounts, quantities, unit prices and taxes.
  • Cadence engine. Arbitrary N interval over day, week, month, quarter or year, bounded by an optional end date or maximum invoice count. The template advances itself and finishes when the limit is reached.
  • Daily generation cron. Dispatches every active template whose next run is due, each in its own savepoint, with per-template error isolation and self-healing advance so the queue keeps moving even when one template fails.
  • Manual generate now. A lock-safe catch-up button that issues one invoice and advances the schedule under a row lock, so concurrent requests cannot double-bill the same period.
  • Proration wizard. Atomic mid-cycle price change: calendar-day pro-rata credit note, new-price invoice and template reprice in a single savepoint, with explicit guards against ambiguous inputs.
  • Lifecycle and counters. Pause and resume that keeps the cadence intact, draft-by-default with optional per-template auto-post, and readonly counters for total generated, last run timestamp, last generated move and last error.

Honest about the edges

What this does not do, so nothing surprises you.

  • Invoices are issued in the company currency. The template inherits the company currency and cannot bill in a non-company currency, so there is no per-template or per-customer foreign-currency option.
  • This module does not email or send the generated invoice. It creates the account.move and only optionally posts it when auto-post is set; delivery is left to your standard Odoo flows.
  • Reconciliation, the customer statement and portal behaviour are core Odoo, not added here. The module generates standard out_invoice records and relies on core for everything downstream.
  • There is no dedicated append-only audit-log model. Each generation stamps last run, last generated move, count and last error on the template, and proration changes are logged to the template chatter.
  • Multi-company is supported with a sale journal and per-line income accounts, but currency is fixed to the company currency as noted above.
Search

recurring invoices Odoo 19 Community, recurring customer invoices Odoo, subscription billing Odoo Community, recurring invoice template Odoo, automatic invoice generation cron Odoo, mid-period proration credit note Odoo, recurring invoice cadence daily weekly monthly quarterly yearly, auto-post recurring invoices Odoo

ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by ERP Heritage - Top Odoo Partner

v19.0.1.0.7 · LGPL-3 · Odoo 19 Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with