OCA/purchase-workflow
OCA community repository with 221 Odoo modules confirmed in the OdooWiki catalogue (versions 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0). Reviewed on 2026-11-03.
Open on GitHubConfirmed modules per version
Modules in the repository
- Update costs from purchaseOdoo 16, 18purchase_stock_cost_update
Lets purchasing managers correct the stock valuation of received goods when the purchase price changes, directly from the purchase order. It shows which lines differ and applies the new cost to the valuation layers.
- purchase_stock_date_done_revaluation
When the effective date of an incoming purchase receipt changes, this module recalculates the inventory value of that receipt, as long as the vendor bill has not yet been posted.
- Purchase Stock Line SequenceOdoo 18purchase_stock_line_sequence
Keeps the order of purchase order lines and their stock moves in sync, and blocks changing the move order from the transfer screen.
- Purchase Stock Manual CurrencyOdoo 15, 17, 18purchase_stock_manual_currency
When a purchase order uses a manually entered currency rate, this module makes sure that rate is also used for the stock moves created from that order, so the cost recorded in inventory matches the purchase order.
- Purchase Stock PackagingOdoo 16, 17, 18, 19purchase_stock_packaging
When Odoo automatically creates a purchase order line from a stock need, this module keeps the product packaging chosen in the procurement, so the order line uses the packaging's unit of measure and quantity instead of the base unit.
- purchase_stock_picking_actual_date_show_currency_rate
This bridge module makes the currency rate shown on a completed transfer use the actual date the transfer was finished, instead of the scheduled date.
- Purchase Stock Picking Show Currency RateOdoo 13, 16purchase_stock_picking_show_currency_rate
Shows the currency exchange rate used on purchase-related stock transfers, so users can check the rate that will be (or was) applied to stock valuation. The display format is configurable per company.
- Purchase stock price unit syncOdoo 12, 13, 14, 15, 16, 17, 18, 19purchase_stock_price_unit_sync
This module automatically updates the cost price recorded on completed stock moves when you change the unit price or discount on a purchase order line.
- Purchase Stock Reception StatusOdoo 17, 18purchase_stock_reception_status
Automatically installs a compatibility layer so that the OCA purchase reception status logic is used on purchase orders instead of Odoo's native one, and hides the duplicate native status fields.
- Purchase Stock Return RequestOdoo 12, 13, 15purchase_stock_return_request
Link supplier return requests to the original purchase orders and see the purchase value of the goods being returned, including taxes and totals, on the return request and its printed report.
- Purchase Stock Secondary UnitOdoo 13, 14, 15, 17, 18purchase_stock_secondary_unit
When a purchase order is confirmed, the secondary unit quantity entered on the purchase order line is copied onto the related stock moves, so warehouse staff see the same secondary unit figures on receipts.
- Purchase Stock Tier ValidationOdoo 13, 14, 15, 16purchase_stock_tier_validation
When Odoo automatically creates a request for quotation (RFQ) from a reordering rule, it now ignores purchase orders that are waiting for tier validation or have already been validated. This prevents duplicate RFQs for the same supplier.
- purchase_stock_vendor_bill_breakdown
This module links the vendor bill product breakdown feature with inventory, so when a purchase order line receives stock, the breakdown components are updated automatically.
- Purchase Sub StateOdoo 13, 14, 15, 18purchase_substate
Adds a second-level status (substate) to purchase orders and requests for quotation, so you can track extra steps like "Waiting for legal documents" or "In receipt" on top of the standard status.
- Supplierinfo Editable TreeOdoo 16purchase_supplierinfo_editable_tree
Makes the supplier price list tree view editable directly in Odoo, so you can quickly update purchase prices from a supplier without exporting and importing data.
- purchase_supplierinfo_product_breakdown
Lets you record which components and quantities make up a product for a specific vendor, directly on the vendor price list line. A button opens a component breakdown screen when both the product and the vendor are flagged to use components.
- Purchase TagsOdoo 14, 15, 16, 17, 18, 19purchase_tag
Add tags to purchase orders and filter or group them by tag. Tags can be organized in a hierarchy and are managed from the Purchase configuration menu.
- Purchase Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18purchase_tier_validation
Adds an approval workflow to purchase orders: orders can require one or more reviews before they can be confirmed, and reviewers see a dedicated filter for the orders waiting for them.
- purchase_tier_validation_forward
Adds a Forward button to purchase orders so an approver can pass the approval to another user, creating an extra sub-level approval step.
- Purchase - Total Ordered QtyOdoo 15purchase_total_ordered_qty
Adds a 'Total Quantity' block to the purchase order form that shows the total ordered quantity, grouped by unit of measure and converted to each unit's reference unit.
- Purchase Transport ModeOdoo 16, 17purchase_transport_mode
Define transport modes with rules that purchase orders must satisfy, assign a default transport mode to vendors, and see warnings on purchase orders when the rules are not met.
- Purchase Order Triple DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19purchase_triple_discount
Adds three successive discounts (Disc. 1, Disc. 2, Disc. 3) on purchase order lines and supplier pricelists, replacing the single discount field. The combined discount is calculated automatically and carried through to vendor bills.
- Purchase Uninvoiced Amount Force Invoiced LineOdoo 15, 16, 18purchase_uninvoiced_amount_force_invoiced_line
When a purchase order line is marked as force invoiced or already fully invoiced, its uninvoiced amount is automatically set to zero. This keeps the uninvoiced amount column consistent with the invoice status.
- Purchase UoM DiscreteOdoo 19purchase_uom_discrete
When you enter a quantity on a purchase order line, this module automatically rounds it up to the next whole number if the product is measured in countable units (like units, boxes or laptops). Products measured in weight, volume, length or time keep their…
- Purchase Control Menu from v12Odoo 13, 15, 17, 19purchase_v12_control_menu
Adds a Control menu under Purchase with two shortcuts: a list of incoming products you are waiting to receive, and a list of vendor bills. It restores the handy purchase control accesses that existed in Odoo v12.
- purchase_vendor_bill_breakdown
Lets you replace a purchased product with a predefined set of component products on the vendor bill, and compute the vendor price from those components. Useful when a supplier invoices a kit as separate items.
- Purchase Vendor PromotionOdoo 16purchase_vendor_promotion
Flag vendor price lists as promotions with start and end dates, see the promotion period on reordering rules, and let the Buy route automatically pick the vendor with the best active or upcoming promotion.
- Purchase Warn MessageOdoo 13, 15, 16, 17, 18purchase_warn_message
Shows a warning banner on purchase orders when the vendor has a purchase warning set, so buyers see the message before confirming the order.
- Purchase Warn OptionOdoo 15, 18purchase_warn_option
Lets you pick a ready-made warning option on vendors and products, which automatically fills in the purchase warning message shown on purchase orders.
- Purchase Work AcceptanceOdoo 12, 13, 14, 15, 16, 18purchase_work_acceptance
Create Work Acceptance records to control what quantity and price of a purchase order can be received and billed. Receipts and vendor bills must match an accepted Work Acceptance before they can be validated.
- Purchase Work Acceptance EvaluationOdoo 12, 14, 15, 16, 18purchase_work_acceptance_evaluation
Lets you score the quality of a vendor's work on each Work Acceptance, using evaluation criteria you define yourself, and analyse the results in a dedicated report.
- Purchase Work Acceptance Invoice PlanOdoo 14, 15, 18purchase_work_acceptance_invoice_plan
Create Work Acceptances directly from a purchase order's invoice plan, one installment at a time. The chosen installment controls the quantities proposed on the Work Acceptance instead of the invoice plan itself.
- Purchase Work Acceptance - Late Delivery FinesOdoo 14, 15, 18purchase_work_acceptance_late_fines
Adds late delivery fines to work acceptances: Odoo computes how many days late a receipt is, multiplies it by a daily rate, and lets you create a customer invoice or vendor refund for that amount.
- Purchase Work Acceptance Tier ValidationOdoo 14, 15purchase_work_acceptance_tier_validation
Adds an approval workflow (tier validation) to Work Acceptances, so a Work Acceptance must be reviewed and approved by the right people before it can be accepted.
- Sale Purchase Force VendorOdoo 14, 15, 16, 17, 18, 19sale_purchase_force_vendor
Lets you pick a specific vendor on each sale order line when the product is bought through a route, so the generated purchase order goes to that vendor. A company setting can restrict the choice to vendors already linked to the product.
- Sale Purchase Secondary UnitOdoo 15sale_purchase_secondary_unit
When a sale order is confirmed, the secondary unit of measure chosen on the sale line is carried over to the generated purchase order line, so buyers see the same secondary quantity and unit.
- Stock Move Purchase Price UpdateOdoo 15, 18stock_move_purchase_price_update
Lets purchasing users correct the unit price of a purchase order directly from an incoming receipt, before the order has been invoiced.
- stock_picking_batch_purchase_price_update
Adds a purchase price column to the detailed operations screens of incoming picking batches, so users can view and edit the purchase price directly from batch operations.
- Subcontracted serviceOdoo 12, 14, 15subcontracted_service
Marks service products as subcontracted and lets Odoo automatically create purchase orders for them when they are needed by sales, kits or manufacturing. It is a base module: it adds the setup options, not a standalone screen.
- Supplier CalendarOdoo 12, 13, 14, 15, 16, 17, 18, 19supplier_calendar
Lets you attach a working-time calendar to a supplier so purchase lead times are counted in that supplier's working days instead of plain calendar days, and uses it to compute planned dates on purchase orders and stock pickings.
- Vendor transport lead timeOdoo 13, 14, 18vendor_transport_lead_time
Split a vendor's lead time into supplier lead time and transport lead time, and use the transport part to show when goods must be handed to the carrier so they arrive on the planned date.