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. Revenue Recurring Bridge v 17.0
  4. Sales Conditions FAQ

Revenue Recurring Bridge

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 17.0 Third Party 2
Download for v 17.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
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
• Recurring Invoices Pro
• Revenue Recognition (IFRS 15)
• Accounting Suite Base
Lines of code 6609
Technical Name eh_account_revenue_recurring
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · Accounting Suite
IFRS 15 Bridge

Revenue Recurring Bridge

Link a recurring invoice template to an IFRS 15 revenue contract, and every generated invoice lands as deferred revenue on the balance sheet instead of immediate income, released to revenue by the contract's recognition run.

Free · LGPL-3Odoo 17 Communityv17.0.1.0.0
Template to contract link
Deferred revenue on billing
Contract asset reclass
Idempotent registration
Auto-installs

Why this module

Recurring billing that respects the five-step model.

Routing

Billing lands as deferred revenue

A linked template routes every generated invoice line to the contract's contract liability account instead of the line income account, so recurring billing shows as deferred revenue on the balance sheet, not immediate income, and the recognition run releases it as performance obligations are satisfied.

Consistency

Mirrors Record Billing exactly

On posting, the invoice registers itself as billing on the contract. If the contract carries a contract asset (revenue recognised ahead of billing), a balanced reclassification clears that asset first, so the ledger shows exactly the split the contract's own Record Billing convention would have produced.

Zero friction

Nothing changes until you link

The link is optional per template. Unlinked templates are untouched and post to income exactly as before, a byte-identical default, so adding the bridge does not disturb any billing already running.

Day in the life

A subscription that recognises revenue properly.

You have a recurring invoice template that bills a customer each month and an active IFRS 15 revenue contract for the same engagement. You set the revenue contract on the template. From then on, every invoice the template generates credits the contract liability account rather than income, and when the invoice posts it registers the billed amount on the contract, clearing any contract asset first. The receivable is still debited by the invoice as normal. As you run the contract's recognition, the liability releases to revenue in line with the satisfaction of the performance obligations, so the monthly cash billing and the revenue you report move on separate, correct schedules.

Edge cases

A thin bridge, built carefully.

Each one is in the shipped code today.

No double count

Registration is idempotent per invoice: a flag records that a generated invoice has already registered its billing, so a reset and repost cannot count the same billing twice on the contract.

Guarded generation

Generation refuses to run if the linked contract is not active or has no contract liability account configured, with a clear message, rather than silently posting the billing to the wrong account.

Runs as system

The contract-side bookkeeping runs as superuser, because a billing user may have no access to the revenue contract models; the registration is a deterministic consequence of a manager-approved template link, not a discretionary action.

Same company

A constraint requires the linked revenue contract to belong to the template's company, so a cross-company link can never be saved.

What is inside

Small on purpose, complete where it counts.

  • An optional contract link. A Revenue Contract field on the recurring invoice template, filtered to the template's company, with a same-company constraint.
  • Invoice routing on generation. When a template is linked, every generated invoice line is routed to the contract's contract liability account and the invoice is stamped with the contract, after the active-contract and configured-account checks pass.
  • Billing registration on posting. A posted, template-generated invoice registers its untaxed amount as billing on the contract, clearing any contract asset first with a balanced reclassification, guarded by an idempotency flag.
  • Automatic install. The bridge auto-installs whenever both the Revenue Recognition (IFRS 15) and Recurring Invoices Pro modules are present, and does nothing until a template is actually linked.

Honest about the edges

What this does not do, so nothing surprises you.

  • It is a bridge, not a standalone engine: it needs both the Revenue Recognition (IFRS 15) and Recurring Invoices Pro modules, and it relies on their contracts, accounts and recognition run.
  • It does not auto-register credit notes or manual reversals of a linked invoice; correct the contract position through the contract's own billing flow instead.
  • It does not create performance obligations or schedule recognition; the contract owns that, and the bridge only feeds it the billing.
  • It registers the untaxed amount as billing; tax handling on the invoice is unchanged and stays on the invoice.

Installing this module

A standard Odoo addon, installed the standard way.

This is a standard Odoo addon that ships Python models, not a data-only package. Install it by placing the module folder, together with its dependency modules, into a directory on your Odoo addons_path, then open Apps, update the apps list, and install it from there. Do not use the Apps to Import Module upload screen: that path does not load Python code, so a module with models will not run when installed that way. Once the folder is on the addons_path the usual Apps install and later upgrades work exactly as they do for any other addon.

Search

odoo recurring invoice deferred revenue, subscription revenue recognition IFRS 15, contract liability billing, deferred revenue recurring billing, recurring billing revenue contract bridge, contract asset reclassification, five step model revenue, odoo 19 revenue recognition bridge, performance obligation revenue release

More from ERP Heritage

Modules teams pair with this one.

Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.

USD 199
Project Gantt Pro

PMO grade upgrade for the Project Gantt planner

USD 9
Employment Hero Australia

The Australia country pack for the ERP Heritage Employment Hero integration

USD 19
Employment Hero Documents

Sync certifications, qualifications and employee document metadata from the Employment Hero people platform into...

USD 19
Employment Hero Leave

Sync Employment Hero leave categories, leave requests and leave balances into the standard Odoo Time Off app, wit...

USD 50
Hijri Date Everywhere

Show the Hijri (Umm al-Qura) date alongside Gregorian dates across Odoo 17

USD 50
Saudi National Address

Connect Odoo partner records to the Saudi SPL National Address service and the Wathq commercial registry

ERP Heritage

Production-grade Odoo modules, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au

v17.0.1.0.0 · LGPL-3 · Odoo 17 Community

Developed by Odoo Consultant Brisbane • LinkedIn

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