feat(fusion_accounting_bank_rec): 3 cron schedules + handler model

- cron_suggest (every 30min): warm AI suggestions for unreconciled lines
  that don't have a recent pending one
- cron_pattern_refresh (daily 02:00): recompute fusion.reconcile.pattern
  for each (company, partner) pair with precedents
- cron_mv_refresh (every 5min): REFRESH MATERIALIZED VIEW CONCURRENTLY
  using a dedicated autocommit cursor (REFRESH CONCURRENTLY can't run
  inside a regular Odoo transaction)

V19 note: ir.cron dropped the numbercall field, so the data XML omits
it (cron now repeats indefinitely as long as active=True).

Tests: 5 new TestFusionBankRecCron tests pass; full module suite is
0 failed / 0 errors of 123 logical tests on westin-v19.

Made-with: Cursor
This commit is contained in:
gsinghpal
2026-04-19 11:59:16 -04:00
parent d953525758
commit d1819b940e
6 changed files with 243 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
{
'name': 'Fusion Accounting — Bank Reconciliation',
'version': '19.0.1.0.6',
'version': '19.0.1.0.7',
'category': 'Accounting/Accounting',
'sequence': 28,
'summary': 'Native V19 bank reconciliation widget with AI confidence scoring + behavioural learning.',
@@ -30,6 +30,7 @@ Built by Nexa Systems Inc.
},
'data': [
'security/ir.model.access.csv',
'data/cron.xml',
],
'installable': True,
'application': False,