TIP: You can type at any time to perform a new search.
Purchase Work Acceptance Invoice Plan
purchase_work_acceptance_invoice_plan · OCA/purchase-workflow
- Repository
- OCA/purchase-workflow · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Purchase Management
- Folder size
- 0.08 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- Yes
- 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
- None
- Description
This module add ability to create Work Acceptance based on the predefined invoice plan, one by one. **Note:** Because WA is now based on invoice plan, the option "Create Bill by Plan" will be removed. User will be left with only option "Create Bill" (and to choose WA), the chosen WA is now used to control the quantity in invoice instead of the invoice plan.
Code Analysis ⓘ
Views touched (7)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
purchase_order_form |
purchase.order.form.invoice.plan | purchase.order | form | Inherits purchase_invoice_plan.purchase_order_form |
purchase_order_form_inherit |
purchase.order.form.invoice.plan | purchase.order | form | Inherits purchase_work_acceptance.purchase_order_form_inherit |
view_purchase_invoice_plan_form |
view_purchase_invoice_plan_form | purchase.invoice.plan | form | Inherits purchase_invoice_plan.view_purchase_invoice_plan_form |
view_purchase_invoice_plan_tree |
view_purchase_invoice_plan_tree | purchase.invoice.plan | tree | Inherits purchase_invoice_plan.view_purchase_invoice_plan_tree |
view_purchase_invoice_plan_tree_readonly |
view_purchase_invoice_plan_tree_readonly | purchase.invoice.plan | tree | Inherits purchase_invoice_plan.view_purchase_invoice_plan_tree_readonly |
view_select_work_acceptance_invoice_plan_wizard |
select_work_acceptance_invoice_plan_wizard | select.work.acceptance.invoice.plan.wizard | form | New |
view_work_acceptance_form |
work.acceptance.form | work.acceptance | form | Inherits purchase_work_acceptance.view_work_acceptance_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (6)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (8)
-
amountMonetarycompute='_compute_amount'inverse='_inverse_amount' -
analytic_distributionJsonrelated='order_line_id.analytic_distribution' -
currency_idMany2one → res.currencycomodel_name='res.currency'related='wizard_id.order_id.currency_id' -
order_idMany2onerelated='wizard_id.order_id' -
order_line_idMany2one → purchase.order.linecomodel_name='purchase.order.line'domain="[('order_id', '=', order_id)]"index=Truerequired=Truestring='Product Line' -
qty_not_acceptedFloatdigits='Product Unit of Measure'related='order_line_id.qty_to_accept'string='Not Accepted' -
quantityFloatdigits='Product Unit of Measure'string='To Accept' -
wizard_idMany2one → select.work.acceptance.invoice.plan.wizardcomodel_name='select.work.acceptance.invoice.plan.wizard'ondelete='cascade'
No public methods.
New fields (7)
-
active_installment_idsMany2many → purchase.invoice.plancomodel_name='purchase.invoice.plan'compute='_compute_active_installment_ids' -
apply_method_idMany2one → ir.actions.servercomodel_name='ir.actions.server'domain=[('usage', '=', 'ir_actions_server'), ('model_id.model', '=', 'select.work.acceptance.invoice.plan.wizard')]help='Choose the method to find matcing product line for this installment'string='Base On' -
installment_idMany2one → purchase.invoice.plancomodel_name='purchase.invoice.plan'domain="[('id', 'in', active_installment_ids), ('installment', '>', 0)]"help='List only installment that has not been used in WA (draft, accepted)'required=Truestring='Invoice Plan' -
order_idMany2one → purchase.ordercomodel_name='purchase.order'default=<expr> -
order_line_idsMany2many → purchase.order.linecolumn1='wizard_id'column2='order_line_id'comodel_name='purchase.order.line'compute='_compute_order_line_ids'domain="[('order_id', '=', order_id)]"help='List of product lines used to create WA. Blank means all'readonly=Falserelation='select_wa_invoice_plan_order_line_rel'store=Truestring='Product Filter' -
valid_amountBooleancompute='_compute_valid_amount' -
wa_qty_line_idsOne2many → select.work.acceptance.invoice.plan.qtycomodel_name='select.work.acceptance.invoice.plan.qty'compute='_compute_wa_qty_line_ids'inverse_name='wizard_id'readonly=Falsestore=True
-
button_create_wa(self) -
default_get(self, field_list)@api.model
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
installment_idMany2one → purchase.invoice.plancomodel_name='purchase.invoice.plan'copy=Falseondelete='restrict'readonly=Truestring='Invoice Plan'
No public methods.
Loading…
Loading…