Files
Odoo-Modules/fusion_accounting_followup
gsinghpal 867b5f71a1
Some checks failed
fusion_accounting CI / test (fusion_accounting_ai) (push) Has been cancelled
fusion_accounting CI / test (fusion_accounting_core) (push) Has been cancelled
fusion_accounting CI / test (fusion_accounting_migration) (push) Has been cancelled
fix(fusion_accounting): unified Accounting menu under one root, hide migration when Enterprise gone
User reported two UX problems after the Enterprise uninstall:
1. Each Fusion sub-module showed up as its own standalone app in the
   launcher (Bank Reconciliation, Financial Reports, Asset Management,
   Customer Follow-ups, Fusion AI). Should look like ONE Accounting app.
2. Clicking the 'Fusion Accounting' app still opened the migration
   wizard even though Enterprise had been uninstalled and there was
   nothing to migrate.

Fix:
- Move all Fusion sub-module roots under the Community account.menu_finance
  hierarchy:
    * Bank Reconciliation \u2192 Accounting > Bank Reconciliation
    * Asset Management    \u2192 Accounting > Asset Management
    * Financial Reports   \u2192 Reporting > Financial Reports
    * Follow-ups          \u2192 Customers > Follow-ups
    * Fusion AI           \u2192 Configuration > Fusion AI
    * Migrate from Ent.   \u2192 Configuration > Migrate from Enterprise
- Rename Community's 'Invoicing' top-level menu to 'Accounting' (what
  Enterprise's accountant module did). Set the Fusion icon on it. This
  rename lives in the meta-module so it only fires when the full suite
  is installed.
- Add second computed group 'group_fusion_show_when_enterprise_present'
  (inverse of the existing 'absent' group). Migration menus are gated
  by this group, so they auto-hide once Enterprise is uninstalled.
- _fusion_recompute_coexistence_group now maintains both groups in lockstep.
- Meta-module now also depends on l10n_ca, hr_payroll, ocr, documents
  (the Phase 6/7 sub-modules) for one-click full-suite install.
- Fusion AI menu's old parent ('accountant.menu_accounting') was deleted
  with the Enterprise uninstall \u2014 reparented under Configuration.

Result: single 'Accounting' top-level menu containing the standard
V19 Community structure (Dashboard / Customers / Vendors / Accounting /
Reporting / Configuration), with all Fusion features slotted into the
appropriate sub-section. Verified live on westin-v19: 6 separate
Fusion top-level menus collapsed to 1; coexistence groups recomputed
(absent=10 users, present=0 users); 604/604 tests pass.

Version bump: all touched modules \u2192 19.0.1.1.0.

Made-with: Cursor
2026-04-20 01:04:49 -04:00
..

fusion_accounting_followup

AI-augmented customer follow-ups (dunning) for Odoo 19 Community — a Fusion-native replacement for Enterprise's account_followup module.

What it does

  • Multi-level dunning sequences (gentle reminder, firm warning, legal notice) with delay-day cadence per level
  • 6-bucket aging analysis (current, 1-30, 31-60, 61-90, 91-120, 120+) per customer
  • Per-partner follow-up state machine (current, action_due, paused, blocked, with_credit_team)
  • Daily cron that scans overdue customers and queues / sends follow-ups
  • Weekly cron that refreshes the AI risk score on every overdue customer
  • Mail templates per level, with per-partner context interpolation
  • Batch wizard for bulk-send across all overdue customers, an arbitrary selection, or a level-filtered subset
  • Per-partner follow-up history with state, level, and amount audit
  • AI augmentation:
    • Payment-risk scoring — 0-100 score plus structured drivers (paid-late ratio, longest-overdue band, recent dispute, etc.)
    • Tone selection — gentle / firm / legal based on level + risk
    • Follow-up text generation — LLM-driven subject + body keyed on tone, with a templated keyword fallback so the feature still works offline
  • Coexists with Enterprise account_followup (Enterprise wins by default; the Fusion menu only appears when Enterprise is uninstalled)
  • Migration-aware: bootstrap step backfills fusion.followup.level records from existing account_followup.followup.line rows so the AI has memory from day 1

Quick start

# Install (sub-module)
odoo --addons-path=... -i fusion_accounting_followup

# Or install the whole suite via the meta-module
odoo --addons-path=... -i fusion_accounting

# Open the dashboard (when Enterprise's account_followup is NOT installed)
# Apps -> Customer Follow-ups -> Overdue Customers

# When Enterprise IS installed: use Enterprise's UI; the engine + AI tools
# are still available via the AI chat.

Configuration

  • Local LLM (LM Studio, Ollama):
    • fusion_accounting.openai_base_url = http://host.docker.internal:1234/v1
    • fusion_accounting.openai_model = your local model name
    • fusion_accounting.openai_api_key = lm-studio (anything non-empty)
    • fusion_accounting.provider.followup_text = openai

Public API (engine)

fusion.followup.engine is the single write surface. See CLAUDE.md for the full 7-method signature list.

See also

  • CLAUDE.md — agent context
  • UPGRADE_NOTES.md — Odoo version anchoring