### Extending Purchase Order Receipt Expectation Source: https://github.com/oca/purchase-workflow/blob/18.0/purchase_receipt_expectation/readme/USAGE.md Example of inheriting the `purchase.order` model to add a custom `receipt_expectation` value and implementing the required picking creation method. ```python class PurchaseOrder(models.Model): _inherit = "purchase.order" receipt_expectation = fields.Selection( selection_add=[("my_value", "My Value")], ondelete={"my_value": "set default"}, ) def _create_picking_for_my_value_receipt_expectation(self): """Manage picking creation for orders where ``receipt_expectation`` is ``"my_value"`` """ ... ``` -------------------------------- ### Implement Custom Picking Creation Logic Source: https://github.com/oca/purchase-workflow/blob/18.0/purchase_receipt_expectation/static/description/index.html Define a method to manage picking creation for a specific receipt_expectation value. This method should follow the naming convention _create_picking_for__receipt_expectation(). If not implemented, a NotImplementedError will be raised. ```python def _create_picking_for_my_value_receipt_expectation(self): """Manage picking creation for orders where `receipt_expectation` is `"my_value"` """ ... ``` -------------------------------- ### Bold Definition List Terms Source: https://github.com/oca/purchase-workflow/blob/18.0/purchase_stock_packaging/static/description/index.html Enables bold styling for definition list terms. This is commented out by default. ```css /* Uncomment (and remove this text!) to get bold-faced definition list terms */ dl.docutils dt { font-weight: bold } */ ``` -------------------------------- ### Extend Purchase Order with Custom Receipt Expectation Source: https://github.com/oca/purchase-workflow/blob/18.0/purchase_receipt_expectation/README.rst Inherit the 'purchase.order' model to add a custom value to the 'receipt_expectation' selection field. This requires defining a corresponding method to handle the custom logic for picking creation. ```python class PurchaseOrder(models.Model): _inherit = "purchase.order" receipt_expectation = fields.Selection( selection_add=[("my_value", "My Value")], ondelete={"my_value": "set default"}, ) def _create_picking_for_my_value_receipt_expectation(self): """Manage picking creation for orders where ``receipt_expectation`` is ``"my_value"`` """ ... ``` -------------------------------- ### Purchase RFQ Number Module - Quotation Numbering Source: https://github.com/oca/purchase-workflow/blob/18.0/purchase_rfq_number/static/description/index.html Shows how purchase quotations are numbered using the 'purchase_rfq_number' module. ```text Purchase for Quotation 1 Number = RFQ001 Purchase for Quotation 2 Number = RFQ002 ``` -------------------------------- ### Purchase RFQ Number Module - Confirmed Order Numbering Source: https://github.com/oca/purchase-workflow/blob/18.0/purchase_rfq_number/static/description/index.html Demonstrates how confirmed purchase orders are numbered after the RFQ is processed with this module. ```text Purchase for Quotation 1 Confirmed = Number for Purchase Order PO001 from Purchase for Quotation RFQ001 Purchase for Quotation 2 Confirmed = Number for Purchase Order PO002 from Purchase for Quotation RFQ002 ```