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 Allocation v 18.0
  4. Sales Conditions FAQ

Revenue Allocation

by devluoicode https://www.devforfuture.com
Odoo
v 18.0 Third Party 7
Download for v 18.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 • Discuss (mail)
• Invoicing (account)
Lines of code 3742
Technical Name dff_account_revenue_allocation
LicenseLGPL-3
Websitehttps://www.devforfuture.com
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Invoicing (account)
Lines of code 3742
Technical Name dff_account_revenue_allocation
LicenseLGPL-3
Websitehttps://www.devforfuture.com

Revenue Allocation & Deferral

Scheduled deferred revenue recognition for long-term services, tuition, and subscriptions.

When a posted customer invoice line uses a configured Deferred Revenue account, this module builds a recognition schedule and linked journal entries that move revenue from the deferred account to the income account over time. Templates define equal or custom percentage splits, monthly or weekly steps, and optional alignment with custom revenue periods. The core package recognizes revenue on an accrual basis at invoice posting. Designed for Vietnam practice as well (for example account 3387 under TT200).

  What You Gain

  • Account-Based Eligibility — You choose which chart-of-accounts codes count as deferred revenue; only posted invoice lines on those accounts enter the allocation workflow.
  • Auto or Manual Allocation — On invoice posting, the best matching ready template can be applied automatically, or accountants can allocate later through a wizard on each posted line.
  • Flexible Templates — Equal monthly or weekly splits, custom percentage schedules, product domain rules, and priority-based template fallback (lower priority number wins).
  • Company Settings — Journal posting mode, percentage precision, deferred revenue accounts, auto-allocate on post, and allocation-request activity recipients — all configurable without code.
  • Allocation Cap Protection — Cumulative recognition cannot exceed the posted deferred revenue pool from the source invoice line (checked in company currency).
  Odoo 18 CE & EE |   LGPL-3 Licensed |   Requires Accounting |   Multi-Company Ready

Core Features

  Deferred Revenue Recognition

Posted customer invoice lines on configured deferred revenue accounts receive an allocation profile (one profile per invoice line in the core module). The module generates schedule lines and linked journal entries that recognize revenue over time.

  Auto-Allocate on Posting

With Auto-Allocate on Invoice Posting enabled (default), the system picks the best-matching active template whose product domain matches the line and whose schedule is ready. Turn the setting off to allocate manually after posting. The Allocate button remains available either way.

  Allocation Templates

Define Equally Divided or Custom Percentage schedules with monthly or weekly intervals (weekly applies when Date Mode is Invoice Date). Templates include product domain rules, revenue account, journal, date mode, and priority for automatic matching.

  Revenue Periods

Generate fiscal-year revenue periods and optional sub-periods for By Period templates. Recognition dates align with your accounting calendar. When no active period exists, the system falls back to invoice-date scheduling.

  Cap & Transaction Safety

Allocation journal entries are checked against the deferred revenue pool before posting. Invoice reset and cancel actions are blocked when allocation journal entries are already posted. Auto-post on the schedule date soft-skips entries that would exceed the cap and leaves them in draft.

  Worklist & Activities

The Invoice Lines to Allocate worklist shows posted deferred lines still waiting for a profile. Configured users receive to-do activities on the invoice when eligible lines need manual allocation after posting.

Screenshots

  Revenue Allocation Template

Accounting → Configuration → Revenue Allocation → Revenue Allocation Templates. Configure reusable rules: allocation type, date mode, schedule interval, product domain, and recognition accounts.

Revenue allocation template form with equal split and product domain

  Revenue Allocation Profile

Accounting → Accounting → Revenue Allocations. Track deferred and recognized balances, schedule lines, and linked journal entries for one invoice line.

Revenue allocation profile with allocation schedule lines

Why Choose This Module

  Accounting Without Allocation

  • Records deferred revenue on the invoice but does not build a multi-period recognition schedule automatically.
  • No reusable template library with product-based matching and priority fallback.
  • No revenue period generator, allocation worklist, or cap guard on cumulative recognition postings.

  Revenue Allocation & Deferral

  • Creates allocation profiles and schedule lines when eligible invoice lines are posted (auto or manual wizard).
  • Supports equal or custom percentage templates, monthly/weekly steps, and optional revenue period alignment.
  • Draft journal entries follow your posting mode; when scheduled, Odoo auto-posts on the allocation date, with cap protection on cumulative amounts.

