Mirrors 4 OWL components from account_accountant for Phase 1
structural parity:
- statement_line/ (display + interactivity for one bank line)
- statement_summary/ (header summary card per statement)
- line_info_pop_over/ (popover with extra info on hover)
- reconciled_line_name/ (label for already-reconciled lines)
Plus the Enterprise-compat surface added to
fusion_bank_reconciliation service:
- useBankReconciliation() hook export
- chatterState reactive (visible, statementLine)
- reconcileCountPerPartnerId / reconcileModelPerStatementLineId
- selectStatementLine, openChatter, toggleChatter, reloadChatter
- computeReconcileLineCountPerPartnerId (no-op stub)
- computeAvailableReconcileModels (no-op stub)
- updateAvailableReconcileModels (no-op stub)
- reloadRecords helper
- statementLine{,MoveId,Move,Id} getters
Service now also depends on `orm`. A
components/bank_reconciliation/bank_reconciliation_service.js
re-export shim lets mirrored components keep their relative
`../bank_reconciliation_service` imports verbatim.
Renames applied per spec:
- account_accountant.* -> fusion_accounting_bank_rec.* (template names)
- @account_accountant/... -> @fusion_accounting_bank_rec/... (module IDs)
- useService("bank_reconciliation_service")
-> useService("fusion_bank_reconciliation")
Forward imports to batch 2 components (button_list,
line_to_reconcile) resolve lazily — files are on disk and bundled
in subsequent batches. Phase 1 prioritizes structural parity;
behaviour wired up in fusion-only Tasks 34-36.
Manifest version bumped to 19.0.1.0.12.
Module upgrade succeeds, 134 logical tests still pass.
Made-with: Cursor
65 lines
3.5 KiB
Python
65 lines
3.5 KiB
Python
{
|
|
'name': 'Fusion Accounting — Bank Reconciliation',
|
|
'version': '19.0.1.0.12',
|
|
'category': 'Accounting/Accounting',
|
|
'sequence': 28,
|
|
'summary': 'Native V19 bank reconciliation widget with AI confidence scoring + behavioural learning.',
|
|
'description': """
|
|
Fusion Accounting — Bank Reconciliation
|
|
========================================
|
|
Replaces Odoo Enterprise's account_accountant bank-rec widget with a
|
|
native V19 OWL implementation reading/writing Community's
|
|
account.partial.reconcile tables.
|
|
|
|
Features:
|
|
- Strict mirror of all Enterprise UI components (zero functional loss)
|
|
- AI confidence badges with one-click Accept and ranked alternatives
|
|
- Behavioural learning from historical reconciliations
|
|
- Local LLM ready (Ollama, LM Studio) via OpenAI-compatible adapter
|
|
- Coexists with account_accountant (Enterprise wins by default)
|
|
|
|
Built by Nexa Systems Inc.
|
|
""",
|
|
'icon': '/fusion_accounting_bank_rec/static/description/icon.png',
|
|
'author': 'Nexa Systems Inc.',
|
|
'website': 'https://nexasystems.ca',
|
|
'maintainer': 'Nexa Systems Inc.',
|
|
'depends': ['fusion_accounting_core'],
|
|
'external_dependencies': {
|
|
'python': ['hypothesis'],
|
|
},
|
|
'data': [
|
|
'security/ir.model.access.csv',
|
|
'data/cron.xml',
|
|
],
|
|
'assets': {
|
|
'web.assets_backend': [
|
|
'fusion_accounting_bank_rec/static/src/scss/_variables.scss',
|
|
'fusion_accounting_bank_rec/static/src/scss/bank_reconciliation.scss',
|
|
'fusion_accounting_bank_rec/static/src/scss/ai_suggestion.scss',
|
|
'fusion_accounting_bank_rec/static/src/scss/dark_mode.scss',
|
|
'fusion_accounting_bank_rec/static/src/services/bank_reconciliation_service.js',
|
|
'fusion_accounting_bank_rec/static/src/views/kanban/bank_rec_kanban_controller.js',
|
|
'fusion_accounting_bank_rec/static/src/views/kanban/bank_rec_kanban_renderer.js',
|
|
'fusion_accounting_bank_rec/static/src/views/kanban/bank_rec_kanban_view.js',
|
|
'fusion_accounting_bank_rec/static/src/views/kanban/bank_rec_kanban.xml',
|
|
# OWL component mirror — Enterprise account_accountant bank-rec.
|
|
# Re-export shim so mirrored components can use the relative
|
|
# `../bank_reconciliation_service` import unchanged.
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/bank_reconciliation_service.js',
|
|
# Batch 1 (Task 30) — display components
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/statement_line/statement_line.js',
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/statement_line/statement_line.xml',
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/statement_summary/statement_summary.js',
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/statement_summary/statement_summary.xml',
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/line_info_pop_over/line_info_pop_over.js',
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/line_info_pop_over/line_info_pop_over.xml',
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/reconciled_line_name/reconciled_line_name.js',
|
|
'fusion_accounting_bank_rec/static/src/components/bank_reconciliation/reconciled_line_name/reconciled_line_name.xml',
|
|
],
|
|
},
|
|
'installable': True,
|
|
'application': False,
|
|
'license': 'OPL-1',
|
|
}
|