OdooWiki OCA HUB

Purchase Work Acceptance

purchase_work_acceptance folder_open OCA/purchase-workflow open_in_new
Purchase Management License: AGPL-3

This module introduces the ability to define a quantity control point on Receipts and Vendor Bills by Work Acceptance. Only the products and services that have been included in a Work Acceptance can be received and/or invoiced.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

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.

This module adds a Work Acceptance document used as a quantity and price control point between a purchase order and its receipts and vendor bills.

Users create Work Acceptance records from the Purchase menu or directly from a purchase order with the "Create WA" button. Each record has a vendor, responsible person, due/received/accepted dates, an invoice reference, and lines with product, quantity, unit price and subtotal. Lines are pre-filled from the purchase order lines. The document moves through Draft, Accepted and Cancelled states using the Accept, Set to draft and Cancel buttons; accepting can ask for the accepted date.

On the purchase order you see a WA counter button, an "Accepted" quantity column and a "WA Accepted" flag, plus filters "WA Accepted" and "WA Not Accepted" in the search. On incoming receipts a WA Reference field appears and can auto-fill quantities; validation is blocked if the done quantity does not equal the accepted quantity. On vendor bills a WA Reference field appears and posting is blocked if billed quantities differ from accepted quantities. A wizard lets you pick which Work Acceptance to bill.

Settings under Purchase let you enable Work Acceptance on purchase orders, goods receipts and vendor bills, and enforce it on receipts and bills. Operation types can be flagged to bypass the requirement.

Depends on

purchase_stock

Menus it adds

Work Acceptance
Models and fields (10)
  • account.move · extends an existing modelwa_id (WA Reference), require_wa
  • stock.picking · extends an existing modelwa_id (WA Reference), wa_ids, require_wa
  • purchase.order · extends an existing modelwa_ids (Work Acceptances), wa_count (WA count), wa_accepted (WA Accepted), wa_line_ids (WA Lines)
  • work.acceptance · new modelname, notes, state (Status), user_id (Work Acceptance Representative), date_due (Due Date), company_id (Company), partner_id (Vendor), product_id (Product), currency_id (Currency), date_accept (Accepted Date), invoice_ref (Invoice Reference), purchase_id (Purchase Order), wa_line_ids (Work Acceptance Lines), date_receive (Received Date), responsible_id (Responsible Person)
  • stock.picking.type · extends an existing modelbypass_wa (WA not required)
  • purchase.order.line · extends an existing modelwa_line_ids (WA Lines), qty_accepted (Accepted Qty.), qty_to_accept (To Accept Qty.)
  • res.config.settings · extends an existing modelgroup_enable_wa_on_in (Enable WA on Goods Receipt), group_enable_wa_on_po (Enable WA on Purchase Order), group_enforce_wa_on_in (Enforce WA on Goods Receipt), group_enable_wa_on_invoice (Enable WA on Vendor Bill), group_enforce_wa_on_invoice (Enforce WA on Vendor Bill)
  • work.acceptance.line · new modelname (Description), wa_id (WA Reference), date_due (Due Date), partner_id (Partner), price_unit (Unit Price), product_id (Product), currency_id (Currency), date_accept (Accepted Date), product_qty (Quantity), product_uom (Product Unit of Measure), date_receive (Received Date), price_subtotal (Subtotal), responsible_id (Responsible Person), purchase_line_id (Purchase Order Line)
  • work.accepted.date.wizard · new modeldate_accept (Accepted Date)
  • select.work.acceptance.wizard · new modelwa_id (Work Acceptance), wa_ids, require_wa

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 6 confirmed, 3 with no information of 9 versions.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/purchase-workflow.

terminal Installation and usage

OCA documentation · Odoo 18.0

Show Button Create WA on Purchase Order

  • Go to Purchase \> Configuration \> Settings
  • Check 'Enable WA on Purchase Order'

Show WA Reference fields on Receipt

  • Go to Purchase \> Configuration \> Settings
  • Check 'Enable WA on Goods Receipt'

Control Receipt by Work Acceptance

  • Go to Purchase \> Configuration \> Settings
  • Check 'Enforce WA on Goods Receipt'

Show WA Reference fields on Vendor Bill

  • Go to Purchase \> Configuration \> Settings
  • Check 'Enable WA on Vendor Bill'

Control Vendor Bill by Work Acceptance

  • Go to Purchase \> Configuration \> Settings
  • Check 'Enforce WA on Vendor Bill'

Note:

  • You can check 'Enable WA on Goods Receipt' and 'Enable WA on Vendor Bill' after checked 'Enable WA on Purchase Order'
  • You can check 'Enforce WA on Goods Receipt' after checked 'Enable WA on Goods Receipt'
  • But you can bypass WA on some Picking Operation by setting 'WA not required' on Operation Type
  • You can check 'Enforce WA on Vendor Bill' after checked 'Enable WA on Vendor Bill'

Usual process of Purchasing with Work Acceptance

  • Create a New Purchase Order
  • Confirm the Purchase Order
  • Create a new Work Acceptance
  • Accept the Work Acceptance
  • Receive the products following a specific Work Acceptance
  • Create the Vendor Bill following a specific Work Acceptance

Create a Work Acceptance

  • Create Purchase Order normally
  • After 'Confirm Order' (Status = 'Purchase'), Click button 'Create WA'
  • Accept order

Control Receipt by Work Acceptance

  • After 'Confirm Order' in Purchase Order, a smart button 'Receipt' will appear on the Purchase Order
  • Click 'Receipt' to go to the Transfer
  • Select the Work Acceptance relating to this picking in the field 'WA Reference'. The quantity done filled automatically for the items that have been already accepted.

Control Vendor Bill by Work Acceptance

  • After once the products and/or services have been accepted, Click 'Create Bill'
  • You will be prompted to select a Work Acceptance. Select it and Click 'Post'

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.