| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/purchase-workflow |
| GIT | |
| GIT | https://github.com/OCA/purchase-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/purchase-workflow/tree/17.0/purchase_start_end_dates |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Purchase |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), elego Software Solutions GmbH |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), elego Software Solutions GmbH |
| COMMITTERS | |
| COMMITTERS | Weblate, micheledic, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/purchase-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:09 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-closing: - account_invoice_start_end_dates odoo/odoo: - purchase - account - base_setup - base - web - onboarding - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module adds the fields *Start Date* and *End Date* on purchase order lines (requied fields when the product has the *Must Have Start and End Dates* property). You can also define a *Default Start Date* and *Default End Date* on the purchase order; when set, these dates will be used by default on new purchase order lines. Upon invoice creation, the values of the start/end dates of the purchase order line are copied to the start/end dates of invoice lines. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
purchase_order_form |
purchase.order.form.start.end.dates. | purchase.order | xpath | Inherits purchase.purchase_order_form |
default_end_date
Date
default_start_date
Date
default_end_date_change(self)
default_start_date_change(self)
end_date
Date
readonly=True
must_have_dates
Boolean
related='product_id.must_have_dates'
number_of_days
Integer
compute='_compute_number_of_days'
inverse='_inverse_number_of_days'
readonly=False
store=True
string='Number of Days'
start_date
Date
readonly=True
end_date_change(self)
start_date_change(self)
start_end_dates_product_id_change(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/purchase-workflow |
| GIT | |
| GIT | https://github.com/OCA/purchase-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/purchase-workflow/tree/12.0/purchase_start_end_dates |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Purchase |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), elego Software Solutions GmbH |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), elego Software Solutions GmbH |
| COMMITTERS | |
| COMMITTERS | OCA Transbot, oca-travis, Weblate, OCA-git-bot, chandni299 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/purchase-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:23 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-closing: - account_invoice_start_end_dates odoo/odoo: - purchase - account - base_setup - base - web - product - decimal_precision - bus - web_tour - uom - analytic - portal - http_routing - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
purchase_order_form |
purchase.order.form.start.end.dates. | purchase.order | xpath | Inherits purchase.purchase_order_form |
No new fields.
Public methods (0)No public methods.
default_end_date
Date
string='Default End Date'
default_start_date
Date
string='Default Start Date'
default_end_date_change(self)
default_start_date_change(self)
end_date
Date
readonly=True
states={'draft': [('readonly', False)]}
string='End Date'
must_have_dates
Boolean
related='product_id.must_have_dates'
number_of_days
Integer
compute='_compute_number_of_days'
inverse='_inverse_number_of_days'
readonly=False
store=True
string='Number of Days'
start_date
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Start Date'
end_date_change(self)
start_date_change(self)
start_end_dates_product_id_change(self)