Sale Coupon Multi Use

sale_coupon_multi_use
REPOSITORY
REPOSITORYOCA/sale-workflow
GIT
GIThttps://github.com/OCA/sale-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-workflow/tree/13.0/sale_coupon_multi_use
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYSale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSjcoux, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/sale-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale_coupon
    - sale_management
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
sale_coupon_program_view_form sale.coupon.program.form.multi_use sale.coupon.program xpath Inherits sale_coupon.sale_coupon_program_view_form
sale_coupon_view_form_inherit sale.coupon.form.multi_use sale.coupon field Inherits sale_coupon.sale_coupon_view_form
sale_coupon_view_tree sale.coupon.form.multi_use sale.coupon field Inherits sale_coupon.sale_coupon_view_tree
Models touched (6)

New fields (5)
  • consumption_line_ids One2many → sale.coupon.consumption_line
    comodel_name='sale.coupon.consumption_line' inverse_name='coupon_id' readonly=True
  • currency_program_id Many2one
    related='program_id.currency_id'
  • discount_fixed_amount_delta Float
    compute='_compute_discount_fixed_amount_delta' currency_field='currency_program_id' digits='Product Price' string='Fixed Amount Delta'
  • multi_use Boolean
    related='program_id.coupon_multi_use'
  • sale_multi_use_ids Many2many → sale.order
    comodel_name='sale.order' compute='_compute_sale_multi_use_ids' string='Applied on Orders'
Public methods (2)
  • check_and_update_coupon_state(self)
    Set coupons state depending of discount_fixed_amount_delta.
  • move_to_multi_use(self)

New fields (0)

No new fields.

Public methods (1)
  • apply_coupon(self, order, coupon_code)

New fields (5)
  • amount Float
    currency_field='currency_program_id' digits='Product Price'
  • coupon_id Many2one → sale.coupon
    comodel_name='sale.coupon' index=True required=True
  • currency_program_id Many2one
    related='coupon_id.program_id.currency_id'
  • sale_order_line_id Many2one → sale.order.line
    comodel_name='sale.order.line' ondelete='restrict' required=True
  • sale_order_state Selection
    related='sale_order_line_id.order_id.state'
Public methods (1)
  • unlink(self)

New fields (1)
  • coupon_multi_use Boolean
    args: 'Multi Use Coupons'
Public methods (2)
  • action_view_sales_orders(self)
  • write(self, values)

New fields (1)
  • coupon_multi_use_ids Many2many → sale.coupon
    comodel_name='sale.coupon' compute='_compute_coupon_multi_use_ids' string='Multi Use Coupons'
Public methods (1)
  • action_cancel(self)
    Extend to remove lines from multi use coupons.

New fields (1)
  • coupon_consumption_line_ids One2many → sale.coupon.consumption_line
    comodel_name='sale.coupon.consumption_line' inverse_name='sale_order_line_id' readonly=True
Public methods (1)
  • unlink(self)