Repository
OCA/sale-workflow · module folder · Try on Runboat
Module version
1.0.0
Category
Sales
Folder size
0.1 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/sale-workflow
Last tracking update
2026-08-07 09:06:23
Authors
Odoo Community Association (OCA), Comunitea
Maintainers
Odoo Community Association (OCA), Comunitea
Committers
OCA-git-bot, oca-ci, Bhavesh Heliconia
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
The module allows to add advance payments on sales and then use them on
invoices.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_account_payment_tree account.payment.tree account.payment list Inherits account.view_account_payment_tree
view_account_voucher_wizard Advance Payment account.voucher.wizard form New
view_order_form sale.order.form sale.order form Inherits sale.view_order_form
view_order_tree sale.order.tree sale.order tree Inherits sale.view_order_tree
view_quotation_tree sale.order.tree sale.order tree Inherits sale.view_quotation_tree
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (0)

No new fields.

Public methods (1)
  • action_post(self)

New fields (1)
  • sale_id Many2one → sale.order
    comodel_name='sale.order' readonly=True string='Sale'
Public methods (0)

No public methods.

New fields (10)
  • amount_advance Monetary
    currency_field='journal_currency_id' required=True args: 'Amount advanced'
  • amount_total Monetary
  • currency_amount Monetary
    compute='_compute_currency_amount' currency_field='currency_id' store=True args: 'Curr. amount'
  • currency_id Many2one → res.currency
    args: 'res.currency', 'Currency'
  • date Date
    default=fields.Date.context_today required=True
  • journal_currency_id Many2one → res.currency
    compute='_compute_get_journal_currency' readonly=False store=True args: 'res.currency', 'Journal Currency'
  • journal_id Many2one → account.journal
    domain=[('type', 'in', ('bank', 'cash'))] required=True args: 'account.journal', 'Journal'
  • order_id Many2one → sale.order
    required=True args: 'sale.order'
  • payment_ref Char
    args: 'Ref.'
  • payment_type Selection
    default='inbound' required=True args: [('inbound', 'Inbound'), ('outbound', 'Outbound')]
Public methods (3)
  • check_amount(self)
    @api.constrains('amount_advance')
  • default_get(self, fields_list)
    @api.model
  • make_advance_payment(self)
    Create customer paylines and validates the payment

New fields (4)
  • account_payment_ids One2many → account.payment
    comodel_name='account.payment' inverse_name='sale_id' string='Pay sale advanced'
  • advance_payment_status Selection
    compute='_compute_advance_payment' copy=False selection=[('not_paid', 'Not Paid'), ('paid', 'Paid'), ('partial', 'Partially Paid')] store=True tracking=True
  • amount_residual Monetary
    compute='_compute_advance_payment' store=True string='Residual amount'
  • payment_line_ids Many2many → account.move.line
    comodel_name='account.move.line' compute='_compute_advance_payment' store=True string='Payment move lines'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…