ITC-InT-AR Middleware Enrichment 1.4
ITC-InT-AR Middleware Enrichment 1.4
ITC-InT-AR Middleware Enrichment 1.4
Application Module AR
Volume 4 million Invoices per year 2019/20 million invoice lines per year 2019
Draft Reviewers
Name Position Date
Approvers
Name Position Date
Requirement
1 Document - NCR PL101_OTC_Invoicing_v.2
RTM
Detail FD
2 Requirement Invoice Integration FD Detail Req
Document
https://ncr.sharepoint.com/:x:/r/sites/erpcloudfin/_layouts/15/Doc.aspx?sourcedoc=
Mapping %7BD1E274B9-DD88-44D3-BD6E-C66A7165E169%7D&file=ITC-INT-090%20Mapping
3 %20.xlsx&action=default&mobileredirect=true
Document
1. OVERVIEW
Summary
Summary
Bhushan
Oracle EBS – ITC KanisettyPhani.Bhushan@ncr.com
KanisettyPhani
Remove Govind Sharma from
Oracle EBS -ITC Govind Sharma Govind.Sharma@ncr.com
the list
Oracle EBS -ITC Rajiv Gulnawar Rajivkumar.Gulnawar@ncr.com
Oracle EBS -ITC Som Tiwari Som.Tiwari@ncr.com
Oracle EBS -ITC Neelam Nangia Neelam.nangia@ncr.com
ACRONYMS AND DEFINITIONS
Acronym Description
AR Accounts Receivables
AR Transactions Refers to AR Invoices, Credit Memos and Debit Memos
ERP Enterprise Resource Planning
OIC Oracle Integration for Cloud
MFT Manage File Transfer
FBDI File Based Data Import
UCM Universal Content Management
Source System Refers to billing systems from where billing extracts are sent
OM Order Management
Descriptive Flex Field – Refers to fields available in Oracle to store additional
DFF
information
KDD Key design decision
RTM Requirement’s traceability matrix
BU Business Unit – Oracle Cloud equivalent of org id (loosely)
ESS Enterprise Scheduler Service – Oracle Cloud’s scheduled job functionality
CMU Common Mapping Utility – NCR custom solution for lookup / cross walk data
mapping between legacy system to Oracle Cloud for GL accounts, config setups,
etc.
OneSource Thomson Reuters’ OneSource tax engine used for sales tax calculation in NCR
AEM Adobe Experience Manager – Cloud solution used for invoice presentation in NCR
GAMIT Global Account Management Invoice Tool – NCR legacy tool for consolidating
invoices across business units / ledgers / cross currencies.
2. ASSUMPTIONS
Assumptions – Table 4
# Assumptions
1 All pre req setups should be completed in ERP cloud with completed status
2 Sales order creation and fulfillment will continue to be in on-premises EBS, and Invoice creation will happen in
Oracle ERP Cloud
3 Any dataset that has been rationalized will leverage CMU to get the new value.
4 Invoice Accounting will be derived based on the Cloud Accounting Solution. Source System will not send invoice
distributions.
5 Primary source for Tax calculation shall be OneSource and not Oracle Cloud.
6 All customers and their sites required for customer invoicing should be available in CDM and ERP cloud
AR-Ability to push all the Billing transaction information from oracle cloud to middleware.
XXX
AR-Ability to pull document repository, CFS serial numbers, EMS portal/port information, order
management shipping information along with the serial numbers associated with sales order.
XXX
AR-Ability to deliver data to destination systems such as Ariba, Coupa, Pagero , EDI, Government
portal, Pinnacle, Customer email, AEM (Invoice presentation),cloud database and MYNCR.
XXX
AR-Ability to write, update and read invoice records from invoice database
XXX
Prerequisite Setups
These can be set up in the ERP Cloud instance through the Functional Setup Manager.
# Module Details
1 AR • Customers
• Receivables System Options
• Receivables Payment Terms
• Transaction Type
• Transaction Source
• Auto Accounting Rules
• Remit-to Address
• Receipt Methods
• Line Transaction Flex field.
Groping Rules
CDM Preferences
4. DESIGN
Solution Flow Diagram
Solution Description:
Enrich all billing transactions data from ERP cloud and on-premises application such as Order
management, CFS (Service contract), EMS (Shipping) and publish data to destination systems based
on CDM invoice preferences rules.
Destination systems: Ariba, Coupa, Pagero, EDI, Government portal, Pinnacle, Customer email, AEM
(Invoice presentation), database and MYNCR is indirect subscriber from invoice DB.
Middleware would write invoice data to invoicing database and would update invoice data based on
the status of the distribution.
Middleware rules and enrichment details below:
Core data logic/Data preparation/Step of data flow:
1) Once auto-invoice completes for respective BU, Oracle cloud BI report will pull all the newly
created invoices that are complete are send to middleware.
2) Manually completed created invoice per BU would also get pulled by Oracle cloud BIP
report and sent to middleware
3) The middleware should exclude or have filter criteria for invoices that are not eligible for
presentation and not required for any destination systems such as digital and government
portals; examples for exclusion are pre-paid maintenance (PPM) for CFS. This would be
handled via distribution method.
4) Middleware must apply/gather all CDM invoice preferences (reference invoice preference
section), AR cloud would generate the BIP report and push it to middleware. Middleware to
generate data in Json/CXML/XML/text/data as per the destination system requirement
mentioned below. Middleware to write the Json format to invoice database supporting
index records required for MYNCR and BOC Application for searching.
5) Middleware would gather all data from different sources including CDM preference and
write data to invoice database. Preference does not change the data only how it is
shown/distributed to external system
6) If an “additional document” = ‘Yes” in CDM invoice preference for the given customer
account, then middleware will have to pick related document images from document
repository system like EOJ or document repository system. (reference EOJ section)
7) If “subline Information” = ‘Yes” in CDM customer invoice preference, then get the serial
number from on-premises service contract (CFS) and order management (OM) for customer
invoice. Query is provided in the section below. System from which this information is to be
retrieved depends on invoice type table
8) If invoice transaction type is “Intercompany,” from oracle cloud and invoice BU is India. For
India intercompany export transactions, get EMS information from on-premises EMS
(Export management system) custom ERP tables. This is applicable for India plant invoicing
only. Query is provided in the section below.
9) If distribution method = ‘EDI,’ pull the shipping details from order management/shipping for
customer invoices. These invoices will not be sent to AEM for pdf generation. This will be
converted to Json and sent to invoice database for storage. Further destination will be as
per EDI section.
10) For PDF versions when required: Middleware will request the invoice from Adobe and Adobe will read the
data from Adobe AEM as passed over as Adobe AEM API and return the PDF for the invoice to middleware.
11) Shipping details MUST be in the invoice database in order to produce the correct
PDF for the invoices. The final invoice that is sent in Json to the customer should be
stored in the invoice database.
12)The JSON (JavaScript Object Notation) stored in the invoice database should
contain all information and data. This is required so that internal (BOC (Business
Operations Center)) users can see all the data, even if it was not sent to the
customer.
13) This would include BOC UI edits. The BOC application would perform edits on invoices,
credit memo and debit memo that must get relayed back to invoice DB.
14) Invoice database would store Json, metadata (header and lines) for MYNCR, and additional
documents.
15) There would be integration between Salesforce and oracle cloud to provide customer
contact information. This contact information would be used for digital portals/email.
Describe different contacts such as Billing and collection/collector. Customer contact
information example email would flow from oracle cloud BIP report to middleware for
invoice distribution
16) CMU should be used when data gets transformed from on-premises ERP to an oracle cloud.
Example CDM currently stores invoice preference based on operating unit that should get
changed to BU in oracle cloud. CMU would be used to convert data from on-premises
applications such as Order mgmt., CFS and EMS. This information would also be required
when getting preference data from CDM invoice preference. CMU would be mainly used
when joining queries between oracle cloud and any of the on-premise application.
17) The CDM (Customer Data Management) invoice preference application is from bottom to
top. The site-level preference would have the highest application, then account, and last is
country. If there are no CDM invoice preferences available for the invoice type, account,
and site, then country-level preference would be considered as default. The main
consideration of data from CDM invoice preference is from account and site
18)CDM Preferences Invoice type : update Invoice types on the document
1) Distribution Method:
i. Email: If the distribution method is email, then middleware should get the
customer email information from ERP customer contact cloud via BIP report and
send an email to the customer with an email. The customer primary and
secondary email contact information shall be part of BIP report.
ii. Tungsten: If the distribution method is tungsten, then middleware should get a
CSV/Excel file in the required format from Adobe AEM middleware and place it
in SharePoint. SharePoint details will be shared later after discussion with the
BOC team. ITC-INT-064 FD should be referred. Som to provide email address.
iii. Ariba: If the distribution method is Ariba, then middleware needs to apply
additional logic mentioned in the Ariba section.
iv. Coupa: If the distribution method is Coupa, then middleware needs to apply
additional logic mentioned in the Coupa section.
v. Pagero: If the distribution method is Pagero, then middleware needs to apply
additional logic mentioned in the Pagero section.
vi. EDI: If the distribution method is EDI, then middleware needs to apply additional
logic mentioned in the EDI section and send data to the customer such as
Walmart, Scan source, and JC-Penny.
vii. Paper(Pinnacle): If the distribution method is Paper, then middleware needs to
apply additional logic mentioned in the Pinnacle section. Batch print date
viii. No Delivery(Suppress Print) : If the distribution method is “No delivery,” then
middleware should not distribute customer invoices to any of the destination
systems. Customer invoices will get generated in Adobe, and XML will get stored
in the invoice database for MYNCR and BOC UI use.
2) Distribution Format: This is the format of invoice distribution example PDF, Excel, CSV, XML,
CXML, Json
3) Local language: When local language is selected in CDM preference at Bill-To site level, the
customer invoice generation should adhere to that selection in Adobe AEM.IF there is no value
on language preference, default English language should be considered. For example, when
Japan language is selected at Bill- To site level, then invoice generation for that customer site
should display labels in the Japanese/local language.
4) Invoice Display: IF CDM preference is selected to “Detail,” or “Summary “add the tag to invoice
Json and then pass it to invoice DB
5) Tax parameter from CDM to middleware. Tax: Header/Line as per as per customer preference.
If tax = ‘Header,” then Tax will be displayed in the header section of the CXML; else, we
must display Tax at line level.
Oracle cloud will only calculate tax at line level and header using the BI report. Add the
customer preference value and customer invoice preference field tag to invoice Json
and then pass the consolidated Json tag to invoice DB.
6) Tax level parameter = Yes then display Tax in single level no breakup else Tax should be
displayed in breakup level. Example for US tax should be displayed at state, county, and city-
level. Add the customer preference value and customer invoice preference field tag to invoice
Json and then pass the consolidated Json tag to invoice DB.
7) Freight parameter from CDM to middleware. Freight header/line as per customer preference.
If freight = ‘Header,’ then freight will be displayed in the header section of the
CXML
If freight = ‘Line,’ we will have to add a line with PO line reference number = 0;
else, it will get validated with PO line that is entered in the PAAs form.
Add the customer preference tag to invoice Json and then pass the Json
tag to invoice DB
8) If BIP Invoice cloud Credit memo parameter from CDM invoice preference to middleware.
Credit memo Yes/No as per customer preference will be required to send data to destination
systems. Add the customer preference value and customer invoice preference field tag to
invoice Json and then pass the consolidated Json tag to invoice DB.
9) Additional Documents: When the additional document is required based on CDM preference
for the customer invoice, then middleware will have to pick related document images from
document repository systems like EOJ. Add the customer preference value and customer
invoice preference field tag to invoice Json and then pass the consolidated Json tag to invoice
DB.
10) Payment Option: This option is applicable to the collector persona in Adobe AEM, and MYNCR
would also display the payment option to the customer.
11) Zero Dollar Invoice: This customer invoice preference from CDM would be used to store Json in
a cloud database and will be used for invoice presentation. Add the customer preference value
and customer invoice preference field tag to invoice Json and then pass the consolidated Json
tag to invoice DB.
12) Subline Information: This customer CDM invoice preference would be used to show serial
numbers on customer invoices from on-premises order management or service contract in PDF
generation and online Adobe display. Add the customer preference value and customer invoice
preference field tag to invoice Json and then pass the consolidated Json tag to invoice DB.
13) E invoice flag: If the customer CDM preference flag = ‘Yes.’ then generated e-invoice XML
format for Turkey, else generate e-archive XML format for Turkey.
14) Include balance forward invoices if the summary flag is set to ‘Yes’ in the CDM customer
parameter. Add the customer preference value and customer invoice preference field tag to
invoice Json and then pass the consolidated Json tag to invoice DB.
When the summary flag is “Yes,” then the same steps from 3 to 8 will get repeated.
When excel sheet attachment = ‘Yes’, this invoice upload should be on hold until the
BOC team uploads the excel under location “\\wtc1501cifs\cdunix\ERP\
Digital_Summ_Inv\ERPPROD\snd
15) Middleware to check the invoice type that is selected in CDM preferences for the given
customer. The invoice type from CDM preference and invoice should be mapped based on the
Purchase order or Service contract when sending data to Ariba
Ariba:
1) When the purchase order is created in the digital portal inbound XML data of the customer purchase order shall be
stored in SOUP DBCS via middleware. Currently, this mechanism is handled through SOUP. There is validation and
enrichment process that check the data from purchase order table and transforms invoice data before sending it to
Ariba. Current on-premise tables are INFX.NCR_EINV_PORTAL_PO_EXT_HEADER and
INFX.NCR_EINV_PORTAL_PO_EXT_LINE.
2) Middleware will check customer distribution method parameter in CDM preferences if it is selected to ‘Ariba.’
Distribution method = ‘Ariba.’
3) Middleware to check the invoice type that is selected in CDM preferences for the given customer. The invoice type
from CDM and invoice should be mapped based on the Purchase order or Service contract. The BIP report or 090
invoice would have the invoice type that has to be mapped with customer invoice preference invoice type to get
below value.
IF it is a blanket PO, Purchase order number will be displayed under XML Tag MasterAgreementIDInfo
agreementID
<MasterAgreementIDInfo agreementID="BPO1241-R1">
</MasterAgreementIDInfo>
for others Purchase order number will be displayed under XML Tag OrderReference orderID
<OrderReference orderID="PO1241-R1">
<DocumentReference payloadID=""/>
</OrderReference>
Error notification need to be send to the respective people with error details as attachment .
Coupa:
1) When the purchase order is created in the digital portal inbound XML data of the customer purchase order shall
be stored in SOUP DBCS via middleware. Currently, this mechanism is handled through SOUP. There is validation
and enrichment process that check the data from purchase order table and transforms invoice data before
sending it to Coupa. Current on-premise tables are INFX.NCR_EINV_PORTAL_PO_EXT_HEADER and
INFX.NCR_EINV_PORTAL_PO_EXT_LINE.
2) Middleware will check customer distribution method parameter in CDM invoice preferences if
it is selected to ‘Coupa’. Distribution method = ‘Coupa’
3) Middleware to check the invoice type that is selected in CDM invoice preferences for the
given customer. The invoice type from CDM invoice preference and invoice should be mapped
based on the Purchase order or Service contract.
Pagero:
1) Since Pagero is going to be enabled in Turkey, So this interface will have enabled for Turkey
BU.
2) Middleware will check customer distribution method parameter in CDM preferences if it is
selected to ‘Pagero.’ Distribution method = ‘Pagero.’
3) When BU is Turkey, Middleware will receive BIP report that will have all Turkey supported
mapping fields from ERP Cloud.
4) All the credentials related to the customer/government portal would be stored in
middleware. The credentials are needed to access via digital portal when uploading invoices
data.
5) cXML data should match with invoice Presentation PDF images, and the process should work
in parallel.
6) Once the invoice is uploaded to the digital portal, capture the success/failure status should be
stored in middleware DB. Example fields MCN, invoice number, status, and portal name.
EDI:
1) When the purchase order is received from the customer, inbound XML data of the customer
purchase order shall be stored in DBCS via middleware. This mechanism is handled through
SOUP.
2) Middleware will check customer distribution method parameter in CDM preferences if it is
selected to 'EDI'. Distribution method = 'EDI'.
3) Get the shipping delivery tracking number, delivery date, waybill number from on-premises
order management/shipping tables based on interface header context = 'ORDER ENTRY' for a
given invoice.
4) Creation of the Trading Partner ID. The bill to num has enough 0's right pad to make it a total
length of 11, then cat "IN" and the Location Code (42 if T&M/Emili,44 if OM, 45 if OKS)
5) Get AOR number and Vendor id from customer site table (attribute8) hz_cust_acct_sites_all
table. Below is the statement.
a. SELECT decode(instr(cas.attribute8, 'AOR', 1, 1), 0, NULL,
substr(cas.attribute8, instr(cas.attribute8, 'AOR', 1, 1) + 3, 6)) ||
decode(instr(cas.attribute8, 'ACCT', 1, 1), 0, NULL,
substr(cas.attribute8, instr(cas.attribute8, 'ACCT', 1, 1) + 4, 4)),
decode(instr(cas.attribute8, 'VEN', 1, 1), 0, NULL,
substr(cas.attribute8, instr(cas.attribute8, 'VEN', 1, 1) + 3,
length(cas.attribute8)))
INTO :sAORNumber :indAORNumber,
:sVendorID :indVendorID
FROM hz_cust_site_uses_all csu,
hz_cust_acct_sites_all cas
WHERE csu.site_use_id = :sFuaNum
AND csu.cust_acct_site_id = cas.cust_acct_site_id;
6) After doing all the required enrichment generate EDI 810 format for the customers such as
Walmart, Scan source and Homedepot. EDI can use existing mapping currently in production.
7) Customer acknowledgment will be received once EDI is received by the customer. The tracking
data for this distribution need to be added to the JSON invoice data. The EDI result string
should also be added tracking data.
8) Below is the current EDI standard format as a reference.
Government portal: The customer generated invoices should match with
government portal invoices. All invoices for all government portals must be
written to the invoice database.
1. When BU is Chile Middleware will receive BIP report that will have all Chile supported mapping
fields from ERP Cloud.
2. Middleware will enrich data and apply rollup and other preferences.
3. Middleware will create .txt format file per below attached specified field positions.
Example:
'E' -- Hard code value
HZ_Parties.JGZZ_Fiscal_Code
'T' -- Hard code value
FND_Document_Sequences.attribute15
'F' -- Hard code value
RA_Customer_Trx.trx_number
6. On DBNet Production Server (SUSDAY15604) CronJob has been created that will move .txt file
from \\wtc1501cifs\cdunix\ChileInvoicing\Production\rcv to \\susday15604\suite_sucursal\
in\carg_auto.
7. On DBNet Production Server (SUSDAY15604) DBNet CronJobs have been created to convert .txt
format files to JSON and also upload JSON files to Government Portal.
1) If the BU is Chile, the middleware will create country specific .txt format file conditions provided by Chile
local government.
2) Place the file in this folder \\susday014\cdunix\ChileInvoicing\Production\rcv
3) BOC will manually move the .txt file from the shared location to the DBNet server folder.
4) Archiving is required for this interface.
Colombia:
1. When BU is Colombia Middleware will receive BIP report that will have all Colombia supported
mapping fields from ERP Cloud.
2. Middleware will enrich data and apply rollup and other preferences.
3. Middleware will create .txt format file per below attached specified field positions.
Example:
'E' -- Hard code value
HZ_Parties.JGZZ_Fiscal_Code
'T' -- Hard code value
FND_Document_Sequences.attribute15
'F' -- Hard code value
RA_Customer_Trx.trx_number
6. On DBNet Production Server (SUSDAY15604) CronJob has been created that will move .txt file
from \\wtc1501cifs\cdunix\ColombiaInvoicing\Production\rcv to \\susday15604\TXTJSON\
TXTJSON\TXT.
7. On DBNet Production Server (SUSDAY15604) DBNet CronJobs have been created to convert .txt
format files to JSON and also upload JSON files to Government Portal.
1) If the BU is Colombia, the middleware will create country-specific .txt format file conditions provided by
Colombia's local government.
2) Place the file in this folder \\susday014\cdunix\ColombiaInvoicing\Production\rcv
3) BOC will manually move the .txt file from the shared location to the DBNet server folder.
4) Archiving is required for this interface.
Peru:
1. When BU is Peru Middleware will receive BIP report that will have all Peru supported mapping
fields from ERP Cloud.
2. Middleware will enrich data and apply rollup and other preferences.
3. Middleware will create .txt format file per below attached specified field positions.
Example:
l_RA_Customer_Trx(i).attribute15
HZ_Parties.JGZZ_Fiscal_Code
'T' -- Hard code value
FND_Document_Sequences.attribute15
'F' -- Hard code value
RA_Customer_Trx.trx_number
6. On DBNet Production Server (SUSDAY15604) CronJob has been created that will move .txt file
from \\wtc1501cifs\cdunix\ERP\PeruInvoicing\Production\rcv to \\susday15604\esuite_suc\in\
carg_auto.
7. On DBNet Production Server (SUSDAY15604) DBNet CronJobs have been created to convert .txt
format files to JSON and also upload JSON files to Government Portal.
1) If the BU is Peru, the middleware will create country specific .txt format file conditions provided by Peru
local government.
2) Place the file in this folder \\adc1551cifs\cdunix\PeruInvoicing\Production\rcv
3) BOC will manually move the .txt file from the shared location to the DBNet server folder.
4) Archiving is required for this interface.
Portugal:
1. ERP Cloud will generate standard/custom SAFT file.
2. Middleware will place the file in shared location for user to access
3. User will upload this to Portal.
Hungary:
1. ERP Cloud will run custom program to generate Hungary XML files.
2. ERP Cloud will send XML files to Middleware
3. Middleware will place the XML files on \\wtc1501cifs\cdunix\ERP\HungaryRealtime directory.
4. Then CronJob will move the files from shared location to Hungary server.
Italy:
1. When BU is Italy Middleware will receive BIP report that will have all Italy supported mapping
fields from ERP Cloud.
2. Middleware will enrich data and apply rollup and other preferences.
3. Middleware will create CXML format file as per Italy government format.
Note: Argentina and Mexico would have government requirements too that has to be documented.
Pinnacle:
1) Middleware will check customer distribution method parameter in CDM preferences if it is selected to
‘Pinnacle’. Distribution method = ‘Pinnacle’.
2) Middleware will send data to AEM
3) AEM will generate .PS file and will return to Middleware
4) Middleware will place the .PS file on AEM shared location
5) FTS will move from AEM server to Pinnacle server for distribution.
Note: Since Pinnacle directories was not yet created on AEM server, so will share exact location once created.
Invoice Tracking:
1) After sending data to different systems based on delivery method middleware will insert tracking
information in invoicing DB table.
2) Invoice database shall store the invoice delivery details in the invoicing database. BOC application should
provide report for non-delivery invoices. The retention of these records in database would consist for 1 year of
history.
3) Middleware will pick tracking details from invoice database and shall get passed back to oracle cloud for
consumption. There will be functionality in BOC application to update invoice tracking manually by user.
4) Middleware shall store or update the invoice database tracking table once its gets successful or failure
response from distribution systems.
Invoice database:
Note: There is separate FD for invoice database, and it is on NCDM On-Prem DB.
OM Details:
SELECT s.unit_serial_number,
SUBSTRB(ms.attribute11, 1, 30) import_activity_loc,
SUBSTRB(ms.attribute14, 1, 20) import_date,
SUBSTRB(ms.attribute15, 1, 30) import_activity_num,
NUll stock_transfer_invoice -- Added against the RFC# 17985
FROM NCR_ONT_SERIAL_GENEALOGY s, MTL_SERIAL_NUMBERS ms
WHERE s.rma_line_id in (select to_number(INTERFACE_LINE_ATTRIBUTE6) from
NCR_AR_CLOUD_TRX_LINES_ALL
where CUSTOMER_TRX_LINE_ID = 100003208492504)
AND s.unit_serial_number = ms.serial_number (+)
AND ms.attribute11 (+) is not null;
CFS Details:
Serial Numbers Not availble in Cloud one item for each serial number f
Below is the reference screenshot.
EMS Details:
English Translation Cloud (Source Fields) XML Fields (Destination AEM) Sou
Query1:
SELECT distinct
nvl (wdt.mode_of_shipment ,' ') ShipType
,nvl (wdt.Remarks ,' ') DescriptionHSN
,nvl (wdt.OTHER_REFERENCE ,' ') OtherReference
,nvl (wdt.CONTAINER_DETAIL ,' ') ContainderDetails
,nvl (wdt.PORT_OF_LOADING ,' ') LoadingPort
,nvl (wdt.TERMS_OF_PAYMENT ,' ') TermsofDeliveryandPayment
,nvl (wdt.PORT_OF_DISCHARGE ,' ') DischargePort
,nvl (msi.segment1 ,' ') PartNo
,nvl (wdt.MARKS_NO ,' ') ContainerNumber
,nvl (TRIM(SUBSTR(wdt.MARKS_NO,INSTR(wdt.MARKS_NO, '(')+1,INSTR(wdt.MARKS_NO, ')')-
INSTR(wdt.MARKS_NO, '(')-1)),' ') ContainerNumber1
,nvl (to_char(wnd.delivery_id),' ') deliveryid
,nvl (to_char(wnd.organization_id),' ') organizationid
,LTRIM (TO_CHAR( NVL(wfc.attribute10,'0'))) freightamt
,LTRIM (TO_CHAR( NVL(wfc.attribute11,'0'))) insuramt
,LTRIM (TO_CHAR( NVL(wfc.attribute12,'0'))) miscamt
, LTRIM (TO_CHAR( NVL(wfc.attribute13,'0'))) otheramt
, rctl.customer_trx_id
, (select organization_code from org_organization_definitions
where organization_id = ool.ship_from_org_id) WarehouseCode
, ( select NVL(TERRITORY_SHORT_NAME,'XX') From hz_party_sites hzs, hz_locations hzl,
fnd_territories_tl ftl
where PARTY_SITE_NUMBER = rctl.SHIP_TO_SITE_NUMBER
and hzs.location_id = hzl.location_id
and TERRITORY_CODE = hzl.country) FinalDestination
FROM
oe_order_lines_all ool
,wsh_new_deliveries wnd
,wsh_delivery_assignments wda
,wsh_delivery_details wdd,
wsh_freight_costs wfc,
NCR_WSH_DEL_TRACKER wdt,
infx.NCR_AR_CLOUD_TRX_LINES_ALL rctl,
apps.mtl_system_items msi
where wdd.SOURCE_HEADER_ID=ool.HEADER_ID
AND wdd.delivery_detail_id = wda.delivery_detail_id
AND wnd.delivery_id = wda.delivery_id
AND wfc.DELIVERY_ID = wnd.delivery_id
AND wdt.DELIVERY_ID = wda.delivery_id
AND ool.line_id=to_number(rctl.INTERFACE_LINE_ATTRIBUTE6)
AND msi.INVENTORY_ITEM_ID=ool.INVENTORY_ITEM_ID
AND rctl.customer_trx_id = 1334608382; -- Pass invoice_id from cloud BIP report
Query2: This is needed later to display bill_to_address on India Export transactions will discuss because this ne special
requirement for Export Transactions.
SELECT
nvl(hps.addressee, ' ') || CHR(13) || CHR(10) ||
nvl(hl.address1, ' ') || CHR(13) || CHR(10) ||
(decode (hl.address2, null , '',hl.address2 || CHR(13) || CHR(10) )) ||
nvl(hl.city, ' ') || CHR(13) || CHR(10) ||
nvl(hl.country, ' ')
FROM
hz_cust_site_uses_all hcsua,
hz_cust_acct_sites_all hcasa,
hz_party_sites hps,
hz_locations hl,
ra_customer_trx_all rct
WHERE
( hcsua.site_use_id = rct.BILL_TO_SITE_USE_ID
AND hcsua.site_use_code = 'BILL_TO' )-- optional but couldn't hurt
AND hcasa.cust_acct_site_id = hcsua.cust_acct_site_id
AND hps.party_site_id = hcasa.party_site_id
AND hl.location_id = hps.location_id
AND rct.customer_trx_id = 1334608382; -- Pass invoice_id from cloud BIP report
Query3:
ContainerNumber1 = 'We certify that the goods covered under this Invoice were stuffed in Container no: '||
ContainerNumber1 || ' with self seal no under my supervision';
ELSE
ContainerNumber1 = 'Certify that the Qty,Description,Weight and the value of goods covered in this Invoice and the
Particulars given in the Packing List has been checked by us and the same has been packed and sealed with Self Seal
No :NCR-0796003980 under my supervision';
Query4: To displaying functional currency values for India Export Transactions we need to get values from EMS custom
ncrx.ncr_export_fx_rates tables.
Existing on-premises Invoice Engine presentation details for a referece:
1. Transactions need to be created and completed in Cloud Accounts Receivables for all billing
systems before they are eligible to generate AEM Presentation XML.
2. Data can be entered into AR one of two ways. IE supports both data entry methods.
Data can be entered manually into AR using two Oracle supplied forms, one for Invoices / Debits and one for
Credit Memos.
Data can be imported into AR using an Oracle supplied process called Auto Invoice.
3. To generate XML for OM transaction:
a. Check billing source from ra_customer_trx_all.interface_header_context = ‘ORDER
ENTRY’
b. Get OM transactions data from Oracle Cloud AR
c. Also get OM additional attributes data from OM View: NCR_OM_ORDER_DTLS_V,
since it was not available in oracle standard AR table and is needed for Invoice Image.
Example data elements: CDP (oe_order_headers-all.attribute12), CIS
(oe_order_headers_all.attribute11), Quote Number
(oe_order_headers_all.attribute8), Wot product group for rollups
(oe_order_headers_all,attribute16) etc. etc.
d. Apply CDM preferences (like: Rollup, Language etc...)
i) If rollup_flag = Y then
all lines, rolled up to single line
else
display all lines in XMLfile
ii) For language preference incase language was not selected from CDM customer site (Bill To) then
default it ‘EN’
Note: Additional preferences details can be found in CDM -- Billing Preference document.
e. Generate XML
Explanation details for Rollup preference can be found below.
CDM
Preferences
Say for instance, an invoice has 50,000 lines, if all lines are presented to customer, invoice will run to thousand of pages
Rollup lines is a functionality where multiple invoice lines are rolled up as a single line.
Invoice Header
Lines of Invoice in this case 3 lines
Invoice Image Presented to Customer
*Note:- This is sample only, ERP has invoices which can have lines greater than 50K
A single input parameter is required to determine which billing system is being processed. The input parameter cross
references NCR_IE_ORDER_SYSTEMS and NCR_IE_ORDER_SYS_BATCH_SOURCES.
NCR_IE_ORDER_SYS_BATCH_SOURCES is used to determine the associated invoice type values which need to be
extracted from AR. The NCR_IE_ORDER_SYSTEMS.extension_data_flag is used to indicate if the invoice type uses
custom tables or a view. If the custom tables are used the data will be moved during processing of each AR record.
The feeder_system_code from is used to drive special processing for this billing system. The sys_max_inv determines
the number of invoices to process in this run. The commit_inv flag is used to determine the number of invoices that
must be processed before a DB commit is invoked.
There are two tables that drive the state of processing, NCR_IE_PROCESS and NCR_IE_PROCESS_EXTERNALS.
NCR_IE_PROCESS will be used to determine the last state of running. The process code determines the state of the last
run. There are three states complete, in error, or incomplete. In the event that the process was complete the INF
tables are deleted and new data is extracted, otherwise the data remains in tact and new data is added to the old data.
NCR_IE_PROCESS_EXTERNALS is used to flag down hill processes that must use the IE INF data. An entry exists in this
table for each system that must access the INF data.
Two tables exist to handle which invoices need to be extracted for processing. NCR_IE_EXTRACT_LAST_INVOICE and
NCR_IE_EXTRACT_INVOICES. NCR_IE_EXTRACT_LAST_INVOICE contains a single record for each order system of the
last invoice produced. The sequential internal Oracle id, ra_customer_trx_all.customer_trx_id is stored to indicate the
last sequential invoice processed. Any invoice greater than this value (not including) is extracted for invoice thru
Invoice Engine. NCR_IE_EXTRACT_INVOICES contains a list of invoices that must be reproduced or that were not
processed or complete during the previous run range. The customer_trx_id is used to access back into Oracle for the
particular invoice to process.
There are two main cursors for processing, cust_trx_csr and cust_trx_lines_csr. Cust_trx_csr processes all the invoice
header records found on RA_CUSTOMER_TRX_ALL and cust_trx__lines_csr processes all the invoices lines associated
with each invoice by using the customer_trx_id to obtain all associated lines from ra_cusotmer_trx_lines_all.
NCR_IE_INTRFCE_CUST_TRX_LINES and NCR_IE_INTERFACE_SERIALS are the IE custom interface tables which house
extraneous data from the billing system. The first time the data has been processed the extraneous data is moved
from the interface tables to the permanent tables, NCR_IE_CUST_TRX_LINES and NCR_IE_SERIAL_NUMBERS. Once the
data has been moved the data cannot be altered or updated be the billing system. These tables are tied to
RA_INTERACE_LINES_ALL by using interface_line_attribute1-14 (interface_line_attribute15 is used for assignment
processing) concatenate together with a tilde (~) into a single field interace_line_attribute_key. This single field is done
to improve processing and to add a single index column. Once the data has been moved to the permanent tables the
cusotmer_trx_id and customer_trx_line_id are added and can be used to tie to RA_CUSTOMER_TRX_ALL and
RA_CUSTOMER_TRX_LINES_ALL.
Billing systems that do not use the IE custom table have DB views to pass additional data to IE for processing. This data
is maintained and updated by the billing systems.
For fatal errors all processing ceases and will rollback to the last commit point. Individual invoices that are in error are
flagged and marked for processing on the next invoice engine run on NCR_IE_EXTRACT_INVOICES.
Within this document if the field is not specifically listed the value remains null.
5 Mapping of ERP on Prem to Cloud values for Transaction types, Payment terms, Remit to address etc. will be
derived using common mapping utilities (CMU).
1. DATA MAPPING
Sample Link:
2. ERROR HANDLING
Error Handling – Table 9
TEST CONDITIONS
Test Conditions and Results – Table 10
# Test Condition Expected Results
Create a new order billing invoice in the
EBS will pulls the newly created invoice transaction with source
1 source system (Oracle EBS) and push to EBS
OM% and creates an extract file.
interface tables.
Transfer the file to ERP Cloud and run the The file from Oracle EBS is transferred and the ERP cloud program
2
Cloud Import Program via OIC. picks it up and processes it into ERP Cloud.
Check the invoices are created in ERP Cloud
3 Review the invoice for accuracy in both ERP Cloud AR.
AR
Create a new order billing credit memo in the
EBS will pulls the newly created credit memo transaction with
4 source system (Oracle EBS) and push to EBS
source OM% and creates an extract file.
interface tables.
Transfer the file to ERP Cloud and run the The file from Oracle EBS is transferred and the ERP cloud program
5
Cloud Import Program via OIC. picks it up and processes it into ERP Cloud.
Check the credit memos are created in ERP
6 Review the credit memo for accuracy in both ERP Cloud AR.
Cloud AR
Program should update flag is EBS to
Records are available in the EBS interface table to ERP Cloud AR.
7 Interfaced once OIC imports finished without
any error
Program should update flag is EBS to E should EBS records updated to “E”
8
there be any exceptions/errors
3. OPEN / CLOSED ISSUES
Open/Closed Issues – Table 12
# Issue Raised By / Assigned / Resolution Resolved Status
Date Responsibility By / Date
Needed Completed
9
4. APPENDIX