Sourcing and Procurement Operations integration with third-party sourcing solutions

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 10 minutes to read
  • ServiceNow can integrate with third-party sourcing solutions to automate the sourcing process within the Sourcing and Procurement Operations product. A generic, easily configurable sourcing integration framework is provided within Source-to-Pay Integration Framework to enable users to specify the business criteria for triggering an integration. This integration framework can also integrate with multiple third-party sourcing solutions based on different criteria.

    Customers can either build the connector to that third-party tool or find one in the ServiceNow store.

    For example, Fairmarkit, a third-party solution, built and certified their own ServiceNow application to the store, which leverages the integration framework to connect with the Fairmarkit system. For more information on this integration, visit store.

    Decision configuration

    The Sourcing Event Generation Rule decision table in Sourcing and Procurement Operations helps the sourcing managers and procurement teams to configure the business criteria on demand, which provides them with flexibility to decide on the types of requests that should be integrated with a third-party sourcing solution. If no decisions are configured, then sourcing requests aren’t sent to any external applications.

    When a shopper requests pricing for an item that must be sourced in ShoppingHub, the following decision inputs are automatically evaluated in ServiceNow:

    • Sourcing request
    • Purchase line

    To configure a decision:

    1. Navigate to Purchase Automation > Administration > Decision Tables.
    2. Select the Sourcing Event Generation Rule decision table.
    3. On the Decisions related list, select New.
    4. In the Label field, enter a name for the label.
    5. In the Answer field, select an answer record for the given external application from the Third-Party Sourcing Registration table.
      Note:
      If there are no existing external application records in the Third-Party Sourcing Registration table, create one with the following:
      • Third-Party Sourcing Registration Code: User-defined code to be associated to the third-party sourcing registration.
      • Third-Party Sourcing Registration Name: Name of the third-party sourcing registration to be integrated with ServiceNow.
    6. In the Condition field, configure the conditions using the sourcing request and purchase line decision inputs.
      Note:
      To successfully send sourcing requests to the applicable external third-party application, these conditions must be evaluated to be true.

    Integration tables

    Integration tables are used to interact with the third-party sourcing application.

    Relevant information that is required to conduct a Request for anything (RFx) in the third-party application is staged within ServiceNow and transferred through APIs to the third-party application. The following integration tables are used to achieve this:

    • Sourcing Outbound Queue, which stores the sourcing requests. It captures the items that need to be sourced along with the shopper, employee, or requester's requirements from sourcing intake.
    • Sourcing Line Outbound Queue, which stores the purchase lines associated with the sourcing requests. It captures the supplier details that the shopper, employee, or requester wanted to source from. Additionally, ServiceNow sends any other suppliers that supply the same product model as the item that needs to be sourced.
    • Sourcing Bid Stage, which is an inbound table used as part of the RFx process. It is used to get the supplier responses to the RFx in real time from the third-party tool, back into the ServiceNow instance.
    • Awarded Supplier Outbound Queue, which stores the awarded suppliers. It captures the supplier details that are awarded in ServiceNow, and shares this data with the third-party tool for them to share the award business wins or losses with the suppliers.
    Table 1. Sourcing Outbound Queue
    Field Field type Description
    City String Delivery city
    Country String Delivery country
    End date Other Date End date of the service
    Expected delivery date Other Date Expected delivery date of the good
    Grouped sourcing request number String ServiceNow's negotiation event record number
    Integration status String Integration processing status
    Manufacturer String Name of the manufacturer
    Manufacturer part number String Part number of the manufacturer
    Maximum budget Decimal Internal budget provided by the requester
    Preferred currency String Preferred currency of transaction
    Processing message String Integration processing message
    Product category String
    Product model String Product model name. Required for catalog items.
    Product model short description String Short description of the product model
    Product name String Product name. Required for off-catalog items.
    Product type String Good or service
    Purchase reason String Internal reason to purchase this item
    Quantity Integer Quantity provided by the requester
    Start date Other Date Start date of the service
    State String Delivery state
    Street String Delivery street
    Sourcing request number String ServiceNow's sourcing request record number
    Sourcing request short description String ServiceNow's sourcing request short description
    Sourcing request status String Status of the requester's intake record (sourcing request)
    Supplier responses close Other Date Formerly named Bids end date. This is the due date for all suppliers to provide a response to an RFx.
    Third party tool name String Name of the third-party tool
    Third party tool RFx ID String Event number of the third-party tool
    Third party tool RFx ID status String Event status of the third-party tool
    Third party tool RFx URL String Event URL of the third-party tool
    Unit String Unit populated on the product details
    UNSPSC String UNSPSC code
    Zip code String Delivery zip code
    Table 2. Sourcing Line Outbound Queue
    Field Field type Description
    Integration status String Integration processing status
    Processing message String Integration processing message
    Purchase line number String ServiceNow's purchase line record number
    Sourcing out queue header Reference Reference to the sourcing outbound table
    Sourcing request number String ServiceNow's sourcing request record number
    Supplier company name String Supplier name. This can be requested by the requester or existing supplier providing a catalog item
    Supplier email address String Email address of the supplier
    Supplier ERP number String Identification number for the supplier in the ERP system
    Supplier number String ServiceNow's supplier record
    Supplier part number String Part number of the supplier
    Table 3. Sourcing Bid Stage
    Field Field type Description
    Grouped sourcing request number String ServiceNow's negotiation event record number
    Integration status String Integration processing status
    Manufacturer String Name of the manufacturer
    Manufacturer part number String Part number of the manufacturer
    Preferred currency String Preferred currency of transaction
    Processing message String Integration processing message
    Product category String
    Product model String Product model name. Required for catalog items.
    Product model short description String Short description of the product model
    Product name String Product name. Required for off-catalog items. This is a mandatory field.
    Product type String Good or service
    Purchase line number String ServiceNow's purchase line record number
    Quote number String Quote number back from Request for Quote (RFQ)
    Quote price String Quote unit price back from RFQ
    Shipping amount String Quote shipping amount from RFQ
    Sourcing out queue ID String Reference to the sourcing outbound table
    Sourcing request number String ServiceNow's sourcing request record number. This is a mandatory field.
    Sourcing request short description String ServiceNow's sourcing request short description
    Supplier address String Supplier location: Address
    Supplier city String Supplier city found on the quote
    Supplier company name String Supplier name. This is a mandatory field.
    Supplier country String Supplier country found on the quote
    Supplier County / District String Supplier location: County or district
    Supplier delivery date Date/Time Supplier delivery date of the good
    Supplier email address String Email address of the supplier found on the quote
    Supplier end date Date/Time Supplier end date of the service
    Supplier ERP number String Identification number for the supplier in the ERP system
    Supplier fax number String Supplier fax number found on the quote
    Supplier lead time (days) String Supplier lead time
    Supplier notes String Notes from the supplier, if any
    Supplier number String ServiceNow's supplier record
    Supplier part number String Part number of the supplier
    Supplier PO box number String Supplier PO box number found on the quote
    Supplier primary phone number String Supplier primary phone number found on the quote
    Supplier quantity String Supplier quantity found on the quote. This is a mandatory field.
    Supplier region String Supplier location: Region
    Supplier start date Date/Time Supplier start date of the service
    Supplier State / Province String Supplier state found on the quote
    Supplier street address String Supplier location: Street address
    Supplier website String Supplier website, if provided on the quote
    Supplier Zip / Postal code String Supplier zip code found on the quote
    Third party tool name String
    Third party tool RFx ID String Event number of the third-party tool
    Third party tool RFx ID status String Event status of the third-party tool
    Third party tool RFx URL String Event URL of the third-party tool
    Unit String Unit populated on the product details. This is a mandatory field.
    UNSPSC String UNSPSC code
    Table 4. Awarded Supplier Outbound Queue
    Field Field type Description
    Integration status String Integration processing status
    Processing message String Integration processing message
    Purchase line number String ServiceNow's purchase line record number
    Purchase requisition number String ServiceNow's purchase requisition record number created after awarding
    Quantity Integer Quantity amount awarded
    Sourcing request number String ServiceNow's sourcing request record number
    Supplier company name String Supplier awarded in ServiceNow
    Supplier ERP number String Identification number for the supplier in the ERP system
    Supplier number String ServiceNow's supplier record
    Third party tool RFx URL String Event URL of the third-party tool

    Integration process

    • If an integration is triggered, considering that applicable business criteria are defined in the decision table, and a request for pricing initiated by a shopper in ShoppingHub meets the criteria, a sourcing request and negotiation event is systematically created in the Sourcing and Purchasing Automation application.
    • Relevant data is populated in the sourcing outbound queue and sourcing outbound line queue tables, which can then be processed by the third-party solution accordingly, to initiate an RFx in their platform. Negotiation event is also created for the integrated sourcing request.
      Note:
      After a sourcing request is created and posted to the sourcing outbound queue table, the third-party tool that is responsible for processing that sourcing request is identified and stored in the Third party tool name field.
    • A system property for the supplier responses close date (sn_spend_intg.u_bids.end.date) sets the Supplier responses close field value on the negotiation event and sourcing request to after the negotiation event has been created, plus the number of days defined. The default value is three days. The sourcing manager can override this value manually when updating this field on the negotiation event record.
      Note:
      A schedule job can be set up in the ServiceNow instance to check if the supplier responses close date has been reached (aka today). When done, ServiceNow stops receiving bids from suppliers and moves all individual supplier negotiations to the Pricing Obtained state, and then to Requires Decision. The sourcing manager or fulfiller can then award a supplier with the business. The timestamp of the supplier responses close date is 23:59:59 of the day the bids close, in UTC date/time format. As the sourcing manager, you can also decide to close the bids now, with the date and timestamp of now, and proceed with the awarding flow without any wait time.
    • If the supplier responses close date changes on the sourcing request, then this update is sent to the sourcing outbound queue. The Supplier responses close field is updated. Also, if a sourcing request or purchase line is canceled, this status is also sent back to the sourcing request or purchase line outbound tables respectively.
      Note:
      The supplier responses close date is read-only on the sourcing request, but any change of the supplier responses close date on the negotiation event rolls up to the sourcing request.
    • If there’s an error inserting new or updated records to this table, then the integration status is updated to Failed. The sourcing request at this point is in the Pending Resubmission state. The error details are captured in the Processing Message field and the integration error task is displayed. The procurement specialist must address the error and then resubmit both the sourcing request and negotiation event by selecting the Resubmit button.
      Note:
      Currently, errors are logged only on the Sourcing Outbound Queue table.
    • Suppliers are invited to participate in a bid and engage through the third-party application platform.
    • When quotes are returned, the sourcing bid stage table is populated by the third-party solution and the information is processed internally within ServiceNow using a transform map to populate the purchase lines on the sourcing request.
      Note:
      When an RFx is created or awarded in the third-party tool, shoppers and sourcing managers are notified through emails and alerts from Shopping Hub and Source-to-Pay Workspace respectively. Shoppers and sourcing managers are also notified about rejected bids, irrespective of the integration.
    • If additional supplier bids are returned from the third-party solution, an existing logic in ServiceNow determines if a new supplier, supplier product record, or both must be created.
    • After awarding is done in ServiceNow, that information is sent back to the third party using the award outbound table. Awarding can also be done in the third-party tool, in which case the data is received by ServiceNow.

    For information on the sourcing request flow, see Sourcing request. For more information, see Compare quotes and select a supplier.