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
OCA repositories in this area
Other areas
- Accounting and finance
- Sales
- CRM and marketing
- Inventory and logistics
- Manufacturing and maintenance
- Products and catalogue
- Human resources
- Projects and timesheets
- Field service and customer support
- Point of sale
- Website and e-commerce
- Country localisations
- Contracts and documents
- Integrations, EDI and connectors
- Industries and verticals
- Technical tools and administration
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 ProcurementOdoo 13, 15purchase_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 DescriptionOdoo 12, 14, 18purchase_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 QtyOdoo 13, 15, 17purchase_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, 18purchase_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 ReturnOdoo 16purchase_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 For Quotation NumerationOdoo 14, 15, 18, 19purchase_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 originOdoo 16, 17, 18purchase_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, 19purchase_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 SignOdoo 16purchase_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 RouteOdoo 16purchase_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 DatesOdoo 12, 17purchase_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.
- 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_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.