Files
gsinghpal 9ebf89bde2 changes
2026-05-16 13:18:52 -04:00

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.move and account.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 for created_automatically
  • models/ir_module_module.py — Enterprise-detection helpers
  • security/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