Understand how Revenue Cloud calculates the cost of consumption beyond what was granted. Master Rate Cards, Rating Procedures, the Rating Waterfall, and the architectural split between Default and Negotiable procedure types โ grounded in Comuniqa's usage billing model.
ArchitectDepth
7 + QuizSections
Rev Cloud AdvLicense
Go! ยท ARSScenario
1Foundational Definitions
Core Concepts in Rate Management
Rate Management is the Revenue Cloud module responsible for calculating the net rate charged when a customer consumes a usage resource beyond the quantity or period granted with their sold product. Every concept below is drawn directly from the Salesforce documentation.
Mental model: Rate Management is a post-sale billing calculator. It does not price what a customer buys โ that is the Pricing Engine's job. It prices what a customer consumes. The central question: "How much do we charge for each unit consumed over the granted limit?"
โก
Usage Resource
An entitlement or service granted with the product sold to your customer. Typically a consumable such as data storage or computing power. Customers are charged based on the quantity they use over the granted limit or specified period.
External Object
๐
Rate Card
Defines the rules applicable to rate usage resources granted with the sold product. Two types: Base (flat per-unit rate) and Tier (range-based rate adjustments based on consumption quantity). Linked to a Price Book via a Price Book Rate Card record.
Rate Mgmt Object
๐
Rate Card Entry (RCE)
Defines the per-unit rate for a specific Usage Resource, Sellable Product, Product Selling Model, and UoM combination. Lifecycle: Draft โ Active โ Inactive. Can be negotiable or non-negotiable. Inherits the default UoM from the related Usage Resource record. For Tier Rate Cards, tier brackets (Lower Bound, Upper Bound, Adjustment Type, Adjustment Value) are added inline via Add Tier โ not as separate records.
Rate Mgmt Object
๐ข
Price Book Rate Card
Maps a Price Book to a Rate Card. Required for the Rating Discovery Procedure to resolve which rate cards apply to a given price book. Must be created per rate card type (one record for Base, one for Tier).
Bridge Object
โ๏ธ
Rating Procedure
A customizable, ordered stack of rating elements that calculates the final net rate of a usage resource. Always created by cloning a predefined template via Expression Set Templates. Must begin with the Rating Setting element. Each added element forms one step.
Expression Set
๐
Rating Discovery Procedure
Fetches binding objects, rate cards, rate card entries, and rate adjustments linked to a price book. Used during Quote & Order Capture and Asset Lifecycle to surface rate information for quoting usage-based products. Must be registered in Setup โ Revenue Settings โ Set Up Usage Rating.
Expression Set
๐
Rating Waterfall
Shows the rate breakup at every step of the rating process, with the reason for each addition or deduction. Enabled separately in Setup โ Quick Find: "Usage Management" โ Rate Management Setup. A separate Waterfall Persistence setting (same location) stores process logs for after-the-fact investigation.
Must Enable Separately
๐๏ธ
RateManagementContext
The predefined context definition that maps the Usage Ratable Summary object to rating procedure inputs. Elements reference context tags (OverageQuantity, NetUnitRate, UsageResource, etc.) rather than direct field references. Can be extended or cloned. Note: the Usage Ratable Summary object it maps is not generally available โ access requires contacting your Salesforce account executive.
Context Framework
๐
Unit of Measure (UoM)
Defines the dimension in which a rate is expressed โ currency or token. A UoM Class groups related units (e.g. Volume โ MB, GB; Currency โ ARS). Before creating UoM records, you must add picklist values for the Type field on the Unit Of Measure object in Object Manager.
External Object
๐ค
Binding Object
A target-specific entity against which negotiated rates are stored in Binding Object Rate Card Entries. Used by the Negotiable Rating Procedure path. The Rate Order field determines which rate applies when multiple rates exist within an effective period for the same target.
Negotiable Path
๐๏ธ
Lookup Tables
Decision-table-based data structures used by rating elements. Salesforce ships predefined tables including: Rate Card Entries 2, Rate Adjustment by Volume Entries 2, Rate Adjustment by Tier Entries 2, Rate Adjustment by Attribute Entries 2 (non-negotiable path); plus Asset Rate Card Entry 2, Asset Rate 2, Asset Tier-based Rate Adjustment 2, and Binding Object variants (negotiable path). CSV-based decision tables and decision matrices are explicitly not supported.
Critical Constraint
๐ฑ
Token-Based Rating
Alternative to currency-based rates. Requires two RCEs: one to convert usage to tokens (Rate UoM = token unit) and one to convert tokens to currency (Rate UoM = currency). Product Usage Resource (PUR) settings on the sellable product determine which rate type is used during usage selling.
Advanced Pattern
Permission Set Licenses โ Who Can Do What
Rate Management uses four permission set licenses (doc pp.499โ500). Architects must map these to project roles before implementation begins.
Role
What They Can Do
Permission Set License
Rate Management Admin
Turn on Rate Management; create and manage all Rate Management objects and features; manage batch features
Rate Management Design Time
Rate Management Manager
Access Rate Management app; CRUD on Rate Cards and Rate Card Entries
Rate Management Run Time
Rate Management Design Time User
Access the rating procedure builder and all rating elements; create and activate decision tables
Consumable granted with each Comuniqa Go! plan bundle
Rate Card (Base)
Flat per-unit overage rate card for Mobile Data
ARS per-unit rate for consumption beyond the granted data allowance
Rate Card (Tier)
Tier-based overage rate card
Lower per-unit rates at higher consumption brackets; tiers defined inline via Add Tier on a single RCE
Price Book Rate Card
Maps Comuniqa Standard Price Book to each overage Rate Card
Two records required โ one for Base, one for Tier โ before any Rate Discovery Procedure can resolve rates
Rating Procedure
Cloned from Default template
Procedure name and element chain defined during implementation design
Binding Object / Negotiable
Any Comuniqa segment with asset-level negotiated overage rates
Requires Transaction Management enabled
UoM
ARS (currency class); MB or GB (volume class)
ARS subject to frequent revision โ RCE effective date governance is critical; Type picklist values must be added to UoM object before creating UoM records
2Detailed Functional Explanation
How Rate Management Works
Rate Management operates as a post-sale, post-entitlement calculation engine. It processes Usage Ratable Summary records generated from usage events by Usage Management and calculates the cost of what a customer consumes beyond the quantity or period granted with their sold product.
Lifecycle position (Comuniqa): A Comuniqa Go! subscriber purchases a plan with a data allowance (Pricing Engine + Product Catalog). They consume data beyond that allowance. Usage Management generates a Usage Ratable Summary record for the overage quantity. Rate Management then executes the assigned Rating Procedure to calculate the ARS charge for those overage units.
Important prerequisite: Rate Management must first be enabled in Setup โ Quick Find: "Usage Management" โ Usage Management Settings โ Turn on Rate Management. Only then are the Waterfall and Persistence toggles accessible. The Usage Ratable Summary object mapped by the Default Rating Procedure template is also not generally available โ access must be arranged with a Salesforce account executive, or custom context mappings must be built.
The Rating Waterfall โ Step-by-Step Rate Calculation
A Rating Procedure is an ordered sequence of elements. Each element transforms the NetUnitRate context tag from the previous step. The example below follows the documentation's own tier-based illustration (p.531).
Rating procedure execution โ doc example: 100 GB data overage at $0.50/GB (p.531)
1
Rating Setting (mandatory first element โ doc p.517)
Maps context variables: Line Item โ UsageRatableSummaryId; Net Unit Rate โ NetUnitRate; Subtotal โ TotalAmount; Rate Waterfall โ RatingWaterfall. Sets RatingDecisionDateTime. All subsequent elements read and write these shared context tags.
Context initialized โ no rate calculation yet
2
Base Rate
Lookup Table: Rate Card Entries 2. Input Rule Variables: BaseRateCard, UsageResource, SellableProduct, NetUnitRateUom, ProductSellingModel, RatingDecisionDateTime (Effective From/To), Status โ Constant_Rate_Card_Entry_Status (predefined constant โ not a context tag). Input Variables: Quantity โ OverageQuantity. Outputs: Base Rate โ NetUnitRate; Subtotal โ TotalAmount.
Lookup Table: Rate Adjustment by Tier Entries 2 (non-negotiable). Doc example (p.531): 100 GB total. Tier 1 (0โ10 GB): no discount โ $5.00. Tier 2 (11โ60 GB): 10% off โ $22.50. Tier 3 (61โ100 GB): 15% off โ $16.00. Each bracket independently calculates its share of total overage. Total = $43.50.
NetUnitRate adjusted per tier bracket โ TotalAmount = $43.50
4
Rounding Values
Sets rounding precision for single-currency orgs. Three rules: Round Up, Round Down, Half Up. For Comuniqa (ARS, single currency), this element must be present and Precision mapped to a constant of 0. In multicurrency orgs, org currency settings control precision instead โ the element still runs but precision is determined by currency settings.
TotalAmount rounded per configured rule
5
Output
Final NetUnitRate and TotalAmount written back to the Usage Ratable Summary for downstream billing. Waterfall log stored if Persistence is enabled.
โ Final NetUnitRate and TotalAmount on Usage Ratable Summary
Comuniqa Scenarios
Scenario: Comuniqa Go! data overage โ Default path
When to use: The Default Rating Procedure is appropriate when rates are centrally defined in Rate Card Entries and all customers in the segment pay from the same rate card. The documentation describes it as ideal for "straightforward, standard rating requirements" where rates are natively configured and managed directly within Rate Management.
Key configuration requirement: The BaseRateCard and TierRateCard IDs must be present on the UsageRatableSummary JSON input at runtime. If empty, the lookup returns no results. The architect must ensure these IDs are populated upstream (e.g. from the asset or subscription record) before the procedure is invoked.
Documentation note (p.569): "The default rating procedure uses the Usage Ratable Summary object, which isn't generally available. Get access to the object by contacting your Salesforce account executive or create your own mappings by using your own context definition."
Scenario: Negotiable Rate path for asset-level agreements
When to use: The Negotiable Rating Procedure applies rates based on data defined in asset rate card entries. The documentation describes it as providing "advanced flexibility, particularly for complex consumption models, custom contracts, and dynamic pricing."
Element chain (ordering is a documented prerequisite โ p.545): Negotiated Rate Card Entries must appear before Negotiated Tier-Based Rate Adjustment or Negotiated Volume-Based Rate Adjustment โ the Rate Card Entry ID output from the former is required as input to the latter.
Critical prerequisite โ Transaction Management (p.514): "Enable Transaction Management to view and invoke asset-based lookup tables involved in the negotiable rating procedure." This includes Asset Rate Card Entry 2, Asset Rate 2, Asset Tier-based Rate Adjustment 2, and related tables. The alternative is creating custom lookup tables.
Fallback behaviour: The Negotiated Base Rate element uses the Asset Rate 2 lookup table to determine if rates were negotiated. If rates weren't negotiated for the asset, the element falls back to base rates โ so the Negotiable procedure also handles non-negotiated customers gracefully.
Tier-Based vs. Volume-Based: the architectural difference
Volume-Based Rate Discount: Applies a uniform flat discount to all consumed units once the threshold is crossed. All units (not just those above the threshold) receive the same adjustment. Lookup table for non-negotiable: Rate Adjustment by Volume Entries 2. For negotiable: Volume-based Rate Adjustment by Rate Card Entry ID.
Tier-Based Rate Discount: Applies range-specific discounts per bracket. Each tier independently rates its share of total consumption. Doc example (p.531): 100 GB at $0.50/GB โ first 10 GB at full rate ($5.00); next 50 GB at 10% off ($22.50); last 40 GB at 15% off ($16.00). Total = $43.50. Lookup table for non-negotiable: Rate Adjustment by Tier Entries 2. For negotiable: Tier-based Rate Adjustment by Rate Card Entry ID.
Tier boundary rule (p.509): "Values are inclusive and the tiers can't overlap." Any gap between tier boundaries means consumption at the uncovered value matches no tier. Validate all boundaries in the Simulate tool before activation.
Rate Discovery during Quote & Order Capture
Purpose: The Rating Discovery Procedure fetches rate information from the catalog during quoting โ allowing agents to see rate estimates for usage-based products before an order is placed. It uses the predefined RatingDiscoveryContext โ a completely separate context from RateManagementContext.
Element execution order (p.570): (1) Get Rate Cards โ resolves Base and Tier Rate Card IDs from PriceBookId using the Pricebook Rate Card Entries lookup table; (2) Get Rate Card Entries โ fetches active RCEs using Rate Card Entry Resolution Entries 2; (3) Get Tier-Based Rate Adjustments โ fetches tier definitions using Rate Adjustment by Tier Resolution Entries.
Skip logic (p.570): If the output of an element is already supplied as input during simulation, that element is skipped. For example, if both PriceBook ID and Rate Card ID are provided, Get Rate Cards is skipped.
Comuniqa requirement: The Rating Discovery Procedure must be cloned from the template, activated, and registered in Setup โ Quick Find: "Revenue Settings" โ Set Up Usage Rating. Building and activating alone is not sufficient.
Negotiated Rate Card EntriesNegotiated Rate Card Entries for Binding ObjectNegotiated Base RateNegotiated Base Rate for Binding ObjectNegotiated Tier-Based Rate AdjustmentNegotiated Tier-Based Rate Adjustment for Binding ObjectNegotiated Volume-Based Rate AdjustmentNegotiated Volume-Based Rate Adjustment for Binding ObjectCommitment Rate AdjustmentManual Rate DiscountRate Adjustment MatrixFormula-Based RatingList Group & List OperationMap Line Item
Related Components
Component
Type
Role
Comuniqa Application
Rate Card (Base / Tier)
Rate Mgmt Object
Container for rate rules
Overage rate card for Comuniqa Go! Mobile Data
Rate Card Entry
Rate Mgmt Object
Per-resource, per-product, per-UoM rate with effective date range and Draft/Active/Inactive lifecycle. Tier brackets added inline via Add Tier.
ARS-denominated per-unit rate for Mobile Data
Price Book Rate Card
Bridge Object
Links Price Book to Rate Card โ one record required per rate card type (Base, Tier)
Maps Comuniqa Standard Price Book to each overage Rate Card
Predefined Lookup Tables (non-negotiable)
BRE
Rate Card Entries 2; Rate Adjustment by Volume Entries 2; Rate Adjustment by Tier Entries 2; Rate Adjustment by Attribute Entries 2
Rate Card Entries 2 and Rate Adjustment by Tier Entries 2 for the Default procedure
Predefined Lookup Tables (negotiable)
BRE
Asset Rate Card Entry 2; Asset Rate 2; Asset Tier-based Rate Adjustment 2; Binding Object variants; plus all non-negotiable tables
Required if any Comuniqa segment uses asset-level negotiated rates
RateManagementContext
Context
Maps Usage Ratable Summary fields to context tags for Rating Procedures
OverageQuantity, NetUnitRate, TotalAmount per ARS charge
RatingDiscoveryContext
Context
Separate context definition used exclusively by Rating Discovery Procedures
Maps Rate Card / RCE objects during quote-time discovery
Transaction Management
Must Enable
Required to access asset-based lookup tables for the Negotiable path
Must be enabled for segments using asset-level negotiated overage rates
Rating Waterfall + Persistence
Two Enables
Both enabled via Setup โ Quick Find: "Usage Management" โ Rate Management Setup. Different permission requirements: Design Time for Waterfall; Admin for Persistence.
Audit and dispute-resolution for Comuniqa overage billing
4Limitations & Constraints
Platform Limits & Documented Constraints
All limit values are taken directly from the Rate Management Limits section of the documentation (pp.578โ579). Limits can only be changed by raising a Salesforce support ticket.
Enable Rate Management First
Setup sequence matters (p.504): Rate Management must be enabled before the Waterfall or Persistence toggles are accessible. The path is: Setup โ Quick Find: "Usage Management" โ Usage Management Settings โ Turn on Rate Management (requires Customize Application permission). Only after this step can you access Rate Management Setup to enable Waterfall and Persistence.
Rating Procedure Limits
Limit
Default
Minimum
Maximum
Comuniqa Risk
Procedure active duration
10,000 ms
1,000 ms
60,000 ms
Complex negotiable procedures may approach default โ raise via support ticket proactively
Per-element active duration
5,000 ms
4 ms
10,000 ms
Slow lookup tables can breach per-element limits
Elements per procedure
70
2
100
Negotiable procedures with multiple Binding Object element variants approach this quickly
Active decision tables in org
50
0
1,000
Shared budget with Pricing Engine decision tables
Simultaneous lookup inputs per HBPO DT
1,000
1
8,000
High-volume batch rating may require raising this limit
Rating Discovery Procedure Limits
Limit
Default
Minimum
Maximum
Procedure active duration
10,000 ms
1,000 ms
60,000 ms
Per-element active duration
5,000 ms
4 ms
10,000 ms
Elements per procedure
50
1
100
Active decision tables in org (Discovery)
40
0
1,000
Simultaneous lookup inputs for Rating Discovery HBPO
2,000
1
8,000
Rate Card Entry Limits
Object
Limit
Comuniqa Risk
Rate Card Entries per org
1,200
Medium โ products ร usage resources ร selling models ร effective date ranges accumulate quickly during ARS revision cycles
Adjustment records per Tier RCE
3,000
Low for Comuniqa's current tier structure; monitor if complexity grows
Architectural Constraints
"Rate Management doesn't support CSV based decision tables and decision matrices." (p.514) All lookup tables must be native Salesforce lookup tables or the predefined tables shipped with Rate Management. Comuniqa cannot bulk-import ARS rate updates via CSV. Rate changes must use Rate Card Entry records via the UI or Salesforce API, following the Draft โ Active โ Inactive lifecycle.
Starting Summer '25, admins can choose between decision tables and real-time data for rating procedures. Real-time data ensures accuracy but impacts performance. Decision tables enhance performance but require manual updates when rates change. Real-time data does not support the "not matches" or "contains" operators. Real-time support is available for: Get Binding Object Rate Adjustment, Get Binding Object Rate Card Entries, Negotiated Rate Card Entries, Negotiated Base Rate, Negotiated Volume-Based Rate Adjustment, and Commitment Rate Adjustment elements.
"Enable Transaction Management to view and invoke the asset-based lookup tables involved in the negotiable rating procedure." (p.514) This includes Asset Rate Card Entry 2, Asset Rate 2, Asset Tier-based Rate Adjustment 2, and related tables. The alternative is creating custom lookup tables. For any Comuniqa segment requiring asset-level negotiated rates, this is a prerequisite โ not optional.
"The default rating procedure uses the Usage Ratable Summary object, which isn't generally available." (p.569) Access requires contacting a Salesforce account executive. Alternatively, create custom context mappings using a custom context definition. This must be resolved before any rating procedure can be activated against real data.
Per documentation p.511: "For runtime users to access the data created by rating designers, managers or catalog admins, set up record sharing for all the Rate Management entities." Record sharing must be configured (via Organization-Wide Defaults or Sharing Rules) for: Rate Card, Unit of Measure, Usage Resource, Rating Frequency Policy, Rating Request, and Expression Sets. The Rate Management Run Time User permission set provides Read access to relevant objects โ this must be assigned to all runtime users. Without this, rating procedures will fail at runtime even if the design is correct.
Per documentation p.502: "To create Unit of Measure records for Rate Management, you must add picklist values for the Type field on the Unit Of Measure object." This requires a Setup step in Object Manager before any UoM records (GB, ARS, etc.) can be created. The Type dropdown on a new UoM record will be empty until these picklist values (e.g. Currency, Volume) are added. This is a common blocker when starting a fresh org implementation.
Rate Management is not supported on mobile devices. All Rate Management configuration โ Rate Card management, RCE lifecycle operations, Rating Procedure builder access โ must be performed from desktop environments.
The Rounding Values element sets rounding precision for single-currency orgs. When multicurrency is enabled, org currency settings determine precision and the Precision variable on the element is not used. The element determines currency values for outputs of preceding elements such as Manual Rate Discount and Volume-Based Rate Discount. For Comuniqa (ARS, single currency), this element must be present with Precision mapped to a constant of 0.
5Common Implementation Challenges
What Goes Wrong at Comuniqa
โ ๏ธ Comuniqa-Specific Implementation Pitfalls
๐ด
Not following the correct enable sequence. Rate Management must be enabled first (Setup โ Usage Management โ Usage Management Settings), before Waterfall or Persistence toggles are accessible. Many teams try to enable Waterfall first and cannot find the setting. The correct sequence is: (1) Enable Rate Management; (2) Enable Rating Waterfall; (3) Enable Waterfall Persistence โ each with different permission requirements.
๐ด
Not registering the Rating Discovery Procedure in Revenue Settings. Building and activating the procedure is not sufficient โ it must also be selected in Setup โ Quick Find: "Revenue Settings" โ Set Up Usage Rating. Omitting this step causes usage-based products to show no rate information at quote time with no clear error message.
๐ด
Missing Price Book Rate Card linkage. Rate Cards exist and RCEs are active, but the Price Book Rate Card records were never created (or only one was created instead of two). The Rating Discovery Procedure cannot resolve which Rate Cards apply. Manifests as blank rate fields at order capture โ not an error โ making it difficult to diagnose.
๐ด
Usage Ratable Summary object not provisioned. The Default Rating Procedure template references this object, which is not generally available. Activating a cloned procedure against real data without first arranging access will fail. Must be resolved as a prerequisite before any design work begins.
๐ด
Not setting up record sharing for runtime users. Even with a correctly designed Rating Procedure, runtime users (agents, API callers, batch jobs) cannot access Rate Cards, UoM records, or Expression Sets without record sharing configured and the Rate Management Run Time User permission set assigned. This causes runtime failures that appear unrelated to the procedure design.
๐
Applying the Default procedure to customers who need the Negotiable path. The Default procedure does not look up Asset Rate Card Entries. If used for a segment with asset-level negotiated rates, those rates are silently ignored and the customer is billed at standard rate card rates.
๐
Overlapping or gapped tier boundaries. Tier bounds are inclusive and cannot overlap. A gap between upper bound and lower bound of adjacent tiers leaves consumption values with no tier match. Use the Simulate tool to test exact boundary values before activation.
๐
Overlapping active RCEs during ARS rate revisions. Creating a new Active RCE without first end-dating the current one produces two simultaneously active entries. Lookup results become unpredictable. Correct sequence: Draft new entry โ end-date current entry โ activate new entry โ deactivate old one.
๐ก
Not enabling Transaction Management before the Negotiable procedure. Asset-based lookup tables simply do not appear in the Lookup Table Details dropdown without Transaction Management enabled. No warning is shown during procedure build.
๐ก
Rating Setting not placed as the first element. "You must add the Rating Setting element as the first rating element." (p.517) Placing it second or omitting it causes context tag mapping to fail for all subsequent elements.
๐ก
Missing the Status constant on the Base Rate element. The Status input variable on the Base Rate element must be mapped to the predefined constant Constant_Rate_Card_Entry_Status โ not a context tag. Omitting it means the lookup does not filter by Active status and may return Draft or Inactive entries.
๐ก
Forgetting to add UoM Type picklist values before creating UoM records. The Type field on the Unit Of Measure object has no values by default. New UoM records cannot be saved until picklist values (e.g. Currency, Volume) are added via Object Manager. This blocks all subsequent Rate Card Entry configuration.
Downstream Impact
Mistake
Downstream Impact
Severity
Wrong enable sequence (Waterfall before Rate Mgmt)
Waterfall setting not found โ implementation stalls
Medium
No Rating Discovery Procedure registered
Usage products cannot be quoted; rate fields blank in agent console
High
Missing Price Book Rate Card (one or both)
Discovery returns no rate data โ billing engine has nothing to apply
High
Usage Ratable Summary not provisioned
Procedure cannot process real data after activation
High
No record sharing for runtime users
Runtime failures โ procedure cannot read rate data
High
Default procedure used for negotiated-rate customers
Asset-level rates silently ignored โ customers billed at standard rate
High
Overlapping or gapped tier boundaries
Non-deterministic rates or no-match errors โ billing disputes
High
ARS RCE effective date overlap
Unpredictable lookup results during inflation-driven repricing cycles
Medium
Missing Status constant on Base Rate element
Lookup may return non-Active RCEs โ incorrect rates applied
High
UoM Type picklist values missing
UoM records cannot be created โ all downstream Rate Card Entry config blocked
Medium
Waterfall + Persistence not enabled before UAT
No audit trail โ disputes cannot be investigated after the billing cycle
Medium
Governance callout: Argentina's high-inflation environment makes RCE lifecycle governance a recurring operational concern. Comuniqa should establish a formal rate revision process โ Draft creation, explicit end-dating of outgoing Active entry, activation review, post-activation Simulate verification โ owned by a designated Rate Management Admin and always executed in sandbox before production.
6What This Cannot Cover
Boundaries of Rate Management
Out-of-Scope Scenario
Why Rate Management Cannot Handle It
Correct Engine
Pricing the initial sale of a Comuniqa Go! plan
Rate Management calculates overage/usage charges only โ not product prices at sale time
Pricing Engine โ Price Books, Pricing Procedure, List Price element
Applying Select Contract Discount (โ25%)
Contract discounts on subscription fees operate at quote/order time on product prices
Pricing Engine โ Contract-Based Pricing element
Applying Tarifa Social (โ50% welfare discount)
Tarifa Social discounts the product price at sale time based on ANSES eligibility โ not a consumption rate adjustment
Pricing Engine โ List Group + Stop Pricing with eligibility qualification rules
Enforcing eligibility rules (Customer Age, Max Lines, Credit Check)
Qualification rules run during Product Discovery before quoting โ Rate Management has no pre-sale eligibility context
Bundle-Based Price and zero-out logic operates at quote time in the Pricing Procedure
Pricing Engine โ Bundle-Based Price element
7Architectural Decision Guidance
Designing the Right Rating Architecture
Default vs. Negotiable โ the Core Procedure Decision
Are rates for this customer segment stored at the customer asset level (negotiated individually), or defined centrally in Rate Card Entries?
Central rate card applies
โ Default Rating Procedure
Rates defined in Rate Card Entries apply uniformly. The documentation describes this as appropriate for "straightforward, standard rating requirements." No asset-level lookup required. Suitable for standard Comuniqa Go! plans.
Asset-level negotiated rate exists
โ Negotiable Rating Procedure
Rates stored in Asset Rate Card Entries per customer. Provides "advanced flexibility for complex consumption models, custom contracts, and dynamic pricing." Requires Transaction Management enabled. Note: Negotiated Rate Card Entries element must precede any Negotiated Tier/Volume Adjustment element.
Volume-Based
Uniform flat discount applied to all units once threshold crossed. Lookup: Rate Adjustment by Volume Entries 2.
Tier-Based
Range-specific discounts per bracket. Each tier independently rates its portion. Lookup: Rate Adjustment by Tier Entries 2.
Commitment-Based
Rate adjustment for commitment-based products via Commitment Rate Adjustment element. Lookup: Commitment-based Rate Adjustment.
Best-Practice Patterns
Before any procedure design or RCE configuration: (1) Add UoM Type picklist values in Object Manager; (2) Enable Rate Management via Setup โ Usage Management โ Usage Management Settings; (3) Enable Rating Waterfall via Setup โ Usage Management โ Rate Management Setup (requires Design Time permission); (4) Enable Waterfall Persistence (requires Admin permission); (5) Set up record sharing for runtime users. These steps cannot be done in reverse order and are not automatically triggered by enabling RCA.
The documentation instructs users to create procedures by cloning predefined templates from Expression Set Templates. The correct path: Expression Set Templates โ select template โ Details tab โ Rating Procedure Versions section โ click version โ builder opens โ Save As | New Rating Procedure. Building from scratch risks missing mandatory context mappings, pre-wired lookup table registrations, the Status constant mapping on Base Rate, and correct usage type registration.
The documented RCE lifecycle is Draft โ Active โ Inactive. The correct rate revision sequence: (1) create new RCE in Draft with future effective start date; (2) set explicit end date on current Active entry; (3) activate new RCE; (4) deactivate old one. This prevents two simultaneously active entries for the same resource/product/UoM/selling model combination โ a critical risk for Comuniqa's frequent ARS updates.
One Default procedure covers all products where rates are centrally defined; one Negotiable procedure covers all customers where asset-level rates have been negotiated. Product differentiation is handled inside the procedure via Rate Card lookup โ not by having separate procedures per product. Fewer procedures means fewer versions to maintain.
Use the Simulate tool as a mandatory validation step. Input via JSON (Advanced) for exact ID and quantity specification. The Waterfall View shows every calculation step. "When you're happy with the simulation result, click Activate." (p.522) For Comuniqa, test: zero overage (TotalAmount = 0), consumption at exact tier boundary values (inclusive), and maximum expected overage volumes.
When NOT to use Rate Management
Pricing flat subscription feesApplying contract or promotional discounts at order captureEnforcing product eligibility or qualification rulesGenerating invoices or billing documentsIngesting raw CDR or network usage eventsCPI/inflation uplift on subscription pricingAny non-consumption charge (one-time fees, activation charges)Bundle component price zeroing at quote time
โKnowledge Check
Test Your Understanding
Click an option to get instant feedback. All 10 questions are grounded in Comuniqa scenarios and require architect-level reasoning.
Lesson 03 โ Rate Management Knowledge Check
10 questions ยท click an option for instant feedback ยท Comuniqa scenarios
Q1 A Comuniqa architect attempts to enable the Rating Waterfall in Setup but cannot find the toggle. Rate Management was not enabled first. What is the correct documented sequence to access the Waterfall toggle?
A Navigate directly to Setup โ Rate Management Setup โ toggle Rating Waterfall
B Navigate to Setup โ Quick Find: "Usage Management" โ Usage Management Settings โ Turn on Rate Management first; then return to Usage Management โ Rate Management Setup โ toggle Rating Waterfall
C Navigate to Setup โ Revenue Settings โ toggle Rating Waterfall
D Navigate to Setup โ Expression Set Templates โ enable Waterfall on the Default Rating Procedure template
Q2 A Comuniqa architect has created a Rate Card, activated Rate Card Entries, built and activated a Rating Procedure, and built and activated a Rating Discovery Procedure. During quote capture, no rate information appears for the usage-based product. Which single step is most likely missing?
A Rating Waterfall has not been enabled
B The Rating Discovery Procedure has not been registered in Setup โ Revenue Settings โ Set Up Usage Rating
C The Rate Card Entries are still in Draft status
D Transaction Management is not enabled
Q3 A new org implementation team creates UoM Class records successfully but cannot save any Unit of Measure records โ the Type field dropdown is empty. What documented prerequisite was skipped?
A Rate Management was not yet enabled in Usage Management Settings
B Picklist values for the Type field on the Unit Of Measure object were not added via Object Manager before creating UoM records
C The Usage Resource record must be created before any UoM records
D The Rate Management Design Time User permission set was not assigned
Q4 Comuniqa wants asset-level negotiated overage rates for a specific customer segment. Which prerequisite must be in place before the Negotiated Rate Card Entries element can access the required lookup tables?
A Rating Waterfall Persistence must be enabled
B The RateManagementContext context definition must be cloned and extended
C Transaction Management must be enabled to view and invoke the asset-based lookup tables
D The Price Book Rate Card must be created for the Tier Rate Card type
Q5 Comuniqa needs to update their Mobile Data overage rate in ARS effective April 1 due to inflation. The current Rate Card Entry is Active. What is the correct sequence per the documented RCE lifecycle?
A Edit the existing Active Rate Card Entry directly and update the rate value
B Delete the current Active entry and create a new one with the updated ARS rate
C Create a new RCE in Draft status with the new rate and April 1 start date; set end date March 31 on the current Active entry; then activate the new entry; then deactivate the old one
D Activate the new RCE immediately โ the system auto-deactivates the old one based on date overlap
Q6 After go-live, a Comuniqa customer disputes an overage charge. The billing team wants to review exactly which rating element produced the adjusted rate. What must have been enabled at the time of the rating run to support this investigation?
A Rating Waterfall only โ it shows the step-by-step breakdown during execution
B Both Rating Waterfall and Rating Waterfall Persistence โ Waterfall provides the step view; Persistence stores the logs so historical executions can be reviewed after the fact
C Debug Mode in the Rating Procedure builder
D Transaction Management and Rating Waterfall
Q7 Comuniqa's integration team proposes importing updated ARS rates using a CSV-based decision matrix. What is the documented outcome?
A The import will succeed โ Rate Management supports CSV for bulk rate updates
B The import will fail โ Rate Management does not support CSV-based decision tables or decision matrices; rates must be managed via native lookup tables or the Rate Card Entry API
C CSV is supported for Base Rate Cards only
D The import will succeed but requires a manual decision table sync before the rates take effect
Q8 Comuniqa wants a uniform 20% discount applied to all overage units once total overage crosses 1 GB โ regardless of how far above 1 GB consumption goes. Which element fits this requirement, and which lookup table does it use for non-negotiable rates?
A Tier-Based Rate Discount with lookup table Rate Adjustment by Tier Entries 2
B Volume-Based Rate Discount with lookup table Rate Adjustment by Volume Entries 2
C Manual Rate Discount โ no lookup table required
D Tier-Based Rate Discount with lookup table Rate Adjustment by Volume Entries 2
Q9 After a correctly configured Rating Procedure is activated, runtime API calls fail with an access error โ the procedure cannot read Rate Card or UoM data. The procedure design is verified correct. What documented setup step was most likely missed?
A The Rating Discovery Procedure was not registered in Revenue Settings
B Record sharing was not configured for Rate Management entities, and the Rate Management Run Time User permission set was not assigned to the runtime users
C The Rating Waterfall was not enabled
D The Rate Card Entries were in Draft status
Q10 Comuniqa's team debates whether Rate Management should replace the Pricing Engine to consolidate all discount logic. What is the fundamental architectural reason these two engines must coexist?
A They can be consolidated in a future release
B Rate Management operates post-sale on consumption quantities; the Pricing Engine operates at quote/order time on product prices. They serve entirely different lifecycle moments โ neither can substitute for the other's domain
C They must coexist due to license constraints only
D The Pricing Engine handles B2C; Rate Management handles B2B