Skip Headers
Oracle® Application Integration Architecture Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide
Release 11.1

Part Number E21726-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

7 Adjustment Integration Flow

This chapter provides an overview of the adjustment integration flows and discusses Oracle Billing and Revenue Management (Oracle BRM) and Siebel Customer Relationship Management (Siebel CRM) interfaces, industry Oracle Application Integration Architecture (Oracle AIA) components, and integration services.

This chapter includes the following sections:

7.1 Adjustment Integration Overview

The Adjustment integration between Siebel CRM and Oracle BRM supports the following integration scenarios:

The invoice adjustment feature enables CSRs to make adjustments at three levels in the invoice (header, item, and event) in Siebel CRM. When a customer calls to dispute an item or multiple items on a bill, CSRs first identify the bill, and then find the disputed items on the bill.

The integration supports adjustment requests that are both amount-based and percentage-based for adjustments at the bill/header and event-level. Therefore, a CSR either captures an adjustment request for an absolute value (such as USD 2) or percentage value (such as. 2%).

In addition to invoice adjustments, a CSR can use this integration feature to make unbilled service usage adjustments at the event (call detail (CDR) record) level.

Caution:

In the billing system, taxes can only be applied on AR items after billing. Therefore, for Unbilled Event adjustments, the tax flag that is set in the Siebel CRM UI must be Exclude Tax.

CSRs request adjustments on a variety of levels, as appropriate to the situation. For instance, if the customer made a 10-minute call that was mistakenly billed as a 30-minute call, the CSR requests an adjustment for that specific call at the call detail-level. If, however, the customers plan provided 100 free minutes a month, but charges started accruing after only 30 minutes, the CSR requests an adjustment at the summary-level instead. CSRs can create an adjustment request for one or more lines on a single invoice. The adjustment request can include the following details per line:

When the CSR clicks the Adjustments tab of the Siebel Billing Profile screen, the adjustment history information appears. The adjustment records that appear in this view are adjustment requests that have originated from Siebel CRM and stored within Siebel the database. The CSR must navigate to the Invoice Detail view to make adjustments at the header and item levels. For adjustments at the event-level, the CSR navigates to the event details view. Each adjustment request triggers a separate web services call in the billing system. The adjustment, if approved, is created in Oracle BRM and is reflected in the customers' next bill. If the adjustment is not approved, the adjustment request is updated with the reason for denial.

Figure 7-1 illustrates the flow for Adjustments:

Figure 7-1 Adjustments Flow

This image is described in surrounding text.
This image is described in surrounding text.

To view the adjustments for an invoice and create different levels of adjustments in Siebel CRM:

Note:

Siebel UI screenshots are for reference only and may differ from actual screens.

  1. Navigate to the Accounts screen and query an account. Scroll down to the Billing profile applet and click the Billing profile Name link.

  2. Click the Bills tab to view the list of bills under the account. Click the Bill Number link to open the Bill Details screen.

  3. Click the A/R Items tab to view the adjustments for an invoice, as shown in Figure 7-2.

    Figure 7-2 Siebel UI - A/R Items

    This image is described in surrounding text.
  4. In the Bills Detail view, an adjustment request can be captured at the header, item, or event level. Each of these sections in the view has an Adjust button, as shown in Figure 7-3.

    Figure 7-3 Siebel UI - Bills Detail: Adjust

    This image is described in surrounding text.
  5. After creating a new adjustment for a particular level and getting the approval, click the Submit button, as shown in Figure 7-4.

    Figure 7-4 Siebel UI - Adjustments: Submit

    This image is described in surrounding text.

For more information about the mapping of Siebel CRM elements to Oracle BRM elements, see Appendix A, "Mapping Siebel Billing Management UI Elements to Oracle BRM Customer Center."

7.2 QueryAccountBalanceAdjustment Integration Flow

This integration flow uses the following interfaces:

Figure 7-5 illustrates the QueryAccountBalanceAdjustment integration scenario.

Figure 7-5 QueryAccountBalanceAdjustment Sequence Diagram

This image is described in surrounding text.

