X

Best Practices from Oracle Development's A‑Team

A Simple Guide to ERP Cloud Customer Creation through integration

Bala Mahalingam
Consulting Solution Architect A-Team

Reading Time: < 10 minutes

Introduction

Customer information is the foundational data for any enterprise. Definition of a Customer object is a crucial one in the Oracle ERP Cloud implementation. 

Typical use cases for customer creation in Oracle ERP Cloud are:

  1. Users creating customer information through application user interface
  2. Users creating / updating customer information through spreadsheets
  3. Integration with another cloud / on-premise application
  4. Initial data load of customer records from legacy applications

This blog is focused on integration use case (3) and provide you an overview of creating customer record in ERP Cloud leveraging new REST API’s available in release 20D and SOAP services.

If you are implementing ERP Cloud and Sales Cloud you need to plan your customer on-boarding process based on your business requirements. One of my blogs on customer data definition guidelines can help you to model your customer in Oracle Fusion Applications cloud. For example, you could start with Prospect in Sales Cloud, and promote it to customer in your sales process, and that customer record will be automatically available in ERP Cloud. ERP Cloud requirement will be just to create Customer Account.

ERP Cloud Customer Creation Options Overview

 

User Interface

Customer Data Uploads using Spreadsheet

Services (Integration)

File-based import

Use Case

Real-time creation of customer records in ERP Cloud by users

Users can download customer spreadsheet template, and upload customers in batch

Integrate applications using REST and SOAP services

Bulk load data from your source/legacy applications in batch

Guideline

Design your customer onboarding and governance process thoroughly

Leverage this option for users to manage customer data themselves using a spreadsheet

 

Use this for initial data load option for simple customer data definition

Recommended for your integrations between applications.

Avoid using this option for thousands of records at the same time

Use this approach for Initial data load and batch/bulk data loads

 

ERP Cloud Customer Creation using integration (REST & SOAP)

With the availability of new REST services in 20D for Organization and Person objects, ERP cloud integrations for customer creation becomes simplified. If you are implementing ERP Cloud along with Sales Cloud or Customer Data Management, the customer records will be available in ERP automatically.

The table below provides the services that are needed to create a customer record in ERP Cloud.

Release 20D

Prior to release 20D

New REST API is available for Organization & Person (Location and Organization/Person records gets created in one payload/call)

All services are SOAP Webservices

REST API’s

SOAP Web Services

  • Create Customer Account with Site & Use
    • foundationParties/CustomerAccountService
  • Create Customer Account Profile
    • fscmService/ReceivablesCustomerProfileService
  • Create Location 
    • crmService/FoundationPartiesLocationService
  • Create Organization / Person with Site
    • crmService/FoundationPartiesOrganizationService
    • foundationParties/PersonService
  • Create Customer Account with Site & Use
    • foundationParties/CustomerAccountService
  • Create Customer Account Profile
    • fscmService/ReceivablesCustomerProfileService

 

 

Sample Payloads

Sample payloads provided here create an Organization Customer record. If you need to create a Person Customer record, you may use /crmRestApi/resources/11.13.18.05/hubPersons

Create Organization Customer (REST API):

/crmRestApi/resources/11.13.18.05/hubOrganizations

{

"PartyNumber": "6789543254",

"SourceSystemReference": [

{

"SourceSystem": "SAP",

"SourceSystemReferenceValue": "S2A2P224"

}

],

"OrganizationName": "Architects A-Team Integrators",

"PartyUsageCode": "EXTERNAL_LEGAL_ENTITY",

"RawPhoneNumber": "9199199199",

"EmailAddress": "bm@oracle.com",

"URL": "www.oracle.com",

"Address": [

{

"AddressType": "BILL_TO",

"Address1": "500 Oracle Parkway",

"City": "Redwood Shores",

"Country": "US",

"County": "San Mateo",

"PostalCode": "94065",

"PostalPlus4Code": "",

"State": "CA"

}

],

"CorpCurrencyCode": "USD",

"CurcyConvRateType": "Corporate",

"CurrencyCode": "USD",

"DUNSNumber": "123456789"

}

 

Organization Customer and Address records get created in one REST call. From the response payload, take PartyId and AddressId to be used as parameters to create a Customer Account.

Create Customer Account with Site & Use (SOAP Service) 

Customer Account facilitates the financial arrangement that a person or organization has with a deploying company to buy products and services.

 

