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.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets you apply customer or vendor advance payments (prepayments) against open invoices and bills directly from the invoice form, creating and reconciling the compensation entry automatically.
This module adds a way to settle invoices with money already received or paid in advance. On a posted customer invoice or vendor bill that still has an open balance, Odoo shows an "Advance Available" notice and a "Compensate Advance" button when the partner has an open prepayment entry.
Clicking the button opens a wizard where you pick the advance line, the invoice line to settle, the compensation date, the amount and the journal. The wizard only offers advance lines belonging to the same partner, posted and paid, sitting on a prepayment account that allows reconciliation, and with a remaining balance. The amount is pre-filled with the smaller of the two open balances and cannot exceed either of them.
When you confirm, Odoo creates and posts a journal entry that moves the amount between the prepayment account and the invoice's receivable or payable account, then reconciles both pairs of lines. If reconciliation fails, the links are removed and an error is shown.
To use it, a general journal must first be flagged as an advance journal in its Advance Settings tab. The feature is available to users with invoicing rights.
Depends on
Models and fields (4)
- account.move · extends an existing modeladvance_invoice (Has Advance Payments)
- account.journal · extends an existing modelis_advance_journal (Is Compensation Advance Journal)
- account.move.line · extends an existing model
- account.invoice.advance.compensation.wizard · new modeldate (Compensation Date), amount (Compensation Amount), move_id (Invoice), journal_id (Journal), currency_id (Currency), advance_balance (Available Balance), advance_line_id (Advance Line), invoice_line_id (Invoice Line), available_advance_line_ids
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/account-invoicing.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0Configuration Guide
Core Setup
- Journal Configuration
Path: Accounting → Configuration → Journals For new journal:
- Create → Type: Miscellaneous
- Name: "Advance Compensation"
- Code: ADV
- Default Account: [Select prepayment account]
- Advanced Settings → ☑ Is Advance Journal
- 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
- Advance Product
Path: Inventory → Products
- Name: "Advance Payment"
- Type: Service
- Accounting:
- Income/Expense: [Linked to prepayment account]
Usage
Source · Odoo 18.0This 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
- 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
- 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
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.