Repository
odoo/odoo · module folder
Module version
1.0
Category
Sales/Sales
Folder size
2.21 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-07 05:29:16
Authors
Maintainers
None
Committers
Raphael Collet, Thibault Delavallée, Martin Trigaux, Odoo Translation Bot, Goffin Simon, Jeremy Kersten, GitHub, Yannick Tivisse, Pierre Masereel, Romain Derie, Jorge Pinna Puissant, Adrian Torres, Xavier-Do, Victor Feyens, Andrea Grazioso (agr-odoo), Joseph Caburnay, svs-odoo, Achraf (abz), nie, Tiffany Chang (tic), Ivàn Todorovich, William Braeckman, Kevin Baptiste, Pratima Gupta, pedrambiria, momegahed, prro-odoo, Florian Damhaut, MerlinGuillaume, anhe-odoo, Nicolas Bayet, Walid HANNICHE (waha), Thomas Lefebvre (thle), David, Mylyna Hy, Valentin Vallaeys (vava), Đặng Văn Lộc, Valeriya(vchu), odoostan
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
coupon_mass_mailing, coupon_portal, sale_coupon_auto_refresh, sale_coupon_criteria_multi_product, sale_coupon_criteria_order_based, sale_coupon_delivery, sale_coupon_domain_product_discount, sale_coupon_financial_risk, sale_coupon_incompatibility, sale_coupon_multiple_code_program, sale_coupon_order_line_link, sale_coupon_order_pending, sale_coupon_promotion_generate_coupon, sale_coupon_validity_notification, website_sale_coupon
Description
Integrate coupon mechanism in sales orders.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.view.form.inherit.sale.coupon res.config.settings form Inherits sale.res_config_settings_view_form
sale_coupon_apply_code_view_form sale.coupon.apply.code.form sale.coupon.apply.code form New
sale_coupon_program_view_coupon_program_form coupon.program.form coupon.program form Inherits coupon.coupon_program_view_coupon_program_form
sale_coupon_program_view_promo_program_form coupon.program.form coupon.program form Inherits coupon.coupon_program_view_promo_program_form
sale_coupon_view_coupon_program_kanban coupon.program.kanban coupon.program kanban Inherits coupon.view_coupon_program_kanban
sale_coupon_view_form coupon.coupon.form coupon.coupon form Inherits coupon.coupon_view_form
sale_coupon_view_tree coupon.coupon.tree coupon.coupon tree Inherits coupon.coupon_view_tree
sale_order_view_form sale.order.form.inherit.coupon sale.order form Inherits sale.view_order_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (5)

New fields (2)
  • order_id Many2one → sale.order
    help='The sales order from which coupon is generated' readonly=True args: 'sale.order', 'Order Reference'
  • sales_order_id Many2one → sale.order
    help='The sales order on which the coupon is applied' readonly=True args: 'sale.order', 'Used in'
Public methods (0)

No public methods.

New fields (1)
  • order_count Integer
    compute='_compute_order_count'
Public methods (1)
  • action_view_sales_orders(self)

New fields (1)
  • coupon_code Char
    required=True string='Code'
Public methods (2)
  • apply_coupon(self, order, coupon_code)
  • process_coupon(self)
    Apply the entered coupon code if valid, raise an UserError otherwise.

New fields (6)
  • applied_coupon_ids One2many → coupon.coupon
    copy=False string='Applied Coupons' args: 'coupon.coupon', 'sales_order_id'
  • code_promo_program_id Many2one → coupon.program
    copy=False domain="[('promo_code_usage', '=', 'code_needed'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]" string='Applied Promo Program' args: 'coupon.program'
  • generated_coupon_ids One2many → coupon.coupon
    copy=False string='Offered Coupons' args: 'coupon.coupon', 'order_id'
  • no_code_promo_program_ids Many2many → coupon.program
    copy=False domain="[('promo_code_usage', '=', 'no_code_needed'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]" string='Applied Immediate Promo Programs' args: 'coupon.program'
  • promo_code Char
    help='Applied program code' readonly=False related='code_promo_program_id.promo_code'
  • reward_amount Float
    compute='_compute_reward_total'
Public methods (5)
  • action_confirm(self)
  • action_draft(self)
  • copy(self, default=None)
    @api.returns('self', <expr>)
  • recompute_coupon_lines(self)
  • update_prices(self)
    Recompute coupons/promotions after pricelist prices reset.

New fields (1)
  • is_reward_line Boolean
    args: 'Is a program reward line'
Public methods (2)
  • modified(self, fnames, *args, **kwargs)
  • unlink(self)

Loading…

Loading…