Repository
OCA/account-invoicing · module folder · Try on Runboat
Module version
1.0.0
Category
Accounting/Invoicing
Folder size
0.12 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/account-invoicing
Last tracking update
2026-08-07 08:42:47
Authors
Odoo Community Association (OCA), Escodoo
Maintainers
Odoo Community Association (OCA), Escodoo
Committers
Weblate, OCA-git-bot, oca-ci, Kaynnan Lemes
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
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.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
account_invoice_advance_compensation_wizard_view_form account.invoice.advance.compensation.wizard.form account.invoice.advance.compensation.wizard form New
view_account_journal_form_inherit account.journal.form.inherit.advance account.journal form Inherits account.view_account_journal_form
view_move_form_inherit account.move.form.inherit.advance.compensation account.move form Inherits account.view_move_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (9)
  • advance_balance Monetary
    compute='_compute_advance_balance' currency_field='currency_id' help='The available balance in the selected advance line' readonly=True string='Available Balance'
  • advance_line_id Many2one → account.move.line
    comodel_name='account.move.line' domain="[('id', 'in', available_advance_line_ids)]" help='The advance line to be used for compensation' required=True string='Advance Line'
  • amount Monetary
    currency_field='currency_id' help='The amount to be compensated' required=True string='Compensation Amount'
  • available_advance_line_ids Many2many → account.move.line
    comodel_name='account.move.line' compute='_compute_available_advance_lines' help='Available advance lines for compensation'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' compute='_compute_currency' help='The currency of the compensation' readonly=False store=True string='Currency'
  • date Date
    default=fields.Date.context_today help='The date of the compensation' required=True string='Compensation Date'
  • invoice_line_id Many2one → account.move.line
    comodel_name='account.move.line' domain="[('move_id', '=', move_id), ('amount_residual', '!=', 0)]" help='The invoice line to be compensated' required=True string='Invoice Line'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' domain="[('is_advance_journal', '=', True)]" help='The journal to be used for the compensation entry' required=True string='Journal'
  • move_id Many2one → account.move
    comodel_name='account.move' default=<expr> help='Invoice to be compensated with an advance.' readonly=True required=True string='Invoice'
Public methods (1)
  • action_confirm_compensation(self)

New fields (1)
  • is_advance_journal Boolean
    help='Check this box if this journal is for compensation advances' string='Is Compensation Advance Journal'
Public methods (0)

No public methods.

New fields (1)
  • advance_invoice Boolean
    compute='_compute_advance_invoice' help='Indicates whether this invoice has eligible advance payments available' string='Has Advance Payments'
Public methods (1)
  • action_open_advance_compensation(self)

New fields (0)

No new fields.

Public methods (1)
  • name_get(self)