OdooWiki OCA HUB

OCA purchases modules for Odoo

Purchase requests and orders, approvals, supplier agreements and purchase reports to keep spending and procurement under control. The catalogue has 233 modules in this area, 2 of them confirmed in Odoo 20.0 (reviewed on 2026-11-03).

Confirmed modules per version

12.0
72 modules
13.0
79 modules
14.0
108 modules
15.0
108 modules
16.0
119 modules
17.0
84 modules
18.0
112 modules
19.0
53 modules
20.0
2 modules

OCA repositories in this area

Other areas

Modules in this area

  • purchase_requisition_blanket_order_report

    Changes the printed purchase agreement report so the title shows the agreement type (for example Blanket Order) and, for blanket orders, adds a Price Unit column on the lines.

  • purchase_requisition_grouped_by_procurement

    When Odoo automatically creates purchase requisitions from stock rules, this module reuses an existing draft requisition for the same procurement group instead of creating a new one, adding the new lines to it.

  • purchase_requisition_line_description

    Shows a product description on purchase requisition lines, filled automatically from the product's purchase description in the vendor's language, and prints it on the Purchase Requisition report.

  • purchase_requisition_multiple_vendor

    Lets you pick several vendors at once in the 'Create Alternative' wizard of a purchase requisition, so Odoo creates one alternative purchase order per vendor in a single step.

  • purchase_requisition_order_remaining_qty

    Adds a new agreement type option that lets purchase agreements (requisitions) automatically use only the remaining quantity when creating requests for quotation, avoiding ordering more than agreed.

  • Purchase Requisition Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18
    purchase_requisition_tier_validation

    Adds an approval workflow to Purchase Agreements (purchase requisitions): agreements in draft must be reviewed and validated by assigned reviewers before they can be confirmed.

  • purchase_return

    Create purchase return orders to send products back to a vendor and generate the related vendor refund bills. It adds a dedicated Purchase Return Orders menu with its own order form, lines, statuses and printable report.

  • purchase_rfq_number

    Gives purchase quotations their own RFQ numbering sequence, separate from confirmed purchase orders. When a quotation is confirmed, its RFQ number is kept for reference and the order receives a new PO number.

  • purchase_sale_link_by_origin

    This module links purchase orders and sales orders by the purchase order's Origin field, in addition to the standard line-based link. Users see related sales orders on a purchase order and related purchase orders on a sales order even when the link would…

  • Purchase Order securityOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_security

    Adds purchase teams and two new access levels so buyers only see the purchase orders and vendors that belong to them or to their team, while managers keep full visibility.

  • purchase_sign

    Lets vendors sign request for quotations online from the customer portal, which automatically confirms the RFQ into a purchase order and stores the signature on the order and its PDF.

  • purchase_split_by_route

    Adds a 'Split Purchase by Route' option on stock routes and a route field on purchase orders, so automatic purchases can be grouped or separated depending on the sales order route.

  • purchase_start_end_dates

    Adds Start Date, End Date and Number of Days on purchase order lines for products that require dates, and copies them to the vendor bill lines. Purchase orders can also define default start and end dates for new lines.

  • 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_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: “confirmed” means branch, module directory and installable manifest checked on the review date. A module that is not confirmed in a version may still exist: it may be in another repository or pending the next review. Active support and OCA certification are not assessed.