TIP: You can type at any time to perform a new search.
Contract ISP Invoice
contract_isp_invoice · OCA/vertical-isp
Security findings
Migration considerations
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.addons.decimal_precision` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.addons.contract_isp.contract` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.exceptions` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.addons.contract_isp.contract` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.report` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.addons.contract_isp.contract` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
account_analytic_account— Class 'account_analytic_account' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceaccount_analytic_account— Class 'account_analytic_account' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceaccount_analytic_account— Class 'account_analytic_account' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceaccount_analytic_line— Class 'account_analytic_line' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceaccount_journal— Class 'account_journal' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceaccount_journal— Class 'account_journal' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceaccount_journal— Class 'account_journal' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceaccount_voucher— Class 'account_voucher' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceaccount_voucher— Class 'account_voucher' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceaccount_voucher— Class 'account_voucher' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecontract_isp_close— Class 'contract_isp_close' still inherits from the old-style `orm.TransientModel` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcecontract_isp_close— Class 'contract_isp_close' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecontract_isp_close— Class 'contract_isp_close' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecontract_isp_invoice_invoice_create— Class 'contract_isp_invoice_invoice_create' still inherits from the old-style `orm.TransientModel` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcecontract_isp_invoice_invoice_create— Class 'contract_isp_invoice_invoice_create' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecontract_isp_invoice_invoice_create— Class 'contract_isp_invoice_invoice_create' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecontract_service_activate— Class 'contract_service_activate' still inherits from the old-style `orm.TransientModel` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceres_company— Class 'res_company' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceres_company— Class 'res_company' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceres_company— Class 'res_company' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceres_partner— Class 'res_partner' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceres_partner— Class 'res_partner' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceview_journal_form_post_later— For a target of Odoo 17.0+: view 'view_journal_form_post_later' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · source- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `update account_analytic_line set invoice_id=%s WHERE account_id = %s and id IN %s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- Repository
- OCA/vertical-isp · module folder · Try on Runboat
- Module version
- 1.0
- Category
- Contract Management
- Folder size
- 0.04 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- www.savoirfairelinux.com
- Last tracking update
- 2026-08-07 07:17:54
- Authors
- Odoo Community Association (OCA), Savoir-faire Linux (joao.gama@savoirfairelinux.com)
- Maintainers
- Odoo Community Association (OCA), Savoir-faire Linux (joao.gama@savoirfairelinux.com)
- Committers
- Pedro M. Baeza, Stéphane Bidoul (ACSONE)
- Odoo dependencies
-
OCA/vertical-isp:
- Python dependencies
- None
- System dependencies
- None
- Required by
- contract_isp_automatic_invoicing
- Description
Invoicing for service based contracts ===================================== Generates invoices for service based contracts. Features: --------- * Refund on contract closing * Exception services invoice logic
Code Analysis
Views touched (6)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
contract_isp_form_button1 |
contract.isp.form.button1 | account.analytic.account | form | Inherits analytic.view_account_analytic_account_form |
view_company_contract_isp_invoice_form |
contract.isp.invoice.res.company.form | res.company | form | Inherits contract_isp.view_company_contract_isp_form |
view_contract_isp_close |
Close contract | contract.isp.close | form | New |
view_contract_isp_invoice_create |
contract.isp.invoice.create.form | hr.timesheet.invoice.create | form | Inherits hr_timesheet_invoice.view_hr_timesheet_invoice_create |
view_journal_form_post_later |
account.journal.form.postlater | account.journal | form | Inherits account.view_account_journal_form |
view_voucher_form_post_later |
account.voucher.form.postlater | account.voucher | form | Inherits account_voucher.view_vendor_receipt_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (9)
New fields (0)
No new fields.
Public methods (3)-
create_invoice(self, cr, uid, ids, prorata=False, context=None) -
prepare_voucher(self, cr, uid, ids, context=None) -
set_close(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (1)-
invoice_cost_create(self, cr, uid, ids, data=None, context=None)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (3)-
create(self, cr, uid, data, context=None) -
onchange_journal(self, cr, uid, ids, journal_id, line_ids, tax_id, partner_id, date, amount, ttype, company_id, context=None) -
proforma_voucher(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (1)-
do_close(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (1)-
activate(self, cr, uid, ids, context=None)
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 (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…
Loading…