Account Invoice Advance Compensation
by Escodoo https://github.com/OCA/account-invoicing , Odoo Community Association (OCA) https://github.com/OCA/account-invoicing| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 500 |
| Technical Name |
account_invoice_advance_compensation |
| License | AGPL-3 |
| Website | https://github.com/OCA/account-invoicing |
Account Invoice Advance Compensation

This module provides a comprehensive solution for managing advance payments and their compensation in Odoo. It enables businesses to efficiently handle prepayments and their application against regular invoices through a user-friendly interface.
Key Features:
- Dedicated advance payment tracking for both customers and suppliers
- Flexible compensation wizard for applying advances against invoices
- Automatic reconciliation of advance payments with regular invoices
- Configurable advance payment journals
- Multi-currency support for advance payments
The module streamlines the advance payment process by providing a structured workflow for recording, tracking, and compensating advance payments, ensuring accurate financial records and improved cash flow management.
Table of contents
Module Context and Implementation Guide
When to Use This Module
This module is particularly valuable for businesses that:
- Regularly process advance payments from customers or to suppliers
- Need to track prepayments separately from regular invoices
- Require precise reconciliation of advances against final invoices
- Operate in project-based or milestone-payment environments
Key Implementation Scenarios
Customer Advances
- Service Retainers
- Track client deposits against monthly service invoices
- Example: Law firm applying retainer payments to monthly bills
- Product Deposits
- Manage customer down payments for goods
- Example: Manufacturer applying 30% deposit against production order
Supplier Prepayments
- Material Purchases
- Track and apply prepayments to supplier invoices
- Example: Construction company managing material prepayments
- Service Contracts
- Reconcile advance payments to contractors
- Example: IT firm managing vendor retainers
Technical Context
Prerequisites
- Odoo Accounting module installed
- Properly configured Chart of Accounts
- At least one journal marked as “Advance Journal”
Integration Points
- Works with standard Odoo invoicing workflow
- Extends the account.move model
- Compatible with:
- Odoo’s native multi-currency
- Multi-company setups
- Standard reporting features
Configuration Guide
Core Setup
1. Journal Configuration
- Create → Type: Miscellaneous
- Name: “Advance Compensation”
- Code: ADV
- Default Account: [Select prepayment account]
- Advanced Settings → ☑ Is Advance Journal
2. Prepayment Accounts
Path: Accounting → Configuration → Chart of Accounts
- Customer Advances:
- Type: Current Assets
- Name: “Advances Receivable”
- ☑ Allow Reconciliation
- Supplier Advances:
- Type: Current Liabilities
- Name: “Advances Payable”
- ☑ Allow Reconciliation
3. Advance Product
Path: Inventory → Products
- Name: “Advance Payment”
- Type: Service
- Accounting:
- Income/Expense: [Linked to prepayment account]
Usage
This module allows you to manage advance payments and their compensation against regular invoices. It supports both customer and supplier invoices, with multi-currency capabilities.
Step-by-Step Process
1. Recording an Advance Payment
- Create a new invoice with the “Advance” product
- Register the complete payment for the advance invoice
- The advance will be available for compensation once fully paid
2. Applying Compensation
- Open the regular invoice (must be for the same partner)
- Click the Compensate Advance button
- In the compensation wizard:
- Select available advance(s) from the left panel
- Choose invoice lines to compensate on the right
- Enter the compensation amount
- Click Compensate to apply the compensation
Key Features
Supported Scenarios
- Customer and supplier invoices
- Partial compensation of advances
- Multi-currency transactions
- Multiple advance compensations per invoice
Prerequisites
- Advance invoice must be fully paid
- Regular invoice must be for the same partner
- Accounts must be reconcilable
- Proper journal configuration
Troubleshooting
Common Issues
- Advance not appearing in compensation wizard
- Verify the advance invoice is fully paid
- Check if the partner matches
- Confirm journal settings are correct
- Compensation not working
- Ensure accounts are properly configured
- Check currency compatibility
- Verify user has necessary permissions
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Authors
- Escodoo
Contributors
- Escodoo <https://www.escodoo.com.br>_:
- Marcel Savegnago marcel.savegnago@escodoo.com.br
- Kaynnan Lemes kaynnan.lemes@escodoo.com.br
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/account-invoicing project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Please log in to comment on this module