Articles in this section

Configure and run flows in the SAP Business Network Commerce Automation – NetSuite Quickstart integration template for Suppliers

Additional record mapping is required to integrate the template’s exports and imports with your SAP Business Network Commerce Automation and NetSuite apps. 

Note that all of your flows are disabled when first installed. After configuring the flows, you may enable them in your Flows dashboard or in Flow Builder with the Off/On toggle button. Then run or schedule each flow.

NetSuite invoices to SAP Business Network Commerce Automation invoices

The flow syncs invoices from NetSuite as invoices in SAP Business Network Commerce Automation.

Flow details

  • Export source: NetSuite
  • Import destination: SAP Business Network Commerce Automation
  • Built-in export: Get NetSuite invoices – get all invoices from NetSuite that have been created since this flow last ran
  • Built-in import: Import SAP Business Network Commerce Automation invoices – add invoices into SAP Business Network Commerce Automation
  • Built-in import: Import NetSuite invoices – update invoices in NetSuite with internal ID as the lookup identifier

Before you begin

  1. Sync NetSuite sales orders with SAP Business Network Commerce Automation purchase orders.
  2. Make sure that OrderId in SAP Business Network Commerce Automation and Order # in NetSuite is the same.
  3. The Tax Code and Tax Rate in NetSuite should be the same as the Tax Category and Tax Rate in SAP Business Network Commerce Automation, respectively.

Setup instructions

  1. Configure static lookup for Unit Type, Currency, and Tax Category in Import SAP Business Network Commerce Automation invoices.
    Import SAP Business Network Commerce Automation invoices: Edit import > How would you like the records imported? > HTTP request body > Open handlebars editor > Manage lookups
  2. Configure the following HTTP request body mappings according to your business requirements:
    1. In Flow Builder, click to edit Import SAP Business Network Commerce Automation Network invoices.
    2. In the Edit import panel, scroll down to the section How would you like the records imported.
    3. Under Build HTTP request body, click Launch.
    4. In the resulting editor, customize according to your requirements and preview the sample body.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.035/InvoiceDetail.dtd">
{{#each data}}
<cXML payloadID="IN.{{DocumentNumber}}.{{dateFormat 'x'}}" timestamp="{{dateFormat 'YYYY-MM-DDTHH:mm:ssZ'}}" version="1.2.042" xml:lang="en-US">
{{/each}}
  <Header>
    <From>
      <Credential domain="AribaNetworkUserID">
        <Identity>{{connection.http.unencrypted.Supplier_AribaNetworkUserID}}</Identity>
      </Credential>
    </From>
    <To>
      <Credential domain="NetworkId">
        <Identity>{{connection.http.unencrypted.Buyer_NetworkId}}</Identity>
      </Credential>
    </To>
    <Sender>
      <Credential domain="AribaNetworkUserID">
        <Identity>{{connection.http.unencrypted.Supplier_AribaNetworkUserID}}</Identity>
<SharedSecret>{{connection.http.encrypted.Supplier_SharedSecret}}</SharedSecret> </Credential> <UserAgent>Celigo Integration</UserAgent> </Sender> </Header> <Request> {{#each data}} <InvoiceDetailRequest> <InvoiceDetailRequestHeader invoiceDate="{{dateFormat MM/DD/YYYY Date YYYY-MM-DDTHH:mm:ssZ timezone}}"
invoiceID="{{DocumentNumber}}" invoiceOrigin="supplier" operation="new" purpose="standard"> <InvoiceDetailHeaderIndicator/> <InvoiceDetailLineIndicator/> <InvoicePartner> <Contact role="shipTo"> <Name xml:lang="en">New York</Name> <PostalAddress name="default"> <Street>{{ShippingAddress1}}</Street> <Street>{{ShippingAddress2}}</Street> <City>{{ShippingCity}}</City> <State>{{ShippingState}}</State> <PostalCode>{{ShippingZip}}</PostalCode> <Country isoCountryCode="{{ShippingCountryCode}}">{{ShippingCountry}}</Country> </PostalAddress> </Contact> </InvoicePartner> <InvoiceDetailShipping> <Contact role="billto"> <Name xml:lang="en-US">Trinity Marcom Ltd. (ACP FT)</Name> <PostalAddress> <Street>{{BillingAddress1}}</Street> <Street>{{BillingAddress2}}</Street> <City>{{BillingCity}}</City> <State>{{BillingState}}</State> <PostalCode>{{BillingZip}}</PostalCode> <Country isoCountryCode="{{BillingCountryCode}}">{{BillingCountry}}</Country> </PostalAddress> </Contact> </InvoiceDetailShipping> </InvoiceDetailRequestHeader> <InvoiceDetailOrder> <InvoiceDetailOrderInfo> <OrderReference orderID="{{OrderNumber}}"> <DocumentReference payloadID="IN166767887310111"></DocumentReference> </OrderReference> </InvoiceDetailOrderInfo> {{#each Items as |a|}} <InvoiceDetailItem invoiceLineNumber="{{LineID}}" quantity="{{Qty}}"> <UnitOfMeasure>Each</UnitOfMeasure> <UnitPrice> <Money currency="USD">{{}}</Money> </UnitPrice> <InvoiceDetailItemReference lineNumber="{{LineID}}"> <ItemID> <SupplierPartID>{{ItemID}}</SupplierPartID> </ItemID> <Description xml:lang="en"></Description> </InvoiceDetailItemReference> <SubtotalAmount> <Money currency="USD">5000.00</Money> </SubtotalAmount> <GrossAmount> <Money currency="USD">5000.00</Money> </GrossAmount> <NetAmount> <Money currency="USD">5000.00</Money> </NetAmount> <Extrinsic name="punchinItemFromCatalog">no</Extrinsic> </InvoiceDetailItem> {{/each}} </InvoiceDetailOrder> <InvoiceDetailSummary> <SubtotalAmount> <Money currency="USD">{{TotalAmount}}</Money> </SubtotalAmount> <Tax> <Money currency="USD">{{TaxAmount}}</Money> <Description xml:lang="en-US"></Description> </Tax> <GrossAmount> <Money currency="USD">{{GrossAmount}}</Money> </GrossAmount> <NetAmount> <Money currency="USD">{{NetTotalAmount}}</Money> </NetAmount> <DueAmount> <Money currency="USD">{{DueAmount}}</Money> </DueAmount> </InvoiceDetailSummary> </InvoiceDetailRequest> {{/each}} </Request> </cXML>

NetSuite item shipments to SAP Business Network Commerce Automation ship notices

The flow syncs item shipments from NetSuite as ship notices in SAP Business Network Commerce Automation.

Flow details

  • Export source: NetSuite
  • Import destination: SAP Business Network Commerce Automation
  • Built-in export: Get NetSuite item shipments – get all item shipments from NetSuite that have been created since this flow last ran
  • Built-in import: Import SAP Business Network Commerce Automation ship notices – add ship notices into SAP Business Network Commerce Automation
  • Built-in import: Import NetSuite item shipments – update item shipments in NetSuite with internal ID as the lookup identifier

Before you begin

  1. Sync SAP Business Network Commerce Automation purchase orders with NetSuite sales orders.
  2. The OrderId in SAP Business Network Commerce Automation and Order # in NetSuite should be the same.
  3. Store the OrderPayloadID for SAP Business Network Commerce Automation purchase orders in a custom field in the NetSuite sales orders record. 

Setup instructions

  1. Configure static lookup for Unit Type, Currency, and Rout Method in Import SAP Business Network Commerce Automation ship notices.
    Import SAP Business Network Commerce Automation ship notices: Edit import > How would you like the records imported? > HTTP request body > Open handlebars editor > Manage lookups
  2. Configure the following HTTP request body mappings according to your business requirements:
    1. In Flow Builder, click to edit Import SAP Business Network Commerce Automation ship notices.
    2. In the Edit import panel, scroll down to the section How would you like the records imported.
    3. Under Build HTTP request body, click Launch.
    4. In the resulting editor, customize according to your requirements and preview the sample body.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.045/Fulfill.dtd">
    {{#each data}} 
    <cXML payloadID="IN.{{DocumentNumber}}.{{dateFormat 'x'}}" timestamp="{{dateFormat 'YYYY-MM-DDTHH:mm:ssZ'}}" version="1.2.042" xml:lang="en-US">
    {{/each}}
      <Header>
        <From>
          <Credential domain="AribaNetworkUserID">
            <Identity>{{connection.http.unencrypted.Supplier_AribaNetworkUserID}}</Identity>
          </Credential>
        </From>
        <To>
          <Credential domain="NetworkId">
            <Identity>{{connection.http.unencrypted.Buyer_NetworkId}}</Identity>
          </Credential>
        </To>
        <Sender>
          <Credential domain="AribaNetworkUserID">
            <Identity>{{connection.http.unencrypted.Supplier_AribaNetworkUserID}}</Identity>
            <SharedSecret>{{connection.http.encrypted.Supplier_SharedSecret}}</SharedSecret>
          </Credential>
          <UserAgent>Celigo Integration</UserAgent>
        </Sender>
      </Header>
      <Request>
        {{#each data}}
        <ShipNoticeRequest>
          <ShipNoticeHeader shipmentType="actual" deliveryDate="{{dateFormat MM/DD/YYYY  AribaDeliveryDate YYYY-MM-DDTHH:mm:ssZ timezone}}" shipmentDate="{{dateFormat MM/DD/YYYY  AribaShipmentDate YYYY-MM-DDTHH:mm:ssZ timezone}}" noticeDate="{{dateFormat MM/DD/YYYY  AribaNoticeDate YYYY-MM-DDTHH:mm:ssZ timezone}}" operation="new" shipmentID="{{DocumentNumber}}">
            <Contact role="shipTo">
              <Name xml:lang="en">{{ShippingAddressee}}</Name>
              <PostalAddress>
                <DeliverTo>{{ShippingAddressee}}</DeliverTo>
                <Street>{{ShippingAddress1}},{{ShippingAddress2}},{{ShippingAddress3}} </Street>
                <City>{{ShippingCity}}</City>
                <State>{{ShippingState}}</State>
                <PostalCode>{{ShippingZip}}</PostalCode>
                <Country isoCountryCode="{{ShippingCountryCode}}">{{ShippingCountry}}</Country>
              </PostalAddress>
            </Contact>
          </ShipNoticeHeader>
          <ShipControl>
            <CarrierIdentifier domain="companyName">{{ShippingCarrier}}</CarrierIdentifier>
            <ShipmentIdentifier trackingNumberDate="{{AribaTrackingDate}}">{{TrackingNumbers}}</ShipmentIdentifier>
            <TransportInformation>
              <Route method="{{lookup "RoutMethodlookup" ShipVia}}"></Route>
              <ShippingInstructions>
                <Description xml:lang="en-US">{{DeliveryInstructions}}</Description>
              </ShippingInstructions>
            </TransportInformation>
          </ShipControl>
          <ShipNoticePortion>
            <OrderReference orderDate="{{dateFormat MM/DD/YYYY  OrderDate YYYY-MM-DDTHH:mm:ssZ timezone}}" orderID="{{OrderDocumentNumber}}">
              <DocumentReference payloadID="{{SAPAribaPayloadID}}"></DocumentReference>
            </OrderReference>
            {{#each Items as |a|}}
            <ShipNoticeItem shipNoticeLineNumber="{{LineID}}" lineNumber="{{add LineID 1}}" quantity="{{Qty}}">
              <ItemID>
                <SupplierPartID>{{ItemID}}</SupplierPartID>
              </ItemID>
              <ShipNoticeItemDetail>
                <UnitPrice>
                  <Money currency="{{lookup "CurrencyLooupID" Currency}}">{{Amount}}</Money>
                </UnitPrice>
                <Description xml:lang="en-US"></Description>
                <UnitOfMeasure>{{lookup "UnitTypeLookup" UnitType}}</UnitOfMeasure>
              </ShipNoticeItemDetail>
              <UnitOfMeasure>{{lookup "UnitTypeLookup" UnitType}}</UnitOfMeasure>
            </ShipNoticeItem>
            {{/each}}
          </ShipNoticePortion>
        </ShipNoticeRequest>
        {{/each}}
      </Request>
    </cXML>
  3. Configure mapping for Celigo [AT] Channel Shipment Exported to IO per your business needs in Import NetSuite item shipments.
Field mappings: Import NetSuite item shipments

NetSuite sales order confirmations to SAP Business Network Commerce Automation purchase order confirmations

The flow syncs Sales Order Confirmation from NetSuite as PO Confirmation in SAP Business Network Commerce Automation. The flow confirms the PO in SAP Business Network Commerce Automation using OrderID.

Flow details

  • Export source: NetSuite
  • Import destination: SAP Business Network Commerce Automation
  • Built-in export: Get NetSuite sales order confirmations – get all sales orders with the status as Pending Fulfillment from NetSuite that have been updated since this flow last ran
  • Built-in import: Import SAP Business Network Commerce Automation purchase order confirmations – add order confirmations into SAP Business Network Commerce Automation
  • Built-in import: Import NetSuite sales orders – update sales orders in NetSuite with internal ID as the lookup identifier

Before you begin

  1. Sync SAP Business Network Commerce Automation purchase orders with NetSuite sales orders.
  2. The OrderId in SAP Business Network Commerce Automation and Order # in NetSuite should be the same.
  3. Store the OrderPayloadID for SAP Business Network Commerce Automation purchase orders in a custom field in the NetSuite sales orders record.

Setup instructions

  1. Configure static lookup for Unit Type and Currency in Import SAP Business Network Commerce Automation purchase order confirmations.
    Import SAP Business Network Commerce Automation purchase order confirmations: Edit import > How would you like the records imported? > HTTP request body > Open handlebars editor > Manage lookups
  2. Configure the following HTTP request body mappings according to your business requirements:
    1. In Flow Builder, click to edit Import SAP Business Network Commerce Automation purchase order confirmations.
    2. In the Edit import panel, scroll down to the section How would you like the records imported.
    3. Under Build HTTP request body, click Launch.
    4. In the resulting editor, customize according to your requirements and preview the sample body.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.045/Fulfill.dtd">
    {{#each data}}
    <cXML payloadID="IN.{{DocumentNumber}}.{{dateFormat 'x'}}" timestamp="{{dateFormat 'YYYY-MM-DDTHH:mm:ssZ'}}" version="1.2.042" xml:lang="en-US">
    {{/each}}
      <Header>
        <From>
          <Credential domain="AribaNetworkUserID">
            <Identity>{{connection.http.unencrypted.Supplier_AribaNetworkUserID}}</Identity>
          </Credential>
        </From>
        <To>
          <Credential domain="NetworkId">
            <Identity>{{connection.http.unencrypted.Buyer_NetworkId}}</Identity>
          </Credential>
        </To>
        <Sender>
          <Credential domain="AribaNetworkUserID">
            <Identity>{{connection.http.unencrypted.Supplier_AribaNetworkUserID}}</Identity>
            <SharedSecret>{{connection.http.encrypted.Supplier_SharedSecret}}</SharedSecret>
          </Credential>
          <UserAgent>Celigo Integration</UserAgent>
        </Sender>
      </Header>
      <Request>
        {{#each data}}
        <ConfirmationRequest>
          <ConfirmationHeader noticeDate="{{dateFormat MM/DD/YYYY  Date YYYY-MM-DDTHH:mm:ssZ timezone}}" type="accept" operation="new" confirmID="{{DocumentNumber}}">
            <Shipping>
              <Money currency="{{lookup "CurrencyLookup" this}}">{{ShippingCost}}</Money>
              <Description xml:lang="en-US"></Description>
            </Shipping>
            <Tax>
              <Money currency="{{lookup "CurrencyLookup" this}}"></Money>
              <Description xml:lang="en-US"></Description>
            </Tax>
          </ConfirmationHeader>
          <OrderReference orderDate="{{dateFormat MM/DD/YYYY  Date YYYY-MM-DDTHH:mm:ssZ timezone}}" orderID="{{DocumentNumber}}">
            <DocumentReference payloadID="{{AribaPOPayloadID}}"></DocumentReference>
          </OrderReference>
          {{#each Items as |a|}}
          <ConfirmationItem lineNumber="{{LineID}}" quantity="{{Qty}}">
            <UnitOfMeasure>{{lookup "UnitTypeLookup" UnitType}}</UnitOfMeasure>
              <ConfirmationStatus deliveryDate="{{dateFormat MM/DD/YYYY  DeliveryDate YYYY-MM-DDTHH:mm:ssZ timezone}}" shipmentDate="{{dateFormat MM/DD/YYYY  ShipmentDate YYYY-MM-DDTHH:mm:ssZ timezone}}" type="accept" quantity="{{Qty}}">
                <UnitOfMeasure>{{lookup "UnitTypeLookup" UnitType}}</UnitOfMeasure>
              </ConfirmationStatus>
          </ConfirmationItem>
          {{/each}}
        </ConfirmationRequest>
        {{/each}}
      </Request>
    </cXML>
  3. Configure mapping for Ready To Be Sent to Ariba Network per your business needs in Import NetSuite sales orders.
    Field mappings: Import NetSuite sales orders

SAP Business Network Commerce Automation purchase orders to NetSuite sales orders

This integration flow syncs SAP Business Network Commerce Automation purchase orders as NetSuite sales orders.

Flow details

  • Export source: SAP Business Network Commerce Automation
  • Import destination: NetSuite
  • Built-in listener: Get SAP Business Network Commerce Automation purchase orders – all purchase orders sent via a webhook from SAP Business Network Commerce Automation
    • preSavePage hook: AribaPODataNormalization.js – reformat SAP Business Network Commerce Automation JSON array for use with expected NetSuite data structure
  • Built-in import: Import NetSuite sales orders – add or update sales orders into NetSuite with the configured custom field as the lookup identifier

Before you begin

  1. The custom fields Classification Code and Classification Domain on the NetSuite items record should not be empty.
  2. The UnitType field in NetSuite inventory items should not be empty.

Setup instructions

  1. Configure mapping for Status (InternalId) (Field ID: orderstatus.internalid) in Import NetSuite sales orders.
  2. Configure a dynamic lookup for Customer (InternalId) in Import NetSuite sales orders.
  3. Configure the following mappings according to your business requirements in Import NetSuite sales orders:
    • Billing Address 1
    • Billing Addressee
    • Billing City
    • Billing Country (InternalId)
    • Billing State
    • Billing Zip
    • Celigo [AT] SAP Ariba OrderID
    • Celigp[AT] SAP Ariba PO PayloadID
    • Customer (InternalId)
    • Date
    • Items : Item (Name)
    • Items : Line ID
    • Items : Price
    • Items : Qty
    • Items : Replace All Lines
    • Order #
    • SAP Ariba orderVersion
    • Shipping Address 1
    • Shipping Address Country
    • Shipping Address Zip Code
    • Shipping Addressee
    • Shipping City
    • Shipping State Address
    • Status (InternalId) (Field ID: orderstatus.internalid)


Field mappings: Import NetSuite sales orders

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.