diff --git a/docs/superpowers/specs/2026-05-27-nexacloud-billing-importer-design.md b/docs/superpowers/specs/2026-05-27-nexacloud-billing-importer-design.md index 8eb222d0..1c171004 100644 --- a/docs/superpowers/specs/2026-05-27-nexacloud-billing-importer-design.md +++ b/docs/superpowers/specs/2026-05-27-nexacloud-billing-importer-design.md @@ -183,6 +183,13 @@ until this is granted. - Importing historical NexaCloud invoices / `usage_records` (2d reads NexaCloud actuals). - Add-ons (`deployment_addons`) as recurring lines — revisit if material. +> **Flip-day note (carry into 2b):** the inbound `/usage` API resolves a subscription by +> its **Odoo integer id** (`int(subscription_external_id)`), but imported shadow subs are +> keyed by NexaCloud's UUID in `x_fc_nexacloud_subscription_id`. Before NexaCloud can push +> usage (2b), decide how it learns the Odoo id (return the mapping from the importer, or +> extend the usage API to also resolve by `x_fc_nexacloud_subscription_id`). Not a 2a bug +> (2a is read-only), but it must be resolved before the flip. + ## 11. Verify at implementation (do NOT code from memory — CLAUDE rule #1) Confirm on odoo-trial Enterprise before relying on them: