Enhances procurement with multi-level approvals, vendor/product intelligence , and operational tools (line copying, pending quantities). Features employee accountability tracking, cancellation reasons, and visual product IDs. Includes comprehensive reporting and audit trails. Streamlines purchasing while improving compliance and decision-making.
Before implementing any functionality, we need to create the basic structure of our customized module.
Purchase Customization
__init__.py
, __manifest__.py
models
name.views
name.You need to provide basic description of the module, assert authorship, and choose a distribution license.
dictionary
with the following info:Adding icon to represent the app.
The customer needs to track which salesperson is responsible for each purchase order.
purchase.order
model to add Saleperson fieldres.users
model.The customer needs an enhanced approval workflow for purchase orders that requires management approval for high-value purchases, while maintaining the existing approval process for standard orders.
res.company
model to add Secondary Double Validation Amount field:purchase.order
model do the following:button_approve
logic to:button_approve
method. button_approve
method.The customer wants to add visible line numbers to purchase orders to make them easier to reference during discussions with vendors.
purchase.order.line
model to add sequence_number fieldThe customer wants to display line numbers on printed purchase orders and quotations to make them easier to reference in printed documents and email communications.
The customer needs the ability to copy purchase order lines within the same purchase order. This feature will help users quickly duplicate line items when creating similar orders or when multiple items share common details.
purchase.order.line
:purchase.order.line
this method duplicates the current line.price_subtotal
fieldThe customer needs to see the last purchase price for each product directly in the purchase order line view.
purchase.order.line
:last_purchase_price
:The customer wants to automatically populate purchase order terms and conditions based on the selected company. This will ensure consistent legal terms across all purchases while still allowing manual adjustments when needed.
res.company
model add HTML field for default purchase terms:purchase.order
model Modify Purchase Order Logic onchange_partner_id
method