TIP: You can type at any time to perform a new search.
Full Reconciliation Concept
account_full_reconcile · odoo/odoo
Security findings
Migration considerations
- Imports from the old `openerp` 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` 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
- For a target of Odoo 10.0+: use the `__manifest__.py` manifest name instead of `__openerp__.py`. The filename alone does not establish module age or compatibility. migration-openerp-manifest · source
view_move_line_form— For a target of Odoo 17.0+: view 'view_move_line_form' 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): `WITH tmp_table AS ( SELECT debit_move_id AS aml_id, full_reconcile_id FROM account_partial_reconcile rec WHERE rec.full_reconcile_id IS NOT NULL UNION ALL SELECT credit_move_id AS aml_id, full_reconcile_id FROM account_partial_reconcile rec WHERE rec.full_reconcile_id IS NOT NULL) UPDATE account_move_line aml SET full_reconcile_id = tmp.full_reconcile_id FROM tmp_table tmp WHERE aml.id = tmp.aml_id` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `WITH tmp_table AS ( SELECT partial_id, MAX(full_id) AS full_id FROM ( SELECT rec.id AS partial_id, aml.reconcile_id AS full_id FROM account_move_line aml RIGHT JOIN account_partial_reconcile rec ON aml.id = rec.debit_move_id WHERE aml.reconcile_id IS NOT NULL UNION SELECT rec.id AS partial_id, aml.reconcile_id AS full_id FROM account_move_line aml RIGHT JOIN account_partial_reconcile rec ON aml.id = rec.credit_move_id WHERE aml.reconcile_id IS NOT NULL) tmp_table_with_duplicated_recs GROUP BY partial_id HAVING COUNT(partial_id) = 1) UPDATE account_partial_reconcile p SET full_reconcile_id = tmp.full_id FROM tmp_table tmp WHERE p.id = tmp.partial_id` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `INSERT INTO account_full_reconcile (id, name, create_date) SELECT id, name, create_date FROM account_move_reconcile WHERE id IN ( SELECT DISTINCT reconcile_id FROM account_move_line WHERE reconcile_id IS NOT NULL)` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `INSERT INTO account_full_reconcile (id, name) SELECT DISTINCT reconcile_id, reconcile_ref FROM account_move_line WHERE reconcile_id IS NOT NULL` - 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
- odoo/odoo · module folder
- Module version
- 1.1
- Category
- Accounting
- Folder size
- 0.3 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- https://www.odoo.com/page/accounting
- Last tracking update
- 2026-08-07 04:56:42
- Authors
- Maintainers
- None
- Committers
- Martin Trigaux, Odoo Translation Bot, Cedric Snauwaert, Nicolas Martinelli, qdp-odoo, Yannick Tivisse
Code Analysis
Views touched (2)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_full_reconcile_form |
account.full.reconcile.form | account.full.reconcile | form | New |
view_move_line_form |
account.move.line.form.full.reconcile | account.move.line | form | Inherits account.view_move_line_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (3)
New fields (3)
-
nameCharcopy=Falsedefault=<expr>required=Truestring='Number' -
partial_reconcile_idsOne2many → account.partial.reconcilestring='Reconciliation Parts' args: 'account.partial.reconcile', 'full_reconcile_id' -
reconciled_line_idsOne2many → account.move.linestring='Matched Journal Items' args: 'account.move.line', 'full_reconcile_id'
No public methods.
New fields (1)
-
full_reconcile_idMany2one → account.full.reconcilecopy=Falsestring='Matching Number' args: 'account.full.reconcile'
-
compute_full_after_batch_reconcile(self)@api.model
New fields (1)
-
full_reconcile_idMany2one → account.full.reconcilecopy=Falsestring='Full Reconcile' args: 'account.full.reconcile'
-
create(self, vals)@api.model -
unlink(self)@api.multiWhen removing a partial reconciliation, also unlink its full reconciliation if it exists