2 New Features in BRM
Learn about the new features in Oracle Communications Billing and Revenue Management (BRM).
Topics in this document:
New Features in BRM 15.2
BRM 15.2 includes the following enhancements:
Enhanced Oracle DM Tracing and Perflib Integration
The Oracle Data Manager (DM) tracing mechanism now provides enhanced and separate tracing of front-end (FE) and back-end (BE) operations through Perflib integration.
This feature includes the following enhancements:
-
Separate trace files for FE and BE processes, with configurable process identifiers.
-
Detailed measurement of database operations, including the names of accessed database tables.
-
Optional Perflib metrics that indicate whether an operation occurred in the front end or back end, and which specific FE or BE process was used.
These improvements allow more granular performance analysis and help you identify and troubleshoot issues related to both front-end activities and back-end database communication.
For more information, see "Enabling Monitoring of Your Oracle DM" in BRM System Administrator's Guide.
Rolling Back Your BRM Database Upgrades Now Supported
You can now use the rollback feature to revert your BRM database and supported components to their previous stable state if issues occur during or after an upgrade. For example, if you upgrade your database from BRM 12.0.0.8.0 to BRM 15.2 and encounter issues, the rollback feature enables you to restore the system to BRM 12.0.0.8.0.
The rollback process is supported only for reverting to the version that existed prior to the upgrade. For instance, after upgrading from BRM 15.0 to 15.2, you can roll back only to 15.0. Rolling back to intermediate or unrelated versions is not supported. Before starting a rollback, review all prerequisites, such as avoiding changes to system keys and not adding secondary schemas until the rollback completes.
There are several limitations:
-
Rollback is supported only for BRM 15.2. Earlier versions do not support rollback.
-
The rollback target must be BRM 12.0.0.4.0 or later.
-
Rollback can only be performed immediately after an upgrade.
-
Full BRM installations are not eligible for rollback; these require reinstallation to revert to an earlier version.
After successfully rolling back the BRM database, you can resume using the previous BRM release or upgrade to 15.2 again if needed.
For more information, see "About Rolling Back Your BRM Database" in BRM Installation Guide.
Support for SFTP-Based Batch Payment Processing for Paymentech Integration
Note:
This feature is yet to be certified with Paymentech.
To help you meet Payment Card Industry Data Security Standard (PCI DSS) requirements, BRM now supports Secure File Transfer Protocol (SFTP) for batch payment processing with Paymentech. Online (real-time) transactions continue to use TCP/IP.
You can use SFTP in addition to the existing TCP/IP method for batch processing. Choose the method that meets your security and operational requirements. SFTP uses public-key authentication. Configuration options let you specify SFTP servers, directories, and connection properties.
To configure BRM for batch payment processing:
-
Select the batch transport. Set the batch_proto parameter in the dm_fusa pin.conf file to use SFTP or TCP/IP for batch processing.
-
Configure SFTP connection details:
-
Define the SFTP server host, port, authentication key, and remote and local directories.
-
Ensure file permissions and directory paths meet your security policies.
-
The answer_b simulator also supports SFTP-based testing for batch payment scenarios.
For more information, see "Using SFTP for Batch Payment Transactions" in BRM Configuring and Collecting Payments.
Support Dropped for the config_billing_delay Entry
BRM no longer supports the config_billing_delay entry in the BRM_home/apps/pin_billd/pin.conf file. Use the ConfigBillingDelay business parameter to delay billing by a few days or hours instead.
For more information, see "Configuring Delayed Billing" in BRM Configuring and Running Billing.
Streaming and Processing Rated Events in JSON Format
You can now stream and process rated events from Kafka topics in JSON format. BRM reads, enriches, and transforms these JSON events before loading them into the BRM database. You can configure the Kafka Consumer and Event Stream Processor to use this functionality.
For more information, see "Event Streaming Mode" in BRM Loading Rated Events.
Associating Discount and Charge Offers at Purchase Time
You can now associate a discount offer with a specific charge offer within a purchased bundle. For example, if a bundle includes both a SIM purchase fee and a SIM activation fee, you can apply a discount only to the SIM activation fee, while leaving the SIM purchase fee unchanged. This targeted discounting enables you to apply discounts to individual charge offers within the same bundle based on purchase-time selections.
For more information, see "Tying Discount Offers with Charge Offers" in PDC Creating Product Offerings.
Override Cycle Fee Attributes at Offer Purchase Time
You can now create recurring charges and discounts in PDC during design time that customer service representatives (CSRs) can modify at the time of purchase in Billing Care. CSRs can set attributes such as cycle charge type, cycle frequency, and cycle alignment. This enhancement eliminates the need to design multiple products or discounts and streamlines the product catalog.
For more information, see "Creating Configurable Recurring Offers" in PDC Creating Product Offerings and "Creating an Account" in Billing Care Online Help.
BRM REST Services Manager API Supports Product Inventory Management
The BRM REST Services Manager API now provides support for key Product Inventory Management operations. You can use the API to perform the following actions:
- Purchase a product offering (one-time, recurring, or usage-based), including charge and discount offers
- Suspend a purchased service
- Resume a suspended service
- Modify an existing order or service (including updating identifiers and aliases)
- Cancel a purchased product offering
You implement these flows using the Product Inventory Management operations available in the BRM REST Services Manager API. For more information, see REST Services Manager API for Billing and Revenue Management.
Note:
These Product Inventory Management operations are based on the TMF 637 Product Inventory Management API standard and replace previous use of TMF 622 for these workflows.
Customizing REST Service Payloads with the Mapper Framework
You can now customize the mapping of REST API payloads to and from BRM data structures in BRM REST Services Manager using the Mapper Framework in both on-premises and cloud native environments. By configuring mapper files, you control how JSON request and response fields transform to internal BRM opcode flist fields, enabling you to extend or override default mappings, apply advanced field transformations, support multiple API versions, and implement complex business rules. The customizable YAML-based mapper files support features such as conditional mapping, array handling, type conversion, dynamic calculations using Jakarta Expression Language, and integration with Kubernetes ConfigMaps for deployment. These enhancements allow you to adapt REST mappings to evolving business and integration requirements without changing underlying service code.
For more information, see the following:
-
"Configuring and Adding Custom Mapper Files" in BRM Installation Guide
-
"Customizing REST Services with the Mapper Framework" in BRM Cloud Native System Administrator's Guide
Notification Framework for Event-Driven Communications
BRM now supports a notification framework for event-driven integration in on-premises and cloud native environments. This framework uses Kafka to decouple event producers and consumers, enabling reliable, scalable, and secure event processing between BRM and external systems. You configure connection profiles, consumer and producer properties, event mappings, and security settings using Helm and Kubernetes. Features include support for partitioned event ordering, retries, dead-letter queues, TLS/SASL encryption, and credential management with Kubernetes Secrets. You can map event payloads to BRM operations using BRM REST Services Manager mappers. Monitoring tools and best practices help you validate, track, and troubleshoot deployments for optimal performance and compliance.
For more information, see the following:
-
"Configuring the REST Services Manager Notification Service" in BRM Installation Guide
-
"Configuring and Deploying Notification Framework" in BRM Cloud Native System Administrator's Guide
Support for Price Tags with Sequential Discounts
BRM now supports price tags in sequential discounts, including overriding price tags based on their date. When a discount includes a price tag that is valid for only part of the billing cycle, BRM splits the billing cycle into segments according to the price tag’s start and end times and applies sequential discounts per segment. BRM calculates rating and discounting for segments where the price tag is active, while the rest of the discount is processed without the price tag. This is also true if discounts overlap. BRM creates sub-periods and applies the price tags in each sub-period as the discounts are applied sequentially.
For example, consider a bundle with a monthly charge of $100 for the period January 1 through 31 and these two discounts:
- D1: 10% discount with a price tag valid from January 10 through 19.
- D2: 20% discount with a price tag valid from January 15 through 24.
BRM applies sequential discounts as follows:
- January 1 through 9: D1 and D2 are applied with their default values and no active price tags.
- January 10 through 14: D1 applies with its configured price tag for five days, resulting in a discount of $1.61. That is, [(5 days/31 days x $100) x .10], and D2 applies with its default value and no active price tag.
- January 15 through 19: Both D1 and D2 apply with their configured price tags for five days, resulting in a total discount of $4.51. That is, D1 applies $1.61 first and then D2 applies $2.90. That is, [(5 days/31 days) x ($100 x 0.9) x .20]. Here, 0.9 is the remaining balance after D1.
- January 20 through 24: D1 applies with its default value and no active price tag, and D2 applies with its configured price tag for five days, resulting in a total discount of $3.23. That is, [(5 days/31 days x $100) x .20].
- January 25 through 31: D1 and D2 are applied with their default values and no active price tags.
For more information, see "Using Price Tags With Sequential Discounts" in BRM Setting Up Pipeline Pricing.
AI-Based Microservices for Machine Learning Workflows
You can now use artificial intelligence (AI)-based microservices to create and manage end-to-end machine learning workflows in Oracle Monetization Suite. These microservices are highly extensible and enable you to build customized models using bulk or selective data sources. You can train these models with configurable inputs such as currency, country, cash balance, and current deal, and leverage inference services for predictive analytics. For example, you can use this feature to recommend offers based on customer usage patterns.
The microservices are fully certified on Oracle Cloud Infrastructure and can also integrate with third-party platforms, offering scalability and flexibility across monetization applications. You can integrate them with various products within Oracle Monetization Suite, including BRM, Elastic Charging Engine (ECE), Billing Care, and Convergent Charging Controller.
Note:
These AI-based microservices and features are newly introduced and currently in the experimental phase.
For more information, see BRM AI Integration Guide.
AI-Based Best Offer Recommendations
You can now use AI-powered recommendations in Oracle Monetization Suite to present customers with the most relevant offers, products, or bundles tailored to their individual needs. The recommendation engine analyzes configured parameters such as customer profile attributes, engagement history, product catalog details, and previous purchase behavior to generate top personalized suggestions. This feature is enabled through a machine learning workflow that you create using various microservices, including data services, training services, and prediction services.
For more information, see BRM AI Services Overview.
General Ledger Revenue Recognition Using Configurable Days Per Month
You can now configure general ledger (G/L) revenue recognition to use a fixed number of days per month, rather than the actual number of days in each calendar month. In BRM, the system uses the specified fixed number of days per month to calculate G/L revenue.
Set the new SmoothedGLReportingBasedOnFixedDays business parameter to a numeric value (for example, 30.416) to standardize G/L revenue recognition across all months. This provides more consistent accounting for partial and non-standard billing cycles. The default value is 0.0, which means revenue is recognized based on the actual number of days per month.
For more information, see "General Ledger Revenue Recognition with Configurable Days Per Month" in BRM Collecting General Ledger Data.
Support for Vertex O Series Tax Calculation Software
BRM can now calculate complex taxes across multiple jurisdictions using the Vertex O Series tax calculation software. You use the new Taxation Gateway to integrate Vertex O Series with BRM.
In previous releases, BRM supported the Vertex Tax Q Series software.
For more information, see "Configuring Taxation Gateway for Vertex O Series" in BRM Calculating Taxes.
BRM Now Has a Separate Queue for TMF Operations
The BRM installer creates an optional queue, OPEN_API_QUEUE, to be used for TMF notifications. This queue should be used only for product inventory events. See "Configuring the Default TMF Queue" in BRM System Administrator's Guide for more information.
Collections Configuration Center Now Available as a Web-based UI
In BRM 15.2, Collections Configuration Center is now available as a browser-based web client with a Redwood-themed user interface, replacing the earlier thick client. This release provides a modern, consistent user experience and centralized access to collections configuration capabilities. Comprehensive user documentation is included and covers all major product features.
-
Aging Buckets: Create, update, and remove customizable aging buckets to categorize overdue bill units by days past due, supporting up to ten buckets for tailored collections tracking.
-
Collections Actions: Define, edit, duplicate, and delete actions—such as sending reminders or applying fees—that can be used as steps in your collections process.
-
Collections Profiles: Organize bill units into logical profiles for targeted collections management, with options to create, edit, duplicate, or delete profiles as business needs change.
-
Scenarios: Configure collections scenarios by specifying entry and exit criteria, associating profiles, and defining the ordered sequence and type of collections actions for overdue bill units.
-
User Interface: Manage all collections-related configurations from a centralized, browser-based interface with role-based authorization and keyboard navigation for efficient workflows.
For more information, including client installation instructions, see Collections Configuration Center Online Help and Collections Configuration Center Installation Guide.
New Features in BRM 15.1
BRM 15.1 includes the following enhancements:
Web Services Manager No Longer Requires Deployment in an External Application
In previous versions, the BRM Web Services Manager was deployed into an external server, such as Oracle WebLogic Server or Tomcat. Now, a standalone version of the Web Services Manager is available. This provides the following benefits:
- Simplifies deployment and customization.
- Improves performance and execution times.
- Removes dependency on external applications and total cost of ownership.
- Provides improved testing capabilities.
Support has not been removed for the older type of Web Services Manager, so you can continue to deploy it into WebLogic Server or Tomcat if that best meets your business needs. Support for this option may be removed in future releases, however.
For more information, see BRM Web Services Manager.
General Ledger IDs Can Now Be Associated With Tax Codes
You can now associate general ledger IDs (G/L IDs) with tax codes in PDC. For more information, see "Creating Tax Codes" in PDC Online Help and "Creating Tax Codes" in BRM Calculating Taxes.
Enhancement to pin_cycle_fees
The pin_cycle_fees utility has been enhanced to support the splitting of events for backdated operations. When the backdate window includes multiple billing cycles, the pin_cycle_fees utility splits the events by cycle and applies the charges individually for each cycle based on the backdated activity.
For more information, see "Prorating Cycle-Forward Fees and Canceling Charge Offers By Using the pin_cycle_fees Utility" and "pin_cycle_fees" in BRM Configuring and Running Billing.
BRM Now Supports Modifying the Maximum Length of an Opcode Flist Field
You can now modify or validate the maximum length of an opcode flist field for an existing opcode or create a loadable opcode specification for a custom opcode using the generate_config_xml_from_opcode_spec.py script.
For more information, see "Modifying the Maximum Length of an Opcode Flist Field" in BRM Developer's Guide.
Asynchronous Change in the Billing Day of Month for Large Hierarchies
BRM now allows you to change the billing day of month (DOM) for the parent accounts and child accounts asynchronously by performing parallel updates for all accounts in a large hierarchy. This avoids locking the parent account, which restricted any other operations during the update process.
For information, see "About Changing the Billing Day of Month for Large Hierarchies" in BRM Configuring and Running Billing.
BRM Can Now Generate Proforma Invoices
Before generating a final invoice, you can now create a proforma invoice, which is an an initial, optional step in the billing process. It is similar to final billing, however, it does not finalize the bill. It creates a pre-invoice that your customers can review for accuracy before the final bill and invoice are generated. Afterward, your customers can manually accept or reject the proforma invoice. For more information, see "Generating Proforma Invoices" in BRM Designing and Generating Invoices.
Enhancement to Business Event Mapping and Publisher Definitions
You can now map business events to database queues based on the value of a new TAG token and specify to publish business events to multiple database queues. For more information, see "Mapping Business Events to Database Queues" in BRM System Administrator's Guide.
You can also have multiple definitions for the same publisher, but with different output format. For more information, see "Publisher Definitions" in BRM Developer's Guide.
New Attributes to Define Events and Elements
The following new attributes have been introduced to define events and elements:
-
PcmOpFlag: Specifies an optional field that stores the flag value to run the PCM_OP_READ_FLDS or PCM_OP_READ_OBJ opcode.
-
ReadFlds: Specifies to read one or more fields in an object from the transaction cache or, if it is not in the cache, from the BRM database.
-
ElemId: Specifies to read a specific array element.
-
ReadObj: Specifies to read an entire object from the transaction cache or, if it is not in the cache, from the BRM database.
-
ReadValFrom: Specifies an optional attribute that retrieves an object POID (ObjPoid) from a specific array in the incoming opcode flist.
For more information, see "Syntax of Elements and Attributes" in BRM Developer's Guide.
C-Based BRM Applications Now Support pinlog Rotation
You can now configure individual C-based BRM applications to rotate their pinlog files. The files can be rotated based on:
-
The length of time the pinlog file has been open, such as every 3 days at 05:00
-
The pinlog file’s size, such as 50 MB
You can also combine the rotation schemes (use time and file size to rotate files), such as 50 MB files open for 3 days closed at 05:00.
For more information, see "Rotating Log Files for C/C++-Based Applications" in BRM System Administrator's Guide.
BRM REST API Endpoints Updated
The following BRM REST API endpoints have been updated in the 15.1 release:
-
The Get Payment Methods and Get Payment Methods for an Account endpoints now support the name and invoice.name query parameters
-
The Get an Applied Customer Billing Rate by ID and Get Applied Customer Billing Rates endpoints now support the bill.id query parameter
For more information, see REST Services Manager API for Billing and Revenue Management.
Wholesale Sharing Group Performance Improvements
You can now improve the performance of rolling up balances from sharing group members to the owner's bill unit by doing the following:
-
Enabling the sharing roll-up functionality. You enable this functionality when you create or modify a wholesale sharing group.
-
Running the new pin_rollup_sharing_balances utility. This multithreaded utility launches a separate thread to roll up each member’s noncurrency balance to the owner.
Previously, the owner of the sharing group was locked during each member's billing, which led to contentions. Now, the owner is not locked during member billing, and the roll up of balances from members to the owner happens during owner billing.
For more information, see "Rolling Up Balances from Members to Owners for Wholesale Sharing Groups" in BRM Configuring and Running Billing.
New Features in BRM 15.0.1
BRM 15.0.1 includes the following enhancements:
Contract Management Now Independent of Deliverable-Based Revenue Recognition
You can now create contracts regardless of the revenue recognition scheme your BRM system uses. In previous releases, you could create contracts only if deliverable-based revenue recognition was enabled. Deliverable-based revenue recognition aligns with the ASC 606 and IFRS 15 accounting standards. For information, see "Managing Customer Contracts" in BRM Managing Customers.
In addition, contract management now supports the following operations:
-
Performing backdated operations
-
Using multiple G/L segments
-
Using Conversion Manager
-
Performing rerating
-
Using the Web Services Manager opcodes
-
Performing accounts receivable (A/R) operations, such as adjustments
Note:
Contract management does not support these operations when deliverable-based revenue recognition is enabled. See "Enabling Deliverable-Based Revenue Recognition" in BRM Collecting General Ledger Data.
Contract Management Enhancements
BRM now supports the following contract management enhancements:
-
Specifying a minimum contract length: You can now specify a minimum length for a contract with corresponding penalty charges for early cancellation. If customers cancel early, they must pay the remaining balance up to the minimum contract length. See "About Penalty Fees" in PDC Creating Product Offerings for more information.
For example, assume a subscription term has a 1-year commitment period, a minimum contract length of 4 months, and a $50 monthly fee. Customers would be charged $50 for each month remaining in the 4-month minimum contract length. A customer canceling after 1 month would pay $150, and a customer canceling after 3 months would pay $50. A customer canceling after 6 months would pay $0 because they already paid the 4-month minimum.
-
Applying penalty fees: The penalty fee can now consist of an early termination fee, the remaining contract balance, or both. See "About Penalty Fees" in PDC Creating Product Offerings for more information.
In previous releases, the penalty fee could be an early termination fee or the contract balance. You could not apply both.
-
Extending the /subscriber_contract storable class: You can now extend the /subscriber_contract storable class to store additional fields. To do so, see "Extending Subscriber Contracts" in BRM Opcode Guide.
-
Customizing how penalty fees are applied during cancellation: You can use the new PCM_OP_CONTRACT_POL_CANCEL_CONTRACT policy opcode to customize how penalty fees are calculated and applied during the contract cancellation process.
Flist Management Macros Now Include Compile-Time Flags
When calling the PUT flist management macros, you can now set compile-time flags in your custom code's Makefile. The compile-time flags specify to automatically set source pointers to NULL during PUT operations and assign a NULL value to an flist or object after the macro call, preventing it from being destroyed in the future.
Table 2-1 lists each flist management macro, its compile-time flag, and what happens after the macro is called with the flag.
Table 2-1 New Compile-Time Flags for Flist Management Macros
| Flist Macro Name | Compile-Time Flag | After Macro Call |
|---|---|---|
|
PIN_FLIST_FLD_PUT |
-DASSIGN_NULL_AFTER_FLD_PUT |
valp changed to NULL |
|
PIN_FLIST_ELEM_PUT |
-DASSIGN_NULL_AFTER_ELEM_PUT |
elem_flistp changed to NULL |
|
PIN_FLIST_SUBSTR_PUT |
-DASSIGN_NULL_AFTER_SUBSTR_PUT |
substr_flistp changed to NULL |
For information, see "Using Compile-Time Flags to Avoid Errors in Flists" in BRM Developer's Guide.
Invoice Documents Can Now be Generated for Custom Criteria
You can generate invoice documents for invoices that meet your custom criteria, such as only for Canadian customers with an invoice delivery type of email. You specify the criteria using a list of key-value pairs, which correspond to parameters you add to the data model defining the requirements for selecting invoices.
Note:
With custom criteria, the selected invoices are split into batches, and one job is scheduled for each batch using the bursting mode.
For information, see "Generating Invoice Documents Based on Custom Criteria" in BRM Designing and Generating Invoices.
Itemized Tax Calculation for Disputes and Settlements
BRM can now calculate the tax settlement details when a dispute or settlement is performed for a bill, item, or event, allowing you to know how much tax is being settled per jurisdiction.
You can configure BRM to segregate the tax amount for each dispute and settlement based on the tax code and tax jurisdiction by setting the TaxReturnJuris business parameter to itemize. By default, the parameter is set to summary, which specifies to segregate the tax amount based on the tax code. For information, see "Configuring Itemized Taxation for A/R and Payments" in BRM Calculating Taxes.
In addition, the PCM_OP_GET_ITEM_DETAILS opcode has been enhanced to show the settled tax and settled taxed amounts based on the tax code and jurisdiction level for each item. For information, see "About the Item Data Retrieved" in BRM Opcode Guide.
Triggering Either In-Advance or Post-Expiration Notifications
When setting up your system to send messages to customers through an external application, you can now configure BRM to trigger notifications before an event occurs, after an event occurs, or both. This applies to the following:
-
Balance elements: You can configure any currency or noncurrency balance element to trigger notification events when its validity period is about to expire, when it has already expired without new funds being added, or for both.
-
Product expiration: You can configure a subscription to trigger notification events before the subscription expires, after the subscription expires, or for both.
-
Subscription renewals: You can configure a subscription to trigger notification events before it is due for renewal, after it is past due for renewal, or for both.
In previous releases, in-advance and post-expiration notifications were either both enabled or both disabled.
For information, see "Configuring BRM to Send Notifications to External Notification Applications" in BRM Managing Customers.
Trial Billing Support for Subset of Child and Parent Accounts in a Wholesale Hierarchy
In wholesale bill unit hierarchies, you can now trigger trial billing for:
-
All child accounts under a specific parent billing account and the parent billing account
-
Specific child accounts alone under a parent billing account
-
Specific parent billing account alone skipping the check on whether trial billing is performed for all child accounts under the parent billing account
Prior to this release, trial billing had to be performed for all child accounts and then for all parent accounts.
For information, see "Running Trial Billing" in BRM Configuring and Running Billing.
Processing an Account’s Charge Offer Using the pin_cycle_fees Utility
The pin_cycle_fees utility now processes only the charge offers for which it is called. Earlier, pin_cycle_fees used to process all charge offers, even when it was called for a specific charge offer. For more information, see "Canceling an Account’s Charge Offer Using pin_cycle_fees Utility" in BRM Configuring and Running Billing.
New Features in BRM 15.0.0
This section lists the features introduced between BRM 12.0 Patch Set 8 and BRM 15.0.0.
For information about the features introduced between BRM 12.0 and BRM 12.0 Patch Set 8, see "New Features in BRM" in BRM 12.0 Patch Set Release Notes.
BRM 15.0.0 includes the following enhancements:
64-Bit Support for All BRM Components
All former BRM 32-bit components, such as the Connection Manager (CM), are now 64-bit components. In addition, you can now use all timestamps representing a date after January 19, 2038.
Note:
Support extends to all BRM, Pricing Design Center, Business Operations Center, Billing Care, and Elastic Charging Engine components.
If you are upgrading to BRM 15.0, you need to recompile any BRM customizations, such as policy opcodes, as 64-bit extensions. For more information, see "Migrating Custom Code to a 64-bit Environment" in BRM Installation Guide.
Supported Upgrades to Release 15.0
The following upgrade paths to the 15.0 release are supported:
-
BRM 12.0 to BRM 15.0
-
Any BRM 12.0 Patch Set to BRM 15.0
-
ECE 12.0 to ECE 15.0
-
Any ECE 12.0 Patch Set to ECE 15.0
The upgrade paths support the following on-premise and cloud native versions:
-
On-premise versions of BRM with an ECE charging engine to a 15.0 version
-
On-premise versions of BRM with real-time and batch rating engines to a 15.0 version
-
BRM cloud native with an ECE charging engine to a 15.0 version
-
BRM cloud native with real-time and batch rating engines to a 15.0 version
-
On-premise versions of BRM with real-time and batch rating engines to BRM cloud native 15.0 with real-time and batch rating engines
Support for Purchasing Same Product or Discount Multiple Times with Separate Balances
Previously, customers could extend the validity of a balance by purchasing a product or discount again, and the new balance was added to the existing balance. Now, you can track the new and existing balances separately, with separate validity dates.
You can use two new options with the loadpricelist utility. When creating deals in your XML file, you set the value for the <purchase_mode> element under the <deal_product> or <deal_discount> element. You can set the purchase mode to:
- 4: Longest date. Extends the old subscription with a separate balance, setting the validity end date to whichever is later, the new or existing validity.
- 5: Cumulative validity. Extends the old subscription with a separate balance, setting the validity end date by adding the new validity to what remains of the old validity.
For example, on June 1, a customer purchases a deal that grants 3GB of data, is valid for seven days, and has a grace period of 4 days. On June 3, after using 1GB, they purchased the deal again. With both options, the new 3GB balance is added to a new balance group, separate from the remaining 2GB in the old balance group.
With option 4, the new balance is valid starting on June 3, and BRM compares the validity periods of the old and new balances to set the validity end date for the new balance to the later of the two end dates, June 10. The old balance retains the original validity dates.
With option 5, the new balance is valid starting on June 8. BRM adds what remains of the validity period of the old balance to the new balance to set the validity end date for the new balance to June 15. The old balance retains the original validity dates.
For information, see "Purchasing the Same Product or Discount Multiple Times" in BRM Setting Up Pipeline Pricing.
BRM REST Services Manager API Supports Order Bill Fulfillment
The BRM REST Services Manager API now supports the following order bill fulfillment operations:
-
Purchasing a product offering, such as a bundled offer, charge offer, or discount offer
-
Suspending a purchased service
-
Resuming a suspended service
-
Terminating a purchased product offering
You can also specify to cancel a customer's service in the future.
If you support two-phase billing, you can specify whether to purchase an offer with the start date set to 365 days in the future or to the actual activation date.
You implement order bill fulfillment using the new Perform Billing Fulfillment operation in the BRM REST Services Manager API. For more information, see REST Services Manager API for Billing and Revenue Management.
Note:
The order bill fulfillment operations are based on the TMF 622 Product Ordering API and cover the bill fulfillment-related tasks of the product ordering flow.
The order bill fulfillment operations also support extending the framework by adding attributes to the request payload.
Pipeline Rating Supports SSL Connection to BRM
The BRM real-time and batch rating engines now support SSL communication with the BRM Connection Manager (CM), improving the security among all BRM components.
For information, see "Enabling SSL/TLS in Real-Time Pipeline" in BRM System Administrator's Guide.
Support for Full-Day Discounts
Previously, when rounding to midnight was disabled, and a discount was purchased after midnight, the discount would not be applied to the entire day. For example, a discount purchased at 15:00 on June 1 would apply only from 15:00 through 24:00 on June 1. Now, you can specify to apply the discount to the entire day even when rounding to midnight is disabled. That is, a discount purchased at 15:00 would apply from 00:00 through 24:00 on June 1.
You can use the new option with the loadpricelist utility. When creating discounts in your XML file, you set the value for the <discount_validity_rounding> element under the <discount> element. You can set <discount_validity_rounding> to one of the following:
-
ON: Sets the discount start time to the time of purchase.
-
OFF: Sets the discount start time to midnight (00:00:00) of the day the discount is purchased.
-
NOT_SET: Uses the systemwide setting in the /config/business_profile object. This is the default.
For information, see "Setting Discount Validity Rounding" in BRM Setting Up Pipeline Pricing.
Improved Timeout Consistency
Previously, timeouts in BRM terminated only the client side of the operation. The database operation was rolled back only after the transaction was completed.
BRM client applications contain a new parameter for setting the maximum timeout of BRM transactions. If a timeout occurs, the client side of the operation is terminated, and the transaction is not committed to the database. This guarantees that transactions are not committed when timeouts occur and writes to the database do not occur at any point during the transaction.
For information, see "Setting a Timeout Value for Requests Sent to the CM" in BRM System Administrator's Guide.
Improved Synchronization Between BRM and External CRM Applications
Previously, BRM used the Synchronization Queue Data Manager to synchronize pricing data, such as charge offers, discount offers, and chargeshare offers, with external customer relationship management (CRM) applications. In the 15.0 release, Synchronization Queue Data Manager has been obsoleted.
To improve performance, BRM now uses the Oracle Data Manager (DM) to synchronize data between BRM and your external CRM. Oracle DM sends pricing data in business events to Oracle Advanced Queuing (AQ) database queues in the BRM database, where your external CRM can retrieve it. For information, see "Synchronizing Pricing Data between the BRM Database and External CRMs" in BRM System Administrator's Guide.
Note:
Oracle DM rolls back the transaction in both the BRM database and the AQ database queue if the commit to either fails.
The BRM 15.0 installation includes scripts and configuration files to help you create and configure the AQ database queues.
BRM CM Now Supports Authorization
Previously, BRM thick client applications, such as Customer Center and Pricing Center, handled all authorization with BRM. In addition, command-line utilities could not manage fine-grained authorization because they are part of the BRM server and have access to all opcodes and storable classes.
To improve security, the CM layer now also performs authorization. Authorization in the CM is based on opcodes the user is allowed to run and storable classes the user is allowed to read or update. The list of opcodes and storable classes users can access are defined in roles.
For more information, see "Managing Login Names and Passwords" in BRM System Administrator's Guide.
Improved POID Caching
BRM 15.0 includes a new POID generation logic that limits the number of times data needs to be retrieved from the database, which improves performance.
Simplified BRM Multischema Installation
In BRM 15.0, the multischema installation process has been simplified, reducing the overall time to set up your system.
Previously, the process for creating the database schemas was a two-step process. First, it made the primary and secondary schemas with all tables and snapshots. Second, it dropped the tables and snapshots from the secondary schemas and replaced them with views.
Now, the BRM multischema installation creates the database schemas in one step. It creates the primary schema with all tables and snapshots and the secondary schemas with views.
See "Installing a Multischema System" in BRM Installation Guide for more information.
BRM Supports Validation for Dynamic Charging
Previously, you could dynamically override pricing at purchase time with no validation. Now, the overrides you can use at purchase time are restricted and validated by price tags created as setup components.
You configure price tags as setup components in PDC and publish them to BRM in changesets. The price tags are stored in the /config/price_tags object.
The rules configured in the setup components determine which price tags are valid for a resource and which values can be used at purchase time. You can restrict price tags to certain resources, resource units, and services. You can restrict the values that can be used to a list or range of values.
For example, you could create the following price tag setup components:
- Applicable to the minute unit of free minutes resources of TelcoGSM and Telephony services, with permitted values of 10 and 20.
- Applicable to any unit of US Dollar resources of TelcoGSM services, with permitted values between 100 and 200.
- Applicable to the byte unit Euro resources of TelcoGSM services, with no restrictions on the value.
At purchase time, you retrieve the list of price tags and valid values for a specified resource, service, or product using the PCM_OP_SUBSCRIPTION_GET_PRICE_TAGS opcode. The opcode output includes the valid values you can use to override the price.
You can also see the details for price tags configured for products using the PCM_OP_PRICE_GET_PRODUCT_INFO opcode or the Get Offer Details endpoint of the Billing Care REST API.
For information, see "Configuring Dynamic Charging" in PDC Creating Product Offerings.