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.3

Part Number E37674-02
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 Communications Billing and Revenue Management (BRM) and Siebel customer relationship management (Siebel CRM) interfaces, industry Oracle Application Integration Architecture (Oracle AIA) components, and integration services.

Adjustment Integration Overview

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

  • QueryAdjustment enables a customer service representative (CSR) to view the adjustments for an invoice in Siebel CRM.

  • CreateAdjustment enables a CSR to create different levels of adjustments (invoice, item, and event) for an invoice in Siebel CRM.

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:

  • Account #

  • Invoice #

  • Request ID

  • Requested Date

  • Adjustment Amount Requested

  • Adjustment Type (for example, credit, debit)

  • Reason for Request

  • Comments

  • Status

  • Amount Approved

  • Approval Code

  • Date Approved

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 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 the surrounding text.

Figure 7-2 Adjustments Flow Legend

This image shows the legend for the previous figure.

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.

  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.

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

See "Mapping Siebel Billing Management UI Elements to BRM Customer Center" for more information on mapping Siebel CRM elements to BRM elements.

QueryAccountBalanceAdjustment Integration Flow

This integration flow uses the following interfaces:

  • AdjustmentSiebelCommsReqABCS with operation QueryAdjustment

  • QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl

  • QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl

Figure 7-3 illustrates the QueryAccountBalanceAdjustment integration scenario.

Figure 7-3 QueryAccountBalanceAdjustment Sequence Diagram

This image is described in the 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 routes the QueryAccountBalanceAdjustmentListReqMsg to the appropriate billing system.

    As delivered, QueryAccountBalanceAdjustmentListReqMsg is routed to QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl.

  8. 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.

  9. Invoking BRMARServices with operation PCM_OP_AR_GET_ACCT_ACTION_ITEMS invokes the 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.

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

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

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

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

CreateAccountBalanceAdjustment Integration Flow

This integration flow uses the following interfaces:

  • CreateAccountBalanceAdjustmentSiebelCommsReqABCSImpl

  • CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl

  • UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl

  • CreateAccountBalanceAdjustmentListResponseBRMCommsJMSConsumer

  • CreateAccountBalanceAdjustmentListResponseBRMCommsJMSProducer

  • CreateAccountBalanceAdjustmentSiebelCommsJMSConsumer

Figure 7-4 illustrates the CreateAccountBalanceAdjustment integration scenario.

Figure 7-4 CreateAccountBalanceAdjustment Sequence Diagram

This image is described in the 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 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 routes the CreateAccountBalanceAdjustmentList_InputVariable to the appropriate billing system.

    As delivered, CreateAccountBalanceAdjustmentList_InputVariable is routed to CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl.

  12. 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.

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

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

  15. 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).

  16. 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.

  17. 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 BRM description for a failed request.

  18. 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.

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

  20. CreateAccountBalanceAdjustmentListResponseBRMCommsJMSConsumer picks the message from AIA_CRTADJLSTRSPJMSQUEUE and routes the CreateAccountBalanceAdjustmentListResponseMsg to UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl.

  21. 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.

BRM Interfaces

The QueryAdjustment integration flow uses:

  • BRMARServices with operation PCM_OP_AR_GET_ACCT_ACTION_ITEMS

The CreateAdjustment integration flow uses:

  • BRMARServices with operation PCM_OP_AR_EVENT_ADJUSTMENT

See Oracle Communications Billing and Revenue Management Opcode Flist Reference for more information.

Siebel CRM Interfaces

The Adjustment integration flow uses these Siebel CRM interfaces:

  • SWICreateAdjustment: To submit the adjustment

  • SWIAdjustmentStatusUpdate: To update the adjustment

See "Web Services Reference" in Siebel Order Management Guide Addendum for Communications for more information.

Industry Oracle AIA Components

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

  • AccountBalanceAdjustmentEBO

  • QueryAccountBalanceAdjustmentListEBM

  • QueryAccountBalanceAdjutsmentListResponseEBM

  • CreateAccountBalanceAdjustmentListEBM

  • CreateAccountBalanceAdjustmentListResponseEBM

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/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/

The industry enterprise business service (EBS) WSDL files are located under the MDS repository at: $AIA_HOME/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).

See "Configuring and Using Oracle Enterprise Repository as the Oracle SOA Repository" in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information on how to use and configure OER to provide the AIA Reference Doc link.

EBOs can be extended such as adding new data elements. These extensions are protected and will remain intact even after a patch or an upgrade, so long as the extensibility guidelines are followed.

See "Working with AIA Design Patterns", AIA Assets Extensibility Patterns, Extending Existing Schemas in AIA in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information.

Integration Services

These services are delivered with the Adjustment Integration flow:

  • AdjustmentSiebelCommsReqABCS

  • QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl

  • QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl

  • CreateAccountBalanceAdjustmentSiebelCommsABCSImpl

  • CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl

  • UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl

  • CreateAccountBalanceAdjustmentListResponseBRMCommsJMSConsumer

  • CreateAccountBalanceAdjustmentListResponseBRMCommsJMSProducer

  • CreateAccountBalanceAdjustmentSiebelCommsJMSConsumer

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

See "Session Pool Manager" in Oracle Application Integration Architecture Pre-Built Integrations Utilities Guide for more information.

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-5 illustrates the relationship of AdjustmentSiebelCommsReqABCS with the other services in the integration flow.

Figure 7-5 AdjustmentSiebelCommsReqABCS

Description of Figure 7-5 follows
Description of "Figure 7-5 AdjustmentSiebelCommsReqABCS"

QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl

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

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

Figure 7-6 QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl

This image is described in the surrounding text.

QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl

QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl transforms the AccountBalanceAdjustmentEBM message into an 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-7 illustrates the relationship of QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl with the other services in the integration flow:

Figure 7-7 QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl

This image is described in the surrounding text.

CreateAccountBalanceAdjustmentSiebelCommsABCSImpl

CreateAccountBalanceAdjustmentSiebelCommsABCSImpl transforms the Siebel message into an AccountBalanceAdjustmentEBM message format and calls the provider 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.

CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl

CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl transforms the AccountBalanceAdjustmentListEBM into an 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.

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.

See "Session Pool Manager" in Oracle Application Integration Architecture Pre-Built Integrations Utilities Guide for more information.

CreateAccountBalanceAdjustmentListResponseBRMCommsJMSConsumer

This service picks the message from the queue AIA_CRTADJLSTRSPJMSQUEUE and routes the CreateAccountBalanceAdjustmentListResponseMsg to UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl.

CreateAccountBalanceAdjustmentListResponseBRMCommsJMSProducer

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

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.