TIP: You can type at any time to perform a new search.
Purchase Requisition Bid Selection
purchase_requisition_bid_selection · OCA/purchase-workflow
- Repository
- OCA/purchase-workflow · module folder · Try on Runboat
- Module version
- 2.1.0
- Category
- Purchase Management
- Folder size
- 0.11 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-08-07 07:17:49
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- Pedro M. Baeza, Stéphane Bidoul (ACSONE)
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- framework_agreement_requisition, logistic_requisition, ngo_purchase, ngo_purchase_requisition, purchase_requisition_auto_rfq_bid_selection
- Description
Code Analysis ⓘ
Views touched (16)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
action_modal_confirm_different_quantity |
action.modal | purchase.action_modal | form | New |
ask_selection_reasons |
action.modal | purchase.action_modal.ask_selection_reasons | form | New |
ask_validity |
action.modal | purchase.action_modal.ask_validity | form | New |
assets_backend |
purchase requisition assets | ir.ui.view | qweb | Inherits purchase_requisition.assets_backend |
modal_confirm_close_selection |
action.modal | purchase.action_modal | form | New |
report_purchaserequisitions |
report_purchaserequisitions | ir.ui.view | qweb | New |
report_purchaserequisitions_document |
report_purchaserequisitions_document | ir.ui.view | qweb | New |
view_purchase_order_form |
purchase.order.inherit | purchase.order | form | Inherits purchase_rfq_bid_workflow.view_purchase_order_form |
view_purchase_order_form2 |
purchase.order.inherit | purchase.order | form | Inherits purchase_requisition.purchase_order_form_inherit |
view_purchase_order_line_form |
purchase.order.line.form.inherit | purchase.order.line | form | Inherits purchase.purchase_order_line_form |
view_purchase_order_line_search |
purchase.order.line.inherit | purchase.order.line | search | Inherits purchase.purchase_order_line_search |
view_purchase_order_line_tree |
purchase.order.line.inherit | purchase.order.line | tree | Inherits purchase_requisition.purchase_order_line_tree_tender |
view_purchase_requisition_form |
purchase.requisition.form.inherit | purchase.requisition | form | Inherits purchase_requisition_multicurrency.view_purchase_requisition_form |
view_purchase_requisition_partner_draftbid |
Choose Supplier | purchase.requisition.partner | form | New |
view_update_bid_internal_remark |
Update bid internal remark | update.bid.internal.remark | form | New |
view_update_remark |
Update remark | update.remark | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (12)
New fields (1)
-
selection_reasonsTextrequired=True
No public methods.
New fields (1)
-
validityDaterequired=True args: 'New end of validity'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (11)
-
bid_eligibleBoolean -
bid_internal_remarkTextargs: 'Internal remarks' -
bid_partialBooleanhelp='True if the bid has been partially selected'readonly=True args: 'Bid partially selected' -
country_of_originMany2one → res.countryargs: 'res.country' -
delivery_remarkTextargs: 'Delivery Remarks' -
keep_in_draftBooleanhelp='Technical field used to prevent the PO that is automatically generated from a Tender to be validated. It is checked on the workflow transition.' args: 'Prevent validation of purchase order.' -
meets_specificationsBoolean -
requisition_idMany2onecopy=True -
terms_of_paymentChar -
volume_estimatedFloatargs: 'Volume estimated (m3)' -
weight_estimatedFloatargs: 'Weight estimated (kg)'
-
copy(self, default=None)@api.oneNeed to set origin after copy because original copy clears origin
New fields (0)
No new fields.
Public methods (1)-
read_group(self, *args, **kwargs)Do not aggregate price and qty. We need to do it this way as there is no group_operator that can be set to prevent aggregating float
New fields (9)
-
bid_eligibleBooleanrelated='order_id.bid_eligible'store=True -
country_of_originMany2one → res.countryrelated='order_id.country_of_origin' args: 'res.country' -
incoterm_addressCharrelated='order_id.incoterm_address' args: 'Incoterms place' -
incoterm_idMany2one → stock.incotermsrelated='order_id.incoterm_id'store=Truestring='Incoterm' args: 'stock.incoterms' -
meets_specificationsBooleanrelated='order_id.meets_specifications'store=True -
payment_term_idMany2one → account.payment.termrelated='order_id.payment_term_id' args: 'account.payment.term' -
remarkTextargs: 'Remarks / Conditions' -
requisition_line_idMany2one → purchase.requisition.linereadonly=True args: 'purchase.requisition.line', 'Call for Bid Line' -
terms_of_paymentCharrelated='order_id.terms_of_payment'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (13)
-
bid_idsOne2many → purchase.ordercomodel_name='purchase.order'domain=[('type', '=', 'bid')]inverse_name='requisition_id' -
bid_receipt_modeSelectiondefault='open'help='- Open : The bids can be opened when received and encoded. \n- Closed : The bids can be marked as received but they have to be opened \nall at the same time after an opening ceremony (probably specific to public sector).'required=True args: [('open', 'Open'), ('sealed', 'Sealed')], 'Bid Receipt Mode' -
bid_tendering_modeSelectiondefault='open'help='- Restricted : you select yourself the bidders and generate a RFQ for each of those. \n- Open : anybody can bid (you have to advertise the call for bids) and you directly encode the bids you received. You are still able to generate RFQ if you want to contact usual bidders.'required=True args: [('open', 'Open'), ('restricted', 'Restricted')], 'Call for Bids Mode' -
budgetFloat -
date_endDatetimehelp="All bids received after that date won't be valid (probably specific to public sector)." args: 'Bid Submission Deadline' -
delivery_remarkTextargs: 'Delivery Remarks' -
eligible_bid_idsOne2many → purchase.ordercomodel_name='purchase.order'domain=[('type', '=', 'bid'), ('state', 'in', ('draftbid', 'bid')), ('bid_eligible', '=', True)]inverse_name='requisition_id' -
pricelist_idMany2one → product.pricelistdomain=[('type', '=', 'purchase')]help='If set that pricelist will be used to generate the RFQ.Mostely used to ask a requisition in a given currency.' args: 'product.pricelist', 'Pricelist' -
req_incoterm_addressCharhelp='Incoterm Place of Delivery. International Commercial Terms are a series of predefined commercial terms used in international transactions.' args: 'Requested Incoterms Place' -
req_incoterm_idMany2one → stock.incotermshelp='Default value requested to the supplier. International Commercial Terms are a series of predefined commercial terms used in international transactions.' args: 'stock.incoterms', 'Requested Incoterms' -
req_payment_term_idMany2one → account.payment.termhelp='Default value requested to the supplier.' args: 'account.payment.term', 'Requested Payment Term' -
req_terms_of_paymentCharargs: 'Requested Terms of Payment' -
selection_reasonsTextcopy=False
-
act_tender_closed(self)@api.multi -
ask_confirmation_to_close_selection(self)@api.multi -
ask_selection_reasons(self)@api.multi -
ask_validity(self)@api.multi -
cancel_unconfirmed_quotations(self, tender)@api.modelCalled from generate_po. Cancel only draft and sent rfq -
check_valid_quotation(self, quotation)@api.model -
confirm_selection(self)@api.multiCheck all quantities have been sourced -
generate_po(self)@api.multi -
open_po(self)@api.multiThis opens po view to view all generated po associated to the call for bids -
open_product_line(self, cr, uid, ids, context=None)Filter to show only lines from bids received. Group by requisition line instead of product for unicity. -
open_rfq(self)@api.multiThis opens rfq view to view all generated rfq/bids associated to the call for bids -
quotation_selected(self, quotation)@api.modelPredicate that checks if a quotation has at least one line chosen :param quotation: record of 'purchase.order' :returns: True if one line has been chosen -
tender_cancel(self)@api.multiCancel call for bids and try to cancel related RFQs/PO -
tender_closed(self)@api.multi -
tender_open(self)@api.multiCancel RFQ that have not been sent. Ensure that there are RFQs." -
tender_selected(self)@api.multi -
update_selection_reasons(self)@api.multi -
update_validity(self)@api.multi
New fields (2)
-
purchase_line_idsOne2many → purchase.order.linereadonly=True args: 'purchase.order.line', 'requisition_line_id', 'Bids Lines' -
remarkTextargs: 'Remarks / Conditions'
-
name_get(self)@api.multi
New fields (0)
No new fields.
Public methods (1)-
create_order(self)@api.multi
New fields (1)
-
bid_internal_remarkTextdefault=get_default_remark
-
get_default_remark(self) -
update_remark(self)@api.multi
New fields (1)
-
remarkTextdefault=get_default_remark
-
get_default_remark(self) -
update_remark(self)@api.multi
Loading…
Loading…