Skip to Content
Catalog / PUR · Purchase / Purchase Global Discount
Purchase Global Discount
purchase_global_discount

Purchase Global Discount

Apply per-line, global percentage, or fixed-amount discounts to any Purchase Order in one click.

v19.0.1.0.0 Abdelfatah Mohammad (AlshayebCo) Purchase

Inherits purchase order to add action_open_discount_wizard, which opens a purchase discount wizard TransientModel in a modal. The wizard offers three modes: 'lines' writes a discount percent to all non-display order lines; 'global' and 'fixed' create or update a single negative purchase order line using a dedicated PO_DISC service product (auto-created if missing), with supplier taxes mapped through the order's fiscal position. Global mode bases its amount on the untaxed subtotal excluding the discount line itself. UI is a single inherited view (priority 50) injecting the button before the tax_totals field; one ir.model.access row grants base group_user read/write/create on the wizard. Depends on purchase, account and product.

Overview

Standard Odoo Purchase Orders offer no quick way to record a supplier discount across an entire order, forcing buyers to edit each line manually or rework totals by hand. Purchase Global Discount adds a single Discount button to the Purchase Order totals area that opens a wizard offering three modes: a percentage applied to every order line, a global percentage booked as one negative line, or a flat fixed amount. The discount flows straight through to the vendor bill so amounts stay consistent from order to invoice, mirroring the familiar discount experience buyers already know from Sales.

Key Features

  • Adds a Discount button directly in the Purchase Order totals column, next to the tax totals.
  • Applies a percentage discount to every order line at once with a single entry.
  • Books a global percentage discount as one negative line so it carries through to the vendor bill.
  • Records a flat fixed-amount discount in the order's currency as a single negative line.
  • Computes the global percentage on the untaxed base while excluding its own discount line to prevent compounding.
  • Reuses or auto-creates a dedicated PO_DISC service product for global and fixed discounts.
  • Maps the discount product's supplier taxes through the order's fiscal position automatically.
  • Updates or removes the existing discount line on re-apply, and clears it when the amount rounds to zero.
  • Validates that percentage entries stay between 0 and 100 before applying.

Technical Details

Technical Name purchase_global_discount
Version 19.0.1.0.0
License OPL-1
Domain PUR · Purchase

Security

Every internal user (the base Employee group) may use the discount wizard, with read, write and create rights on the transient wizard model; no delete right and no new security groups are introduced. The wizard acts on the Purchase Orders the user can already access through standard purchasing access rights.

Dependencies

purchase account product