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_order_report_grouped_by_vendor

    Adds a printable PDF report that groups the selected purchase orders by vendor, showing each vendor's orders and lines with a total per vendor.

  • purchase_order_report_hide_tax

    Automatically hides the Taxes column on the Purchase Order PDF sent to vendors when every line uses the same taxes, keeping the document cleaner. You can force the column to always appear per tax group.

  • purchase_order_report_xlsx

    Adds a 'Purchase Order XLSX' export option on purchase orders, producing a spreadsheet with one row per order line (vendor, dates, product, quantity, unit price, discount, taxes and subtotal).

  • purchase_order_revision

    Lets buyers create a new revision of a cancelled or sent request for quotation/purchase order, keeping the same base reference with a revision suffix and archiving the old versions.

  • Purchase Order Secondary UnitOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_order_secondary_unit

    Buy products from vendors using a secondary unit of measure (for example a box instead of a single piece) directly on purchase orders and vendor pricelists, with quantities and prices converted automatically.

  • purchase_order_shipping_date

    Adds a Shipping Date field to purchase orders so you can record the date the vendor promised to ship. The date appears on the purchase order form, in the purchase orders list, and on printed purchase orders and quotations.

  • purchase_order_supplier_return

    When you return products to a supplier on a purchase order that has a negative quantity, this module automatically marks the stock move as a refund so the received quantity is updated correctly.

  • Purchase Order Supplierinfo UpdateOdoo 13, 15, 16, 17, 18, 19
    purchase_order_supplierinfo_update

    Automatically updates the supplier's price and discount on the product's vendor record when a purchase order is confirmed or its lines are changed, so future purchases suggest the latest agreed price.

  • Purchase Order TypeOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_order_type

    Lets you define purchase order types (such as Regular, Blanket, Contract or Planned) and assign them to vendors and purchase orders, with optional payment terms, incoterms and their own numbering sequence.

  • Purchase Order Type DashboardOdoo 13, 14, 15, 16, 17, 18
    purchase_order_type_dashboard

    Adds a Purchase Dashboard that groups requests for quotation and purchase orders by Purchase Order Type, showing counts of RFQs, orders with nothing to bill and orders waiting for bills.

  • Purchase Order Univoiced AmountOdoo 12, 13, 14, 15, 16, 17, 18
    purchase_order_uninvoiced_amount

    Adds an "Uninvoiced Amount" column to purchase order lists, showing how much of each order still has to be invoiced. The column is also totalled at the bottom of the list.

  • purchase_order_uninvoiced_amount_line

    Adds an "Uninvoiced Amount" column to the purchase order line list, showing how much of each line is still waiting to be invoiced.

  • purchase_order_vendor_product

    When you add a product line to a purchase order, Odoo only suggests products that are sold by the selected vendor. This prevents ordering products from a supplier that does not offer them.

  • Purchase Order Weight and VolumeOdoo 14, 15, 16, 17, 19
    purchase_order_weight_volume

    Shows the weight and volume of each purchase order line and the total weight and volume of the whole order, both on screen and on the printed quotation and purchase order.

  • purchase_origin_link

    Adds a clickable "Source Document" link on purchase orders. By itself it only prepares the field and hides the plain text origin; other modules must fill in the link.

  • purchase_origin_link_sale

    Adds a clickable link to the related Sale Order in the Source Document field of Purchase Orders, so buyers can jump straight from a purchase to the sale that generated it.

  • purchase_packaging

    Buy products from suppliers using their own packaging and units of measure. On purchase orders you enter the supplier's quantity and unit, and Odoo converts it to your internal quantity.

  • purchase_packaging_default

    Adds a company setting that automatically fills in a default packaging on purchase order lines, using the first packaging marked for purchase in the product configuration, and rounds the packaging quantity up to whole units.

  • purchase_packaging_level_qty

    Shows on each purchase order how many transport packages (for example pallets) are needed, based on a packaging level chosen in the Purchase settings.

  • purchase_packaging_report

    Adds packaging information (packaging type and quantity) to purchase order and request-for-quotation PDFs and to the Purchase analysis report, so buyers can see how products were packed.

  • purchase_partner_approval

    Control which partners can be used as vendors on purchase orders by marking them as approved for purchase. Vendors must be approved before they can be selected on a purchase order.

  • Default purchase incoterm per partnerOdoo 14, 15, 16, 17, 18, 19
    purchase_partner_incoterm

    Lets you set a default Incoterm, Incoterm address and Incoterm location on a supplier, which are then filled in automatically on new purchase orders for that supplier.

  • Purchase Partner Selectable OptionOdoo 13, 15, 16, 17, 18
    purchase_partner_selectable_option

    Adds a "Selectable in purchase orders" flag on contacts so you can control which vendors appear when choosing a partner on a purchase order. Only contacts with the flag enabled can be picked.

  • purchase_picking_state

    Adds a "Picking status" field on purchase orders that shows the overall state of their related receipts (cancelled, not received, partially received or transferred).

  • purchase_planned_date_container_deposit

    Keeps the planned date you set on a purchase order when container deposit lines are created for products with packaging deposits. It is a glue module that combines two other purchase modules.

  • purchase_price_recalculation

    Adds a 'Purchase recalculation' action on purchase orders that refreshes each line's unit price and taxes from the current vendor pricelist and product settings, and logs the change in the chatter.

  • purchase_product_packaging_container_deposit

    Automatically adds container deposit lines to purchase orders based on the packaging of the products ordered, and updates those deposit quantities when the related stock moves are completed.

  • Purchase Product UsageOdoo 12, 13, 14
    purchase_product_usage

    Lets buyers tag each purchase order line with a "usage" (e.g. marketing, internal use) and automatically proposes the expense account linked to that usage on the vendor bill.

  • purchase_propagate_qty

    When you change the quantity on a confirmed purchase order line, this module automatically adjusts the linked receipt operations, including reducing quantities that were already planned or partly received.

  • Quick Purchase orderOdoo 12, 14, 15, 16
    purchase_quick

    Add many products to a purchase order at once from a supplier-specific product list, with quantities and prices filled in automatically.

  • purchase_quick_discount

    Adds a Discount column to the quick purchase product list, showing the supplier discount that will be applied for the selected vendor and quantity.

  • purchase_quick_triple_discount

    Adds three separate supplier discount columns (Disc.1%, Disc.2%, Disc.3%) to the product list used for quick purchase entry, so buyers can see each discount level before adding products to a request for quotation.

  • purchase_receipt_expectation

    Adds a 'Receipt Expectation' option on purchase orders that controls how incoming receipts are created when the order is approved. By default it uses the standard Odoo behaviour.

  • purchase_receipt_expectation_from_partner

    Adds a "Receipt Expectation" setting on vendor/partner records and automatically copies it onto new purchase orders when the vendor is selected.

  • purchase_receipt_expectation_manual

    Adds a "Manual" receipt expectation option on purchase orders and a wizard that lets stock users create a receipt (picking) by hand, choosing lines and quantities, with built-in checks before confirming.

  • purchase_receipt_expectation_manual_split

    This module lets you split a purchase order line into several lines when you manually record a receipt, so each received quantity is tracked separately. It also automatically merges quantities back if a receipt is cancelled.

  • purchase_receipt_percentage

    Shows a receipt percentage on purchase orders and their lines, so buyers can quickly see how much of an order has actually been received.

  • Purchase Reception NotifyOdoo 12, 13, 14, 15, 17, 18
    purchase_reception_notify

    When an incoming shipment is validated, Odoo automatically posts a message on the related purchase order listing the products and received quantities, and notifies the employees who follow that order.

  • Purchase Reception StatusOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_reception_status

    Adds a Receipt Status indicator to purchase orders showing whether nothing, part, or all of the ordered quantities have been received, plus filters and grouping to find orders by that status.

  • purchase_reception_status_line

    Adds a reception status to each purchase order line (Nothing, Partially, Fully or Over Received) and uses it to compute the reception status of the whole purchase order, with an option to force a line as fully received.

  • purchase_reception_threshold

    Lets you set an allowed quantity difference (a percentage) for purchase receipts, so that when the received quantity is close enough to the ordered quantity, Odoo skips the backorder and closes the receipt automatically.

  • purchase_reorder_control

    Prevents reordering rules from being created or kept for products marked as not purchaseable, and automatically archives existing rules when a product is set to 'not purchaseable'.

  • Purchase Report Date FormatOdoo 14, 16, 17, 18
    purchase_report_date_format

    Changes the Expected Date shown on the Request for Quotation printout so it displays as a simple date instead of a full date and time.

  • purchase_report_extension

    Adds order, ordered, received, billed and to-be-billed quantity columns to the Purchase Analysis report, so users can see how much was ordered, received, invoiced and still needs to be billed per purchase order.

  • purchase_report_hide_line

    Lets you hide selected purchase order lines from the printed Purchase Order report, either manually per line or automatically based on a company-wide default rule.

  • purchase_report_menu_move

    Adds a "Purchase Analysis" entry under the Purchase Reporting menu, giving users a direct shortcut to the purchase order analysis report.

  • purchase_report_payment_term

    Adds the payment term note to the printed Purchase Order and Request for Quotation PDFs, right after the order notes.

  • purchase_report_shipping_address

    Lets you store a translatable warehouse address on each warehouse and print it on purchase orders and requests for quotation, replacing the standard warehouse address block when filled in.

  • Purchase RepresentativeOdoo 13, 14, 15, 18
    purchase_representative

    When Odoo automatically creates a request for quotation from a stock rule, the Purchase Representative is set to the user who triggered the procurement instead of the system user.

  • Purchase RequestOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_request

    Lets employees record internal purchase requests for products or services, follow them through an approval workflow, and turn approved request lines into requests for quotation to suppliers.

  • purchase_request_cancel_confirm

    Adds a confirmation step when cancelling a purchase request, asking the user to confirm and optionally provide a reason before the request is rejected.

  • Purchase Request DepartmentOdoo 12, 13, 14, 15, 16, 17, 18
    purchase_request_department

    Adds a Department field to purchase requests and their lines, filled automatically from the requester's employee department, and lets you group and filter requests by department.

  • Purchase Request ExceptionOdoo 14, 15, 16, 18
    purchase_request_exception

    Adds customizable exception rules to purchase requests so blocked requests are flagged, filtered and can be reviewed or ignored before approval.

  • purchase_request_order_approved

    Shows an 'Approved' status on purchase request lines when at least one linked purchase order has been approved, and adds a 'Purchase Approved' filter to the purchase request line search.

  • purchase_request_product_usage

    Lets users tag each purchase request line with a product usage, and carries that usage over to the purchase order created from the request.

  • purchase_request_substate

    Adds sub-states to purchase requests, letting you track extra steps like 'To Verify' or 'Checked' inside the normal approval states and send an email when a request is verified.

  • purchase_request_to_requisition

    Lets you turn purchase request lines into a purchase agreement (bid) directly from Odoo, either creating a new draft agreement or adding quantities to an existing one, and tracks the bid status back on the request.

  • Purchase Request TypeOdoo 14, 16, 18, 19
    purchase_request_type

    Lets you classify purchase requests by a configurable type (for example Regular, Contract or Reduce Step), each with its own numbering sequence and optional operation type, and to skip the request-for-quotation step for certain types.

  • purchase_request_usage_department

    Lets you set a default product usage on each HR department, and automatically fills that usage on purchase request lines when the department is chosen.

  • purchase_requisition_auto_rfq

    Adds a button on purchase requisitions to automatically generate RFQs for the suppliers registered on the products in the requisition, and highlights requisition lines whose products have no supplier.

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.