When you initiate the QueryAccountBalanceAdjustment process, the following events occur:

  1. In Siebel CRM, navigate to the Billing Profile screen.

  2. Navigate to Accounts, query an account, and click the billing profile for the account. On the Billing Profile screen, click the Bill tab to view the list of bills under the account. To open the Bill Detail View screen, click the Bill No link. This opens the Bill details view with the following information: bill summary, service charges, and item charges. Click the A/R Items tab and a web service call is made to get the adjustments specific to this bill for the account.

  3. Open an invoice and select the A/R Items tab. A web service call is made to get the adjustment for that invoice.

  4. Navigate to the Bill tab and open the Bill Detail View.

  5. Select the A/R Items tab. This invokes the AdjustmentSiebelCommsReqABCS web service, which in turn calls AdjustmentSiebelCommsReqABCS with operation QueryAdjustment.

    AdjustmentSiebelCommsReqABCS is a generic Siebel adjustment interface service with several operations defined on the AccountBalanceAdjustmentEBO.

  6. Invoking AdjustmentSiebelCommsReqABCS with operation QueryAdjustment routes the QueryAdjustmentReqMsg to QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl.

  7. The QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl transforms the QueryAdjustmentReqMsg into QueryAccountBalanceAdjustmentList_InputVariable and calls the CommunicationsAccountBalanceAdjustmentEBSV2 with operation QueryAdjustment.

    CommunicationsAccountBalanceAdjustmentEBSV2 is a generic interface service with several operations.

  8. Invoking CommunicationsAccountBalanceAdjustmentEBSV2 with operation QueryAdjustment routes the QueryAccountBalanceAdjustmentListReqMsg to the appropriate billing system.

    As delivered, QueryAccountBalanceAdjustmentListReqMsg is routed to QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl.

  9. QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl first transforms QueryAccountBalanceAdjustmentListReqMsg into the Invoke_PCM_OP_AR_GET_ACCT_ACTION_ITEMS_InputVariable as input of PCM_OP_AR_GET_ACCT_ACTION_ITEMS and calls BRMARServices with operation PCM_OP_AR_GET_ACCT_ACTION_ITEMS.

  10. Invoking BRMARServices with operation PCM_OP_AR_GET_ACCT_ACTION_ITEMS invokes the Oracle BRM application programming interface (API) PCM_OP_AR_GET_ACCT_ACTION_ITEMS and returns the adjustment outputs Invoke_PCM_OP_AR_GET_ACCT_ACTION_ITEMS_OutputVariable to QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl.

  11. QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl transforms the Oracle BRM API output Invoke_PCM_OP_AR_GET_ACCT_ACTION_ITEMS_OutputVariable into enterprise business message (EBM) output QueryAccountBalanceAdjustmentListRespMsg and returns it to CommunicationsAccountBalanceAdjustmentEBSV2.

  12. CommunicationsAccountBalanceAdjustmentEBSV2 returns the QueryAccountBalanceAdjustmentListRespMsg to QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl.

  13. QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl then transforms the QueryAccountBalanceAdjustmentListRespMsg into QueryAdjustmentRespMsg, which is returned to AdjustmentSiebelCommsReqABCS.

  14. AdjustmentSiebelCommsReqABCS returns the QueryAdjustmentRespMsg to the calling CMUExternalAdjustments as QueryAdjustmentRespMsg.

  15. CMUAdjustmentResponseMessage is then written to the Siebel Balance Summary virtual business component (VBC) for the users.

7.3 CreateAccountBalanceAdjustment Integration Flow

This integration flow uses the following interfaces:

Figure 7-6 illustrates the CreateAccountBalanceAdjustment integration scenario.

Figure 7-6 CreateAccountBalanceAdjustment Sequence Diagram

This image is described in surrounding text.

