Refactor billing annotations to structured JSON format #453

Merged
tobru merged 7 commits from billing-annotations-change into main 2026-03-17 10:05:29 +00:00
Owner

Replace flat servala.com/erp_* annotations with two new annotations:

  • billing.servala.com/items: JSON array of billing items with productID, value, and description fields
  • billing.servala.com/salesOrderID: from Organization.odoo_sale_order_name

Product IDs can come from three sources configured per ServiceDefinition: compute_plan (ComputePlanAssignment), storage (ControlPlane), or static (inline in config). Values are extracted from K8s spec paths with automatic unit stripping and boolean-to-number coercion.

Replace flat servala.com/erp_* annotations with two new annotations: - billing.servala.com/items: JSON array of billing items with productID, value, and description fields - billing.servala.com/salesOrderID: from Organization.odoo_sale_order_name Product IDs can come from three sources configured per ServiceDefinition: `compute_plan` (ComputePlanAssignment), `storage` (ControlPlane), or `static` (inline in config). Values are extracted from K8s spec paths with automatic unit stripping and boolean-to-number coercion.
renovate force-pushed billing-annotations-change from 27b1047280
All checks were successful
Tests / test (push) Successful in 52s
to 429a4c7f4c
All checks were successful
Tests / test (push) Successful in 51s
2026-03-16 15:28:02 +00:00
Compare
renovate force-pushed billing-annotations-change from 429a4c7f4c
All checks were successful
Tests / test (push) Successful in 51s
to ead5247861
All checks were successful
Tests / test (push) Successful in 53s
2026-03-17 08:02:07 +00:00
Compare
validate mandatory fields on billing config
All checks were successful
Tests / test (push) Successful in 52s
209b8e2040
tobru merged commit 719e0012f7 into main 2026-03-17 10:05:29 +00:00
tobru deleted branch billing-annotations-change 2026-03-17 10:05:29 +00:00
Sign in to join this conversation.
No description provided.