Pricelist Items Generator

pricelist_item_generator
REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/8.0/pricelist_item_generator
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYproduct
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSOCA Transbot, David Beal, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.akretion.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web_kanban
    - web
    - web_kanban_sparkline
    - account_voucher
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - board
    - edi
    - email_template
    - procurement
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
pricelist_item_generator_form_view pricelist.item.generator form New
pricelist_item_generator_tree_view pricelist.item.generator tree New
product_pricelist_version_form_view product.pricelist.version field Inherits product.product_pricelist_version_form_view
Models touched (7)

New fields (2)
  • min_quantity Integer
    default=1
  • price_generator_id Many2one → pricelist.item.generator
    comodel_name='pricelist.item.generator' readonly=True string='Generator'
Public methods (0)

No public methods.

New fields (9)
  • active Boolean
    copy=False help="If checked, rules are exported towards 'Product pricelist items'" string='Active'
  • copy_item_template Boolean
    copy=False help="Check to copy 'price items' in case of duplication of generator" string='Copy Price Items'
  • copy_product_condition Boolean
    copy=False help="Check to copy 'involved products' in case of duplication of generator" string='Copy Involved Products'
  • item_template_ids One2many → pricelist.item.template
    comodel_name='pricelist.item.template' help='Pricelist item template' inverse_name='price_generator_id' string='Pricelist item templates'
  • name Char
    help='Copied towards pricelist price item' required=True string='Name'
  • price_version_id Many2one → product.pricelist.version
    comodel_name='product.pricelist.version' domain="[('pricelist_id.type', '=', 'sale')]" help="Only pricelist of 'Sale' type" required=True string='Pricelist version'
  • product_condition_ids One2many → pricelist.product.condition
    comodel_name='pricelist.product.condition' help='In which products are applied the price elements' inverse_name='price_generator_id' string='Product conditions'
  • sequence Integer
    default=5 help='Used to generate the sequence of the price item' string='Sequence'
  • to_update Boolean
    copy=False default=True help='Flag if the pricelist items needs to be build' readonly=True string='To update'
Public methods (4)
  • activate_generator(self)
    @api.multi
  • build_pricelist_item(self)
    @api.multi
    Called by the UI
  • copy(self, default=None)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (9)
  • base Selection
    default=1 help='Base price for computation.' required=True selection='_price_field_get' size=-1 string='Based on'
  • base_pricelist_id Many2one → product.pricelist
    comodel_name='product.pricelist' help='Other pricelist on which this item is based.' string='Other PL'
  • price_discount Float
    default=0 digits=(16, 2) string='Discount (%)'
  • price_max_margin Float
    digits_compute=dp.get_precision('Product Price') help='Specify the maximum amount of margin over the base price.' string='Max. Price Margin'
  • price_min_margin Float
    digits_compute=dp.get_precision('Product Price') help='Specify the minimum amount of margin over the base price.' string='Min. Price Margin'
  • price_round Float
    digits_compute=dp.get_precision('Product Price') help='Sets the price so that it is a multiple of this value.\nRounding is applied after the discount and before the surcharge.\n To have prices that end in 9.99, set rounding 10, surcharge -0.01' string='Price Rounding'
  • price_surcharge Float
    digits_compute=dp.get_precision('Product Price') help='Specify the fixed amount to add or substract(if negative) to the amount calculated with the discount.' string='Price Surcharge'
  • sequence Integer
    default=50 help='Gives the order in which the pricelist items will be checkedby the ERP.\nThe evaluation gives highest priority to lowest sequence and stops as soon as a matching price item is found.' required=True string='Sequence'
  • todo Selection
    help='Required action on Pricelist Items' readonly=True selection=TODO_SELECTION string='Next Action'
Public methods (0)

No public methods.

New fields (1)
  • price_generator_id Many2one → pricelist.item.generator
    comodel_name='pricelist.item.generator' required=True
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi

New fields (5)
  • categ_id Many2one → product.category
    comodel_name='product.category' help='Products of the category or products of children categories' string='Category'
  • price_generator_id Many2one → pricelist.item.generator
    comodel_name='pricelist.item.generator' required=True string='Generator'
  • product_id Many2one → product.product
    comodel_name='product.product' help='If product is selected, no other criterias can be take account' string='Product Variant'
  • product_tmpl_id Many2one → product.template
    comodel_name='product.template' help='If product is selected, no other criterias can be take account' string='Product'
  • todo Selection
    help='Required action on Pricelist Items' readonly=True selection=TODO_SELECTION string='Next Action'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi

New fields (3)
  • auto Boolean
    help='If true, the item pricelist was built automatically with Pricelist' string='Auto'
  • item_template_id Many2one → pricelist.item.template
    comodel_name='pricelist.item.template' ondelete='cascade' readonly=True string='Item template'
  • product_condition_id Many2one → pricelist.product.condition
    comodel_name='pricelist.product.condition' ondelete='cascade' readonly=True string='Product condition'
Public methods (0)

No public methods.

New fields (2)
  • item_auto_ids One2many → product.pricelist.item
    comodel_name='product.pricelist.item' domain=[('auto', '=', True)] help='Automatic built items' inverse_name='price_version_id' string='Pricelist items auto'
  • item_manual_ids One2many → product.pricelist.item
    comodel_name='product.pricelist.item' domain=[('auto', '=', False)] help='Manually created items' inverse_name='price_version_id' string='Pricelist items manual'
Public methods (0)

No public methods.