Revenue & Expense Deferral Per Product
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 45.01
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 138 |
| Technical Name |
account_deferred_per_product |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 138 |
| Technical Name |
account_deferred_per_product |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
Per-product deferred revenue and expense accounts
Odoo 18 Enterprise defers revenue and expense using a single company-wide account for all products. This module empowers you to set product-specific deferred accounts - enabling precise balance sheet categorization for SaaS subscriptions, prepaid insurance, annual licenses, and more. Different products, different deferred accounts - fully automated.
- Per-Product Deferred Accounts: Set deferred revenue/expense accounts directly on each product
- Overrides Company Default: Product accounts automatically replace the company-wide deferred account
- Full Enterprise Deferral Engine Compatibility: Works with manual or automatic deferral generation
- Smart Account Resolution: Falls back to company default if product account is empty
- Multi-Company Ready: Account domains respect company context
- Works on Both Invoices & Bills: Deferred revenue (customer invoices) and deferred expense (vendor bills)
- Accounting Tab Integration: New fields seamlessly added to product's Accounting tab
Module in Action
See how per-product deferred accounts work seamlessly within your Odoo interface
Installation & Configuration
- Install the Module: Copy
account_deferred_per_productto your addons path â Restart Odoo â Apps â Update App List â Install - Prerequisite: Odoo 18 Enterprise with Accounting module installed
- Configure Product Accounts: Go to Inventory â Products â Open a product â Accounting tab
- Set Deferred Revenue Account: For products sold on customer invoices (must be Liability type)
- Set Deferred Expense Account: For products purchased on vendor bills (must be Asset type)
- Leave Empty to Fallback: If product field is empty, company-wide default is used automatically
- Create Invoice/Bill with Deferral Dates: Add start/end date columns â Set dates â Post â Deferred entries use product accounts
Step 1 - Configure Product
Navigate to Inventory â Products â Select or Create a Product.
Click the Accounting tab. You will see two new fields:
- Deferred Revenue Account - for customer invoices (liability accounts only)
- Deferred Expense Account - for vendor bills (asset accounts only)
Example: SaaS Annual License â Deferred Revenue Account = "2841 Deferred SaaS Revenue"
Step 2 - Create Customer Invoice
Go to Accounting â Customers â Invoices â Create.
Add the configured product. Enable the Start Date and End Date columns (click the â icon on the invoice lines grid).
Set, for example: Start Date = Jan 1, End Date = Dec 31.
Post the invoice.
Step 3 - Verify Deferred Entries
On the posted invoice, click the Deferred Entries smart button.
Open the initial journal entry (same date as invoice).
The deferred amount line will show your product-specific deferred account instead of the company default.
Pro Tip
Use different deferred revenue accounts for different revenue streams (SaaS, maintenance, subscriptions) to get a clean balance sheet breakdown without filtering by product category.
SaaS Annual Subscriptions
$1,200 invoice deferred over 12 months. Deferred revenue account = "2841 Deferred SaaS Revenue" â monthly recognition to "4100 SaaS Revenue".
Prepaid Insurance (Deferred Expense)
$2,400 vendor bill deferred over 12 months. Deferred expense account = "1651 Prepaid Insurance" â monthly expense to "6300 Insurance Expense".
Annual Maintenance Contracts
Separate deferred revenue for support contracts vs software licenses - clean P&L and balance sheet by product line.
Accurate Balance Sheet
Deferred revenue/expense appears under the correct product-specific accounts - no more lumping everything into one company account.
Fully Automated
No manual journal entries, no post-processing - set the account once on the product and every invoice/bill uses it automatically.
Audit-Ready Segmentation
Auditors can see deferred SaaS revenue separate from deferred maintenance revenue directly on the trial balance.
Preserves Standard Odoo
No modifications to Odoo core - the module hooks cleanly via inheritance and respects the Enterprise deferral engine.
Q: The deferred account fields are not visible on my product form.
A: Ensure the user is in the Accounting group (Settings â Users & Companies â Users â Accounting).
Q: Deferred entries are still using the company default account.
A: Check that the product's deferred account field is actually set (not empty). Empty = fallback to company default.
Q: Does this work with multi-company?
A: Yes - accounts are company-checked, and the module respects the current company context.
Do You Need Assistance or Have a Feature Request?
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module