/crmService/CustomerAccountService

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/cdm/foundation/parties/customerAccountService/applicationModule/types/" xmlns:cus="http://xmlns.oracle.com/apps/cdm/foundation/parties/customerAccountService/" xmlns:cus1="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/custAccountContactRole/" xmlns:par="http://xmlns.oracle.com/apps/cdm/foundation/parties/partyService/" xmlns:sour="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/sourceSystemRef/" xmlns:cus2="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/custAccountContact/" xmlns:cus3="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/custAccountRel/" xmlns:cus4="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/custAccountSiteUse/" xmlns:cus5="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/custAccountSite/" xmlns:cus6="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/custAccount/">

   <soapenv:Header/>

   <soapenv:Body>

      <typ:createCustomerAccount>

         <typ:customerAccount>

            <cus:PartyId>300000215095743</cus:PartyId>

            <cus:AccountName>Oracle A-Team</cus:AccountName>      

            <cus:AccountNumber>78901233121</cus:AccountNumber>

            <cus:CustomerType>R</cus:CustomerType>

            <cus:CustomerClassCode>CONSUMER</cus:CustomerClassCode>

            <cus:AccountEstablishedDate>2020-11-13</cus:AccountEstablishedDate>

            <cus:CreatedByModule>HZ_WS</cus:CreatedByModule>

            <cus:CustomerAccountSite>

               <cus:PartySiteId>300000215095749</cus:PartySiteId>

               <cus:CreatedByModule>HZ_WS</cus:CreatedByModule>

               <cus:SetId>300000046981965</cus:SetId>

               <cus:StartDate>2020-11-13</cus:StartDate>

               <cus:CustomerAccountSiteUse>

                  <cus:SiteUseCode>BILL_TO</cus:SiteUseCode>

                  <cus:CreatedByModule>HZ_WS</cus:CreatedByModule>

               </cus:CustomerAccountSiteUse>

            </cus:CustomerAccountSite>

         </typ:customerAccount>

      </typ:createCustomerAccount>

   </soapenv:Body>

</soapenv:Envelope>

 

Customer Account and Account Site records get created through this SOAP service. Populate the correct SetId based on your configurations. Fill in the PartyId and AddressId from the REST response to PartyId and PartySiteId on the SOAP service payload. From the response payload, take CustomerAccountId and PartyId to be used as parameters to create a Customer Account Profile record.

Create Customer Account Profile (SOAP Service)

Service to create customer profiles to maintain characteristics of customer accounts, such as creditworthiness, business volume, payment cycles, and late charge policies. For each profile, you can define information such as credit limits, payment terms, statement cycles, invoicing, and discount information. You can also define amount limits for your late charges and statements for each currency in which you do business.

 

/fscmService/ReceivablesCustomerProfileService

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/types/" xmlns:cus="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/" xmlns:cus1="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileDff/" xmlns:cus2="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileGdf/">

   <soapenv:Header/>

   <soapenv:Body>

      <typ:createCustomerProfile>

         <typ:customerProfile>

            <!--Optional:-->

            <cus:AccountNumber>91009</cus:AccountNumber>

            <cus:CustomerAccountId>300000215095911</cus:CustomerAccountId>

            <cus:ProfileClassName>DEFAULT</cus:ProfileClassName>

            <cus:CreditChecking>Y</cus:CreditChecking>

            <cus:CreditHold>N</cus:CreditHold>

            <cus:DiscountTerms>Y</cus:DiscountTerms>

            <cus:DunningLetters>N</cus:DunningLetters>

            <cus:EffectiveEndDate>2030-01-10</cus:EffectiveEndDate>

            <cus:EffectiveStartDate>2020-11-12</cus:EffectiveStartDate>

            <cus:OverrideTerms>Y</cus:OverrideTerms>

            <cus:PartyId>300000215095743</cus:PartyId>

            <cus:CollectorName>Jim Jones</cus:CollectorName>

            <cus:AutoReceiptsIncludeDisputedItems>N</cus:AutoReceiptsIncludeDisputedItems>

            <cus:ConsolidatedInvoice>N</cus:ConsolidatedInvoice>

            <cus:CreditLimit>10000</cus:CreditLimit>

            <cus:CreditCurrencyCode>USD</cus:CreditCurrencyCode>

         </typ:customerProfile>

      </typ:createCustomerProfile>

   </soapenv:Body>

</soapenv:Envelope>

 

Customer Account Profile record gets created through this SOAP service. Populate the correct AccountNumber field with a unique number for a new record. Fill in the PartyId and CustomerAccountId from the REST response to PartyId and CustomerAccountId on the SOAP service payload.

Application Screen Shot (Outcome from the integration)

The above integration will create Organization customer (Party), Party Site (Address), Customer Account, Customer Account Site, Customer Account Profile records. Screenshot below is provided for verification.

Navigation: Receivables --> Billing --> Manage Customers 

 

 

Conclusion

Oracle ERP cloud provides you with the batch, real-time (user interface), and integration options for creating customer information based on your business requirements. In 20D, REST APIs are available to simplify your integration use case that enables you to speed up your implementation.

These new REST services will help you in developing and managing integration code quickly.

I hope this blog will help you in designing your customer creation using integration.

References

Note: Always refer to the latest documentation.

  1. REST API for CX Sales and B2B Service
  2. SOAP Web Services for CX Sales and B2B Service
  3. SOAP Web Services for Financials

Join the discussion

Comments ( 1 )
  • Bala Mahalingam Tuesday, January 5, 2021
    Application Navigation: Receivables --> Billing --> Manage Customers
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha