Resources
Resources are the foundational elements of Allegro monetization. You must configure all resources before referencing them in monetization models. Allegro supports three resource types:
- Currency resources—the supported currencies for your deployment. This configuration trims the currency dropdown list throughout the UI to only the currencies relevant to your client.
- Allowance resources—non-currency resources that grant usage consumption before overage pricing applies. Examples include free minutes, included data, or token grants.
- Accumulator resources—non-currency resources that track usage totals across transactions. Examples include minutes counters, revenue buckets, and AI token totals.
Currency Resources
Configure all currencies applicable to your deployment. This restricts the global currency list to those relevant to your client wherever a currency selection appears in the UI.
View currency resources
- Click the Usage toggle in the navigation pane.
- Click Configurations to expand the sub-menu.
- Click Resources.
- Click the Currency tab in the activity pane.
The table displays all existing currency resources configured for the client.

You can filter and sort the table using the following attributes:
- Name—case-insensitive, partial-match filter. For example, entering "dollar" matches all dollar currency resources.
- Name—sort ascending or descending by currency resource name.
- Currency Id—sort ascending or descending by currency resource ID.
Add a currency resource
- Navigate to the currency resources list.
- Click Add Currency at the top right of the activity pane.
- Select the Currency Id (required) from the dropdown. Allegro automatically populates the Symbol field based on your selection.
- Confirm or edit the Name (required). This field auto-populates from the currency selection but you can change it.
- Select a Rounding Method (required) from the dropdown:
- DOWN—rounds down (for example, 0.8 rounds to 0.00).
- HALF_DOWN—rounds half down (for example, 0.5 rounds to 0.00).
- HALF_UP—rounds half up (for example, 0.5 rounds to 1.0).
- UP—rounds up (for example, 0.2 rounds to 1.0).
- NEAREST—rounds to the nearest integer (for example, 0.3 rounds to 0, 0.7 rounds to 1.0, and 0.5 rounds to 1.0).
- Enter an integer in the Decimal Precision field (required). For example, enter 2 for two decimal places.
- Click Save.
Edit a currency resource
- Navigate to the currency resources list.
- Click the ID link for the currency resource you want to modify.
- Update the attributes as needed. The Currency Id field is read-only.
- Click Save.
Delete a currency resource
Note: Allegro enforces referential integrity. You can only delete a currency resource if it is not referenced in any other configuration.
- Navigate to the currency resources list.
- Click the trash icon in the row for the currency resource you want to remove.
- Click Save to confirm the deletion.
Allowance Resources
Allowances grant a quantity of usage that your customers can consume before overage pricing applies. You typically grant allowances through recurring or activation charges. At billing cycle boundaries, deferred revenue associated with unused allowance grants is recognized.
Common examples of allowances include:
- Free or included minutes, SMS messages, or data
- Included dollar credits
- Included tokens, prompts, or API calls
- Included bandwidth, utility units, or media downloads
View allowance resources
- Click the Usage toggle in the navigation pane.
- Click Configurations to expand the sub-menu.
- Click Resources.
- Click the Allowance tab in the activity pane.
The table lists all existing allowance resources configured for the client.