When you initiate the CreateAccountBalanceAdjustment process, the following events occur:

  1. In Siebel CRM, navigate to the Billing Profile screen.

  2. Navigate to the Accounts screen, query an account, and click a billing profile for the account. On the Billing Profile screen, the Adjustment tab displays all the adjustment requests.

  3. To create an adjustment for an invoice, click the Bills tab.

    Select the bill against which an adjustment request must be created.

  4. In the Bill Details view, an adjustment request can be captured at the header, item, or event level. Each of these sections in the view has an Adjust button.

    Clicking this button creates a new adjustment request at that level.

  5. To create an adjustment at the event-level, click the Net Amount link for the required item charge.

    This opens the Event Details view to create the adjustment.

  6. At the event-level, adjustments can be created for both monetary and nonmonetary resources such as free minutes.

  7. You can also create adjustments for unbilled usage.

    Unbilled adjustments are applicable only at the event-level for both monetary and nonmonetary resources.

  8. The Adjust button on different screens calls the same web service to create the adjustment.

    But on the Oracle BRM side, it is based on the adjustment level. The adjustment type is set by Siebel CRM. Based on the value in this column, the correct opcode is called.

  9. After creating the new adjustment for a particular level and getting the approval, click the Submit button.

    A web service call is made to SWICreateAdjustment, which in turn puts the message into the Queue AIA_CMUREQADJIOJMSQUEUE along with a Simple Object Access Protocol (SOAP) envelope. After submit, the adjustment Status changes to Submitted and the adjustment record becomes read-only. Adjustments are persisted in Siebel CRM and when the adjustments are accepted, the status of the record changes to Posted. If the changes are not approved, the status changes to Not Posted.

  10. CreateAccountBalanceAdjustmentSiebelCommsJMSConsumer dequeues the message and transforms it into the Siebel request application business message (ABM) and routes the CreateAdjustmentReqMsg to CreateAccountBalanceAdjustmentSiebelCommsABCSImpl

  11. The CreateAccountBalanceAdjustmentSiebelCommsABCSImpl transforms the CreateAdjustmentReqMsg into CreateAccountBalanceAdjustmentList_InputVariable and calls the CommsAccountBalanceAdjustment enterprise business service (EBS) with operation CreateAccountBalanceAdjustmentList.

  12. Invoking CommunicationsAccountBalanceAdjustmentEBSV2 with operation CreateAccountBalanceAdjustmentList routes the CreateAccountBalanceAdjustmentList_InputVariable to the appropriate billing system.

    As delivered, CreateAccountBalanceAdjustmentList_InputVariable is routed to CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl.

  13. CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl first checks the parameters of the Adjustment type coming from the request (Billed or Unbilled) and based on the parameter, PCM_OP_AR_EVENT_ADJUSTMENT is invoked with the appropriate data.

  14. After checking the parameters of a particular service from request, the CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl service transforms the CreateAccountBalanceAdjustmentListReqMsg into the Oracle BRM input flist message and invokes the opcode.

  15. Invoking Oracle BRM API PCM_OP_AR_EVENT_ADJUSTMENT with account ID, billing profile ID, and event ID returns the list of events associated with items.

  16. BRMARServices sends the response back to CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl service with the list of adjustments and status for opcode calls.

    The Status field is mapped to the response and goes back to the Siebel CRM user interface (UI).

  17. After getting the response back from BRMARService, the status of the adjustment in CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl is checked.

    If the status value returns as Fail, an error-handling framework service is called. This error-handling framework service calls the different error-handling services and logs the error for that particular failed adjustment request in the Admin Console.

  18. Administrators can see the status of the particular failed adjustment request, adjustment ID, and integration ID of that particular request.

    Administrators can also get the Oracle BRM description for a failed request.

  19. CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl then takes the response from the service, transforms Invoke_Event_PCM_OP_AR_EVENT_ADJUSTMENT_OutputVariable to the CreateAccountBalanceAdjustmentListRespMsg, and routes it to the CreateAccountBalanceAdjustmentListResponseBRMCommsJMSProducer.

  20. CreateAccountBalanceAdjustmentListResponseBRMCommsJMSProducer then puts the message into the queue AIA_CRTADJLSTRSPJMSQUEUE.

  21. CreateAccountBalanceAdjustmentListResponseBRMCommsJMSConsumer picks the message from AIA_CRTADJLSTRSPJMSQUEUE and calls the CommunicationsAccountBalanceAdjustmentResponseEBSV2 with CreateAccountBalanceAdjustmentListResponse operation.

  22. CommunicationsAccountBalanceAdjustmentResponseEBSV2 routes the CreateAccountBalanceAdjustmentListResponseMsg to UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl.

  23. UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl transforms the CreateAccountBalanceAdjustmentListRespMsg into SWISIAAdjustmentIO and invokes the Siebel Update web service with this message.

Note:

In the case of billed adjustments at the Bill and Item levels, the BRM provider calls PCM_OP_AR_BILL_ADJUSTMENT and PCM_OP_AR_ITEM_ADJUSTMENT opcodes.

7.4 Oracle BRM Interfaces

The QueryAdjustment integration flow uses:

The CreateAdjustment integration flow uses:

For more information, see See Oracle Communications Billing and Revenue Management Opcode Flist Reference.

7.5 Siebel CRM Interfaces

The Adjustment integration flow uses these Siebel CRM interfaces:

For more information, see the Siebel Order Management Guide Addendum for Communications, "Web Services Reference."

7.6 Industry Oracle AIA Components

The Adjustment integration uses the following delivered enterprise business objects (EBOs) and enterprise business messages (EBMs):

The industry enterprise business object (EBO) and enterprise business message XML schema (EBM XSD) files are located under the Metadata Services (MDS) repository at: $AIA_HOME/apps/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/

The industry enterprise business service (EBS) WSDL files are located under the MDS repository at: $AIA_HOME/apps/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Industry/Communications/EBO/

For detailed documentation of individual EBOs and EBMs, click the AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository (OER).

For more information about using the OER and configuring it to provide the AIA Reference Doc link, see Oracle Application Integration Architecture - Foundation Pack: Integration Developer's Guide, "Configuring and Using Oracle Enterprise Repository as the Oracle SOA Repository."

