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
- account_fiscal_position_allowed_journal_purchase
When you create a vendor bill from a purchase order, Odoo automatically picks the purchase journal allowed by the order's fiscal position, if that fiscal position allows exactly one purchase journal.
- account_fiscal_position_allowed_journal_sale_purchase
Glue module that keeps the fiscal position you selected on invoices and vendor bills when the customer or shipping address changes, so the allowed-journal rules from the fiscal position are not lost.
- Access supplied products from the vendorOdoo 14, 16, 18, 19partner_supplierinfo_smartbutton
Adds a smart button on the vendor contact form showing how many products that vendor supplies, and opens the list of those products when clicked.
- Procurement Batch GeneratorOdoo 14procurement_batch_generator
Lets warehouse users replenish several products at once from the Products list view. Select products, set requested quantities, and Odoo creates the replenishment orders in one go.
- Procurement Purchase No GroupingOdoo 12, 13, 14, 15, 16, 17, 18, 19procurement_purchase_no_grouping
Control how purchase orders are grouped when Odoo automatically buys products to fulfil sales or stock needs. Choose standard grouping, no line merging, no order grouping at all, or group by product category, either globally or per product category.
- procurement_purchase_requisition_generation
Lets you choose, per product, whether replenishment creates a draft purchase order or a call for tenders (blanket order). When set to tenders, Odoo automatically groups the need into a draft purchase requisition instead of an RFQ.
- procurement_purchase_requisition_generation_dropshipping
Links purchase agreements (requisitions) to dropshipping: purchase orders generated from a requisition keep the sale order link, use the requisition's operation type and deliver to the customer's shipping address.
- Procurement Purchase Service No GroupingOdoo 13, 15, 17, 18procurement_purchase_sale_no_grouping
When a sales order line for a service product is confirmed, this module makes sure that a separate purchase order is created for each line instead of grouping them, if the product's category is set to 'No order grouping'.
- Product Form Purchase LinkOdoo 12, 13, 14, 15product_form_purchase_link
Adds a Purchases smart button on product forms that opens the purchase order lines for that product, with quick filters for RFQs and confirmed Purchase Orders.
- Product Main VendorOdoo 16, 18, 19product_main_seller
Shows the main vendor of each product directly in the product list and lets you group products by main vendor. The main vendor is the first active vendor in the product's vendor list.
- Product Supplier Code in PurchaseOdoo 12, 14, 15, 16, 17, 18, 19product_supplier_code_purchase
Shows the supplier's own product code on each purchase order line, filled automatically from the vendor information stored on the product, and lets buyers edit it before sending the order.
- Product Supplierinfo Disable AutocreationOdoo 16, 17, 18product_supplierinfo_disable_autocreation
Adds a checkbox in Purchase settings to control whether supplier price lists are created automatically when a purchase order is confirmed. When unchecked, Odoo stops adding new supplier price lines from purchase orders.
- Product Supplier Purchase ContactOdoo 16, 18product_supplierinfo_purchase_contact
Adds a 'Purchase contact' field to supplier price lists (supplier info), so you can record a specific contact person at the vendor. When Odoo automatically creates a purchase order from replenishment rules, it uses that contact as the order's vendor contact.
- Product supplierinfo qty multiplierOdoo 12, 13, 15, 16, 18product_supplierinfo_qty_multiplier
Lets you set a minimum purchase multiple per supplier on each product, and automatically rounds purchase order quantities up to that multiple with a warning.
- product_supplierinfo_security
Hides the vendor pricelist (supplier information) on product forms from users who do not belong to the Purchase user group.
- Product Supplierinfo Update PriceOdoo 16, 18product_supplierinfo_update_price
Adds a refresh button on purchase order lines that updates the vendor price stored on the product with the price entered on the order. It can also create a new vendor price record if none exists for that supplier.
- purchase_add_products_from_bom
Adds an "Add Products from BoM" button on purchase orders that opens a wizard to explode a Bill of Materials and select the raw components to buy.
- Purchase Advance PaymentOdoo 14, 15, 16, 17, 18, 19purchase_advance_payment
Lets you pay a supplier in advance directly from a purchase order or request for quotation, before any bill is received. The order then shows how much is still due and whether it is fully, partially or not paid.
- purchase_advance_payment_line
Add advance payment lines directly on purchase orders and send them through payment orders. Users can create a payment line from the purchase order, see ongoing payment lines, and the amount is checked against the order residual.
- Purchase All ShipmentsOdoo 13, 16, 17, 18, 19, 20purchase_all_shipments
On a purchase order, the standard "Receipt" button is replaced by an "All Pickings" button that also lists the warehouse transfers chained to the receipt by push rules, such as the steps of a multi-step reception.
- Purchase and Invoice Allowed ProductOdoo 12, 13, 14, 15, 16, 17, 18, 19purchase_allowed_product
Adds an option on vendors, purchase orders and supplier invoices to only allow choosing products that the vendor actually supplies. The setting defaults from the vendor and can be changed per document.
- Purchase - Analytic Account GlobalOdoo 12, 13, 14, 15, 16, 18purchase_analytic_global
Lets you set one analytic distribution on a purchase order and automatically copy it to every order line, so you don't have to fill it in line by line.
- purchase_auto_bill_on_receipt
Automatically creates and posts Vendor Bills when purchase receipts are validated, and Credit Notes for purchase returns. You can turn this on or off per company, per vendor, or per purchase order.
- Purchase Auto ValidationOdoo 14purchase_auto_validation
Create rules that group purchase orders for specific products and suppliers, then let Odoo confirm those orders automatically on a chosen weekday and hour.
- Purchase Backorder ReportOdoo 12, 14, 16purchase_backorder
Shows, on purchase orders and in a dedicated list, how much has been received but not yet invoiced (UIGR) and how much is still pending delivery (backorder), with quantities, values and last receipt/bill dates.
- Purchase billing addressOdoo 17purchase_billing_address
Lets you choose a specific invoice address on a purchase order, separate from the vendor address, and uses it when the vendor bill is created.
- Purchase Blanket OrdersOdoo 12, 13, 14, 15, 16, 17, 18purchase_blanket_order
Create purchase blanket orders (pre-agreements with a vendor for quantities at a fixed price) and generate RFQs/purchase orders from them until the validity date or quantities run out.
- Purchase Cancel ConfirmOdoo 14, 15, 18purchase_cancel_confirm
When you cancel a purchase order from the Cancel button, Odoo now asks for a confirmation and lets you optionally enter a cancellation reason, which is saved on the order.
- Purchase Cancel ReasonOdoo 14, 16, 17, 18purchase_cancel_reason
When cancelling a purchase order, Odoo now asks you to pick a reason from a configurable list, and stores that reason on the order. Managers can maintain the list of reasons under Purchase settings.
- purchase_cancel_remaining_delivery
Adds a 'Cancel Remaining Delivery' button on purchase orders that are partially received, letting you cancel all outstanding deliveries in one click.
- Purchase CommentsOdoo 12, 14, 15, 16, 17, 18purchase_comment_template
Add reusable comment texts to purchase orders and requests for quotation, and print them on the PDF. Comments can be placed above or below the order lines.
- Purchase Commercial PartnerOdoo 12, 13, 14, 16, 17, 18purchase_commercial_partner
Adds a stored "Commercial Vendor" field on purchase orders, automatically filled from the vendor's commercial entity, so you can group and analyse purchases by the parent company instead of the individual contact.
- purchase_company_invoice_address
Lets you choose, on each purchase order or request for quotation, which of your own company's invoice addresses the vendor should bill, and prints that address on the order and quotation PDFs.
- Purchase ContainerOdoo 18purchase_container
Track shipping containers on purchase orders and receipts. Users can record container details, link them to RFQs, purchase orders and transfers, and follow their status from waiting to arrived.
- Purchase Date Planned ManualOdoo 12, 16purchase_date_planned_manual
Keeps the scheduled date you enter on purchase order lines instead of letting Odoo recalculate it, and warns you when a line is expected to arrive after that date.
- Purchase Default Terms ConditionsOdoo 12, 14, 15, 16, 17, 18, 19purchase_default_terms_conditions
Lets you store default purchase terms and conditions on the company or on each supplier, and automatically fills the Terms and Conditions box of new request for quotations and purchase orders.
- Purchase Delivery Split DateOdoo 12, 13, 14, 15, 16, 17, 18, 19purchase_delivery_split_date
When you confirm a Purchase Order, Odoo creates one separate Incoming Shipment for each different expected date on the order lines, instead of grouping everything into a single receipt.
- Purchase DepositOdoo 12, 13, 14, 15, 16, 17, 18, 19purchase_deposit
Lets you register a deposit (down payment) on a confirmed purchase order and generate the corresponding draft vendor bill, either as a percentage or a fixed amount.
- Purchase Deposit - AnalyticOdoo 15purchase_deposit_analytic
Adds analytic account and analytic tags fields to the purchase deposit registration wizard, so deposits can be posted with the same analytic distribution as the purchase order lines.
- purchase_deposit_company_amount
Lets you enter, on a foreign-currency deposit vendor bill, the company-currency amount you actually paid, so the deposit is booked at the real paid value and the final bill clears the deposit account exactly.
- Purchase order lines with discountsOdoo 12, 13, 14, 15, 16purchase_discount
Add a discount percentage to each purchase order line and to supplier price lists, so you can negotiate prices with suppliers without changing the unit price. The discount also appears on the purchase order PDF and in purchase analysis.
- Purchase ExceptionOdoo 12, 13, 14, 15, 16, 17, 18, 19purchase_exception
Lets you define custom exception rules on purchase orders and order lines, see which orders are blocked, and fix or ignore them before confirming. Blocked orders can be filtered and reviewed in bulk.
- Purchase Free-Of-Payment shippingOdoo 14, 15, 16, 17, 18purchase_fop_shipping
Adds a minimum order amount for free-of-payment shipping per vendor, and blocks confirming purchase orders below that amount unless a manager forces it.
- Purchase Force InvoicedOdoo 12, 13, 14, 15, 16, 17, 18, 19purchase_force_invoiced
Lets authorized users mark a locked purchase order as fully billed, even if some ordered or delivered quantities were never invoiced. This removes those orders from the waiting bills list.
- Purchase Force Invoiced QuantityOdoo 16, 18purchase_force_invoiced_quantity
Adds a manual "Force Invoiced Qty" column on purchase order lines that is deducted from the quantity to invoice, so buyers can reduce or close the remaining billable quantity without changing received quantities.
- Purchase Fully InvoicedOdoo 15, 16purchase_fully_invoiced
Adds a "Posted Billing Status" field on purchase orders that only shows "Fully Billed" when all related bills are actually posted, plus a search filter to find those orders.
- Purchase Fully ReceivedOdoo 15, 16purchase_fully_received
Adds a new "Is Fully Shipped" filter and a hidden indicator on purchase orders, so you can quickly find orders where every line has been fully received.
- purchase_incoming_product
Adds an 'Incoming Products' menu under Purchase > Products that lists all stock moves for products you are waiting to receive, so you can see and confirm receipts in one place.
- purchase_incoming_products
Adds an "Incoming Products" report under the Purchase reporting menu that lists all stock moves for products you are waiting to receive, with tree and kanban views and quick receive buttons.
- purchase_invoice_create_security_group
Adds a security group that controls who can create invoices from purchase orders. When enabled in Purchase settings, only users in the 'Create Invoice in Purchases' group see and can use the invoice creation button.
- Purchase Invoice MethodOdoo 14, 15, 16, 17, 18, 19purchase_invoice_method
Lets you choose on each purchase order whether billing is based on ordered quantities or received quantities, so you can create a bill even before the goods arrive.
- purchase_invoice_new_picking_line
When you create a vendor bill from a purchase order, this module also adds invoice lines for products that were received in the order's pickings but were not part of the order itself, so you can pay for misdelivered items.
- purchase_invoice_partial_status
Adds a new 'Partially Invoiced' status to purchase orders, so you can see at a glance when an order has been partly billed but not fully invoiced.
- Purchase Invoice PlanOdoo 12, 13, 14, 15, 16, 17, 18purchase_invoice_plan
Plan supplier bills in advance on a purchase order: split the order into installments with dates and percentages, then create the bills one by one or all at once.
- purchase_invoice_plan_deposit
Lets you include a deposit (advance payment) as the first installment of a purchase invoice plan, and warns you to register that deposit before invoicing the rest of the plan.
- purchase_invoice_plan_retention
Lets buyers set a suggested payment retention (as a percentage or a fixed amount) on a purchase order that uses an invoice plan, so each generated invoice carries that retention suggestion.
- Purchase Invoice Status LineOdoo 15, 16, 17, 18purchase_invoice_status_line
Adds a billing status column to purchase order lines and lets you force individual lines as fully billed, which also removes them from the vendor bill matching view.
- Purchase Isolated RFQOdoo 13, 14purchase_isolated_rfq
Separates Requests for Quotation (RFQ) from Purchase Orders so each gets its own numbering sequence. Users create RFQs, then convert them into a Purchase Order with a dedicated button.
- Purchase landed costs - Alternative optionOdoo 12, 13, 16, 19purchase_landed_cost
Lets you record extra purchase costs (freight, customs, insurance) on a separate 'Costs distributions' screen and spread them over the received goods, updating product costs.
- Purchase Product Last Price InfoOdoo 12, 13, 14, 15, 16, 17, 18, 19purchase_last_price_info
Shows the last confirmed purchase information for each product: supplier, purchase date and unit price. The data appears on the product form and in product lists, so buyers can quickly see what was last paid.