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

  • 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.

  • partner_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_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, 19
    procurement_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_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, 15
    product_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, 19
    product_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, 19
    product_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_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_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_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_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, 19
    purchase_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, 20
    purchase_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, 19
    purchase_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, 18
    purchase_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_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

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

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.