Contents
- Overview: Understanding the SAP Ariba Network – NetSuite integration template for Suppliers
- Install the SAP Ariba Network – NetSuite integration template for Suppliers
- Configure and run flows in the SAP Ariba Network – NetSuite integration template for Suppliers
Additional record mapping is required to integrate the template’s exports and imports with your SAP Ariba Network 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 Ariba Network invoices
The flow syncs invoices from NetSuite as invoices in SAP Ariba Network.
Flow details
- Export source: NetSuite
- Import destination: SAP Ariba Network
- 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 Ariba Network invoices – add invoices into SAP Ariba Network
- Built-in import: Import NetSuite invoices – update invoices in NetSuite with internal ID as the lookup identifier
Before you begin
- Sync NetSuite sales orders with SAP Ariba Network purchase orders.
- Make sure that OrderId in SAP Ariba Network and Order # in NetSuite are the same.
- The Tax Code and Tax Rate in NetSuite should be the same as the Tax Category and Tax Rate in SAP Ariba Network, respectively.
Setup instructions
- Configure static lookup for Unit Type, Currency, and Tax Category in Import SAP Ariba Network invoices.

- Configure the following HTTP request body mappings according to your business requirements:
- In Flow Builder, click to edit Import SAP Ariba Network invoices.
- In the Edit import panel, scroll down to the section How would you like the records imported.
- Under Build HTTP request body, click Launch.
- 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 Ariba Network ship notices
The flow syncs item shipments from NetSuite as ship notices in SAP Ariba.
Flow details
- Export source: NetSuite
- Import destination: SAP Ariba Network
- 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 Ariba Network ship notices – add ship notices into SAP Ariba Network
- Built-in import: Import NetSuite item shipments – update item shipments in NetSuite with internal ID as the lookup identifier
Before you begin
- Sync SAP Ariba purchase orders with NetSuite sales orders.
- The OrderId in SAP Ariba and Order # in NetSuite should be the same.
- Store the OrderPayloadID for SAP Ariba purchase orders in a custom field in the NetSuite sales orders record.
Setup instructions
- Configure static lookup for Unit Type, Currency, and Rout Method in Import SAP Ariba Network ship notices.

- Configure the following HTTP request body mappings according to your business requirements:
- In Flow Builder, click to edit Import SAP Ariba Network ship notices.
- In the Edit import panel, scroll down to the section How would you like the records imported.
- Under Build HTTP request body, click Launch.
- 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>
- Configure mapping for Celigo [AT] Channel Shipment Exported to IO per your business needs in Import NetSuite item shipments.

NetSuite sales order confirmations to SAP Ariba purchase order confirmations
The flow syncs Sales Order Confirmation from NetSuite as PO Confirmation in SAP Ariba.The flow confirms the PO in SAP Ariba using OrderID.
Flow details
- Export source: NetSuite
- Import destination: SAP Ariba Network
- Built-in export: Get NetSuite sales order confirmations – get all sales orders with status as Pending Fulfillment from NetSuite that have been updated since this flow last ran
- Built-in import: Import SAP Ariba Network purchase order confirmations – add order confirmations into SAP Ariba Network
- Built-in import: Import NetSuite sales orders – update sales orders in NetSuite with internal ID as the lookup identifier
Before you begin
- Sync SAP Ariba purchase orders with NetSuite sales orders.
- The OrderId in SAP Ariba and Order # in NetSuite should be the same.
- Store the OrderPayloadID for SAP Ariba purchase orders in a custom field in the NetSuite sales orders record.
Setup instructions
- Configure static lookup for Unit Type and Currency in Import SAP Ariba Network purchase order confirmations.

- Configure the following HTTP request body mappings according to your business requirements:
- In Flow Builder, click to edit Import SAP Ariba Network purchase order confirmations.
- In the Edit import panel, scroll down to the section How would you like the records imported.
- Under Build HTTP request body, click Launch.
- 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>
- Configure mapping for Ready To Be Sent to Ariba Network per your business needs in Import NetSuite sales orders.

SAP Ariba Network purchase orders to NetSuite sales orders
This integration flow syncs SAP Ariba Network purchase orders as NetSuite sales orders.
Flow details
- Export source: SAP Ariba Network
- Import destination: NetSuite
- Built-in listener: Get SAP Ariba Network purchase orders – all purchase orders sent via a webhook from SAP Ariba Network
- preSavePage hook: AribaPODataNormalization.js – reformat SAP Ariba JSON array for use with expected NetSuite data structure
- Built-in import: Import NetSuite sales orders – add or update sales orders into NetSuite with configured custom field as the lookup identifier
Before you begin
- The custom fields Classification Code and Classification Domain on the NetSuite items record should not be empty.
- The UnitType field in NetSuite inventory items should not be empty.
Setup instructions
- Configure mapping for Status (InternalId) (Field ID: orderstatus.internalid) in Import NetSuite sales orders.
- Configure a dynamic lookup for Customer (InternalId) in Import NetSuite sales orders.
- 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
Comments
0 comments
Please sign in to leave a comment.