Oracle® Application Integration Architecture Oracle Financial Management Integration Pack Implementation Guide for Oracle Transportation Management and Oracle E-Business Suite Release 3.1 Part Number E50313-01 |
|
|
PDF · Mobi · ePub |
This chapter provides an overview of the process integration for receivable bills and discusses business process flows, assumptions and constraints, Oracle E-Business Suite (Oracle EBS) and Oracle Transportation Management (OTM) interfaces, core Oracle Application Integration Architecture (Oracle AIA) components, and integration services.
This chapter includes the following sections:
The receivable bills integration flow allows OTM to manage and bill the sell-side settlement process by approving bills and sending the transaction to the financial application for collection and management of uncollectibles.
The process integration for receivable bills supports these integration flows:
Manual Bill
User creates the bill manually based on the sell shipment. OTM approves the bill amount to be received from the customer:
Changes the bill status to issued.
Sends the transaction using the BillingXML to Oracle EBS AR.
Auto Bill
OTM creates a sell shipment:
Creates a bill based on the sell shipment.
Approves the bill for the amount to be received from the customer.
Changes the bill status to issued.
Sends the transaction using the BillingXML to Oracle EBS AR.
Consolidated Bill
OTM creates a sell shipment:
Creates a consolidated bill for multiple sell shipments.
Approves the bill for the amount to be received from the customer.
Changes the bill status to issued.
Sends the transaction using the BillingXML to Oracle EBS AR.
Credit Memo
OTM creates a credit memo for over payment
Matches it with the original shipment.
Creates the bill with the status of process hold. The user approves the bill and creates the approved bill.
Changes the approved bill status to issued.
Sends the transaction using the BillingXML to Oracle EBS AR.
Figure 5-1 shows the process integration for receivable bills:
The receivable bills process integration flow creates the bill in Oracle EBS Account Receivables (AR) based on the customer bill sent by OTM.
Figure 5-2 is a sequence diagram that shows the process integration for receivable bills:
When you initiate the process these events occur:
OTM enqueues the messages into the AIA_INVOICE_AQ queue. This service dequeues the messages and invokes the CreateInvoiceListLogisticsReqABCSImpl service.
The CreateInvoiceListLogisticsReqABCSImpl service transforms the OTM CreateInvoiceListLogisticsABM into the CreateInvoiceListEBM, populates the enterprise business message (EBM) Header, updates the cross-reference data, and invokes the InvoiceEBS with the CreateInvoiceList operation in fire and forget mode.
The InvoiceEBS service with the CreateInvoiceList operation routes the messages based on the Composite Application Validation System (CAVS) flag to either the CreateInvoiceListEbizProvABCSImpl service or the CAVS simulator in an asynchronized fire and forget mode.
The CreateInvoiceListEbizProvABCSImpl transforms the CreateInvoiceListEBM into the Oracle EBS InvoiceListEbizABM, and invokes the CreateInvoiceListEbizAppsAdapter.
The CreateInvoiceListEbizAppsAdapter service receives the InvoiceListEbizABM, sets the apps context, and invokes the Oracle EBS AR PL/SQL API - AR_EBI_INVOICE_PUB. ar_invoice_submission.
These are the solution assumptions and constraints:
OTM sends only approved bills for collection.
OTM creates the bill and enqueues them in the named queue in the AIA_INVOICE_AQ based on user defined agents.
If any errors occur in the service layer and the bills do not reach Oracle EBS interface tables, the AIA error handling framework notifies you.
You should manually re-submit the transactions that failed. In case that a batch of bills is sent in a single transmission, if a single bill fails, the whole batch fails and should be sent again.
This integration does not perform any validations and raise errors due to any business validation failure in OTM or in Oracle EBS.
For example, if the Oracle EBS invoice import process rejects the bill due to a validation error, you should manually correct the data in the Oracle EBS interface tables and re-run the import process.
This integration supports only the creation of a list of receivable invoices. Update and query of receivable invoices is not supported in this integration.
OTM matches the bills against shipments and sends the approved bills to Oracle EBS AR based on a user-defined agent. Duplicate bill checking is done in OTM.
OTM only sends single currency bills for collection. Since the OTM requester ABCS does not validate if the currency is different at the line level and at the header level; OTM must reject the bills that have different currency at the header and line level.
A bill can only belong to one operating unit. Therefore, if there are consolidated bills with multiple operating units, the collections are made for only one operating unit.
OTM sends only bills and credit memos to Oracle EBS AR, other type of transactions - that is debit memos, must be created in Oracle EBS.
In Oracle EBS AR, all imported bills are assigned the default transaction type (invoice). When there is negative amount, the bill has transaction type of credit memo.
When there are adjustments to a bill, a new bill with a different invoice number must be created.
Payment method and terms are maintained in Oracle EBS AR; therefore, imported bills use the default payment method and terms for the customer.
If there is no value in the ServiceProviderGID in the OTM XML, the default legal entity for the operating unit is used as the service provider.
OTM populates the reference number to indicate the operating unit with a reference qualifier type as OP_UNIT based on the agents defined to copy this value from order release to shipment and bill.
For consolidated bills, the parent bill in OTM is the bill header in Oracle EBS AR and the child bill lines in OTM are the bill lines in Oracle EBS AR.
All consolidated bills in AR must have the same due date.
All bills within the consolidated bill must contain the same currency.
An AR bill number should be no longer than 20 characters. Hence, OTM should ensure to send a bill with a bill number with less than 20 characters, else the process fails.
The schema is based on AR_EBI_INVOICE_PUB.AR_INVOICE_SUBMISSION API.
For more information about Oracle EBS web services and documentation prior to Release 12.1.3, see the library on Oracle Technology Network: http://www.oracle.com/technetwork/documentation/applications-167706.html?
. For Oracle EBS documentation for R12.1.3 and beyond, see this library: http://download.oracle.com/docs/cd/E18727_01/index.htm
.
OTM uses InvoiceListLogisticsABM to send approved bills for collection to accounts receivable financials system. GLogXML.xsd, element - Transmission, sub-element - Billing
For more information about the logistics service, see Oracle Transportation Management Integration Guide.
The integration flow uses these components:
InvoiceEBO
CreateInvoiceListEBM
InvoiceEBS
The core enterprise business object (EBO) and enterprise business message (EBM) XSD files can be located by EBO within the $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Core/EBO/ parent folder.
The core enterprise business services (EBS) web services definition language (WSDL) files can be located by EBO within the $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Core/EBO/ parent folder.
For detailed documentation of individual EBOs and EBMs, click AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository.
For more information about using the Oracle Enterprise Repository and configuring it to provide the AIA Reference Doc link, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Configuring and Using Oracle Enterprise Repository as the Oracle AIA SOA Repository."
EBOs can be extended, for instance, to add new data elements. These extensions are protected, and remain intact after a patch or an upgrade.
For more information, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Extensibility for AIA Artifacts".
These are the services delivered with this integration:
CreateInvoiceListLogisticsAQConsumer
CreateInvoiceLogisticsReqABCSImpl
InvoiceEBS
CreateInvoiceListEbizProvABCSImpl
CreateInvoiceListEbizAppsAdapter
UpdateInvoiceListEbizXref
InvoiceResponseEBS
This mediator service is implemented to route the message whenever OTM enqueues a message into the AIA_INVOICE_AQ queue. This service takes the BillingXML element from the wrapper AQ xsd and invokes the CreateInvoiceListLogisticsReqABCSImpl service.
The CreateInvoiceListLogisticsReqABCSImpl is a Business Process Execution Language (BPEL) process and a single operations service that has the InvoiceEBS as a partner service. This service receives the CreateInvoiceListLogisticsABM message as a request and does not return a response to the calling service.
This service performs these actions:
Accepts the CreateInvoiceListLogisticsABM message from OTM. The cross-reference table is populated for the unique identifier at the receivable invoice header level.
Transforms the CreateInvoiceListLogisticsABM into the CreateInvoiceListEBM. While it is transforming from the application business message (ABM) to the enterprise business message (EBM), cross-references are looked up for INVOICE_INVOICEID.
Sends the CreateInvoiceListEBM message as an input to the CreateInvoiceList operation in the InvoiceEBS service.
The INVOICE_INVOICELINETYPE: domain value mapping for the receivable invoice line type DVM is used by this service.
The InvoiceEBS is an Enterprise Business Service that exposes all the enterprise operations related to the invoice like create invoice, update invoice, and so on. This integration uses only CreateInvoiceList operation. This Enterprise Business Service routes the request to the appropriate provider like the CreateInvoiceListEbizProvABCSImpl or the Composite Application Validation System (CAVS) based on the filter condition and operations. No transformations are done in this service.
For more information about this enterprise business service (EBS), see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services""
The CreateInvoiceListEbizProvABCSImpl is a Business Process Execution Language (BPEL) process, which receives the CreateInvoiceListEBM, transforms the message into the InvoiceListEbizABM, and invokes the CreateInvoiceListEbizAppsAdapter service.
These DVM lookups are used by this service:
INVOICE_INVOICETYPE: domain value mapping for the invoice type (standard, credit memo, and so on).
INVOICE_INVOICELINETYPE: domain value mapping for the receivable invoice line types.
This service accepts the InvoiceListEbizABM message from CreateInvoiceListEbizProvABCSImpl. It sets the application context and invokes the Oracle EBS PL/SQL API AR_EBI_INVOICE_PUB.ar_invoice_submission.
The UpdateInvoiceListEbizXref service is a BPEL process. When the receivables' AutoInvoice master program successfully imports an invoice, it raises a business event oracle.apps.ar.batch.AutoInvoice.run. The subscription to this event calls the UpdateInvoiceListEbizXref service. This service uses UpdateInvoiceListEbizXrefAdapter and fetches the invoice_IDs and corresponding AIA global unique identifier (GUID), and updates the cross-reference table.
If customers choose not to use this service, they can disable the event subscription in Oracle EBS application.
The InvoiceResponseEBS is the enterprise business service (EBS) used to route all invoice response related actions to the requesting application like create invoice-response, update invoice-response, delete invoice-response, and synchronize invoice-response. CreateInvoiceListResonse is implemented as a part of this integration.