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.
Features
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.
- The EDI 940 (Warehouse Shipping Order), also known as Warehouse Shipping Order, is commonly sent by Sellers/Suppliers to third-party logistics providers. It acts as a formal request for the shipment of goods from a remote Warehouse to the buyer’s location.CIC receives X12 850 (Sales Order) from the Trading partner and creates the corresponding Sales order in NetSuite. The same NetSuite Sales order XML record is sent to CIC where X12 940 is generated and sent to a warehouse trading partner.
- The EDI 820 (Payment Order/Remittance Advice), also known as customer payment, is sent in response to an EDI 810 invoice to confirm payment details or advise the seller of any adjustments to the payment amount. Usually, an 820 is sent jointly with the payment itself. The actual funds transfer is often coordinated through the Automated Clearinghouse (ACH) system, and an 820 may be effectively wrapped in an ACH banking transaction. EDI X12 820 is sent to CIC where a NetSuite Customer Payment is created.
- The 875 (Grocery Products Purchase Order), also known as a Grocery Products Purchase Order (X12 875) are received from trading partners and create the corresponding Standard Sales Order with grocery Checked on NetSuite. Once the Orders/Items are Approved/Cancelled, the corresponding Purchase Order Acknowledgement (X12 855) is generated. Once the Order is Approved/Fulfilled, the integration flow automatically retrieves details from NetSuite and creates the respective outbound documents, such as X12 855 (PO Acknowledgement) and X12 856 (ASN). Once the Invoice is created for the Order in NetSuite, the Accelerator retrieves the Invoice from NetSuite and generates the X12 880 (Invoice) document. All the flows also include the respective X12 997 (Func Ack) flow and outbound EDI validations.
- The EDI 880 (Grocery Invoice), also known as a Grocery Products Invoice, is sent by a grocery supplier to a buyer, such as a grocery store, to bill for grocery products. CIC receives grocery invoice data in the form of .CSV file from the supplier NetSuite ERP and creates the corresponding grocery invoice EDI X12 for the trading partner.
- The EDI 943 (Stock Transfer Shipment Advice), also known as Warehouse Stock Transfer Shipment Advice, is used by suppliers to notify third parties that the supplier is making a transfer to the warehouse. It is an Advance Ship Notice of goods from a remote Warehouse to buyer’s location. CIC receives a Purchase Order, Transfer Order, or Return Authorization from the Trading partner and creates the corresponding Purchase order, Transfer Order, or Return Authorization in NetSuite. The same NetSuite Purchase order, Transfer Order, or Return Authorization XML record is sent to CIC, where an X12 943 is generated and sent to a warehouse trading partner.
- The EDI 944 (Warehouse Stock Transfer Receipt Advice), also known as Warehouse Stock Transfer Receipt Advice, is commonly used by third-party logistics providers to Sellers/Suppliers. NetSuite Purchase Order, Transfer Order, and Customer Return are sent to CIC where an X12 944 is generated and sent to the Supplier/Seller as a Receipt.
- The EDI 860 (Purchase Order Change), also known as a Purchase Order Change Request, is sent from a buyer to a seller when the buyer needs to make changes to their EDI 850 Purchase Order. This helps streamline trading partner communications so that changes can be tracked and made easily. An EDI X12 860 is sent to CIC where a NetSuite Purchase Order Change is generated.
- The 846 (Inventory advice) outbound also known as Inventory Inquiry/Advice, provides updates regarding Inventory Levels, Stock status, and availability. This is a bi-directional transaction set and it can be sent by either TP or Customer. In the current phase of the accelerator, CIC receives inventory XML from customer NetSuite ERP and creates the corresponding Inventory EDI X12 for trading partners.
Integration Design Specification Template: This is a default mapping template for a Transaction between source and target ecosystem entities. The Integration Design Specification describes the transaction type, Data Flow direction, source data, target data, and relevant application version(s). It also includes applicable B2B/API elements and mapping rules. The template helps in documenting any changes to the template integration per your specific requirements.
Multiple Trading Partner Onboarding: The design lets you onboard multiple Trading Partners at once using the Wizard.
Email notification for unknown Trading Partners: 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: The 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: The 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: The Accelerator is already enabled with the resources necessary to display data in several Cockpit monitoring pages.
- The Message Detail view (shown below) provides the life cycle of an Order through Invoice generation
- 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, 860, 855, 875, 880, 820, 856, 810, 846, 940, 945, 943, and 944. Details about the count of messages translated are displayed.
Prerequisites
- The Netsuite Customizations are bundled in a sandbox environment. Support must be requested to get this bundle shared to the customer’s instance by providing the Account Id. Refer to the steps to install the bundle in the Customer instance.
- The internal ids being used in the Saved Search Scripts will have to be modified as per the customer’s instance internal ids. An example of changing the internal id in the saved search script is shown here.
- The global variables have to be initialized with the internal id of the archival folder. The internal ids of the folders vary depending on the customer’s instance. For example:
- Download the Accelerator using the template wizard. See Initial Setup for Accelerators and Boosters.
- Configure the Cleo-provided Reference Table.
-
- Deploy the
com.cleo._customer_.edi.accelerator.netsuite
,com.cleo.b2bcloud.core
andcom.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 the Reference tables section)
- Add the Trading Partner Name and the corresponding Entity Internal ID (configured in NetSuite). For more information see Viewing and Editing Reference Tables in CIC Cockpit.
- Deploy the
What’s not supported
- X12 Accelerator supports X12 EDI Version 4010 only (currently).
- Consolidated Invoice is not supported as part of X12 810 integration.
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 itcom.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 ofcom.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 thecom.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 thecom.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 and name it:com.cleo._customer_.edi.n846
. - Create an 846 EDI schema. Be sure to use the correct version.
- Create a new project:
com.cleo._customer_.netsuite.extended
- Add the booster project:
com.cleo._customer_.booster.netsuite
as a dependency inManifest.MF
ofcom.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 Process Scheduler, Launcher BP, DARS, Get BP, Search request and Get request Rulesets.
- Check out
com.cleo.cic.cockpit.core.n846
and add it to the dependencies incom.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 thecom.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.
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. The 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.
Related Topics
- 810 Flow: Configuration and Testing
- 820 Flow: Configuration and Testing
- 850 Flow: Configuration and Testing
- 855 Flow: Configuration and Testing
- 856 Flow: Configuration and Testing
- 860 Flow: Configuration and Testing
- 875 Flow: Configuration and Testing
- 880 Flow: Configuration and Testing
- 846 Flow: Configuration and Testing
- 940 Flow: Configuration and Testing
- 943 Flow: Configuration and Testing
- 944 Flow: Configuration and Testing
- 945 Flow: Configuration and Testing
- Error Handling - EDI X12 Order-to-Cash <> NetSuite
Comments
0 comments
Please sign in to leave a comment.