TIP: You can type at any time to perform a new search.
Purchase Work Acceptance
purchase_work_acceptance · OCA/purchase-workflow
- Repository
- OCA/purchase-workflow · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Purchase Management
- Folder size
- 0.23 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/purchase-workflow
- Last tracking update
- 2026-08-07 08:42:59
- Authors
- Odoo Community Association (OCA), Ecosoft
- Maintainers
- Odoo Community Association (OCA), Ecosoft
- Committers
- Saran440, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- purchase_work_acceptance_evaluation, purchase_work_acceptance_invoice_plan, purchase_work_acceptance_late_fines
- Description
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.
Code Analysis ⓘ
Views touched (12)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
purchase_order_form_inherit |
purchase.order.form.inherit | purchase.order | form | Inherits purchase.purchase_order_form |
purchase_order_view_search |
purchase.order.select | purchase.order | search | Inherits purchase.purchase_order_view_search |
res_config_settings_view_form_purchase |
res.config.settings.view.form.inherit.purchase | res.config.settings | form | Inherits purchase.res_config_settings_view_form_purchase |
view_move_form |
account.move.form | account.move | form | Inherits purchase.view_move_form_inherit_purchase |
view_picking_form |
stock.picking.form | stock.picking | form | Inherits stock.view_picking_form |
view_picking_type_form |
view.picking.type.form | stock.picking.type | form | Inherits stock.view_picking_type_form |
view_purchase_order_filter |
request.quotation.select | purchase.order | Inherits purchase.view_purchase_order_filter | |
view_select_work_acceptance_wizard |
select_work_acceptance_wizard | select.work.acceptance.wizard | form | New |
view_work_acceptance_form |
work.acceptance.form | work.acceptance | form | New |
view_work_acceptance_list |
work.acceptance.list | work.acceptance | list | New |
view_work_acceptance_search |
work.acceptance.search | work.acceptance | search | New |
view_work_accepted_date_wizard |
view.work.accepted.date.wizard | work.accepted.date.wizard | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (10)
New fields (2)
-
require_waBooleancompute='_compute_require_wa' -
wa_idMany2one → work.acceptancecomodel_name='work.acceptance'copy=Falsedomain=<expr>help='To control quantity and unit price of the vendor bill, to be according to the quantity and unit price of the work acceptance.'readonly=Truestring='WA Reference'
-
action_post(self) -
create(self, vals_list)@api.model_create_multi
New fields (4)
-
wa_acceptedBooleancompute='_compute_wa_accepted'search='_search_wa_accepted'string='WA Accepted' -
wa_countIntegercompute='_compute_wa_ids'default=0string='WA count' -
wa_idsOne2many → work.acceptancecomodel_name='work.acceptance'compute='_compute_wa_ids'string='Work Acceptances' -
wa_line_idsOne2many → work.acceptance.linecomodel_name='work.acceptance.line'inverse_name='purchase_line_id'readonly=Truestring='WA Lines'
-
action_create_invoice(self) -
action_view_wa(self)
New fields (3)
-
qty_acceptedFloatcompute='_compute_qty_accepted'digits='Product Unit of Measure'readonly=Truestore=Truestring='Accepted Qty.' -
qty_to_acceptFloatcompute='_compute_qty_accepted'digits='Product Unit of Measure'readonly=Truestore=Truestring='To Accept Qty.' -
wa_line_idsOne2many → work.acceptance.linecomodel_name='work.acceptance.line'inverse_name='purchase_line_id'readonly=Truestring='WA Lines'
No public methods.
New fields (5)
-
group_enable_wa_on_inBooleanimplied_group='purchase_work_acceptance.group_enable_wa_on_in'string='Enable WA on Goods Receipt' -
group_enable_wa_on_invoiceBooleanimplied_group='purchase_work_acceptance.group_enable_wa_on_invoice'string='Enable WA on Vendor Bill' -
group_enable_wa_on_poBooleanimplied_group='purchase_work_acceptance.group_enable_wa_on_po'string='Enable WA on Purchase Order' -
group_enforce_wa_on_inBooleanimplied_group='purchase_work_acceptance.group_enforce_wa_on_in'string='Enforce WA on Goods Receipt' -
group_enforce_wa_on_invoiceBooleanimplied_group='purchase_work_acceptance.group_enforce_wa_on_invoice'string='Enforce WA on Vendor Bill'
No public methods.
New fields (3)
-
require_waBooleandefault=<expr> -
wa_idMany2one → work.acceptancecomodel_name='work.acceptance'domain="[('id', 'in', wa_ids)]"string='Work Acceptance' -
wa_idsMany2many → work.acceptancecomodel_name='work.acceptance'compute='_compute_wa_ids'
-
button_create_vendor_bill(self)
New fields (3)
-
require_waBooleancompute='_compute_require_wa' -
wa_idMany2one → work.acceptancecomodel_name='work.acceptance'copy=Falsedomain="[('id', 'in', wa_ids)]"string='WA Reference' -
wa_idsMany2many → work.acceptancecomodel_name='work.acceptance'compute='_compute_wa_ids'
-
button_validate(self)
New fields (1)
-
bypass_waBooleanhelp="When 'Enforce WA on Goods Receipt' is set, this option type can by pass it"string='WA not required'
No public methods.
New fields (15)
-
company_idMany2one → res.companycomodel_name='res.company'default=<expr>index=Truerequired=Truestring='Company' -
currency_idMany2one → res.currencycomodel_name='res.currency'default=<expr>readonly=Truerequired=Truestring='Currency' -
date_acceptDatetimereadonly=Truestring='Accepted Date' -
date_dueDatetimerequired=Truestring='Due Date' -
date_receiveDatetimedefault=fields.Datetime.nowrequired=Truestring='Received Date' -
invoice_refCharcopy=Falsestring='Invoice Reference' -
nameCharcopy=Falsedefault='New'index=Truerequired=True -
notesText -
partner_idMany2one → res.partnerchange_default=Truecomodel_name='res.partner'required=Truestring='Vendor'tracking=True -
product_idMany2one → product.productcomodel_name='product.product'readonly=Falserelated='wa_line_ids.product_id'string='Product' -
purchase_idMany2one → purchase.ordercomodel_name='purchase.order'readonly=Truestring='Purchase Order' -
responsible_idMany2one → res.userschange_default=Truecomodel_name='res.users'default=<expr>required=Truestring='Responsible Person'tracking=True -
stateSelectioncopy=Falsedefault='draft'index=Truereadonly=Trueselection=[('draft', 'Draft'), ('accept', 'Accepted'), ('cancel', 'Cancelled')]string='Status'tracking=True -
user_idMany2one → res.userscomodel_name='res.users'default=<expr>index=Truestring='Work Acceptance Representative'tracking=True -
wa_line_idsOne2many → work.acceptance.linecomodel_name='work.acceptance.line'inverse_name='wa_id'string='Work Acceptance Lines'
-
button_accept(self, force=False) -
button_cancel(self) -
button_draft(self) -
create(self, vals_list)@api.model_create_multi
New fields (14)
-
currency_idMany2onereadonly=Truerelated='wa_id.currency_id'string='Currency' -
date_acceptDatetimereadonly=Truerelated='wa_id.date_accept'string='Accepted Date' -
date_dueDatetimereadonly=Truerelated='wa_id.date_due'string='Due Date' -
date_receiveDatetimereadonly=Truerelated='wa_id.date_receive'string='Received Date' -
nameTextrequired=Truestring='Description' -
partner_idMany2one → res.partnercomodel_name='res.partner'readonly=Truerelated='wa_id.partner_id'string='Partner' -
price_subtotalMonetarycompute='_compute_amount'string='Subtotal' -
price_unitFloatrequired=Truestring='Unit Price' -
product_idMany2one → product.productcomodel_name='product.product'required=Truestring='Product' -
product_qtyFloatdigits='Product Unit of Measure'required=Truestring='Quantity' -
product_uomMany2one → uom.uomcomodel_name='uom.uom'required=Truestring='Product Unit of Measure' -
purchase_line_idMany2one → purchase.order.linecomodel_name='purchase.order.line'index=Trueondelete='set null'readonly=Falsestring='Purchase Order Line' -
responsible_idMany2one → res.userscomodel_name='res.users'readonly=Truerelated='wa_id.responsible_id'string='Responsible Person' -
wa_idMany2one → work.acceptancecomodel_name='work.acceptance'index=Trueondelete='cascade'required=Truestring='WA Reference'
No public methods.
New fields (1)
-
date_acceptDatetimerequired=Truestring='Accepted Date'
-
button_accept(self)
Loading…
Loading…
Loading…
Loading…
Loading…