Scope of Delivery

  Included Features

  • Accrual recognition on invoice posting (core recognition basis).
  • Revenue period generator with optional sub-periods for By Period templates.
  • Equal and custom percentage allocation templates (monthly or weekly when Date Mode is Invoice Date).
  • Allocation profiles with schedule lines, linked journal entries, and workflow states: Draft, Allocating, Pending, Done, and Cancelled.
  • Auto-allocate on invoice posting, manual allocation wizard on posted lines, and Invoice Lines to Allocate worklist.
  • To-do activities on the invoice for configured users when eligible lines still need allocation after posting.
  • Multi-company record rules. Accountants can run the allocation wizard and view profiles; Accounting Managers configure templates/periods and control profile workflow.
  • Multi-currency invoices with schedule amounts in invoice currency and cap protection in company currency.

  Explicit Limitations

  • Deferred Account Required — Only invoice lines posted to accounts listed under Deferred Revenue Accounts in company settings are eligible.
  • Template Required — Creating a profile always requires a matching active template (product domain + company). Lines without a match stay on the worklist until you add a template.
  • One Profile per Invoice Line (Core) — The core module does not group multiple invoice lines into one shared profile. Use a Multi-Invoice or Sales Order bridge extension for milestone billing.
  • Revenue Deferral Only — Not for prepaid expenses, fixed asset depreciation, or vendor bill deferrals. Credit notes are handled by a separate extension.
  • Optional Extensions — Cash-basis recognition (Revenue Allocation Reconcile), credit note adjustments (Revenue Allocation — Credit Note, Refunds & Reversals), multi-invoice pooling (Revenue Allocation — Multi-Invoice Unified Profiles), Sales Order bridge (Sales Order — Unified Revenue Allocation), payment-term milestones (Payment Term Split), and flexible start-date rules (Flexible Start Date Rules) are separate modules.

How It Works

1

Configure Once

Open Accounting → Configuration → Settings and set Deferred Revenue Accounts, journal posting mode, and auto-allocate preference. Create templates under Accounting → Configuration → Revenue Allocation → Revenue Allocation Templates. For By Period templates, generate Revenue Periods first so schedule dates align with your fiscal calendar.

2

Post Customer Invoice

Create a customer invoice with lines on a deferred revenue account. When you post, eligible lines with a ready matching template receive a profile automatically (if auto-allocate is enabled). Otherwise, use Allocate on the invoice line to open the wizard and pick a template, optional reference period, and start date.

3

Recognize Over Time

Review profiles under Accounting → Accounting → Revenue Allocations, the Invoice Lines to Allocate worklist, or from the invoice Allocations smart button. Journal entries follow your configured posting mode: keep in draft, auto-post on the schedule date (default), or post immediately when created.

Implementation Notes

  1. Deferred Revenue Accounts: In Settings, list the liability accounts used for unearned revenue (for example 3387 under Vietnam TT200). Invoice lines must post to one of these accounts to be eligible.
  2. Templates: Set product domain, revenue account, journal, schedule type, date mode, and priority. Lower priority numbers win when several templates match the same product.
  3. Revenue Periods: Optional reference data for By Period templates. Generate sub-periods to align recognition dates with your calendar. If no active period is available at posting time, schedule dates are derived from the invoice start date instead.
  4. Manual Allocation: On a posted invoice line (or from Invoice Lines to Allocate), use Allocate to select a matching template and confirm. Linking to a shared profile requires a Multi-Invoice or Sales Order extension.
  5. Profile Lifecycle: After auto-allocation or wizard confirmation, the profile moves to Allocating and schedule lines with draft journal entries are generated. Accounting Managers can use Pending, Continue, Done, Cancel, and Reset to Draft on the profile form.
  6. Uninstall note: Uninstalling does not delete posted journal entries. New invoices will no longer receive allocation profiles automatically.

FAQ

  Which invoice lines get an allocation profile?

Posted customer invoice product lines whose account is listed in Deferred Revenue Accounts, with a positive line subtotal, and with a matching active allocation template that is ready to generate a schedule. Lines are allocated automatically on post (when enabled) or through the manual wizard.

  Do I need revenue periods before posting invoices?

Not strictly. Revenue periods are recommended when templates use By Period date mode so recognition dates follow your configured sub-periods. If no suitable active period exists, the module still creates the profile and builds dates from the invoice start date and schedule interval.

  Does it support multi-currency invoices?

Yes. Schedule line amounts follow the invoice currency. Cap protection converts the posted deferred-revenue pool to company currency so cumulative recognition cannot exceed what was invoiced.

  Can I use this for prepaid expenses?

No. This module is optimized for customer revenue recognition on deferred revenue invoice lines. Prepaid expenses and deferred vendor costs are not covered.

  How are journal entries posted?

Under Schedule on Allocation Date (default), draft entries are created with Odoo auto-post set to their schedule date. Choose Keep Journal Entries in Draft or Post Immediately When Created in company settings instead. Entries that would exceed the recognition cap are left in draft when auto-posting.

  Does the core module support cash-basis recognition?

No. The core package recognizes revenue on invoice posting (accrual basis). Cash-basis recognition when customer payments are reconciled is provided by the separate Revenue Allocation Reconcile (Cash Basis) extension.

Technical Details

  Platform

  • Odoo 18.0 Community and Enterprise
  • Multi-company environments supported
  • Runs inside your existing Odoo database

  Required Apps

  • account — customer invoices, journal entries, and chart of accounts
  • mail — chatter, activities, and allocation request notifications
  • No extra server, API, or subscription service

  Where It Fits

  • Extends Customer Invoices, Journal Entries, and accounting configuration
  • Templates and revenue periods under Accounting → Configuration → Revenue Allocation
  • Allocation profiles and Invoice Lines to Allocate under Accounting → Accounting

  License and Publisher

  • License: LGPL-3 (GNU Lesser General Public License)
  • Publisher: devluoicode
  • Website: devforfuture.com
  • Support: ngocphat.business@gmail.com

Support and Maintenance

  Installation Support

Help with installation, dependency resolution, and initial module configuration on your database.

  Bug Resolution

Priority support for functional errors, traceback issues, and bug fixes related to this module.

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