Centralize billing for all NexaSystems services (NexaCloud, NexaDesk, NexaMaps, custom apps, memberships) on the Odoo 19 Enterprise instance, replacing Lago. The module adds only the metering + integration layer; native sale_subscription / account_accountant / payment_stripe do all the financial work (invoicing, HST, dunning, portal, credit notes, Stripe). Includes: - Design spec (docs/superpowers/specs/2026-05-27-nexa-billing-centralized-design.md): 6 locked decisions, architecture, data model, usage engine, Lago-shaped API, webhook control loop, NexaCloud pilot, phased dual-run migration. - Module scaffold: 7 fusion.billing.* models (service, account.link, metric, charge, usage, webhook, reconciliation), bearer-auth API controller shell, security ACLs, README. Compiles on Odoo 19.0; engine/API bodies are stubs pending the implementation plan. - CLAUDE.md rule #15: no sale.subscription model in Odoo 19 — a subscription is a sale.order(is_subscription) + sale.subscription.plan (verified live). Task 0 verified: a single Stripe account is shared across NexaCloud and all Lago providers, so no Stripe account/card migration is required. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.3 KiB
1.3 KiB
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_fusion_billing_service_admin | fusion.billing.service admin | model_fusion_billing_service | base.group_system | 1 | 1 | 1 | 1 |
| 3 | access_fusion_billing_account_link_admin | fusion.billing.account.link admin | model_fusion_billing_account_link | base.group_system | 1 | 1 | 1 | 1 |
| 4 | access_fusion_billing_metric_admin | fusion.billing.metric admin | model_fusion_billing_metric | base.group_system | 1 | 1 | 1 | 1 |
| 5 | access_fusion_billing_charge_admin | fusion.billing.charge admin | model_fusion_billing_charge | base.group_system | 1 | 1 | 1 | 1 |
| 6 | access_fusion_billing_usage_admin | fusion.billing.usage admin | model_fusion_billing_usage | base.group_system | 1 | 1 | 1 | 1 |
| 7 | access_fusion_billing_webhook_admin | fusion.billing.webhook admin | model_fusion_billing_webhook | base.group_system | 1 | 1 | 1 | 1 |
| 8 | access_fusion_billing_reconciliation_admin | fusion.billing.reconciliation admin | model_fusion_billing_reconciliation | base.group_system | 1 | 1 | 1 | 1 |
| 9 | access_fusion_billing_metric_acct | fusion.billing.metric accountant | model_fusion_billing_metric | account.group_account_manager | 1 | 1 | 1 | 0 |
| 10 | access_fusion_billing_charge_acct | fusion.billing.charge accountant | model_fusion_billing_charge | account.group_account_manager | 1 | 1 | 1 | 0 |
| 11 | access_fusion_billing_reconciliation_acct | fusion.billing.reconciliation accountant | model_fusion_billing_reconciliation | account.group_account_manager | 1 | 1 | 1 | 0 |