TIP: You can type at any time to perform a new search.
Purchase Agreements
purchase_requisition · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 0.1
- Category
- Supply Chain/Purchase
- Folder size
- 3.06 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-08-15 22:44:21
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Raphael Collet, Thibault Delavallée, Odoo Translation Bot, Aaron Bohy, Arnold Moyaux, Julien Castiaux, William Henrotin, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Renaud Thiry, Victor Piryns (pivi), Djamel Touati, Dylan Kiss (dyki), Arnaud Sibille, Quentin Wolfs, kcv-odoo, nihp-odoo, Stéphane Diez, dhha-odoo, Mohammad Abdulmoneim (abdu), djameltouati, Michaël Mattiello, Corentin Heinix (cohe), chha-odoo, Krzysztof Magusiak (krma), Lulu Grimalkin (lugr), rare-odoo, Lancelot Semal, srap-odoo, saurabh, jodh-odoo, msho-odoo, Youssef
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- purchase_requisition_sale, purchase_requisition_stock
- Description
This module allows you to manage your Purchase Agreements. =========================================================== Manage calls for tenders and blanket orders. Calls for tenders are used to get competing offers from different vendors and select the best ones. Blanket orders are agreements you have with vendors to benefit from a predetermined pricing.
Code Analysis ⓘ
Views touched (14)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_supplierinfo_tree_view_inherit |
product.template.product.form.inherit | product.supplierinfo | form | Inherits product.product_supplierinfo_tree_view |
purchase_order_form_inherit |
purchase.order.form.inherit | purchase.order | form | Inherits purchase.purchase_order_form |
purchase_order_line_compare_tree |
purchase.order.line.compare.list | purchase.order.line | list | New |
purchase_order_search_inherit |
purchase.order.list.select.inherit | purchase.order | list | Inherits purchase.view_purchase_order_filter |
purchase_requisition_alternative_warning_form |
Alternative Warning | purchase.requisition.alternative.warning | form | New |
purchase_requisition_create_alternative_form |
Create Alternative | purchase.requisition.create.alternative | form | New |
report_purchaserequisition_document |
report_purchaserequisition_document | ir.ui.view | qweb | New |
report_purchaserequisitions |
report_purchaserequisitions | ir.ui.view | qweb | New |
res_config_settings_view_form_purchase_requisition |
res.config.settings.view.form.inherit.purchase.requisition | res.config.settings | form | Inherits purchase.res_config_settings_view_form_purchase |
supplier_info_form_inherit |
product.supplierinfo.requisition.view | product.supplierinfo | form | Inherits product.product_supplierinfo_form_view |
view_purchase_requisition_filter |
purchase.requisition.list.select | purchase.requisition | search | New |
view_purchase_requisition_form |
purchase.requisition.form | purchase.requisition | form | New |
view_purchase_requisition_kanban |
purchase.requisition.kanban | purchase.requisition | kanban | New |
view_purchase_requisition_tree |
purchase.requisition.list | purchase.requisition | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (10)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
purchase_requisition_idMany2one → purchase.requisitionrelated='purchase_requisition_line_id.requisition_id'string='Agreement' args: 'purchase.requisition' -
purchase_requisition_line_idMany2one → purchase.requisition.lineindex='btree_not_null' args: 'purchase.requisition.line'
No public methods.
New fields (4)
-
alternative_po_idsOne2many → purchase.ordercheck_company=Truedomain="[('id', '!=', id), ('state', 'in', ['draft', 'sent', 'to approve'])]"help='Other potential purchase orders for purchasing products'readonly=Falserelated='purchase_group_id.order_ids'string='Alternative POs' args: 'purchase.order' -
purchase_group_idMany2one → purchase.order.groupindex='btree_not_null' args: 'purchase.order.group' -
requisition_idMany2one → purchase.requisitioncopy=Falseindex='btree_not_null'string='Agreement' args: 'purchase.requisition' -
requisition_typeSelectionrelated='requisition_id.requisition_type'
-
action_compare_alternative_lines(self) -
action_create_alternative(self) -
button_confirm(self) -
create(self, vals_list)@api.model_create_multi -
get_tender_best_lines(self) -
write(self, vals)
New fields (1)
-
order_idsOne2many → purchase.orderargs: 'purchase.order', 'purchase_group_id'
-
write(self, vals)
New fields (2)
-
company_currency_idMany2onerelated='company_id.currency_id'string='Company Currency' -
price_total_ccMonetarycompute='_compute_price_total_cc'currency_field='company_currency_id'store=Truestring='Company Subtotal'
-
action_choose(self) -
action_clear_quantities(self)
New fields (16)
-
activeBooleandefault=True args: 'Active' -
company_idMany2one → res.companydefault=<expr>required=Truestring='Company' args: 'res.company' -
currency_idMany2one → res.currencycompute='_compute_currency_id'precompute=Truereadonly=Falserequired=Truestore=True args: 'res.currency', 'Currency' -
date_endDatestring='End Date'tracking=True -
date_startDatestring='Start Date'tracking=True -
descriptionHtml -
line_idsOne2many → purchase.requisition.linecopy=Truestring='Products to Purchase' args: 'purchase.requisition.line', 'requisition_id' -
nameCharcopy=Falsedefault=<expr>readonly=Truerequired=Truestring='Agreement' -
order_countIntegercompute='_compute_orders_number'string='Number of Orders' -
product_idMany2one → product.productrelated='line_ids.product_id'string='Product' args: 'product.product' -
purchase_idsOne2many → purchase.orderstring='Purchase Orders' args: 'purchase.order', 'requisition_id' -
referenceCharstring='Reference' -
requisition_typeSelectiondefault='blanket_order'required=Truestring='Agreement Type' args: [('blanket_order', 'Blanket Order'), ('purchase_template', 'Purchase Template')] -
stateSelectioncopy=Falsedefault='draft'required=Trueselection=[('draft', 'Draft'), ('confirmed', 'Confirmed'), ('done', 'Closed'), ('cancel', 'Cancelled')]string='Status'tracking=True -
user_idMany2one → res.userscheck_company=Truedefault=<expr>string='Purchase Representative' args: 'res.users' -
vendor_idMany2one → res.partnercheck_company=Truestring='Vendor' args: 'res.partner'
-
action_cancel(self) -
action_confirm(self) -
action_done(self)Generate all purchase order based on selected lines, should only be called on one agreement at a time -
action_draft(self) -
create(self, vals_list)@api.model_create_multi -
unlink(self) -
write(self, vals)
New fields (2)
-
alternative_po_idsMany2many → purchase.orderstring='Alternative POs' args: 'purchase.order', 'warning_purchase_order_alternative_rel' -
po_idsMany2many → purchase.orderstring='POs to Confirm' args: 'purchase.order', 'warning_purchase_order_rel'
-
action_cancel_alternatives(self) -
action_keep_alternatives(self)
New fields (4)
-
copy_productsBooleandefault=Truehelp='If this is checked, the product quantities of the original PO will be copied' args: 'Copy Products' -
origin_po_idMany2one → purchase.orderhelp='The original PO that this alternative PO is being created for.' args: 'purchase.order' -
partner_idsMany2many → res.partnerhelp='Choose a vendor for alternative PO'required=Truestring='Vendor' args: 'res.partner' -
purchase_warn_msgTextcompute='_compute_purchase_warn_msg'groups='purchase.group_warning_purchase' args: 'Warning Messages'
-
action_create_alternative(self)
New fields (9)
-
company_idMany2one → res.companyreadonly=Truerelated='requisition_id.company_id'store=Truestring='Company' args: 'res.company' -
price_unitFloatcompute='_compute_price_unit'default=0.0min_display_digits='Product Price'readonly=Falsestore=Truestring='Unit Price' -
product_description_variantsCharargs: 'Description' -
product_idMany2one → product.productdomain=[('purchase_ok', '=', True)]required=Truestring='Product' args: 'product.product' -
product_qtyFloatdigits='Product Unit'string='Quantity' -
product_uom_idMany2one → uom.uomcompute='_compute_product_uom_id'precompute=Truereadonly=Falsestore=True args: 'uom.uom', 'Unit' -
qty_orderedFloatcompute='_compute_ordered_qty'string='Ordered' -
requisition_idMany2one → purchase.requisitionindex=Trueondelete='cascade'required=Truestring='Purchase Agreement' args: 'purchase.requisition' -
supplier_info_idsOne2many → product.supplierinfoargs: 'product.supplierinfo', 'purchase_requisition_line_id'
-
create(self, vals_list)@api.model_create_multi -
unlink(self) -
write(self, vals)
New fields (1)
-
group_purchase_alternativesBooleanimplied_group='purchase_requisition.group_purchase_alternatives' args: 'Purchase Alternatives'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…