OdooWiki OCA HUB

Sale Advance Payment

sale_advance_payment folder_open OCA/sale-workflow open_in_new
Sales License: AGPL-3

The module allows to add advance payments on sales and then use them on invoices.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Lets you register advance payments received from a customer directly on a sales order and track how much is still due. The order shows a payment status badge and the remaining amount, and advances are automatically applied when the invoice is posted.

This module adds advance payment handling to sales orders. On a sales order form, users with invoicing rights see a new "Pay sale advanced" button next to the standard buttons, plus a "Payment advances" tab listing the payments linked to that order.

Clicking the button opens an "Advance Payment" pop-up where you choose the payment method (bank or cash journal), the payment type (inbound or outbound), a reference, a date and the amount to advance. The order's due amount is shown for reference, and the amount is converted into the order currency automatically. The system refuses a zero or negative amount, an inbound advance larger than the order's residual amount, or an outbound advance larger than what was already paid. Confirming creates and posts a customer payment linked to the order.

The sales order then displays a computed "Residual amount" and an "Advance Payment" status badge (Not Paid, Partially Paid, Paid), also available as optional columns in the quotations and orders lists. When an invoice for that order is posted, any outstanding advance payment linked to the order is automatically assigned to the invoice. The module touches sale.order, account.payment and account.move.

Depends on

sale
Models and fields (4)
  • sale.order · extends an existing modelamount_residual (Residual amount), payment_line_ids (Payment move lines), account_payment_ids (Pay sale advanced), advance_payment_status
  • account.move · extends an existing model
  • account.payment · extends an existing modelsale_id (Sale)
  • account.voucher.wizard · new modeldate, order_id, journal_id, currency_id, payment_ref (Ref.), amount_total, payment_type, amount_advance (Amount advanced), currency_amount (Curr. amount), journal_currency_id

Text generated by AI (DeepSeek) from reading the Odoo 19.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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/sale-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0

To use this module, you need to:

  • Go to a sale order.
  • Click on "Pay Sale Advance".
  • Select the Journal and specify the amount of the advanced payment.
  • "Make Advance Payment".

When generating the invoice, the system displays the advanced payments, select those you want to add to the invoice.

No verified information in OCA: Installation, Configuration.

info

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.