Task 20 of Phase 0: document the sub-module split. - fusion_accounting_core: foundation doc covering security groups, shared-field schema preservation, and the Enterprise-detection helper. - fusion_accounting_ai: preserves the original module's AI-specific design decisions, Odoo 19 gotchas, deployment commands, controllers, models, theme rules, and known issues. Adds a new Data-adapter pattern section documenting tri-mode routing (fusion / enterprise / community). - fusion_accounting_migration: doc for the Enterprise uninstall safety guard and the wizard shell that future feature sub-modules will extend. - fusion_accounting (meta): rewritten CLAUDE.md as a pure overview pointing at sub-modules, plus a new README.md covering one-click install/uninstall. Each sub-module now has CLAUDE.md (Cursor/Claude context), UPGRADE_NOTES.md (version-by-version deltas / reference sources), and README.md (user-facing install/usage docs). 11 files total. Made-with: Cursor
1.4 KiB
1.4 KiB
fusion_accounting_core — Cursor / Claude Context
Purpose
Foundation for the Fusion Accounting sub-module suite. Owns:
- Three security groups (User / Manager / Admin) shared across all sub-modules
- Shared-field-ownership declarations on
account.moveandaccount.reconcile.model - Runtime Enterprise-detection helper:
env['ir.module.module']._fusion_is_enterprise_accounting_installed()
What lives here
models/account_move.py— declares Enterprise-extension fields with identical schemas / relation tables. Pure schema-preservation; no business logic.models/account_reconcile_model.py— same pattern forcreated_automaticallymodels/ir_module_module.py— Enterprise-detection helperssecurity/fusion_accounting_security.xml— privilege + 3 groups + auto-assignment
Critical rules
- NEVER add business logic to the shared-field models (account_move.py here). Logic belongs in the feature sub-module that owns it (e.g. fusion_accounting_bank_rec).
- NEVER rename the relation tables for shared M2Ms. They must match Enterprise verbatim for the dual-ownership pattern to work.
- Shared fields here have NO defaults beyond what Enterprise sets. The point is preservation.
Cross-references
- Parent design:
fusion_accounting/docs/superpowers/specs/2026-04-18-fusion-accounting-enterprise-takeover-roadmap-design.md(Section 3) - Workspace conventions:
/Users/gurpreet/Github/Odoo-Modules/CLAUDE.md