OdooWiki OCA HUB

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 GitHub

Confirmed modules per version

12.0
71 modules
13.0
80 modules
14.0
105 modules
15.0
108 modules
16.0
114 modules
17.0
79 modules
18.0
109 modules
19.0
49 modules
20.0
2 modules

Modules in the repository

  • purchase_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_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_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, 19
    purchase_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_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, 19
    purchase_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_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_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, 18
    purchase_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_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, 18
    purchase_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.

  • purchase_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, 19
    purchase_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, 18
    purchase_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_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_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, 19
    purchase_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_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_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_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_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, 18
    purchase_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_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, 18
    purchase_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_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_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_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_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, 19
    sale_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_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_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, 15
    subcontracted_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, 19
    supplier_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_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.

Data imported from GitHub: every listed version is confirmed (branch, module directory and installable manifest checked on the review date). Active support and OCA certification are not assessed.