You can filter and sort the table using the following attributes:
- Name—case-insensitive, partial-match filter. For example, entering "free" matches all allowance resources whose name contains "free".
- Name—sort ascending or descending by allowance resource name.
- Allowance Id—sort ascending or descending by allowance resource ID.
Add an allowance resource
- Navigate to the allowance resources list.
- Click Add Allowance at the top right of the activity pane.
- Enter an Allowance Id (required). Keep the ID short and descriptive. For example, use FreeMin or InclMin for free or included minutes, or FreeCurr for free currency.
- Enter a Symbol (required). For example, use FM or IM for free or included minutes, or FC for free currency.
- Confirm or edit the Name (required). This field auto-populates with the allowance ID value but you can change it.
- Select an Allowance Type (required) from the dropdown:
- AMOUNT—offsets the monetary amount of a usage transaction. Use this for dollar-based allowances.
- QUANTITY—offsets the quantity of a usage transaction. Use this for minute- or unit-based allowances.
- COUNT—offsets individual usage records. Use this for event-based allowances, such as free SMS messages.
- Select a Rounding Method (required) from the dropdown. See the rounding method descriptions in the currency resources section above.
- Enter an integer in the Decimal Precision field (required).
- Optionally, configure rollover settings in the Rollover section. See Allowance Rollover below.
- Click Save.
Edit an allowance resource
- Navigate to the allowance resources list.
- Click the ID link for the allowance resource you want to modify.
- Update the attributes as needed. The Allowance Id field is read-only.
- Click Save.
Delete an allowance resource
Note: Allegro enforces referential integrity. You can only delete an allowance resource if it is not referenced in any other configuration.
- Navigate to the allowance resources list.
- Click the trash icon in the row for the allowance resource you want to remove.
- Click Save to confirm the deletion.
Allowance Rollover
Allowance rollover carries unused portions of a granted allowance forward into one or more subsequent billing cycles instead of forfeiting them at cycle end. This supports service plans that let your customers retain unused balances, such as a plan that carries up to 30 GB of unused data into the following month.
At each billing cycle boundary, Allegro identifies allowances eligible for rollover, computes how much can carry forward based on the rollover configuration, and grants the eligible amount as a new allowance for the upcoming cycle. Any portion that cannot roll forward due to a cap is retained as a residual record.
The following rollover configuration attributes are available when adding or editing an allowance resource:
| Attribute | Description |
|---|---|
| Consumption Rule | Defines the order in which the rating engine draws from overlapping allowance slices. Options: FIFO (first in, first out—default), LIFO (last in, first out), or EARLY_EXPIRY_FIRST (allowance buckets with the earliest end dates are consumed first). |
| Rollover Max Cycles | The maximum number of billing cycles a bucket can roll over. For example, if a bucket covers January 1–February 1 and the maximum is 3, the bucket can roll over through March 1–April 1 but not beyond. |
| Cumulative Rollover Cap | The maximum total balance (current cycle grant plus all rolled-forward amounts) that can be active at any time. Prevents unlimited accumulation. |
| Per Cycle Rollover Max | The maximum number of units that can roll over from one period to the next. For example, if there are 100 unused units and this value is 20, the rollover is capped at 20 units. |
| Per Cycle Rollover Max Percent | The maximum percentage of unused units that can roll over. For example, with a 10-unit monthly grant and this value set to 50, the maximum rollover is 5 units. |
Note: Per Cycle Rollover Max and Per Cycle Rollover Max Percent are mutually exclusive. Configure only one. Additionally, if you set the Cumulative Rollover Cap lower than the periodic grant amount, no rollover will occur—the new grant alone consumes the cap, leaving no room for carried-over amounts. As a guideline, set the cap to at least (N + 1) × the grant amount, where N is the number of cycles of unused amounts you want customers to accumulate. For example, a 100-unit monthly grant with a cap of 200 allows one full cycle of unused amount to carry forward.
[Screenshot: allegro-allowance-rollover-config.png — Allowance drawer showing the Rollover section with configuration attributes]
After rollover runs at a cycle boundary, each customer's allowance balance may include one or more slices identified by a Rollover Type value:
| Rollover Type | Description |
|---|---|
| ORIGINAL | A fresh allowance granted at the start of a billing cycle (the standard recurring grant). This is the only slice type for allowances without rollover configured. |
| ROLLED_FORWARD | A slice that carries unused amounts from a prior cycle into the current or a future cycle. The rollover count on this slice increments for each cycle it has been carried. |
| CAP_RESIDUAL | A slice for unused amounts that could not roll forward because the cumulative rollover cap was reached. This slice covers the original (now-closed) cycle window and can still be consumed by late-arriving usage records. CAP_RESIDUAL slices do not roll forward. |
[Screenshot: allegro-allowance-rollover-slices.png — Balance view showing ORIGINAL, ROLLED_FORWARD, and CAP_RESIDUAL slice types]
Accumulator Resources
Accumulators track running totals across usage transactions and are required for use with monetization models that apply pricing tiers, discounts, or minimum commitments based on accumulated usage.
Common examples of accumulators include:
- AI tokens or prompts
- Voice minutes (local, international, roaming)
- Revenue totals (total dollars, voice dollars, SMS dollars)
- Engagement metrics for media or advertising use cases
Allegro also uses pairs of accumulators to support minimum commitment configurations:
- Minimum commitment value accumulator—holds the account's minimum commitment value. Recurring services support rolling minimum commitments; activation services support one-time minimum commitments.
- Minimum commitment usage counter—tracks usage that contributes toward the minimum commitment. You must link this accumulator to its corresponding commitment value accumulator.
View accumulator resources
- Click the Usage toggle in the navigation pane.
- Click Configurations to expand the sub-menu.
- Click Resources.
- Click the Accumulator tab in the activity pane.
The table lists all existing accumulator resources configured for the client.
[Screenshot: allegro-accumulator-resources-list.png — Accumulator tab showing existing accumulator resources in a table]
You can filter and sort the table using the following attributes:
- Name—case-insensitive, partial-match filter. For example, entering "data" matches all accumulator resources whose name contains "data".
- Name—sort ascending or descending by accumulator resource name.
- Accumulator Id—sort ascending or descending by accumulator resource ID.
Add an accumulator resource
- Navigate to the accumulator resources list.
- Click Add Accumulator at the top right of the activity pane.
- Enter an Accumulator Id (required). Keep it short. For example, use PM for peak minutes or AM for anytime minutes.
- Enter a Symbol (required) associated with the accumulator.
- Confirm or edit the Name (required). This field auto-populates with the accumulator ID but you can change it.
- Select a Rounding Method (required) from the dropdown. See the rounding method descriptions in the currency resources section above.
- Enter an integer in the Decimal Precision field (required).
- Optionally, configure what the accumulator tracks:
- Set Accumulate Quantity to True to accumulate the usage record quantity, or False to accumulate the usage record amount.
- If neither quantity nor amount accumulation applies, leave Accumulate Quantity unset and enter a custom Expression instead. See Accumulator Expression Builder below.
- If this accumulator holds a minimum commitment value, set Commitment Accumulator to True.
- If this accumulator tracks usage toward a minimum commitment, set Commitment Counter Accumulator to True, then select the corresponding commitment value accumulator from the Commitment Accumulator Id dropdown.
Note: Commitment Accumulator and Commitment Counter Accumulator are mutually exclusive. Set only one to True per accumulator. Allegro supports multiple distinct commitment setups within a single master plan hierarchy; configure a separate accumulator pair for each commitment setup.
- Click Save.
[Screenshot: allegro-commitment-value-accumulator.png — Accumulator drawer showing Commitment Accumulator set to True]
[Screenshot: allegro-commitment-counter-accumulator.png — Accumulator drawer showing Commitment Counter Accumulator set to True with the linked commitment accumulator ID selected]
Edit an accumulator resource
- Navigate to the accumulator resources list.
- Click the ID link for the accumulator resource you want to modify.
- Update the attributes as needed. The Accumulator Id field is read-only.
- Click Save.
Delete an accumulator resource
Note: Allegro enforces referential integrity. You can only delete an accumulator resource if it is not referenced in any other configuration.
- Navigate to the accumulator resources list.
- Click the trash icon in the row for the accumulator resource you want to remove.
- Click Save to confirm the deletion.
Accumulator Expression Builder
Use the expression builder when the value you want to accumulate is neither the raw quantity nor the raw amount of a usage record. The Expression field and the Accumulate Quantity field are mutually exclusive.
To add an expression to an accumulator:
- Click the Expression field in the accumulator drawer to open the expression sub-drawer.
- Build your expression using one of the following methods:
- Type the expression directly in the expression pane.
- Use the operator buttons and field selectors to build the expression step by step.
Available operators are: multiply (*), divide (/), add (+), subtract (-), left bracket ((), right bracket ()), minimum (min), and maximum (max).
To reference usage container fields in your expression, select the record type from Select Record (currently DETAIL) and the field name from Select Field, then click Add Field.
For example, to accumulate 75 percent of the greater of upload or download volume from a usage record, enter the following expression:
max ( DETAIL.uploadvolume , DETAIL.downloadvolume ) * 0.75
Include spaces around operators and operands for clarity.
- Click Save in the expression sub-drawer to apply the expression, then click Save in the accumulator drawer.