New Feature: Managed Display
A new feature for ‘Managed Display’ allows administrators to configure visibility of fields on select records through a centralized module, providing cleaner views for users. Using this feature set, Display Configurations can be created to customize which fields should be hidden, disabled, or made mandatory when specified conditions are met.
Currently, Managed Display can be applied to the ZAB Master Contract, ZAB Subscription, and ZAB Subscription Item record types.
This feature should always be enabled and tested in Sandbox before enabling in Production due to its potential impact when hiding fields. If data is input into a field which is then hidden by Managed Display, data may be deleted.
New accounts where ZoneBilling is installed for the first time will have Managed Display enabled by default. If updating versions of ZoneBilling, Managed Display will be disabled by default and needs to be manually enabled in ZAB Preferences.
In the current state of this feature, administrators are able to interact directly with the Managed Display records via the ZAB Display Configuration sublist. Future releases will build upon this feature to provide an enhanced interface for creating and managing Managed Display records for administrators, as well as visibility for users.
Managed Display: Out-of-the-box Records Created on Bundle Installation / Update
Several out-of-the box ZAB Display Configurations, as well as related ZAB Display Conditions and ZAB Display Actions, are created upon installation or update of the ZoneBilling product. These records are marked ‘Is ZAB Core’ and cannot be edited (or inactivated). Only records created by the ZoneBilling product can be marked ‘Is ZAB Core’.
These records replicate existing functionality and validation in the product in order to be backwards compatible.
Administrators can create additional custom Display Conditions and Actions, then and link them to out of the box ZAB Display Configurations. Custom Display Configurations may also be created. Custom Display Configurations and related records can be edited or inactivated, though all changes should be tested in Sandbox before implementing in Production accounts.
Managed Display: Functionality Overview
The Managed Display feature applies only when interacting with ZAB Master Contract, ZAB Subscription, and ZAB Subscription Item records via the UI. If Managed Display is not enabled, there will be no change from existing product functionality.
The following record types have been created as part of Managed Display: ZAB Display Configuration, ZAB Display Condition, ZAB Display Action (as well as interstitial linking records for system support).
- ZAB Display Configuration records specify which record types the associated rules should apply to, as well as which context(s) (create, edit, view, copy) they should apply under.
- ZAB Display Condition records specify the criteria that a specific field on the record must meet in order to execute the related Action.
- If multiple Conditions are related to a Display Configuration, all Conditions must be met for the rule to execute.
- Conditions may reference any native ZB field or custom field on the record type.
- ZAB Display Action records specify what behavior should apply to a field: disable, hide, or display (if previously hidden) and/or make mandatory.
- If the Conditions related to the same Display Configuration are met, all Actions related to the Display Configuration will execute.
- Actions may reference any native ZB field or custom field on the record type.
A custom name field is created upon creation or edit of a ZAB Display Condition or ZAB Display Action record. This name is used to ensure that duplicate records are not created.
When a user interacts with a record that has a Display Configuration applied, each Condition is evaluated. If all Conditions on related to the Configuration are met, all of the related Actions execute.
- If data has been entered in a field, and then an Action is executed with a Display Action Type of ‘Hidden’, the field value is nulled before the field is hidden.
- If a field is then changed, and the Conditions are no longer met, the Actions are ‘undone’. All fields revert to their initial display state; if a default value was provided before the Action was taken, the default value reappears. If a value was entered, and then the field was ‘hidden,' then that Action will be ‘undone' - leaving that field empty.
If multiple Display Configurations exist for a single record type and share the same context, the Display Configurations will execute in the following order:
- ‘Is ZAB Core’ records
- Sorted by Priority (low to high)
- Sorted by Internal ID (low to high)
If any Managed Display record is marked ‘Inactive’, that record will not be evaluated during the process. For example, if a Display Configuration is marked ‘Inactive’, the associated Conditions will not be considered and the related Actions will not apply.
Ability to Terminate & Replace Subscription Item(s)
New fields on the Subscription Item support its termination & replacement. These options are primarily designed to be leveraged by future in-product functionality, but are currently accessible in the UI, via API, or via script for limited use cases.
With two new fields, a new Subscription Item may replace a preexisting Subscription Item, thereby terminating the original record. This is possible by selecting ‘Subscription Item(s) to Terminate’ and ‘Terminate As-Of Date’ on a new Subscription Item (under the Preferences tab), then saving the record.
For example, Subscription Item A starts on January 1, 2023 and ends on December 31, 2023. Subscription Item B starts on March 1, 2023 and is supposed to replace (and terminate) Subscription Item A.
- In order to move forward, create or navigate to Subscription Item B. In the field “Subscription Item(s) to Terminate,” choose Subscription Item A. Save Subscription Item B.
- When Subscription Item B is saved, Subscription Item A’s End Date will be set as the ‘Terminate As-Of Date’ from Subscription Item B.
Subscription Items may only terminate other Subscription Items that on the same Subscription and have an end date after ‘today.’ The ‘Terminate As-Of Date’ must be before the Subscription Item you are cancelling’s original End Date.
When a Subscription Item is terminated, Charges that have been billed post-Termination Date will be credited. Specifically, the system will evaluate if any Charge(s) have been billed whose Service Period End Date is greater than the ‘Terminate As-Of Date.'
- If no billed Charges are found, Charges will simply be regenerated (and eliminated if they are beyond the Termination Date).
- If Billed Charges are found (Charge Status is ‘Billed'), then a Credit Charge will be created to offset the billed Charge. The offsetting Charge will be prorated if applicable, and its Bill Date will be the Termination Date. Then, subsequent Charges will be regenerated.
The ‘Subscription Item(s) to Terminate’ and ‘Terminate As-Of Date’ fields cannot be modified once set. If a Subscription Item was terminated in error, or on the wrong date, that Subscription Item can be manually edited.
Administrators and implementers should remain aware that usage data of any kind will not be transferred from a Subscription Item that is terminated to its replacement. If it is desired for usage to continue to be rated on a new ‘replacement’ Subscription Item, configuration should rely on a unique identifier to determine the proper location for rating rather than tying usage directly to a particular Subscription Item.
Issue Auto-Fulfilling Lines on a Transaction When Serialized Inventory is Enabled
Resolves an issue occurring in some cases when the Serialized Inventory feature was enabled and the Charge Item was marked ‘Is Fulfillable.' In certain scenarios, Transaction creation was blocked.
Edit Charge Consolidation/Count Grouping Function Names
Resolves a non-data impacting issue to update function names to be more clear.
Issue Archiving Consolidated Charge Files
Resolves a non data-impacting issue in the Charge Consolidation feature where consolidation files were not being archived after the system default of 90 days. This fix ensures that consolidation files are archived at that time, unless an earlier preference has been set for the account.
Item Defaults Not Setting Scripted Subscription Item Fields
Previously, if ZAB Item Defaults were used for ‘Default Price Book’, the default value was not being properly set as the resulting Subscription Item’s ‘Price Book.' This change ensures that all values set in ZAB Item Defaults are respected.
Execute Rating Suitelet 'Last Rating Date' for Ad Hoc Subscription Items
On the Execute Rating Suitelet, users can view Subscriptions available for rating. For each Subscription, the ‘Last Rating Date’ displayed is the minimum 'Last Rating Date' of all Subscription Items on that Subscription. For example, if a Subscription has two Subscription Items, and one was last rated on January 2nd, and the other on January 5th, the Execute Rating Suitelet will show the ‘Last Rating Date’ as January 2nd.
This resolves an error where the ‘Last Rating Date’ was not appropriately updated when a Subscription Item used an Ad Hoc usage type.