Also called the O2C cycle, Order-to-cash is how your business receives, processes, manages, and completes orders. It begins from the time an order takes place and includes each step of the delivery and payment process. In this case, NetSuite represents our backend.
This particular Accelerator contains prebuilt Schemas, Rulesets, Business Processes, and other resources used for development, deployment/execution, and testing. This includes mapping tools that are specific to several business flows as part of this offering. Finally, there are also resources necessary to display data in several Cockpit monitoring pages.
Supported integration flows
The NetSuite - X12 OTC Accelerator comprises these business flows.
Pre-built Integration Flows: Integration flows in CIC are provided to receive X12 850 (Purchase Order) from the Trading partners and create the corresponding Sales Order in NetSuite. Once the Order is Approved, fulfilled, the integration flow automatically retrieves details from the NetSuite and creates the respective outbound documents like X12 855 (PO Acknowledgement) and X12 856 (ASN). Once the Invoice is created for the Order in the NetSuite the Accelerator has the project to retrieve the Invoice from the NetSuite and generates the X12 810 (Invoice) document. All the flows will also have the respective X12 997 (Functional Ack) flow and outbound EDI validations included.
Logical Mapping Specification (LMS) Template: The document which explains the business rules that are applied while creating the inbound and outbound documents. The template helps in documenting any changes to the template integration as per your requirement.
Multiple Trading Partner Onboarding: The design lets you onboard multiple Trading Partners at once using the Wizard.
Email notification for unknown Trading Partner: If the Inbound/Outbound payloads are received where no matching configurations are found, then an email notification will be generated.
EDI Message Validations:
- Duplicate EDI Data check based on ICN: The Accelerator has the logic to handle any duplicate EDI data that is retrieved from the Trading partner. If need be, this can be turned per partner or per doctype.
- Inbound/Outbound EDI Validation: Accelerator is enabled to catch any invalid EDI syntaxes in both Inbound and Outbound flow. The execution will be stopped if there are any syntax errors. The settings can be changed to not to stop execution as well.
Error Handling and Ticket Creation: Accelerator ensures all the processing failures are logged as a ticket and is marked as an issue in the Cockpit.
Out of the box Cockpit visibility: Accelerator is already enabled with the resources necessary to display data in several Cockpit monitoring pages.
- The Trip view (shown below) provides the life cycle of an Order till the Invoice is generated
- The Accelerator is also enabled to have charts to monitor the various transactions.
Dashboard > Chart transactions: Below are the screenshots of the charts from the dashboard for 850,855,856 and 810. Details about the count of messages translated are displayed.
- Before running the Wizard setup, create a required connector project in the workspace. Name the connector com.cleo.cic.connector.netsuite
- Reference the list of Custom fields used for integration. For more details on Custom fields, please refer to the following NetSuite documentation (https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_N2826978.html). If there are changes to custom field IDs, then the translation Rulesets must also be updated.
- UPC: Any Product ID field (PO107/PO109/PO111/PO113/PO115/PO117/PO119/PO121/PO123/PO125) which is preceded by the Qualifier “UP” will be considered as UPC code and mapped to the SalesOrder\SalesOrderItemList\SalesOrderItem\internalID.
- Configure the Cleo-provided Reference Table.
- Deploy the com.cleo._customer_.edi.accelerator.netsuite,com.cleo.b2bcloud.core and com.cleo.cic.connector.netsuite Projects.
- Run CreatePartnerRefTableBPS and CreateCountryCodeRefTableBPS.
- To verify if the setup is complete, refer to the auditor logs. They will display starting step & completed step information. In case of any issues (such as driver issues or connection issues), these would display in the auditor logs, in which case you must take necessary corrective action before running the BPS again.
- If the process ends successfully, a table named partners will be visible in Cockpit. (In the integrations tab under Reference tables section)
- Add the Trading Partner Name and the corresponding Entity Internal ID (Configured on NetSuite). For more information see Viewing and Editing Reference Tables in CIC Cockpit.
What’s not supported
- X12 Accelerator supports X12 EDI Version 4010 only (currently).
- For Ship Notice (X12 856), only SOPI structure is supported currently.
Adding New Flows
You can extend the project to add a specific flow not already covered as part of the Accelerator.
For example, if an inbound 860 flow needs to be added, then you would follow these steps.
- Create a package in com.cleo._customer_.edi project. Name it com.cleo._customer_.edi.n860.
- Create an 860 EDI schema (be sure to use required version).
- Create a new project: com.cleo._customer_.netsuite.extended.
- Add the booster project: com.cleo._customer_.booster.netsuite as a dependency in Manifest.MF of com.cleo._customer_.netsuite.extended.
- Create a new package: com.cleo._customer_.netsuite.extended.inbound.n860 in the project: com.cleo._customer_.netsuite.extended.
- Create a Business Process that calls the required Netsuite Business Process.
- Check out com.cleo.cic.cockpit.core.n860 and then add it to the dependencies in the com.cleo._customer_.netsuite._tp_project.
- Create a package in com.cleo._customer_.edinetsuite project; name it: com.cleo._customer_.edinetsuite.inbound.n860.
- Create and configure an inbound route BP.
- Create a package named: com.cleo._customer_.netsuite._tp_.inbound.n860.v4010 in the com.cleo._customer_.netsuite._tp project.
- Create and configure an inbound route.
- Create a transformation Ruleset as per your specific mapping requirements.
- Deploy all projects that have changed.
- Run and test your integration.
Adding an outbound flow. In the steps below, an outbound 846 flow will be added.
- Create a package in com.cleo._customer_.edi project; name it: com.cleo._customer_.edi.n846.\
- Create an 846 EDI schema. Be sure to use correct version.
- Create a new project: com.cleo._customer_.netsuite.extended
- Add the booster project: com.cleo._customer_.booster.netsuite as a dependency in Manifest.MF of com.cleo._customer_.netsuite.extended Project.
- Create a package named: com.cleo._customer_.netsuite.extended.outbound.n846 in the project: com.cleo._customer_.netsuite.extended.
- Create the Scheduler,Launcher, DARS, Get BP, Search request and Get request Rulesets.
- Check out com.cleo.cic.cockpit.core.n846 and add it to the dependencies in com.cleo._customer_.netsuite._tp project.
- Create a package in com.cleo._customer_.edinetsuite project; name it: com.cleo._customer_.edinetsuite.outbound.n846.
- Create an outbound route BP and configure it as required. For details, refer to the Outbound810RouteBPS under com.cleo._customer_.edinetsuite.outbound.n810 package.
- Create the GetRequest and UpdateRequest Rulesets. For details, refer to the Outbound810GetRequestRS and Outbound810UpdateRequestRS, in the package com.cleo._customer_.edinetsuite.outbound.n810.
- Create a package named com.cleo._customer_.netsuite._tp_.outbound.n846.v4010 in the com.cleo._customer_.netsuite._tp project.
- Create an outbound route and configure it accordingly.
- Create the transformation Ruleset per your mapping requirements.
- Create and configure the Enveloper.
- Deploy all projects that have changed.
- Run and test your integration.
Please contact Cleo Support if you need any details on the Project structure.
Detailed documentation is provided on the Project structure and object-level details per each Accelerator. Please refer to the X12 O2C With NetSuite Accelerator document provided in com.cleo._customer_.edinetsuite Project under docs folder.
Configure the global variables
Configure the B2BCloudAdminEmail (receiver) and B2BCloudHostEmail (sender) variables in the com.cleo.b2bcloud.core.B2BCloudGV Global Variable. These are resolved during failures and will trigger an e-mail.
Custom Data Types
NetSuite has multiple customizations and there are multiple types of custom fields that can be created in an entity. Based on the field type the rules/actions from the NetSuite connector will change in the CIC Rulesets. This information below demonstrates NetSuite SOAP Operations with different data types such as Multi-Select Custom Field, MultiselectSearchDouble, Multiselect Search Long, etc.
See the following steps to implement the Search operation based on Double DataType custom fields.