EBOs can be extended, for instance, to add new data elements. These extensions are protected, and remains intact after a patch or an upgrade.

For more information, see Oracle Application Integration Architecture - Foundation Pack: Integration Developer's Guide, "Extensibility for Oracle AIA Artifacts," Extending EBOs.

7.7 Integration Services

These services are delivered with the Adjustment Integration flow:

Some of these services have been enabled to use Session Pool Manager.

For more information about Session Pool Manager, see Oracle Application Integration Architecture Pre-Built Integrations Utilities Guide, "Session Pool Manager."

7.7.1 AdjustmentSiebelCommsReqABCS

AdjustmentSiebelCommsReqABCS exposes the following operation related to Account Balance Adjustment on the Siebel ABM:

QueryAdjustment:


Routes QueryAdjustmentReqMsg to the provider implementation service
Routes QueryAdjustmentRespMsg to the requester

Figure 7-7 illustrates the relationship of AdjustmentSiebelCommsReqABCS with the other services in the integration flow.

Figure 7-7 AdjustmentSiebelCommsReqABCS

This image is described in surrounding text.

7.7.2 QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl

QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl transforms the Siebel message into the AccountBalanceAdjustmentEBM and calls the routing service to get the Adjustment response from the billing system. It then transforms the AccountBalanceAdjustmentEBM response from the AccountBalanceAdjustmentEBS back to a Siebel message and returns it to the calling Siebel web service.

Figure 7-8 illustrates the relationship of QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl with the other services in the integration flow.

Figure 7-8 QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl

This image is described in surrounding text.

7.7.3 CommunicationsAccountBalanceAdjustmentEBSV2

CommunicationsAccountBalanceAdjustmentEBSV2 exposes the following operations related to the Account Balance Adjustment integration on the AccountBalanceAdjustmentEBO:

  • QueryAccountBalanceAdjustmentList routes QueryAccountBalanceAdjustmentListReqMsg to the provider service.

  • CreateAccountBalanceAdjustmentList routes CreateAccountBalanceAdjustmentListReqMsg to the provider service.

Figure 7-9 illustrates the relationship of CommunicationsAccountBalanceAdjustmentEBSV2 with the other services in the integration flow:

Figure 7-9 CommunicationsAccountBalanceAdjustmentEBSV2

This image is described in surrounding text.

7.7.4 QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl

QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl transforms the AccountBalanceAdjustmentEBM message into an Oracle BRM API input format message and calls the API to get the adjustment details from the billing system. It then transforms the output from the API back to an AccountBalanceAdjustmentEBM message and returns it to the calling service.

Figure 7-10 illustrates the relationship of QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl with the other services in the integration flow:

Figure 7-10 QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl

This image is described in surrounding text.

7.7.5 CreateAccountBalanceAdjustmentSiebelCommsABCSImpl

CreateAccountBalanceAdjustmentSiebelCommsABCSImpl transforms the Siebel message into an AccountBalanceAdjustmentEBM message format and calls the routing service to create the adjustment and get the response from the billing system. It then transforms the EBM response message to a Siebel message and routes it back to the AdjustmentSiebelCommsReqABCS service WSDL.

7.7.6 CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl

CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl transforms the AccountBalanceAdjustmentListEBM into an Oracle BRM API input format and calls the APIs to get the bill, item charge, and event details or Resource Impact Event adjustments from the billing system. It then transforms the output from the APIs back to an AccountBalanceAdjustmentListResponseEBM format that returns it to the calling service.

7.7.7 UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl

UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl transforms the AccountBalanceAdjustmentListResponseEBM into Siebel web service input formats and calls the web service to update the adjustment status.

This service is SPM enabled.

For more information about Session Pool Manager, see Oracle Application Integration Architecture Pre-Built Integrations Utilities Guide, "Session Pool Manager."

7.7.8 CreateAccountBalanceAdjustmentListResponseBRMCommsJMSConsumer

This service picks the message from the queue AIA_CRTADJLSTRSPJMSQUEUE and sends it to the response EBS.

7.7.9 CreateAccountBalanceAdjustmentListResponseBRMCommsJMSProducer

This process gets the CreateAccountBalanceAdjustmentListResponseEBM message from CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl and puts the message into the Queue AIA_CMUREQADJIOJMSQUEUE.

7.7.10 CreateAccountBalanceAdjustmentSiebelCommsJMSConsumer

This process picks the message with a SOAP envelope from the queue AIA_CMUREQADJIOJMSQUEUE, transforms the message into a Siebel Requestor ABM by opening the SOAP envelope, and calls the CreateAccountBalanceAdjustmentSiebelCommsABCSImpl with the ListOfCmuRequestAdjustmentIO message.