11 Configuring Wholesale Billing
Learn how to configure Oracle Communications Billing and Revenue Management (BRM) to perform wholesale billing for your large wholesale business accounts.
Topics in this document:
-
Rolling Up Balances from Members to Owners for Wholesale Sharing Groups
-
Converting Existing Bill Unit Hierarchies to Wholesale Billing
-
About Changing the Billing Day of Month for Large Hierarchies
-
Specifying Search Criteria for Retrieving Items, Events, and Bills
-
Specifying How to Calculate Deferred Taxes for Wholesale Billing
About Wholesale Billing
Wholesale business accounts with large account hierarchies can have a large number of services, each representing a subscription account. This can affect billing and invoicing performance if your customers' accounts have a large number of billing items to process.
You can set up wholesale billing for handling large wholesale business accounts. In wholesale billing, you set up a bill unit hierarchy for account receivable (A/R) operations. The wholesale business account is the parent account with the paying parent bill unit and the services (subscriptions) in this account are child accounts with nonpaying child bill units.
BRM consolidates the charges, discounts, A/R items, bill items, journals, and taxes across the services under the wholesale business account and performs the A/R operations, billing, and invoicing at the wholesale business account level.
Note:
The currency balances for parent account and child accounts are synchronized with Oracle Communications Elastic Charging Engine (ECE) during wholesale billing at the end of a billing cycle. This information is published through the /event/notification/billing/updateBalances event notification. See BRM Event Notification Reference for more information.Setting Up Billing for Wholesale Account Hierarchies
You set up wholesale billing for the whole system by:
To set up wholesale billing only for specific accounts, see "Creating Wholesale Accounts and Bill Unit Hierarchies".
You can also convert existing account hierarchies to use wholesale billing. See "Converting Existing Bill Unit Hierarchies to Wholesale Billing" for more information.
Enabling Wholesale Billing for All Accounts
When wholesale billing is enabled using the business parameter, BRM lets you create only wholesale accounts and bill unit hierarchies.
To enable this feature, run the pin_bus_params utility to change the WholesaleBillingSystem business parameter. See "pin_bus_params" in BRM Developer's Guide for information about the utility's syntax and parameters.
To enable wholesale billing for all of your accounts:
-
Go to BRM_home/sys/data/config.
-
Create an XML file from the /config/business_params object:
pin_bus_params -r BusParamsBilling bus_params_billing.xml
-
In the XML file, set the following entry to enabled:
<WholesaleBillingSystem>enabled</WholesaleBillingSystem>
-
Save the file as bus_params_billing.xml.
-
Load the file into the BRM database:
pin_bus_params bus_params_billing.xml
-
Stop and restart the Connection Manager (CM).
If you enable this parameter in a system with existing bill unit hierarchies, run the pin_cust_convert_wholesale_hierarchy utility to convert the existing hierarchies to use wholesale billing. See "pin_cust_convert_wholesale_hierarchy" for more information about this utility.
Creating Wholesale Accounts and Bill Unit Hierarchies
You can create accounts and bill unit hierarchies for wholesale billing by using Billing Care or by using custom applications that call BRM opcodes. You can also convert existing bill unit hierarchies to wholesale billing. For more information about accounts and bill unit hierarchies, see "Managing Account and Bill Unit Hierarchies" in BRM Managing Customers.
A wholesale parent account contains one default wholesale bill unit, to which charges from child bill units are rolled up. It can also contain additional bill units for handling other charges the parent makes.
You create accounts and bill unit hierarchies and set up the wholesale parent account by:
You can add any existing bill unit to a wholesale bill unit hierarchy or set up a new wholesale bill unit hierarchy by using the existing bill units in BRM. However, you must ensure the following:
-
There are no pending items or payments in the bill unit that you are adding to the hierarchy.
-
The parent bill unit is the paying bill unit and it is set as the wholesale parent for billing.
-
The wholesale parent for the wholesale bill unit hierarchy is set before creating the hierarchy.
This ensures that the charges and other billing-related items of the nonpaying child bill units in the hierarchy are rolled up to the paying parent bill unit during billing.
Loading the Wholesale Business Profile
To use wholesale billing, you must load a business profile that has wholesale billing enabled. You can do this by loading the standard business profiles or editing your custom business profile to include the WholesaleBilling key set to yes and then loading your custom profile.
For the standard business profile:
-
Go to the directory that contains the pin_business_profile.xml file. By default, this file is in the BRM_home/sys/data/config directory.
-
Load the pin_business_profile.xml file into the database by running the following command:
load_pin_business_profile pin_business_profile.xml
For your custom business profile:
-
Open the file containing your business profiles in an XML editor or a text editor.
-
Inside your custom profile, add a new NameValue as follows:
<NameValue key="WholesaleBilling" value="yes" />
-
Save and close the file.
-
Load the file into the database by running the following command:
load_pin_business_profile yourFileName
where yourFileName is the name of the file containing your custom business profile.
For general information about business profiles, see "Creating and Managing Business Profiles" in BRM Managing Customers.
Creating a Wholesale Billing Account
To set up a wholesale billing account, you:
-
Open the account that will contain the wholesale parent bill unit.
-
Change the parent’s default bill unit into a wholesale bill unit by assigning it to the wholesale business profile (in the /config/business_profile object).
-
Create an account and bill unit for each child under the wholesale billing parent. In the bill unit, set the payment method to the parent’s wholesale billing unit.
-
Create a billing hierarchy by associating each child’s bill unit with the wholesale parent’s bill unit.
You can create wholesale billing hierarchies using:
-
Billing Care. See "Wholesale Billing Hierarchies" in Billing Care Online Help.
-
A custom client application calling the following customer management opcodes:
- To change the parent’s default unit
into a wholesale billing parent bill unit, use one of the following opcodes:
The PCM_OP_CUST_UPDATE CUSTOMER
PCM_OP_CUST_CHANGE_BUSINESS_PROFILE
- To create a wholesale child bill unit, use the PCM_OP_CUST_UPDATE_CUSTOMER opcode.
- To change a child’s payment method to the parent’s wholesale bill unit and add its bill unit to the parent’s billing hierarchy, use the PCM_OP_CUST_SET_BILL_INFO opcode.
- To change the parent’s default unit
into a wholesale billing parent bill unit, use one of the following opcodes:
-
A custom client application calling the following Billing Care REST API endpoints:For more information, see REST API Reference for Billing Care.
-
To change the parent’s default unit into a wholesale billing parent bill unit, use the Update a Bill Unit for an Account endpoint.
-
To create a wholesale child bill unit, use the Create a Bill Unit endpoint.
-
To change a child’s payment method to the wholesale parent’s bill unit, use the Update a Payment Method endpoint.
-
To add a child’s bill unit to the parent’s billing hierarchy, use the Add a Bill Unit to a Hierarchy endpoint.
-
Precreating Item Types for the Wholesale Billing Parent
During final billing, all charges (such as recurring, purchase, and usage charges) applied to the nonpaying child bill units (wholesale child accounts) are aggregated based on the item-tag-to-item-type mapping (item configuration) and are rolled up to the corresponding bill items of the paying parent bill unit (wholesale parent account).
If the bill item for any item type does not exist for the paying parent bill unit, the bill item is created during billing and the charges are rolled up to that item. However, Oracle recommends to pre-create the bill items for the different item types by setting the precreate element to true in the BRM_home/sys/data/pricing/example/config_item_types.xml file. For more information, see "Mapping Item Tags to Item Types".
The total and due amounts of the paying parent bill unit are updated to reflect the roll-up and the due amount of each nonpaying child bill unit is set to 0. Payments are applied only to the paying parent bill unit.
If you want the charges for different services to be rolled up to different bill items, you can assign different item types for different services. For example, for rolling up cycle forward fees for IP and GSM services, you can configure and assign the following items: /item/ip/cycle_forward for the IP service and /item/gsm/cycle_forward for the GSM service.
You can also assign a different item type (or a noncumulative bill item) to track charges specific to the paying parent bill unit. For information about assigning items, see "Assigning Item Tags Based on Event and Service Combinations".
About Rolling Journals Up to the Wholesale Parent
For nonpaying child bill units, the /tmp_journals_to_process objects are created instead of the /journal objects at the time of rating. The /tmp_journals_to_process objects are created only if the CycleTaxInterval business parameter is set to billing. For more information, see the discussion about tax calculation for account groups in BRM Calculating Taxes.
The /tmp_journals_to_process objects contain revenue and tax data. For wholesale billing, BRM uses these objects primarily to track and consolidate taxes for billing-time taxation. To roll up journals for wholesale billing, you use the pin_update_journals utility.
Note:
To roll up journals for wholesale billing, you must ensure that the general ledger reporting is enabled. For more information, see the discussion about general ledger reporting in BRM Collecting General Ledger Data.
The pin_update_journals utility processes all /tmp_journals_to_process objects of the nonpaying child bill units and rolls them up to the corresponding /journal object of the paying parent bill unit.
You can run the pin_update_journals utility on a daily basis to ensure that the paying parent bill unit is kept up to date. However, you must run this utility once before billing the paying parent bill unit. For more information, see "pin_update_journals".
If deferred taxation is configured to:
-
Consolidate taxes into a single item (if CycleTaxInterval is set to billing), the pin_update_journals utility enables you to roll the taxes up into a single item for both the paying parent and nonpaying child bill units. The total tax is calculated at the paying parent level for the entire hierarchy using the aggregated total due as the basis.
-
Calculate taxes separately for the parent and each nonpaying child bill unit (if CycleTaxInterval is set to accounting), the /journal objects are created for the nonpaying child bill units instead of /tmp_journals_to_process objects and the taxes are not rolled up to the paying parent bill unit.
About Rolling A/R Actions Up to the Wholesale Parent
BRM manages the balances for A/R actions by using these A/R items: adjustment, dispute, settlement, payment, refund, payment reversal, write-off, and write-off reversal. See "About A/R Management" in BRM Concepts.
To roll up A/R actions for wholesale billing, you use the pin_roll_up_ar_items utility. This utility processes all temporary A/R items (/tmp_ar_item_to_roll_up object) for nonpaying child bill units, and rolls the balance impact up to the corresponding A/R items of the paying parent bill unit. For example, it rolls the adjustments allocated to the nonpaying child bill unit's /item/cycle_forward item up to the adjustment item associated with the /item/adjustment item of the paying parent bill unit.
You can run the pin_roll_up_ar_items utility on a daily basis to ensure that the A/R items of the paying parent bill unit are kept up to date. However, you must run this utility once before billing the paying parent bill unit. See "pin_roll_up_ar_items" in BRM Managing Accounts Receivable.
In addition, you can use the pin_roll_up_ar_items utility to roll up the adjustment items that are created as a result of rerating. During rerating, the temporary A/R items (/tmp_ar_item_to_roll_up object) are created for the nonpaying child bill units if these conditions are met:
-
The event has already been billed.
-
The event occurred prior to general ledger posting.
-
The event is unbilled but the automatic allocation of rerating adjustments is disabled.
If the event is unbilled and the automatic allocation of rerating adjustments is enabled, the rerating adjustment is allocated to the bill item of the nonpaying child bill unit.
Note:
Rerating adjustments rolled up to the paying parent bill unit are allocated to the corresponding A/R item only if it exists in the paying parent bill unit. If the A/R item does not exist, the rerating adjustments remain unallocated at the parent level.
Rolling Up Balances from Members to Owners for Wholesale Sharing Groups
You can roll up the cumulative charges from members of a sharing group to the owner. Typically, BRM locks the owner’s bill unit during billing and rolls up the currency and noncurrency balances from all sharing group members to the owner’s bill unit. This locks the entire sharing group during the billing process. This process takes a long time for wholesale sharing groups and reduces the overall roll-up performance.
However, you can improve performance and avoid locking the owner’s bill unit while rolling up balances 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 pin_rollup_sharing_balances utility. This multithreaded utility launches a separate thread to roll up each member’s noncurrency balance to the owner.
Note:
-
This functionality is only applicable for wholesale hierarchies and subscription events.
-
If a wholesale child is a member of one sharing group, it cannot be an owner of another sharing group.
You should enable the functionality and run the pin_rollup_sharing_balance utility before billing if you want the rollup to happen before the actual billing process. It allows you to roll up the noncurrency balances as frequently as required, providing more flexibility. If it is not run ahead of time, the rollup will occur during the billing process.
When you create or modify a wholesale sharing group and enable the sharing roll-up functionality, BRM associates the following with each group member:
-
An /item/sponsor object, which temporarily stores the portion of the member’s currency balance that the owner is responsible for. This creates a temporary table of currency balances for the owner, preventing BRM from needing to lock the owner’s bill unit during the billing process.
-
A /tmp_sharing_rollup_imp object, which temporarily stores the portion of a member’s noncurrency balance that the owner is responsible for.
When you run the pin_rollup_sharing_balances utility, it looks for each /tmp_sharing_rollup_imp object in the sharing group and launches a thread that calls the PCM_OP_SUBSCRIPTION_SHARING_ROLLUP_BALANCE opcode. The opcode rolls up the noncurrency balance to the parent’s bill unit and generates an /event/notification/billing/updateRollupBalances notification event for synchronizing the balance update with ECE. See "Rolling Up Non-Currency Balances from Members to the Owner of a Wholesale Sharing Group" in BRM Opcode Guide.
During billing, each member’s currency balance is rolled up from its /item/sponsor object to the parent’s /item/sponsor object.
Optimizing Balance Roll-up for Wholesale Sharing Group
To improve the performance for rolling up balances from group members to the sharing group owner:
-
When you create a wholesale sharing group, enable the sharing roll-up functionality in the wholesale parent’s bill unit. See "Enabling the Sharing Roll-Up Functionality in a Wholesale Sharing Group".
-
Create a file that contains the list of owner account POIDs and bill units for which rollup is required. See "Specifying the Wholesale Sharing Groups to Roll Up".
-
Run the pin_rollup_sharing_balances utility. See "Running the pin_rollup_sharing_balances Utility".
Enabling the Sharing Roll-Up Functionality in a Wholesale Sharing Group
You can enable the sharing roll-up functionality when you create or modify a wholesale sharing group using one of the following:
-
A custom client application calling the sharing group opcodes. See "Managing Sharing Groups" in BRM Opcode Guide.
-
A custom client application calling the Create a Sharing Group endpoint in the Billing Care REST API. See REST API Reference for Billing Care.
-
Billing Care. See "Creating a New Charge Sharing Group" in Billing Care Online Help.
Specifying the Wholesale Sharing Groups to Roll Up
You specify which wholesale sharing groups the pin_rollup_sharing_balances utility rolls up by creating an XML file. To do so:
-
Open the BRM_home/apps/pin_billd/PinRollupSharingBalInput.xml file.
-
Under <RollupSharingBalConfiguration>, include each sharing group owner’s account POID and bill unit POID you want to have rolled up.
For example:
<BusinessConfiguration xmlns=http://www.portal.com/schemas/BusinessConfig xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=http://www.portal.com/schemas/BusinessConfig BusinessConfiguration.xsd> <RollupSharingBalConfiguration> <!-- List of Owner accounts --> <Billinfo> <BillinfoId>311038</BillinfoId> <Account>1210</Account> </Billinfo> <Billinfo> <BillinfoId>311039</BillinfoId> <Account>1423</Account> </Billinfo> </RollupSharingBalConfiguration> </BusinessConfiguration>
Table 11-1 describes the XML elements under <RollupSharingBalConfiguration>.
Table 11-1 XML Elements under RollupSharingBalConfiguration
Element Description Billinfo
The sharing group owner’s account and bill units for which you want to roll up the balance.
BillinfoId
The bill unit ID.
Account
The account ID of the sharing group owner.
-
Save and close the file.
Running the pin_rollup_sharing_balances Utility
To optimize performance for rolling up noncurrency balances from members of a sharing group to their owner:
-
Define the wholesale sharing groups to roll up in an XML file. See "Specifying the Wholesale Sharing Groups to Roll Up".
-
Run pin_rollup_sharing_balances utility before you run billing:
pin_rollup_sharing_balances -file PinRollupSharingBalInput.xml
See "pin_rollup_sharing_balances" for details about the utility’s syntax and parameters.
The utility rolls up each member’s noncurrency balance from its /tmp_sharing_rollup_imp object to the sharing group owner. It also clears the temporary balance from each /tmp_sharing_rollup_imp object.
Converting Existing Bill Unit Hierarchies to Wholesale Billing
You can convert existing account hierarchies to use wholesale billing. The account hierarchy must meet the qualifications for a wholesale hierarchy, so you cannot convert a hierarchy where the parent account has multiple parent bill units.
The method you use to convert the account hierarchy depends on the method you used to enable wholesale billing.
If you enabled wholesale billing only for specific accounts, use the PCM_OP_CUST_CONVERT_WHOLESALE_HIERARCHY opcode to convert the account hierarchy. See "Converting an Account Hierarchy to Wholesale Billing" in Opcode Guide for more information about this opcode.
If you enabled wholesale billing for the whole system, as described in "Enabling Wholesale Billing for All Accounts," use the pin_cust_convert_wholesale_hierarchy utility. See "pin_cust_convert_wholesale_hierarchy" for more information about this utility.
Create the input file for the utility using the following format:
<BusinessConfiguration
xmlns="http://www.portal.com/schemas/BusinessConfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.portal.com/schemas/BusinessConfig BusinessConfiguration.xsd">
<ConvertWholesaleConfiguration>
<!-- List of Billinfos to be converted -->
<Billinfo>
<BillinfoId>311038</BillinfoId>
<Account>1210</Account>
</Billinfo>
<Billinfo>
<BillinfoId>304210</BillinfoId>
<Account>1423</Account>
</Billinfo>
<!-- List of Business profiles to be converted
<BusinessTypeArray>
<BusinessProfile>122816</BusinessProfile>
<BusinessProfileName>WholesaleBilling</BusinessProfileName>
</BusinessTypeArray>
<BusinessTypeArray>
<BusinessProfileName>WholesaleBilling</BusinessProfileName>
</BusinessTypeArray>
<BusinessTypeArray>
<BusinessProfile>311122</BusinessProfile>
</BusinessTypeArray>
-->
</ConvertWholesaleConfiguration>
</BusinessConfiguration>
Running Wholesale Billing
Note:
The following features are not supported for wholesale billing:
-
Bill Now
-
On-purchase (on-demand) billing
-
Skipped billing
If you are using bill suppression for billing wholesale accounts, you must run wholesale billing at the end of each accounting cycle.
To run wholesale billing:
-
Roll up A/R actions from nonpaying child bill units to the paying parent bill unit by running the pin_roll_up_ar_items utility:
pin_roll_up_ar_items
See "pin_roll_up_ar_items" in BRM Managing Accounts Receivable for information about the utility's syntax and parameters.
-
Roll up temporary journals from nonpaying child bill units to the paying parent bill unit by running the pin_update_journals utility:
pin_update_journals
See "pin_update_journals" for information about the utility's syntax and parameters.
-
Generate regular bills by running the pin_bill_accts utility:
pin_bill_accts -active
See "pin_bill_accts" for information about the utility's syntax and parameters.
Note:
After the nonpaying child bill units are billed, you cannot perform A/R activities (such as adjustments, disputes, and settlements) on the billed events until the paying parent bill unit is billed.
-
Generate regular invoices for the wholesale parent account by running the pin_inv_accts utility:
pin_inv_accts -reg_bills
See "pin_inv_accts" in BRM Designing and Generating Invoices for more information about the utility's syntax and parameters.
Configuring Billing Delay for Wholesale Hierarchies
Delayed billing is supported for wholesale hierarchies. You must specify the billing delay even if it is not used. In this case, you can set the billing delay interval to 0. See "Configuring Delayed Billing".
Setting Up Billing-Time Discounts for Wholesale Hierarchies
For wholesale bill unit hierarchies, you set up a billing-time discount as follows:
-
Configure billing-time discount only for the paying parent bill unit in the hierarchy.
-
Configure BRM to apply the billing-time discount at the end of the billing cycle instead of the accounting cycle.
-
Configure non-billing-time discounts (usage discounts) for the nonpaying child bill units in the hierarchy. The usage discount increments the counter. For example, if the billing-time discount for the paying parent bill unit is based on total monthly charges, you can create a discount for a nonpaying child bill unit that increments the counter when charges are applied.
For rolling the discounts up to the paying parent bill unit at the time of billing, you customize the PCM_OP_SUBSCRIPTION_POL_PRE_CYCLE_DISCOUNT policy opcode to return the list of balance element/resource IDs of the counters (in the PIN_FLD_BALANCES output flist field) for which the balances to be rolled up to the paying parent bill unit in the hierarchy.
For more information about billing-time discounts, see "Creating Discount Offers" in BRM Creating Product Offerings.
Suppressing Bills for Wholesale Hierarchies
You can use bill suppression to postpone finalizing bills for wholesale accounts. When bill suppression is enabled, the charges applied to the nonpaying child bill units are rolled up to the paying parent bill unit at the end of the accounting cycle. Therefore, you must run the pin_roll_up_ar_items, pin_update_journals, and pin_bill_accts utilities in the same order at the end of each accounting cycle. See "Running Wholesale Billing".
Trial Billing for Wholesale Hierarchies
When you perform trial billing for wholesale bill unit hierarchies, you must run billing for nonpaying child bill units (wholesale child accounts) before running billing for the paying parent bill unit (wholesale parent account). To do so, run the pin_trial_bill_accts utility with the -pay_type parameter.
Trial billing generates temporary bills for validation, ensuring accurate charge calculation during the final billing process. If discrepancies arise in the trial bills or charges, customers can adjust the charges and rerun the trial billing to validate them.
In wholesale bill unit hierarchies, run trial billing for all nonpaying subordinate accounts and paying parent accounts. When customers make corrections or adjustments to a few bills, you can rerun trial billing for only the affected accounts, minimizing processing time and ensuring efficient performance across the system.
To improve performance, you can 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
For more information, see "About Trial Billing for Bill Unit Hierarchies".
Support for A/R Activities
For wholesale bill unit hierarchies, the support for A/R activities varies from level to level:
-
Account level. Adjustments, disputes, and settlements can be performed only at the parent bill unit level after billing.
-
Bill level. Adjustments, disputes, and settlements can be performed only after billing at the parent bill unit level.
-
Event level. Adjustments, disputes, and settlements can be performed at the child bill unit level before and after billing.
-
Item level. Adjustments and disputes can be performed at the child bill unit level only before billing. After billing, adjustments and disputes are allowed only at the parent bill unit level. However, settlements can be performed before and after billing at the child bill unit level.
Write-offs can be performed only at the parent bill unit level after billing.
Specifying Search Criteria for Retrieving Items, Events, and Bills
To retrieve a list of items, events, or bills, BRM uses the following A/R and payment opcodes:
-
PCM_OP_AR_GET_ACTION_ITEMS
-
PCM_OP_AR_GET_ACCT_ACTION_ITEMS
-
PCM_OP_AR_GET_BAL_SUMMARY
-
PCM_OP_AR_GET_ACCT_BAL_SUMMARY
-
PCM_OP_AR_GET_BILL_ITEMS
-
PCM_OP_AR_GET_BILLS
-
PCM_OP_AR_GET_DISPUTE_DETAILS
-
PCM_OP_AR_GET_DISPUTES
-
PCM_OP_AR_GET_ACCT_BILLS
-
PCM_OP_PYMT_ITEM_SEARCH
-
PCM_OP_PYMT_MBI_ITEM_SEARCH
-
PCM_OP_PYMT_SELECT_ITEMS
Based on the search criteria provided as input, these opcodes search through all bill units in a hierarchy. This can impact wholesale billing performance if you have large wholesale bill unit hierarchies. To improve performance, restrict your search to specific bill units.
Similarly, BRM uses the PCM_OP_AR_GET_ITEM_DETAIL and PCM_OP_AR_GET_ITEMS opcodes to retrieve details about a bill unit's A/R items or bill items. These opcodes cannot retrieve all details about rolled-up items in a wholesale hierarchy. For example, for the A/R items of the paying parent bill unit, these opcodes cannot retrieve the corresponding transfer events for the rolled-up disputes and settlements. Therefore, modify your search to retrieve only the details that are available for wholesale hierarchies.
For information about the search criteria for these opcodes, see "Retrieving A/R Information" in BRM Opcode Guide.
Moving Bill Units into or out of Wholesale Hierarchies
You can move nonpaying child bill units into or out of a wholesale bill unit hierarchy. You can also move them between wholesale bill unit hierarchies. Before moving a bill unit, ensure that there are no pending items or payments in that bill unit.
When you move a nonpaying child bill unit to another hierarchy, all items in that bill unit are associated with the corresponding items of the new paying parent bill unit and the new parent is billed for them. If a bill item does not exist in the new parent, it is created and the charges are rolled up to that item.
Specifying How to Calculate Deferred Taxes for Wholesale Billing
You specify how BRM calculates deferred taxes for wholesale billing by setting the CycleTaxInterval business parameter to one of the following:
-
Accounting: The tax for a child account is applied to its bill. BRM calculates taxes for parent accounts and for all child accounts. This is the default.
-
Billing: The tax is forwarded from the child account to the parent account. BRM calculates taxes for the parent account only, but the single tax item on the parent account includes taxes from both the parent and child accounts.
You set the CycleTaxInterval business parameter by using the pin_bus_params utility. For information about the utility's syntax and parameters, see "pin_bus_params" in BRM Developer's Guide.
To specify how to calculate deferred taxes for wholesale billing:
-
Go to the BRM_home/sys/data/config directory, where BRM_home is the directory where you installed BRM components.
-
Create an XML file from the /config/business_params object:
pin_bus_params -r BusParamsBilling bus_params_billing.xml
This command creates the XML file named bus_params_billing.xml.out in your working directory. To place this file in a different directory, specify the path as part of the file name.
-
Open the bus_params_billing.xml.out file.
-
Set the <CycleTaxInterval> element:
<CycleTaxInterval>value</CycleTaxInterval>
where value is either accounting (default) or billing.
-
Save this file as bus_params_billing.xml.
-
Load the XML file into the BRM database:
pin_bus_params bus_params_billing.xml
-
Stop and restart Connection Manager (CM).