Tutorial: pricing model setup (plan-centric)
Goal: turn your business pricing design into a working Vluna configuration model without focusing on SDK calls.
This tutorial follows the three primary chains:
- Access chain:
plan -> entitlements -> feature_family/feature - Feature-to-meter chain:
feature_family/feature -> meter - Enforcement chain:
plan -> limits -> policies -> runtime decisions
And one pricing baseline chain:
- Pricing chain:
meter -> meter pricing baseline (+ optional contract-term-based pricing) -> priced outcome
Prereqs
- You completed Start here.
- You understand Concepts and system flow.
- You can run at least one runtime path:
Step 1: define the billing owner and identity mapping
Decide your stable billing owner and keep mapping deterministic:
principal_id: customer/org/team that owns billingbilling_account_id: Vluna account anchor (1:1 mapped from principal)
Verify:
- For any business customer, support can identify one stable
principal_idand one stablebilling_account_id.
Step 2: define resource vocabulary
Define the catalog vocabulary before plan design:
feature_family_code: packaging groupfeature_code: billable/gated actionmeter_code: pricing measurement unit
Verify:
- Every sellable feature maps to explicit
feature_code. - Every priced feature family/feature path has a clear
meter_codestrategy.
Step 3: define the billing plan baseline
For each commercial offer, define one billing plan baseline:
- included entitlements
- limit intent (rate/quota/seats)
- funding strategy (included credits/grants where applicable)
For this tutorial, pricing means:
- meter pricing rules for priced outputs
- optional contract-term parameters used by rating policies (where applicable)
It does not mean:
- entitlement rules
- policy/rate/quota enforcement rules
- funding sources (credits/grants/purchases)
Current model note:
- Keep meter pricing stable per
meter_code. - Use plan design (entitlements/limits) and funding design (included credits/grants) for plan differentiation.
Verify:
- You can explain "what this plan sells" without referring to implementation details.
Step 4: wire plan and runtime chains
Wire all three chains explicitly:
- Access chain:
- plan -> entitlements -> allowed feature families/features
- Feature-to-meter chain:
- allowed feature families/features -> meter_code
- Enforcement chain:
- plan -> limit intent -> gate policy bundle/policies
Then confirm pricing baseline chain:
- meter_code -> meter pricing baseline (+ optional contract-term-based pricing) -> priced meters
Verify:
- A plan change impacts access/pricing/enforcement consistently for the same account.
Step 5: choose how plan becomes effective
Choose one or both application paths:
- direct assignment (sales-led)
- provider-backed self-serve purchase
For both paths, keep effective-time behavior explicit (upgrade, downgrade, cancel).
Verify:
- For any timestamp, you can answer which plan was effective for one account.
Step 6: add optional overrides and funding
Add only when needed:
- contract terms for negotiated exceptions
- funding via plan-issued credits, grants, and purchases
Verify:
- You can explain which source paid for one billed outcome.
Step 7: run runtime and accounting verification
Run one runtime path and one accounting review:
- runtime: allow/deny/hints/pricing outcome
- accounting: trace rated outcome to settlement/ledger evidence
Verify:
- Support can explain one disputed amount with plan + terms + funding + rating evidence.
Completion checklist
- Plan baseline exists for each commercial offer.
- Plan/runtime chains and pricing baseline chain are configured and reviewed separately.
- Effective plan assignment logic is deterministic.
- Optional overrides are explicit and auditable.
- Runtime and accounting traceability are support-grade.
Next
- Design baseline: Pricing model blueprint (plan-centric)
- Plan operations: Plans overview