Foundation

The following services are included in this functional area:

Banners and Channels Download Service

The following services are included in this functional area:

Get Banners

Endpoints

/MerchIntegrations/services/foundation/banners

Functional Area

Foundation

Business Overview

This service retrieves all Banners. This service takes an optional query parameter of bannerId to retrieve detail for specified banner id

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/banners?bannerId=[bannerId]
Input Parameters
Parameter Name Required Data Type Description

bannerId

No

Number

Banner ID. Searches for a specific banner

Output – Banner
Name Data Type Description

bannerId

Number

This field contains the banner id

bannerName

String

This field contains the banner name

Example JSON output:

[
  {
    "bannerId": 1,
    "bannerName": "B&M"
  },
  {
    "bannerId": 2,
    "bannerName": "Direct"
  }
]
Table Impact
TABLE SELECT INSERT UPDATE DELETE

BANNER

Yes

No

No

No

Get Channels

Endpoint

/MerchIntegrations/services/foundation/channels

Functional Area

Foundation

Business Overview

This service retrieves all Channels. This service takes an optional query parameter of channelId to retrieve detail for specified channel id

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/channels?channelId=[channelId]
Input Parameters
Parameter Name Required Data Type Description

channelId

No

Number

Channel ID. Searches for a specific channel

Output – Channel
Name Data Type Description

channelId

Number

This field contains the channel id

channelName

String

This field contains the channel name

channelType

String

This field contains the channel type. Channel type is a user configured value defined in Code Detail with code_type as CHTY. Default values (which can be changed) are BANDM - Brick and Mortar, WEBSTR - Webstore, CAT - Catalog.

bannerId

Number

This field contains the banner id associated with this Channel.

Example JSON output:

[
  {
    "channelId": 2,
    "channelName": "Brick & Mortar",
    "channelType": "BANDM",
    "bannerId": 1
  },
  {
    "channelId": 3,
    "channelName": "Outlet",
    "channelType": "BANDM",
    "bannerId": 1
  }
]
Table Impact
TABLE SELECT INSERT UPDATE DELETE

CHANNELS

Yes

No

No

No

Location List Upload Service

The following services are included in this functional area:

Manage Location Lists

Functional Area

Foundation

Business Overview

This service allows for the creation and management of externally generated static location lists, as well as managing translated location list descriptions. Externally generated location lists are a list of explicitly provided stores and/or virtual warehouses. Static location lists cannot be rebuilt; no criteria is stored against externally generated static location lists. These lists can only be maintained through the web service; no updates are allowed through the Merchandising user interface. Externally generated location lists are always public. Restricting the modification of an externally generated list should be handled in the source system.

This service supports three actions: Create, Update and Delete. The Create action allows the creation of a new location list, along with a list of one or more stores and/or stock-holding virtual warehouses that are not finishers to be grouped within. The Update action supports edits to location list definitions, adding or deleting of stores or virtual warehouses grouped in a list and adding or deleting translations of location list descriptions. The Delete action supports the ability to delete an entire location list. Physical warehouses can be passed to the service to be added to or deleted from a given list, the result will be the addition or removal of all virtual warehouses within the provided physical warehouse to/from the location list.

If Data Filtering is enabled in Merchandising through system options, you can control which users may use a given location list within Merchandising solutions by providing a filter organizational identifier with the list.  This identifier can be for a chain, area, region or district depending on the Data Filtering Location List Organization Hierarchy level selected in system options.  For example, if the system option level is area, then an area can be associated with a location list. Subsequently, only users with data filtering access to that area are able to use that location list on transactions throughout Merchandising.  If no filter organizational identifier is associated with a location list, then any user can use the list within Merchandising.

Upon successful completion the service returns success along with the location list identifier and, if provided, the external reference. If there are upload validation errors the entire message is rejected and the service returns a failure status, along with a list of errors for each location list identifier, external reference, and location.

Service Type

PUT

ReST URL
MerchIntegrations/services/foundation/locationLists/manage
Input Payload Details

Table 5-83 Manage - Object. See list of elements for detail

Element Name Required Data Type Description

collectionSize

Yes

Number (4)

Number of items in the collection.

items

Yes

Collection of Object

References a collection of Location List Data.

Table 5-84 Items - Object. See list of elements for detail

Element Name Required Data Type Description

action

Yes

String (10)

Specifies the intended action to create, update or delete an externally generated location list. Valid values are CREATE, UPDATE, or DELETE.

locationList

No

Number (10)

Contains a location list identifier. When creating a location list, if a value is not provided, the system will create a unique sequence-generated identifier. For action as UPDATE, DELETE and if this value is provided, then it will be used to identify the location list.

locationListDescription

No

String (120)

Contains the location list description. This is mandatory field with action as CREATE.

externalReferenceNo

No

Number (20)

This field will optionally contain an external reference number used by an external system to identify the location list. For action as UPDATE and DELETE, if the location list id is not provided, then this field is mandatory.

filterOrganizationHierarchy

No

Number (10)

When Data Filtering is enabled in the system, the Filter Organizational Hierarchy may contain the Organizational Hierarchy value to which the Location List is assigned. This field will be used to control the Location Lists a user can use, based on whether the user has data filtering access to the Filter Organizational Hierarchy value

comments

No

String (2000)

Contains comments about the location list. For externally generated lists user may wish to provide information about the list origins or intended use.

locations

No

Collection of Object

References a collection of location list locations.

translations

No

Collection of Object

References a collection of translations of the location list description field.

Table 5-85 Locations - Object. See list of elements for detail

Element Name Required Data Type Description

locationType

Yes

String (1)

This field will carry the location type of the location being added to or deleted from the location list. Valid values for this field are Store (S) or Warehouse (W).

location

Yes

Number (10)

This field will contain a location to be added to or deleted from the location list. The provided location may be a store, a stockholding virtual warehouses that is not finisher, or a physical warehouse. If a physical warehouse is provided, all stockholding/non-finisher virtual warehouses within that physical warehouse will be added or deleted.

deleteInd

No

String (1)

This optional field indicates if an existing location (or all virtual warehouses matching a physical warehouse location) should be deleted from a location list. This field will not have a value as Y with action as CREATE.

Table 5-86 Translations - Object. See list of elements for detail

Element Name Required Data Type Description

language

Yes

Number (6)

This field contains the language ID.

locationListDescription

No

String (120)

This field contains the translated description of the location list in the provided language. This field is mandatory is the translation tag is present. This field is not needed for delete of an existing translation.

deleteInd

No

String (1)

This optional field indicates if an existing translation should be deleted from a location list.

Table 5-87 ManageError - Object. See list of elements for detail

Element Name Required Data Type Description

locationList

Yes

Number (10)

Contains a location list identifier.

externalReferenceNo

Yes

Number (20)

This field will optionally contain an external reference number used by an external system to identify the location list.

errors

Yes

Array of String

 

Sample Input Message

{
  "collectionSize": 1,
  "items": [
    {
      "action": "CREATE",
      "locationList": 585313,
      "locationListDescription": "location list description",
      "externalReferenceNo": 157810,
      "filterOrganizationHierarchy": 126882,
      "comments": "comments",
      "locations": [
        {
          "locationType": "S",
          "location": 190104,
          "deleteInd": "N"
        }
      ],
      "translations": [
        {
          "language": 2,
          "locationListDescription": "Standortliste Beschreibung",
          "deleteInd": "N"
        }
      ]
    }
  ]
}
Response Code: 200 (Success)

Table 5-88 ManageResponse - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

Table 5-89 ManageResponse.Items - Object. See list of elements for detail

Element Name Required Data Type Description

locationList

Yes

Number (10)

Contains a location list identifier.

externalReferenceNo

Yes

Number (20)

This field will optionally contain an external reference number used by an external system to identify the location list.

Sample Response Message

{
  "items": [
    {
      "locationList": 585313,
      "externalReferenceNo": 157810
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service. The element businessError will be present if the payload passes schema validation but an exception is caught while processing the business logic.

Table 5-90 ManageError - Object. See list of elements for detail

Element Name Required Data Type Description

locationList

Yes

Number (10)

Contains a location list identifier.

externalReferenceNo

Yes

Number (20)

This field will optionally contain an external reference number used by an external system to identify the location list.

errors

Yes

Array of String

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "locationList": 585313,
      "externalReferenceNo": 433378,
      "errors": [
        "String"
      ]
    }
  ]
}

Location Trait Upload Service

The following services are included in this functional area:

Create Location Trait

Functional Area

Foundation

Business Overview

The service is used to create location traits within Merchandising in order to keep it in sync with an external system that is used to maintain location traits. While a location trait is being created, this service will first validate that all required fields are present in the payload. Next, business level validations will be performed on the input information. Once all the validations are met, the location trait gets created in Merchandising.

Service Type

POST

ReST URL
MerchIntegrations/services/foundation/locationTrait/create
Input Payload Details

Table 5-91 Create - Object. See list of elements for detail

Element Name Required Data Type Description

traitId

Yes

Number (4)

The unique id number of the location trait.

description

Yes

String (120)

The description of the location trait.

Sample Input Message

{
  "traitId": 1000,
  "description": "traitDesc"
}
Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Delete Location Trait

Functional Area

Foundation

Business Overview

The service is used to delete an existing location trait from Merchandising in order to keep it in sync with an external system that is used to maintain location traits. While deleting a location trait, this service will first validate that all required fields are present in the payload. If all the validations are met, the location trait data is deleted from Merchandising.

Service Type

DELETE

ReST URL
MerchIntegrations/services/foundation/locationTrait/delete
Input Payload Details

Table 5-92 Delete - Object. See list of elements for detail

Element Name Required Data Type Description

traitId

Yes

Number (4)

The id number of the location trait being deleted.

Sample Input Message

{
  "traitId": 1000
}
Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Update Location Trait

Functional Area

Foundation

Business Overview

This service is used to update existing location traits within Merchandising in order to keep it in sync with an external system that is used to maintain location traits. While updating a location trait, this service will first validate that all required fields are present in the payload. Next, business level validations will be performed on the input information. Once all the validations are met, the location trait data gets updated in Merchandising.

Service Type

PUT

ReST URL
MerchIntegrations/services/foundation/locationTrait/update
Input Payload Details

Table 5-93 Update - Object. See list of elements for detail

Element Name Required Data Type Description

traitId

Yes

Number (4)

The unique id number of the location trait.

description

Yes

String (120)

The description of the location trait.

Sample Input Message

{
  "traitId": 1000,
  "description": "traitDesc"
}
Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}

Suppliers and Partners

The following services are included in this functional area:

Partner Download Service

Partner Publish Services
Endpoints
MerchIntegrations/services/foundation/partner 
MerchIntegrations/services/foundation/partner/{partnerId}
Functional Area

Foundation – Suppliers and Partners

Business Overview

This service can be used by external applications to get all or selected partners and its details from Merchandising.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/partner? since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/partner/{partnerId}
Input Parameters for ​​MerchIntegrations/services/foundation/partner
Parameter Name Required Data Type Description
since No String

Since Date.

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

before No String

Before Date

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

offsetkey No String Offset Key. Valid Value is combination of sort_order_seq and node id.
limit No BigDecimal Pagination limit. Default Value is 1000.
include No String Fields to include - comma separated (Example items.name,items.address.city)
exclude No String Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute)
Input Parameters for MerchIntegrations/services/foundation/partner/{partnerId}
Parameter Name Required Data Type Description
partnerId Yes String Partner ID
include No String Fields to include - comma separated (Example items.name,items.address.city)
exclude No String Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute)
Output - Partner
Name Data Type Description
action String Action for Item details. Valid values are INSERT, UPDATE and DELETE.
partnerType String Specifies the type of partner. Valid partner types are held on the code tables under code type PTNR.
partnerId String Unique number that identifies the partner within the system.
partnerName String Contains the partners description or name.
partnerNameSecondary String Secondary name of the partner.
currencyCode String Contains a code identifying the currency the partner uses for business transactions.
language Number This field contains the partners preferred language.
status String Indicates if the partner is currently active
contactName String Contains the name of the partners representative contract.
contactPhone String Contains the phone number of the partners representative contact.
contactFax String Contains the fax number of the partners representative contact.
contactTelex String Contains the telex number of the partners representative contact.
contactEmail String Contains the e-mail address of the partners representative contact.
manufacturerTaxId String The manufacturer's tax identification number. Used for partner type Manufacturer.
principleCountryId String The country id to which the partner is assigned.
lineOfCredit Number Contains the line of credit the company has at the Bank in the Partners currency. This field is not NULL when the Partner Type is Bank (BK).
outstandingCredit Number Contains the total amount of credit that the company has used or has charged against in the Partners currency. This field is not NULL when the Partner Type is Bank (BK).
openCredit Number Contains the total amount that the company can still charge against in the Partners currency. This field is not NULL when the Partner Type is Bank (BK).
yearToDateCredit Number Contains the total amount of credit the company has used this year to date in the Partners currency. This field is not NULL when the Partner Type is Bank (BK).
yearToDateDrawdowns Number Contains the year to date payments the bank has made on behalf of the company in the Partners currency. This field is not NULL when the Partner Type is Bank (BK).
taxId String Contains the unique tax identification number of the partner. This will be used for reporting during the Customs Entry process.
terms String Payment terms for the partner. These terms specify when payment is due and if any discounts exist for early payment. If populated, they will default on any invoice entered for this partner.
servicePerfReqInd String Indicates if the expense vendors services (e.g. snowplowing, window washing) must be confirmed as performed before paying an invoice from that expense vendor. Valid values are Y (all service non-merchandise lines on an invoice from this expense vendor must be confirmed before the invoice can be paid) and N (services do not need to be confirmed or partner is not an expense vendor).
invoicePayLocation String Indicates where invoices from this expense vendor are paid - at the store or centrally through corporate accounting. Valid values are S (paid at the store) and C (paid centrally). This field will only be populated for expense vendors, and should only be S if using ReSA to accept payment at the store.
invoicecReceiveLocation String Indicates where invoices from this expense vendor are received - at the store or centrally through corporate accounting. Valid values are S (received at the store) and C (received centrally). This field should only be populated when using invoice matching.
importCountryId String Import country of the Import Authority. This field is not populated for other partner types.
primaryImportAuthInd String Indicates if an Import Authority is the primary Import Authority for an import country. This field will always be N for other partner types. There must be one and only one primary Import Authority for each country associated with an Import Authority on the partner table.
comments String Contains any comments associated with the Partner.
transferEntityId Number The Transfer entity with which an external finisher is associated.
vatRegion Number Tax region with which a partner is associated. Valid values will be found on the VAT_REGION table. If SYSTEM_OPTIONS.DEFAULT_TAX_TYPE is SVAT or GTS, then each partner will be required to have an associated VAT_REGION. For other default_tax_type, then VAT functionality is not used and PARTNER.VAT_REGION will not be required.
orgUnitId Number The org unit id with which partner is associated
autoRcvStockInd String This will indicate whether the system will update the stock for the external finisher when the 1st leg of the transfer is shipped. Valid values are Yes or No
primaryAddressType String This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance.
primaryAddressTypeDescription String This field specifies address type description.
primaryAddressAdd1 String This field contains the first line of the address.
primaryAddressAdd2 String This field contains the second line of the address.
primaryAddressAdd3 String This field contains the third line of the address.
primaryAddressCity String This field contains the name of the city that is associated with the address.
primaryAddressState String This field contains abbreviation of the state for the address
primaryAddressStateName String This field contains full name of the state for the address.
primaryAddressCountryId String This field contains the country where the address exists.
primaryAddressCountryName String This field holds the county name for the location.
primaryAddressPost String This field contains the zip code for the address.
primaryAddressContactName String This field contains the name of the contact for the partner at this address.
primaryAddressContactPhone String This field contains the phone number of the contact person at this address.
primaryAddressContactTelex String This field contains the telex number of the partner’s representative contact.
primaryAddressContactFax String This field contains the fax number of the contact person at this address.
primaryAddressContactEmail String This field contains the email address of the partner’s representative contact.
primaryAddressCounty String This field holds the county name for the location.
primaryAddressJurisdictionCode String Identifies the jurisdiction code for the country-state relationship.
createDateTime String This field holds the record creation date.
updateDateTime String This field holds the date when the record was last updated.
customFlexAttribute This List holds custom flex attributes for addresss details.
address This list holds all the addresses of the partner.
cacheTimestamp String This field specifies date and time when the partner record was last maintained.
Output - Address
Name Data Type Description
addressKey Number This field contains the unique address key.
addressType String This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance.
addressTypeDescription String This field specifies address type description.
primaryAddressInd String This field indicates whether the address is the primary address for the address type.
add1 String This field contains the first line of the address.
add2 String This field contains the second line of the address.
add3 String This field contains the third line of the address.
city String This field contains name of the city that is associated with the address.
state String This field contains name of the state that is associated with the address.
stateName String This field contains name of the state description that is associated with the address.
countryID String This field contains name of the country that is associated with the address.
countryName String This field contains name of the country description that is associated with the address.
post String This field contains the zip code for the address.
contactName String This field contains the name of the contact person at this address.
contactPhone String This field contains the phone number of the contact person at this address.
contactTelex String This field contains the telex number of the warehouse's representative contact.
contactFax String This field contains the fax number of the contact person at this address.
contactEmail String This field contains email address of the warehouse's representative contact.
county String This field contains the county where the address exists.
jurisdictionCode String This field contains the ID associated to the tax jurisdiction of the country-state relationship.
createDateTime String This field holds the record creation date.
updateDateTime String This field holds the date when the record was last updated.
customFlexAttribute This list holds custom flex attributes for the address.
Output - Custom Flex Attribute
Name Data Type Description
name String This field will hold the custom flex attribute name.
value String This field will hold the numeric or string value of the custom flex attribute.
valueDate String This field will hold the date value of the custom flex attribute.
createDateTime String This field will hold the date time when the custom flex attribute was inserted.
updateDateTime String This field will hold the date time when the custom flex attribute was last updated.
Elements in JSON Output
Elements Description
items The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query.
hasMore This is dependent on limit value. If the total rows are more than then limit defined then hasMore will be set to true else false.
limit

This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed.

For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists then 25 rows are returned along with a "next" link else no links would be added to the JSON response.

links

“self” : This contains URI pointing to current page.

“next”: This contains URI pointing to the next page of results.

Example JSON output:

{
  "items": [
    {  
      "action": "INSERT",
	"partnerType": "E",
	"partnerId": "B",
	"partnerName": "Packaging External Finisher updated",
	"partnerNameSecondary": "Packaging External Finisher",
	"currencyCode": "USD",
	"language": null,
	"status": "A",
	"contactName": "Elinor",
	"contactPhone": "1545223556",
	"contactFax": null,
	"contactTelex": null,
	"contactEmail": null,
	"manufacturerTaxId": null,
	"principleCountryId": "US",
	"lineOfCredit": null,
	"outstandingCredit": null,
	"openCredit": null,
	"yearToDateCredit": null,
	"yearToDateDrawdowns": null,
	"taxId": null,
	"terms": "1",
	"servicePerfReqInd": "N",
	"invoicePayLocation": null,
	"invoicecReceiveLocation": null,
	"importCountryId": null,
	"primaryImportAuthInd": "N",
	"comments": null,
	"transferEntityInd": 2000,
	"vatRegion": null,
	"orgUnitId": 1111111111,
	"autoRcvStockInd": "N",
	"primaryAddrAdd1": "Add1",
	"primaryAddrAdd2": null,
	"primaryAddrAdd3": null,
	"primaryAddrCity": "City",
	"primaryAddrState": null,
	"primaryAddrStateName": null,
	"primaryAddrCountryId": "US",
	"primaryAddrCountryName": "United States of America",
	"primaryAddrPost": null,
	"primaryAddrContactName": null,
	"primaryAddrContactPhone": null,
	"primaryAddrContactTelex": null,
	"primaryAddrContactFax": null,
	"primaryAddrContactEmail": null,
	"primaryAddrOracleVendorSiteId": null,
	"primaryAddrCounty": null,
	"primaryAddrJurisdictionCode": null,
	"createDateTime": "2021-05-07T09:23:59",
	"updateDateTime": "2021-05-07T09:23:59",
	"customFlexAttribute": [{
		"name": "LANGUAGE",
		"value": "German",
		"valueDate": null,
		"createDateTime": "2021-02-17T00:00:00",
		"updateDateTime": "2021-02-17T00:00:00"
	}, {
		"name": "COMPANY_SIZE",
		"value": "525",
		"valueDate": null,
		"createDateTime": "2021-02-17T00:00:00",
		"updateDateTime": "2021-02-17T00:00:00"
	}],
	"address": [{
		"addressKey": 20069,
		"addressType": "05",
		"primaryAddressInd": "Y",
		"add1": "Add1",
		"add2": null,
		"add3": null,
		"city": "City",
		"state": null,
		"stateName": null,
		"countryId": "US",
		"countryName": "United States of America",
		"post": null,
		"contactName": null,
		"contactPhone": null,
		"contactTelex": null,
		"contactFax": null,
		"contactEmail": null,
		"oracleVendorSiteId": null,
		"county": null,
		"jurisdictionCode": null,
		"createDateTime": "2021-02-16T00:00:00",
		"updateDateTime": "2018-09-20T00:00:00",
		"customFlexAttribute": null
	}, {
		"addressKey": 20068,
		"addressType": "01",
		"primaryAddressInd": "Y",
		"add1": "Add1",
		"add2": null,
		"add3": null,
		"city": "City",
		"state": null,
		"stateName": null,
		"countryId": "US",
		"countryName": "United States of America",
		"post": null,
		"contactName": null,
		"contactPhone": null,
		"contactTelex": null,
		"contactFax": null,
		"contactEmail": null,
		"oracleVendorSiteId": null,
		"county": null,
		"jurisdictionCode": null,
		"createDateTime": "2021-02-16T00:00:00",
		"updateDateTime": "2018-09-20T00:00:00",
		"customFlexAttribute": null
	}],
"hasMore": false,
  "limit": 10000,
  "count": 3,
  "links": [
    {
      "href": "https://rex.retail.us-phoenix-1.ocs.oc-test.com/rgbu-rex-rgbu-dev1-mfcs19-1/MerchIntegrations/services/foundation/partner?limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-25T10:34:36.748111+00:00",
      "rel": "self"
    }
  ]
}
Table Impact
The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.
TABLE SELECT INSERT UPDATE DELETE
MERCHAPI_CONFIG Yes No No No
MERCHAPI_CONSUMER_CONFIG Yes No No No
MERCHAPI_ASYNC_REQUEST Yes No No No
MERCH_BATCH_PARAM Yes No No No
ICL_RMS_PARTNER Yes No Yes Yes
ICL_RMS_ADDR Yes No Yes Yes
MERCHAPI_PARTNER Yes Yes Yes Yes
PARTNER_CFA_EXT Yes No No No
ADDR_CFA_EXT Yes No No No
V_ MERCHAPI_EXT_PARTNER_JSON Yes No No No

Supplier and Partner Upload Service

Manage Suppliers and Partners
Functional Area

Foundation - Suppliers and Partners

Business Overview

This service creates and updates suppliers, supplier sites, partners, org unit association, addresses, and flex attributes from an external application.

When new suppliers or supplier sites are sent from an external system, they must contain the required header details, as well as address and org unit information. One or more org units can be associated with a supplier site using this service, if applicable. When creating a supplier parent, providing the supplier site information is optional. However, when creating or updating supplier sites, both supplier parent and supplier site information must be provided.

The following defaults are performed by the service:

  • Yes/No indicators are defaulted to No if not provided.

  • Settlement code - Defaulted to N if not provided.

  • EDI sales report frequency - Defaulted to NULL if the provided value is not D or W.

  • Supplier Quantity Level - Defaulted to EA if not provided.

Mandatory addresses as defined in the system are defaulted when creating address records, even if the request does not contain the mandatory address types.

Finance Integration Specific Enrichment Workflow

The dependence of this service on the FINANCIAL_AP system option has been functionally migrated to the External Supplier Management system option and a set of sub options discussed below. When External Supplier Management is enabled, the optional attribute vendorTypeCode in the payload is used to identify whether the inbound information should be used to create or update a supplier or a partner record in Merchandising. External financial systems can utilize this attribute to create partners in Merchandising. The vendorTypeCode is validated against data available in the Vendor type code mapping table in Merchandising, which holds details of whether a specific code maps to a supplier or partner and the type of partner intended. The vendor type code mapping must be setup via the Merchandising spreadsheet upload functionality prior to the integration of supplier/partner records. Additionally, if External Supplier Management is opted for, the payload would be subject to enrichment based on the below options.

  1. Filter inactive suppliers - Controls whether inactive suppliers should be excluded in the Create subscription.
  2. Use Purchase Pay Site Flag - Controls whether the Purchase Pay site Flags should be used to create and manage the ‘Purchasing Address’ and ‘Remittance Address’ respectively if a specific address type isn’t specified in the payload.
  3. Use Site Defaults - Controls whether a subset of supplier details should be populated using information at the site level if not specified for the supplier.
  4. Use supplier Alternate Name - Controls whether the secondary name on the payload should be used for Supplier Description Creation as opposed to the Supplier Name

As part of the Financial Integration specific workflow, supplier/partner integration into Merchandising are subject to the following:

  • While creating a new supplier, there must be at least one supplier site that is either a payment site or purchasing site as part of the payload. If there is only one supplier site associated, it must be both a purchasing and payment site.

  • Freight Terms, Payment Terms, Language, Currency, Contact Name, and Contact Phone information are defaulted from the supplier site (primary pay site/procurement site/payment site) to the supplier record.

  • Address Type is typically not expected from the external financial system and will be determined using the procurement site and payment site attributes if the Purchase Pay Site Flag is set. An address type of 04 is created for a procurement site while an address type of 06 is created for a payment site. If the supplier site has both procurement and payment site flags set , both address types 04 and 06 are created.

  • Contact-specific defaulting are based on the following:

    • If there are multiple contacts for a supplier site, the contact name with the lowest external reference key (earliest record) is used as the default contact name for the supplier site.

    • If there are multiple contacts for a supplier site and the contact phone/contact fax for the supplier site is not provided, it defaults to 999999999.

    • If no contact name is available for the supplier and supplier site, it will be set to UNKNOWN.

    • If no contact phone is available for the supplier and supplier site, it is set to 0.

    • If no contact fax/contact email is available for the supplier site, it will be set to its addresses’ contact fax/contact email.
  • If the default tax type is SVAT or GTS, the VAT region on the supplier/partner record defaults to a store having the same state in the address as the payment site or procurement site address. If the state is not provided, the country will be used as the basis for the default. If a default value is not found, the supplier/supplier site is created with a null VAT region and is set to Inactive status until the VAT region is associated in Merchandising.

  • The Use Alternate Supplier Site Name system option controls whether the supplier site name is substituted with the secondary name in the payload and vice versa. This is intended to allow for a more descriptive supplier name integration into Merchandising if the site name carried an abridged description/key. Substitution is only performed if a supplier site secondary name is provided. This system option can be managed through the System Options screen.

Note:

  • Creation of partners of type Escheat-State and Escheat-Country is not supported through this integration.

  • If the vendorTypeCode is not provided in the payload, a supplier record is created.

  • The payload provides reference ID fields for certain attributes enable the external financial system to send its own IDs for these attributes, as opposed to sending IDs generated by Merchandising. These are listed below.

    • languageReferenceId - defaulted to primary language if not provided.

    • termsReferenceId

    • freightTermsReferenceId

    • orgUnitReferenceId

    Usage of the external reference IDs is subject to the assumption that these external references have been set up and maintained against the attribute in Merchandising. For example, the external financial system can send a terms reference ID provided that the same information has been sent to Merchandising as part of the terms import process. This will allow for Merchandising to use the terms reference ID provided to cross reference and identify the correct term in Merchandising to be associated with the supplier/partner record being created. If an external reference ID is provided for any attribute say terms it will be cross-referenced against the attribute definition tables (terms tables in this case) for a match. If the cross-reference check returns multiple records one of these is associated with the supplier/partner record being created. If no matching data is found an error is raised.

Partner Integration

If the vendor type code specified maps to a partner, the sites in the inbound payload correspond to the partner record created. The partner record, however, holds a reference to the supplier record associated with the site through the parent reference ID and parent name fields stored in the partner table. The defaulting logic and validations for partners is similar to those of supplier sites with the below exceptions:

  • For external finisher type partners, the partner is created in Inactive status until the transfer entity is populated in Merchandising.

  • For Bank type partners, the fields Line of Credit, Outstanding Credit, Open Credit, Year to Date Credit, and Year to Date Drawdowns are defaulted to 0. Principle Country ID is defaulted to the address, as is also done for the Import Authority partner type).

Any information present in the webservice request will update the existing attributes with the following exceptions- (contact fax, contact pager, ship method, payment method, contact telex, contact email, default lead time, duns number, duns loc, tax id, vat region). When modifying a supplier parent, providing the supplier site information is optional. Updates will be accepted for both supplier and partner irrespective of status.

Service Type

POST

ReST URL
MerchIntegrations/services/foundation/suppliers/create
Availability During Nightly Batch Cycle

This service will not be available when batches affecting either inventory or cost are in-progress.

Input Payload Details

Table 5-94 Create - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

References a collection of suppliers.

Table 5-95 Items - Object. See list of elements for detail

Element Name Required Data Type Description

supplierReferenceNo

Yes

String (32)

This holds the ID for the supplier or parent partner used in the external financial system. It is populated by the integration that brings suppliers from external financial systems into Merchandising. This ID and the supplier site ID or partner ID can be used to join to information about the supplier in the external system.

supplier

No

Number (10)

Unique identifying number for a supplier parent within the system. When a new supplier is added to the system, this value can either be provided by the user or it can be system generated. Leave this field as null for a system generated supplier ID.

vendorTypeCode

No

String (50)

This column contains the identifier for the vendor type from the external financial system.

attributes

Yes

Record

This contains supplier parent information.

supplierSites

No

Collection of Object

References a collection of supplier sites.

Table 5-96 Attributes - Object. See list of elements for detail

Element Name Required Data Type Description

supplierName

Yes

String (240)

This field contains the supplier or partner name.

supplierNameSecondary

No

String (240)

This type can hold secondary name for the supplier or partner with a max length of 240 characters.

contactName

No

String (120)

This field contains the name of the supplier or partner representative contact for this site.

contactPhone

No

String (20)

This field contains a telephone number for the supplier's or partner's representative contact.

contactFax

No

String (20)

This field contains a fax number for the supplier's or partner's representative contact.

contactPager

No

String (20)

This field contains a pager number for the supplier's representative contact.

supplierStatus

Yes

String (1)

This field contains the status of the supplier or partner. Valid values include: 'A' for an active supplier or 'I' for an inactive supplier. The status of a supplier will be checked when an order is being created to make certain the supplier is active.

qualityControlInd

No

String (1)

This field determines whether orders from this supplier will require quality control. Valid values are Yes (Y) and No (N).

qualityControlPercentage

No

Number (12,4)

This field contains the percentage of items per receipt that will be marked for quality checking.

qualityControlFrequency

No

String (2)

This field contains the frequency for which items per receipt will be marked for quality checking.

vendorCheckingInd

No

String (1)

This field determines whether orders from this supplier will require vendor control. Valid values are Yes (Y) and No (N).

vendorCheckingPercentage

No

Number (12,4)

This field contains percentage of items per receipt that will be marked for vendor checking.

vendorCheckingFrequency

No

Number (2)

This field contains the frequency for which items per receipt that will be marked for vendor checking.

currencyCode

No

String (3)

This field contains code identifying the currency the supplier site or partner uses for business transactions.

language

No

Number (6)

This field contains the suppliers or partners preferred language. This field is provided for custom purchase orders in a specified language.

languageReferenceId

No

String (50)

This field is primarily used to hold the ID for the language used in the external financial system.

terms

No

String (15)

This field contains an indicator identifying the purchase terms that will default when an order is created for the supplier site or partner. These terms specify when payment is due and if any discounts exist for early payment.

termsReferenceId

No

String (50)

This column holds the ID for the supplier or partner terms used in the external financial system.

freightTerms

No

String (30)

This field contains code indicating what freight terms will default when an order is created for the supplier site.

freightTermsReferenceId

No

String (50)

This column holds the ID for the freight terms used in the external financial system.

returnAllowedInd

No

String (1)

This field indicates whether the supplier site will accept returns. Valid values are Yes (Y) or No (N).

returnAuthReqInd

No

String (1)

This field indicates if returns must be accompanied by an authorization number when sent back to the vendor. Valid values are Yes (Y) and No (N).

minReturnValue

No

Number (20,4)

This field contains a value if the supplier site requires a minimum merchandise value to be returned to accept the return. Returns of less than this amount will not be processed by the system. This field is stored in the supplier's currency.

returnCourier

No

String (250)

This field contains the name of the courier that should be used for returns to the supplier site.

handlingPercentage

No

Number (12,4)

This field contains the default percent to be multiplied by the return's total cost to determine the handling cost for the return.

ediOrderInd

No

String (1)

This field indicates whether purchase orders will be sent to the supplier via Electronic Data Interchange (EDI). Valid values are Yes (Y) and No (N).

ediOrderChangeInd

No

String (1)

This field indicates whether purchase order changes will be sent to the supplier via EDI. Valid values are Yes (Y) and No (N).

ediOrderConfirmInd

No

String (1)

This field indicates whether acknowledgements of purchase orders will be sent from the supplier via EDI. Valid values are Yes (Y) and No (N).

ediAsnInd

No

String (1)

This field indicates whether the supplier will send Advance Shipment Notifications electronically. Valid values are Yes (Y) and No (N).

ediSalesReportFreq

No

String (1)

This field contains the EDI sales report frequency for the supplier. Valid values are weekly (W) or daily (D).

ediSupplierAvailabilityInd

No

String (1)

This field indicates whether the supplier will send availability via EDI. Valid values are Yes (Y) and No (N).

ediContractInd

No

String (1)

Indicates whether contracts will be sent to the supplier via EDI. Valid values are Yes (Y) and No (N).

ediInvcInd

No

String (1)

This field indicates whether invoices, debit memos, and credit note requests will be sent to/from the supplier via EDI. Valid values are Yes (Y) and No (N).

ediChannel

No

Number (4)

If the supplier is an EDI supplier and supports vendor initiated ordering, this field will contain the channel ID for the channel to which all inventory for these types of orders will flow. This field is used when a vendor initiated order is created for a physical warehouse to determine the virtual warehouse within the physical warehouse to which the inventory will flow. The virtual warehouse belonging to the indicated channel will be used. This will only be used in a multichannel environment. Valid values are Yes (Y) and No (N).

costChangeVariancePercentage

No

Number (12,4)

This field contains a percent that determines whether a cost change can be auto approve via induction. If the cost change falls within these boundaries, it will be approved when uploaded.

costChangeVarianceAmt

No

Number (20,4)

This field contains an amount (in supplier currency) that determines whether a cost change can be auto approve via induction. If the cost change falls within these boundaries, it will be approved when uploaded.

replenApprovalInd

No

String (1)

This field indicates whether contract orders created via replenishment should be created in Approved status. Valid values are Yes (Y) and No (N).

shipMethod

No

String (6)

This field contains the default method used to ship the items on the purchase order from the supplier site. Valid values are held in the Shipment Type code type, SHPM. Examples of shipment types are Vessel, Non-Container (10 ), Vessel, Container (11), Rail, Non-container (20) and Rail, Container (21).

paymentMethod

No

String (6)

This field indicates the default method for how purchase orders for this site will be paid. Valid values are in the code type PYMT(Payment Method). Examples are Open Account(OA), Letter of Credit(LC) and Wire Transfer(WT).

contactTelex

No

String (20)

This field contains the telex number of the partner or suppliers representative contact.

contactEmail

No

String (100)

This field contains the email address of the partner or suppliers representative contact.

settlementCode

No

String (1)

This field indicates which payment process method is used for this supplier.

preMarkInd

No

String (1)

This field indicates whether or not the supplier has agreed to break an order into separate boxes (and mark them) that can be shipped directly to the stores. Valid values are Yes (Y) and No (N).

autoApproveInvoiceInd

No

String (1)

Indicates whether or not the suppliers invoice matches can be automatically approved for payment. This field will only be populated if invoice matching is installed. Valid values are Yes (Y) and No (N).

debitMemoCode

No

String (1)

This field indicates when a debit memo will be sent to the supplier site to resolve a discrepancy. Valid values are 'Y' - if debit memos are always to be sent, 'L '- if debit memos are used only if a credit note is not sent by the invoice due date and 'N' - if debit memos are never sent.

freightChargeInd

No

String (1)

This field indicates whether a supplier site can charge freight costs. Valid values are Yes (Y) and No (N).

autoApproveDebitMemoInd

No

String (1)

This field indicates whether debit memos sent to the supplier site can be automatically approved on creation. Valid values are Yes (Y) and No (N).

prepayInvoiceInd

No

String (1)

This field indicates whether all invoices for the supplier can be pre-paid. Valid values are Yes (Y) and No (N).

backorderInd

No

String (1)

This field indicates if backorders or partial shipments will be accepted. Valid values are Yes (Y) and No (N).

vatRegion

No

Number (4)

This field contains the unique identifying number for the VAT region applicable for this site.

invManagementLevel

No

String (6)

This field indicates the level for managing supplier inventory information. Valid values are supplier (S), supplier/location (L), supplier/department (D), or supplier/department/location (A). If no value is provided, then if the department level orders system option is set to Yes, then this is defaulted to supplier/department, otherwise it is defaulted to supplier.

servicePerfReqInd

No

String (1)

This field indicates if the supplier's or partner's services must be confirmed as performed before paying an invoice from that supplier site or partner. Valid values are Yes (Y) and No (N).

invoicePayLocation

No

String (6)

This field indicates where invoices from this supplier site or partner are paid - at the store (S) or centrally through corporate accounting (C).

invoiceReceiveLocation

No

String (6)

This field indicates where invoices from this supplier site or partner are received - at the store (S) or centrally through corporate accounting (C).

invoiceGrossNet

No

String (6)

This field indicates if the supplier site invoice lists items at gross cost (G) or net cost (N).

deliveryPolicy

No

String (6)

This field contains the default delivery policy of the supplier site. Valid values come from the DLVY (Delivery Policy) code type. Examples of delivery policies are Next Valid Delivery Day (NDD), Next Day (NEXT) and Bank Instructions (BI).

comments

No

String (2000)

This field contains any miscellaneous comments associated with the supplier or partner.

defaultItemLeadTime

No

Number (4)

This field holds the default lead time for the supplier site. The lead time is the time the supplier needs between receiving an order and having the order ready to ship. This value will be defaulted to item/supplier relationships.

dunsNumber

No

String (9)

The Dun and Bradstreet number of the supplier.

dunsLocation

No

String (4)

The Dun and Bradstreet number of the location of the supplier.

bracketCostingInd

No

String (1)

This field will determine if the supplier site supports bracket costing pricing structures. Valid values are Yes (Y) and No (N).

vmiOrderStatus

No

String (6)

This field determines the status in which any inbound POs from this supplier will be created. A NULL value indicates that the supplier is not a VMI supplier.

dsdSupplierInd

No

String (1)

This field specifies whether the vendor supports DSD ordering, where the supplier replenishes the store directly, creating the PO and receipt at the same time. Valid values are Y and N. Valid values are Yes (Y) and No (N).

scaleAipOrders

No

String (1)

Depending upon the value in this column, scaling is done for Inventory Planning orders. Default value is N. Valid values are Yes (Y) and No (N).

supplierQuantityLevel

No

String (6)

This field indicates the supplier site order quantity level. Valid values are cases (CA) or eaches (EA).

defaultPricingControl

No

String (1)

Indicates the default value of the pricing control attribute at the supplier site level when supplier-controlled pricing for Consignment/Concession ownership model is used within the Merchandising suite of solutions. Valid values are: R - Retailer , S - Supplier.

generateConsignmentOrderInd

No

String (1)

This field will allow specification of whether Merchandising is required to generate POs against consignment sales. Valid values are: 'Y' - MFCS will create PO, 'N' - POs will get created externally. If supplier parent, this is defaulted to Y. If supplier site and field is null, this is defaulted to Y.

generateSelfInvoicingInd

No

String (1)

This field will allow specification of whether self-invoicing needs to be done for consignment purchases or if vendor will send invoices to be matched. Valid values are: 'Y' - MFCS will create invoice, 'N' - Invoice will get created by vendor. If supplier parent, this is defaulted to Y. If supplier site and field is null, this is defaulted to Y.

customFlexAttribute

No

Collection of Object

References a collection of custom flexible attributes at the order header level. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured named attribute is missing from the input collection, its value will be set to NULL.

dealUploadStatus

No

String (6)

Indicates the status in which the deal needs to be uploaded into the system by upload batch process. Valid values are in the code type DLUS(Deal Upload Status). Examples are Worksheet(W), Submitted(S) and Approved(A). If the supplier does not exist and there is no deal_upload_status input then this is defaulted to W (worksheet).

taxId

No

String (20)

This field contains the unique tax identification number of the supplier site or partner.

procurementSiteInd

No

String (1)

Indicates if the supplier site or partner is a procurement site used for purchasing.

paymentSiteInd

No

String (1)

Indicates if the supplier site or partner is a payment site used for invoice payment.

localizationExtensions

No

Collection of Object

Holds optional localization attributes that will be processed by the localization extension module.

Table 5-97 CustomFlexAttribute - Object. See list of elements for detail

Element Name Required Data Type Description

name

Yes

String (30)

Holds the attribute name.

value

No

String (250)

Holds the numeric or string value of the attribute.

valueDate

No

date

Holds the date value of the attribute.

Table 5-98 LocalizationExtensions - Object. See list of elements for detail

Element Name Required Data Type Description

country

Yes

String (3)

Id of the country associated with the localization attributes.

attributes

Yes

Collection of Object

This holds the details of localization attributes.

Table 5-99 LocalizationExtensions.Attributes - Object. See list of elements for detail

Element Name Required Data Type Description

name

Yes

String (30)

Holds the attribute name.

value

No

String (250)

Holds the numeric or string value of the attribute.

valueDate

No

date

Holds the date value of the attribute.

Table 5-100 SupplierSites - Object. See list of elements for detail

Element Name Required Data Type Description

supplierSiteReferenceNo

Yes

String (32)

This holds the ID for the supplier or partner used in the external financial system. It is populated by the integration that brings suppliers or partneres from external financial systems into Merchandising. This ID and the supplier site ID or partner ID can be used to join to information about the supplier in the external system.

supplierSite

No

Number (10)

Unique identifying number for a supplier site or partner within the system. When a new supplier site or partner is added to the system, this can either be provided by the user or it can be system generated. Leave this field as null for a system generated supplier site or partner ID.

attributes

Yes

Record

This contains supplier site attributes.

orgUnit

Yes

Collection of Object

References a collection of supplier org units.

address

Yes

Collection of Object

References a collection of supplier addresses.

Table 5-101 OrgUnit - Object. See list of elements for detail

Element Name Required Data Type Description

orgUnitId

No

Number (15)

This field contains org_unit_id.

orgUnitReferenceId

No

String (50)

This column holds the organizational unit ID used in the external financial system.

primaryPaySite

No

String (1)

This field contains the primary pay site indicator.

Table 5-102 Address - Object. See list of elements for detail

Element Name Required Data Type Description

addressReferenceKey

No

String (32)

This column contains the external reference ID used to distinguish between different addresses.

addressKey

No

Number (11)

This column contains a unique number used to distinguish between different addresses.

address

Yes

Record

This contains the supplier's address information.

Table 5-103 Address.Address - Object. See list of elements for detail

Element Name Required Data Type Description

addressType

No

String (2)

This contains the address type. Valid values (e. g. 01 - Business, 02 - Postal, etc. ) are on the add_type table. If any address types have been flagged as mandatory and are not included when the supplier or partner is being created, then if an ordering address has been included, the missing mandatory addresses will be defaulted to that address. If not, then the remittance address will be used. If neither an order nor remittance address is included, then the first address sent is used.

primaryAddressInd

No

String (1)

This column indicates whether the address is the primary address for the address type.

add1

Yes

String (240)

This field contains the first line of the address.

add2

No

String (240)

This field contains the second line of the address.

add3

No

String (240)

This field contains the third line of the address.

city

Yes

String (120)

This column contains the name of the city that is associated with the address.

state

No

String (3)

This column contains the state abbreviation for the address.

country

Yes

String (3)

This column contains the country where the address exists.

post

No

String (30)

This column contains the zip code for the address.

contactName

No

String (120)

This column contains the name of the contact for the supplier or partner at this address.

contactPhone

No

String (20)

This column contains the phone number of the contact person at this address.

contactFax

No

String (20)

This column contains the fax number of the contact person at this address.

contactEmail

No

String (100)

This column contains the email address of the partner or suppliers representative contact.

jurisdictionCode

No

String (10)

ID associated to the tax jurisdiction of the country-state relationship.

customFlexAttribute

No

Collection of Object

References a collection of custom flexible attributes. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured, named attribute is missing from the input collection, its value will be set to NULL.

Sample Input Message

{
  "items": [
    {
      "supplierReferenceNo": "1",
      "supplier": 3026,
      "vendorTypeCode": null,
      "attributes": {
        "supplierName": "Prime Hardware",
        "supplierNameSecondary": "Prime Hardware 2",
        "contactName": "Alexandre Roma",
        "contactPhone": "234-112-7654",
        "contactFax": "234-112-7654",
        "contactPager": null,
        "supplierStatus": "A",
        "qualityControlInd": "Y",
        "qualityControlPercentage": 3,
        "qualityControlFrequency": "5",
        "vendorCheckingInd": "Y",
        "vendorCheckingPercentage": 3,
        "vendorCheckingFrequency": 2,
        "currencyCode": "USD",
        "language": 1,
        "languageReferenceId": null,
        "terms": "108",
        "termsReferenceId": null,
        "freightTerms": "03",
        "freightTermsReferenceId": null,
        "returnAllowedInd": "Y",
        "returnAuthReqInd": "N",
        "minReturnValue": 3.55,
        "returnCourier": "125",
        "handlingPercentage": 3,
        "ediOrderInd": "Y",
        "ediOrderChangeInd": "Y",
        "ediOrderConfirmInd": "Y",
        "ediAsnInd": "Y",
        "ediSalesReportFreq": "W",
        "ediSupplierAvailabilityInd": "Y",
        "ediContractInd": "Y",
        "ediInvcInd": "Y",
        "ediChannel": 2,
        "costChangeVariancePercentage": 9.65,
        "costChangeVarianceAmt": 9.65,
        "replenApprovalInd": "Y",
        "shipMethod": "30",
        "paymentMethod": "OA",
        "contactTelex": "234-112-7654",
        "contactEmail": "a_roma@primehardware.com",
        "settlementCode": "N",
        "preMarkInd": "Y",
        "autoApproveInvoiceInd": "Y",
        "debitMemoCode": "N",
        "freightChargeInd": "Y",
        "autoApproveDebitMemoInd": "Y",
        "prepayInvoiceInd": "Y",
        "backorderInd": "Y",
        "vatRegion": 1000,
        "invManagementLevel": "S",
        "servicePerfReqInd": "Y",
        "invoicePayLocation": "S",
        "invoiceReceiveLocation": "C",
        "invoiceGrossNet": "G",
        "deliveryPolicy": "NEXT",
        "comments": null,
        "defaultItemLeadTime": 7,
        "dunsNumber": "108890",
        "dunsLocation": "1055",
        "bracketCostingInd": "Y",
        "vmiOrderStatus": null,
        "dsdSupplierInd": "Y",
        "scaleAipOrders": "N",
        "supplierQuantityLevel": "EA",
        "defaultPricingControl": "R",
        "generateConsignmentOrderInd": "Y",
        "generateSelfInvoicingInd": "Y",
        "customFlexAttribute": [
          {
            "name": "REVIEW_DATE",
            "value": null,
            "valueDate": "2001-12-31"
          }
        ],
        "dealUploadStatus": "W",
        "taxId": null,
        "procurementSiteInd": "Y",
        "paymentSiteInd": "Y",
        "localizationExtensions": [
          {
            "country": "BR",
            "attributes": [
              {
                "name": "SPECIAL_CATEGORY_CODE",
                "value": "WS_PRC_08",
                "valueDate": "2001-12-31"
              }
            ]
          }
        ]
      },
      "supplierSites": [
        {
          "supplierSiteReferenceNo": "2",
          "supplierSite": 3026001,
          "attributes": {
            "supplierName": "Prime Hardware",
            "supplierNameSecondary": "Prime Hardware 2",
            "contactName": "Alexandre Roma",
            "contactPhone": "234-112-7654",
            "contactFax": "234-112-7654",
            "contactPager": null,
            "supplierStatus": "A",
            "qualityControlInd": "Y",
            "qualityControlPercentage": 3,
            "qualityControlFrequency": "5",
            "vendorCheckingInd": "Y",
            "vendorCheckingPercentage": 3,
            "vendorCheckingFrequency": 2,
            "currencyCode": "USD",
            "language": 1,
            "languageReferenceId": null,
            "terms": "108",
            "termsReferenceId": null,
            "freightTerms": "03",
            "freightTermsReferenceId": null,
            "returnAllowedInd": "Y",
            "returnAuthReqInd": "N",
            "minReturnValue": 3.55,
            "returnCourier": "125",
            "handlingPercentage": 3,
            "ediOrderInd": "Y",
            "ediOrderChangeInd": "Y",
            "ediOrderConfirmInd": "Y",
            "ediAsnInd": "Y",
            "ediSalesReportFreq": "W",
            "ediSupplierAvailabilityInd": "Y",
            "ediContractInd": "Y",
            "ediInvcInd": "Y",
            "ediChannel": 2,
            "costChangeVariancePercentage": 9.65,
            "costChangeVarianceAmt": 9.65,
            "replenApprovalInd": "Y",
            "shipMethod": "30",
            "paymentMethod": "OA",
            "contactTelex": "234-112-7654",
            "contactEmail": "a_roma@primehardware.com",
            "settlementCode": "N",
            "preMarkInd": "Y",
            "autoApproveInvoiceInd": "Y",
            "debitMemoCode": "N",
            "freightChargeInd": "Y",
            "autoApproveDebitMemoInd": "Y",
            "prepayInvoiceInd": "Y",
            "backorderInd": "Y",
            "vatRegion": 1000,
            "invManagementLevel": "S",
            "servicePerfReqInd": "Y",
            "invoicePayLocation": "S",
            "invoiceReceiveLocation": "C",
            "invoiceGrossNet": "G",
            "deliveryPolicy": "NEXT",
            "comments": null,
            "defaultItemLeadTime": 7,
            "dunsNumber": "108890",
            "dunsLocation": "1055",
            "bracketCostingInd": "Y",
            "vmiOrderStatus": null,
            "dsdSupplierInd": "Y",
            "scaleAipOrders": "N",
            "supplierQuantityLevel": "EA",
            "defaultPricingControl": "R",
            "generateConsignmentOrderInd": "Y",
            "generateSelfInvoicingInd": "Y",
            "customFlexAttribute": [
              {
                "name": "REVIEW_DATE",
                "value": null,
                "valueDate": "2001-12-31"
              }
            ],
            "dealUploadStatus": "W",
            "taxId": null,
            "procurementSiteInd": "Y",
            "paymentSiteInd": "Y",
            "localizationExtensions": [
              {
                "country": "BR",
                "attributes": [
                  {
                    "name": "SPECIAL_CATEGORY_CODE",
                    "value": "WS_PRC_08",
                    "valueDate": "2001-12-31"
                  }
                ]
              }
            ]
          },
          "orgUnit": [
            {
              "orgUnitId": 1111111111,
              "orgUnitReferenceId": null,
              "primaryPaySite": "Y"
            }
          ],
          "address": [
            {
              "addressReferenceKey": "2",
              "addressKey": 114772,
              "address": {
                "addressType": "01",
                "primaryAddressInd": "Y",
                "add1": "200 Ryan Way",
                "add2": "Suite 100",
                "add3": null,
                "city": "Somerville",
                "state": "MA",
                "country": "US",
                "post": "55555-1234",
                "contactName": "Laura Johnson",
                "contactPhone": "617-897-0900",
                "contactFax": "617-897-0902",
                "contactEmail": "l_johnson@primehardware.com",
                "jurisdictionCode": null,
                "customFlexAttribute": [
                  {
                    "name": "REVIEW_DATE",
                    "value": null,
                    "valueDate": "2001-12-31"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)

Table 5-104 CreateResponse - Object. See list of elements for detail

Element Name Required Data Type Description

items

No

Collection of Object

References a collection of suppliers created.

Table 5-105 CreateResponse.Items - Object. See list of elements for detail

Element Name Required Data Type Description

supplierReferenceNo

Yes

String (32)

This column holds the ID for the supplier or partner used in the external financial system. It is populated by the integration that brings suppliers/partners from external financial systems into RMS. This ID and the supplier site ID can be used to join to information about the supplier/partner in the external system.

supplier

No

Number (10)

Unique identifying number for a supplier within the system. This will be null if entity type is P (partner).

entityType

No

String (1)

Indicates whether a supplier or partner is created from an external financial system. This field will have a value of S or P.

supplierSites

No

Collection of Object

References a collection of supplier sites created.

Table 5-106 CreateResponse.Items.SupplierSites - Object. See list of elements for detail

Element Name Required Data Type Description

supplierSiteReferenceNo

Yes

String (32)

This field holds the ID for the supplier site or partner used in the external financial system. It is populated by the integration that brings suppliers/partners from external financial systems into RMS. This ID and the supplier site ID can be used to join to information about the supplier/partner in the external system.

supplierSite

Yes

Number (10)

Unique identifying number for a supplier or partner within the system. This field is numeric because Rest service only support creation of partners in which partner id is generated using sequence.

partnerType

No

String (6)

Specifies the type of partner. This field will be null if entity type is S (supplier).

address

Yes

Collection of Object

References a collection of supplier addresses created.

Table 5-107 CreateResponse.Items.SupplierSites.Address - Object. See list of elements for detail

Element Name Required Data Type Description

addressReferenceKey

Yes

String (32)

This column contains the external reference ID used to distinguish between different addresses.

addressKey

Yes

Number (11)

This column contains a unique number used to distinguish between different addresses.

Sample Response Message

{
  "items": [
    {
      "supplierReferenceNo": "1",
      "supplier": 2400,
      "entityType": "S",
      "supplierSites": [
        {
          "supplierSiteReferenceNo": "2",
          "supplierSite": 3026001,
          "partnerType": null,
          "address": [
            {
              "addressReferenceKey": null,
              "addressKey": 33445
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 400 (Error)

In case of an error, the following standard error response is returned. The element validationErrors is present when the input payload or input parameters are do not match the schema definition for this service. The element businessError is present if the payload passes schema validation but an exception is caught while processing the business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}
Update Suppliers and Partners (deprecated)
Functional Area

Foundation - Suppliers and Partners

Business Overview

Deprecated in 25.0.201.0: Scheduled for Removal in 2 years. Use MerchIntegrations/services/foundation/suppliers/create.

This service modifies existing parent suppliers, supplier sites, partners, org unit association, addresses and flex attributes. Any information present in the webservice request will update the existing attributes with a few exceptions, mentioned below. When modifying a supplier parent, providing the supplier site information is optional.

The following attribute values are defaulted to the old value if not provided in the request:

  • contact name

  • contact phone

  • contact fax

  • contact pager

  • ship method

  • payment method

  • contact telex

  • contact email

  • default lead time

  • duns number

  • duns loc

  • tax id

  • vat region

When modifying supplier sites, it is expected that both supplier parent and supplier site information will be provided. Certain supplier attribute values are defaulted to the old values if not provided in the update request. Refer to the list of attributes under Modifying a Supplier Parent. Attributes not in the above list will be replaced by user-provided values.

Existing address details are overwritten by the information contained in the address section of the service request. Addresses with address types 04 - Order and 06 - Remittance, however, are deleted from the system if these addresses are not included in the request.

When Financials integration is enabled (financial_ap = ‘A’), the optional attribute vendorTypeCode is used to identify between suppliers and partners. External financial systems utilizing this attribute can also update partners in Merchandising.

Note:

The vendor type code mapping must be set up through the Merchandising spreadsheet upload functionality.

Partner integrations of type Escheat-State and Escheat-Country are not be supported through this interface. If vendorTypeCode is blank, it is assumed that a supplier is being updated.

The external financial system can send its own ID for certain supplier attributes on optional reference fields in the payload. These external reference IDs do not need to be set up against the relevant data to enable their usage. Reference IDs that are available in the payload are listed below. If provided these will be used to cross-reference and identify the corresponding Merchandising ID and data. If the external ID provided maps to multiple records in the foundation data, then one of the records will be associated with the supplier/partner record being created. An error will be raised if no match is found.

  • languageReferenceId - defaulted to primary language if not provided.

  • termsReferenceId

  • freightTermsReferenceId

  • orgUnitReferenceId

Updates will be accepted for both supplier and partner irrespective of status.

Service Type

PUT

ReST URL
MerchIntegrations/services/foundation/suppliers/update
Availability During Nightly Batch Cycle

This service will not be available when batches affecting either inventory or cost are in-progress.

Input Payload Details

Table 5-108 Update - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

References a collection of suppliers.

Table 5-109 Items - Object. See list of elements for detail

Element Name Required Data Type Description

supplierReferenceNo

Yes

String (32)

This holds the ID for the supplier or parent partner used in the external financial system. It is populated by the integration that brings suppliers or partners from external financial systems into Merchandising. This ID and the supplier site ID or partner ID can be used to join to information about the supplier in the external system.

supplier

No

Number (10)

Unique identifying number for a supplier parent within the system. When a new supplier is added to the system, this value can either be provided by the user or it can be system generated. Leave this field as null for a system generated supplier ID.

vendorTypeCode

No

String (50)

This column contains the identifier for the vendor type from the external financial system.

attributes

Yes

Record

This contains supplier parent information.

supplierSites

No

Collection of Object

References a collection of supplier sites.

Table 5-110 Attributes - Object. See list of elements for detail

Element Name Required Data Type Description

supplierName

Yes

String (240)

This field contains the supplier or partner name.

supplierNameSecondary

No

String (240)

This type can hold secondary name for the supplier or partner with a max length of 240 characters.

contactName

No

String (120)

This field contains the name of the supplier or partner representative contact for this site.

contactPhone

No

String (20)

This field contains a telephone number for the supplier's or partner's representative contact.

contactFax

No

String (20)

This field contains a fax number for the supplier's or partner's representative contact.

contactPager

No

String (20)

This field contains a pager number for the supplier's representative contact.

supplierStatus

Yes

String (1)

This field contains the status of the supplier or partner. Valid values include: 'A' for an active supplier or 'I' for an inactive supplier. The status of a supplier will be checked when an order is being created to make certain the supplier is active.

qualityControlPercentage

No

Number (12,4)

This field contains the percentage of items per receipt that will be marked for quality checking. If the field is null and qc_ind is Y, existing value will be retained.

qualityControlFrequency

No

String (2)

This field contains the frequency for which items per receipt will be marked for quality checking. If the field is null and qc_ind is Y, existing value will be retained.

vendorCheckingPercentage

No

Number (12,4)

This field contains percentage of items per receipt that will be marked for vendor checking. If the field is null and vc_ind is Y, existing value will be retained.

vendorCheckingFrequency

No

Number (2)

This field contains the frequency for which items per receipt that will be marked for vendor checking. If the field is null and vc_ind is Y, existing value will be retained.

currencyCode

No

String (3)

This field contains code identifying the currency the supplier site or partner uses for business transactions.

language

No

Number (6)

This field contains the suppliers or partners preferred language. This field is provided for custom purchase orders in a specified language.

languageReferenceId

No

String (50)

This field is primarily used to hold the ID for the language used in the external financial system.

terms

No

String (15)

This field contains an indicator identifying the purchase terms that will default when an order is created for the supplier site or partner. These terms specify when payment is due and if any discounts exist for early payment.

termsReferenceId

No

String (50)

This column holds the ID for the supplier or partner terms used in the external financial system.

freightTerms

No

String (30)

This field contains code indicating what freight terms will default when an order is created for the supplier site.

freightTermsReferenceId

No

String (50)

This column holds the ID for the freight terms used in the external financial system.

minReturnValue

No

Number (20,4)

This field contains a value if the supplier site requires a minimum merchandise value to be returned to accept the return. Returns of less than this amount will not be processed by the system. This field is stored in the supplier's currency.

returnCourier

No

String (250)

This field contains the name of the courier that should be used for returns to the supplier site.

handlingPercentage

No

Number (12,4)

This field contains the default percent to be multiplied by the return's total cost to determine the handling cost for the return.

ediChannel

No

Number (4)

If the supplier is an EDI supplier and supports vendor initiated ordering, this field will contain the channel ID for the channel to which all inventory for these types of orders will flow. This field is used when a vendor initiated order is created for a physical warehouse to determine the virtual warehouse within the physical warehouse to which the inventory will flow. The virtual warehouse belonging to the indicated channel will be used. This will only be used in a multichannel environment. Valid values are Yes (Y) and No (N).

costChangeVariancePercentage

No

Number (12,4)

This field contains a percent that determines whether a cost change can be auto approve via induction. If the cost change falls within these boundaries, it will be approved when uploaded.

costChangeVarianceAmt

No

Number (20,4)

This field contains an amount (in supplier currency) that determines whether a cost change can be auto approve via induction. If the cost change falls within these boundaries, it will be approved when uploaded.

shipMethod

No

String (6)

This field contains the default method used to ship the items on the purchase order from the supplier site. Valid values are held in the Shipment Type code type, SHPM. Examples of shipment types are Vessel, Non-Container (10 ), Vessel, Container (11), Rail, Non-container (20) and Rail, Container (21).

paymentMethod

No

String (6)

This field indicates the default method for how purchase orders for this site will be paid. Valid values are in the code type PYMT(Payment Method). Examples are Open Account(OA), Letter of Credit(LC) and Wire Transfer(WT).

contactTelex

No

String (20)

This field contains the telex number of the partner or suppliers representative contact.

contactEmail

No

String (100)

This field contains the email address of the partner or suppliers representative contact.

vatRegion

No

Number (4)

This field contains the unique identifying number for the VAT region applicable for this site.

invoicePayLocation

No

String (6)

This field indicates where invoices from this supplier site or partner are paid - at the store (S) or centrally through corporate accounting (C).

invoiceReceiveLocation

No

String (6)

This field indicates where invoices from this supplier site or partner are received - at the store (S) or centrally through corporate accounting (C).

comments

No

String (2000)

This field contains any miscellaneous comments associated with the supplier or partner.

defaultItemLeadTime

No

Number (4)

This field holds the default lead time for the supplier site. The lead time is the time the supplier needs between receiving an order and having the order ready to ship. This value will be defaulted to item/supplier relationships.

dunsNumber

No

String (9)

The Dun and Bradstreet number of the supplier.

dunsLocation

No

String (4)

The Dun and Bradstreet number of the location of the supplier.

defaultPricingControl

No

String (1)

Indicates the default value of the pricing control attribute at the supplier site level when supplier-controlled pricing for Consignment/Concession ownership model is used within the Merchandising suite of solutions. Valid values are: R - Retailer, S - Supplier.

generateConsignmentOrderInd

No

String (1)

This field will allow specification of whether Merchandising is required to generate POs against consignment sales. Valid values are: 'Y' - MFCS will create PO, 'N' - POs will get created externally. If supplier parent, this is defaulted to Y. If supplier site and field is null, this is defaulted to Y.

generateSelfInvoicingInd

No

String (1)

This field will allow specification of whether self-invoicing needs to be done for consignment purchases or if vendor will send invoices to be matched. Valid values are: 'Y' - MFCS will create invoice, 'N' - Invoice will get created by vendor. If supplier parent, this is defaulted to Y. If supplier site and field is null, this is defaulted to Y.

customFlexAttribute

No

Collection of Object

References a collection of custom flexible attributes. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured named attribute is missing from the input collection, its value will be set to NULL.

dealUploadStatus

No

String (6)

Indicates the status in which the deal needs to be uploaded into the system by upload batch process. Valid values are in the code type DLUS(Deal Upload Status). Examples are Worksheet(W), Submitted(S) and Approved(A). If the supplier does not exist and there is no deal_upload_status input then this is defaulted to W (worksheet).

taxId

No

String (20)

This field contains the unique tax identification number of the supplier site or partner.

procurementSiteInd

No

String (1)

Indicates if the supplier site or partner is a procurement site used for purchasing.

paymentSiteInd

No

String (1)

Indicates if the supplier site or partner is a payment site used for invoice payment.

localizationExtensions

No

Collection of Object

Holds optional localization attributes that will be processed by the localization extension module.

Table 5-111 CustomFlexAttribute - Object. See list of elements for detail

Element Name Required Data Type Description

name

Yes

String (30)

Holds the attribute name.

value

No

String (250)

Holds the numeric or string value of the attribute.

valueDate

No

date

Holds the date value of the attribute.

Table 5-112 LocalizationExtensions - Object. See list of elements for detail

Element Name Required Data Type Description

country

Yes

String (3)

Id of the country associated with the localization attributes.

attributes

Yes

Collection of Object

This holds the details of localization attributes.

Table 5-113 LocalizationExtensions.Attributes - Object. See list of elements for detail

Element Name Required Data Type Description

name

Yes

String (30)

Holds the attribute name.

value

No

String (250)

Holds the numeric or string value of the attribute.

valueDate

No

date

Holds the date value of the attribute.

Table 5-114 SupplierSites - Object. See list of elements for detail

Element Name Required Data Type Description

supplierSiteReferenceNo

Yes

String (32)

This holds the ID for the supplier or partner used in the external financial system. It is populated by the integration that brings suppliers or partners from external financial systems into Merchandising. This ID and the supplier site ID or partner ID can be used to join to information about the supplier in the external system.

supplierSite

No

Number (10)

Unique identifying number for a supplier site or partner within the system. When a new supplier site is added to the system, this can either be provided by the user or it can be system generated. Leave this field as null for a system generated supplier site ID.

attributes

Yes

Record

This contains supplier site attributes.

orgUnit

Yes

Collection of Object

References a collection of supplier org units.

address

Yes

Collection of Object

References a collection of supplier addresses.

Table 5-115 OrgUnit - Object. See list of elements for detail

Element Name Required Data Type Description

orgUnitId

No

Number (15)

This field contains org_unit_id.

orgUnitReferenceId

No

String (50)

This column holds the organizational unit ID used in the external financial system.

primaryPaySite

No

String (1)

This field contains the primary pay site indicator.

Table 5-116 Address - Object. See list of elements for detail

Element Name Required Data Type Description

addressReferenceKey

No

String (32)

This column contains the external reference ID used to distinguish between different addresses.

addressKey

No

Number (11)

This column contains a unique number used to distinguish between different addresses.

address

Yes

Record

This contains the supplier's address information.

Table 5-117 Address.Address - Object. See list of elements for detail

Element Name Required Data Type Description

addressType

No

String (2)

This contains the address type. Valid values (e. g. 01 - Business, 02 - Postal, etc. ) are on the add_type table. If any address types have been flagged as mandatory and are not included when the supplier or partner is being created, then if an ordering address has been included, the missing mandatory addresses will be defaulted to that address. If not, then the remittance address will be used. If neither an order nor remittance address is included, then the first address sent is used.

primaryAddressInd

No

String (1)

This column indicates whether the address is the primary address for the address type.

add1

Yes

String (240)

This field contains the first line of the address.

add2

No

String (240)

This field contains the second line of the address.

add3

No

String (240)

This field contains the third line of the address.

city

Yes

String (120)

This column contains the name of the city that is associated with the address.

state

No

String (3)

This column contains the state abbreviation for the address.

country

Yes

String (3)

This column contains the country where the address exists.

post

No

String (30)

This column contains the zip code for the address.

contactName

No

String (120)

This column contains the name of the contact for the supplier or partner at this address.

contactPhone

No

String (20)

This column contains the phone number of the contact person at this address.

contactFax

No

String (20)

This column contains the fax number of the contact person at this address.

contactEmail

No

String (100)

This column contains the email address of the partner or suppliers representative contact.

jurisdictionCode

No

String (10)

ID associated to the tax jurisdiction of the country-state relationship.

customFlexAttribute

No

Collection of Object

References a collection of custom flexible attributes. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured named attribute is missing from the input collection, its value will be set to NULL.

Sample Input Message

{
  "items": [
    {
      "supplierReferenceNo": "1",
      "supplier": 3026,
      "vendorTypeCode": null,
      "attributes": {
        "supplierName": "Prime Hardware",
        "supplierNameSecondary": "Prime Hardware 2",
        "contactName": "Alexandre Roma",
        "contactPhone": "234-112-7654",
        "contactFax": "234-112-7654",
        "contactPager": null,
        "supplierStatus": "A",
        "qualityControlPercentage": 3,
        "qualityControlFrequency": "5",
        "vendorCheckingPercentage": 3,
        "vendorCheckingFrequency": 2,
        "currencyCode": "USD",
        "language": 1,
        "languageReferenceId": null,
        "terms": "108",
        "termsReferenceId": null,
        "freightTerms": "03",
        "freightTermsReferenceId": null,
        "minReturnValue": 3.55,
        "returnCourier": "125",
        "handlingPercentage": 3,
        "ediChannel": 2,
        "costChangeVariancePercentage": 9.65,
        "costChangeVarianceAmt": 9.65,
        "shipMethod": "30",
        "paymentMethod": "OA",
        "contactTelex": "234-112-7654",
        "contactEmail": "a_roma@primehardware.com",
        "vatRegion": 1000,
        "invoicePayLocation": "S",
        "invoiceReceiveLocation": "C",
        "comments": null,
        "defaultItemLeadTime": 7,
        "dunsNumber": "108890",
        "dunsLocation": "1055",
        "defaultPricingControl": "R",
        "generateConsignmentOrderInd": "Y",
        "generateSelfInvoicingInd": "Y",
        "customFlexAttribute": [
          {
            "name": "REVIEW_DATE",
            "value": null,
            "valueDate": "2001-12-31"
          }
        ],
        "dealUploadStatus": "W",
        "taxId": null,
        "procurementSiteInd": "N",
        "paymentSiteInd": "N",
        "localizationExtensions": [
          {
            "country": "BR",
            "attributes": [
              {
                "name": "SPECIAL_CATEGORY_CODE",
                "value": "WS_PRC_08",
                "valueDate": "2001-12-31"
              }
            ]
          }
        ]
      },
      "supplierSites": [
        {
          "supplierSiteReferenceNo": "2",
          "supplierSite": 3026001,
          "attributes": {
            "supplierName": "Prime Hardware",
            "supplierNameSecondary": "Prime Hardware 2",
            "contactName": "Alexandre Roma",
            "contactPhone": "234-112-7654",
            "contactFax": "234-112-7654",
            "contactPager": null,
            "supplierStatus": "A",
            "qualityControlPercentage": 3,
            "qualityControlFrequency": "5",
            "vendorCheckingPercentage": 3,
            "vendorCheckingFrequency": 2,
            "currencyCode": "USD",
            "language": 1,
            "languageReferenceId": null,
            "terms": "108",
            "termsReferenceId": null,
            "freightTerms": "03",
            "freightTermsReferenceId": null,
            "minReturnValue": 3.55,
            "returnCourier": "125",
            "handlingPercentage": 3,
            "ediChannel": 2,
            "costChangeVariancePercentage": 9.65,
            "costChangeVarianceAmt": 9.65,
            "shipMethod": "30",
            "paymentMethod": "OA",
            "contactTelex": "234-112-7654",
            "contactEmail": "a_roma@primehardware.com",
            "vatRegion": 1000,
            "invoicePayLocation": "S",
            "invoiceReceiveLocation": "C",
            "comments": null,
            "defaultItemLeadTime": 7,
            "dunsNumber": "108890",
            "dunsLocation": "1055",
            "defaultPricingControl": "R",
            "generateConsignmentOrderInd": "Y",
            "generateSelfInvoicingInd": "Y",
            "customFlexAttribute": [
              {
                "name": "REVIEW_DATE",
                "value": null,
                "valueDate": "2001-12-31"
              }
            ],
            "dealUploadStatus": "W",
            "taxId": null,
            "procurementSiteInd": "N",
            "paymentSiteInd": "N",
            "localizationExtensions": [
              {
                "country": "BR",
                "attributes": [
                  {
                    "name": "SPECIAL_CATEGORY_CODE",
                    "value": "WS_PRC_08",
                    "valueDate": "2001-12-31"
                  }
                ]
              }
            ]
          },
          "orgUnit": [
            {
              "orgUnitId": 1111111111,
              "orgUnitReferenceId": null,
              "primaryPaySite": "Y"
            }
          ],
          "address": [
            {
              "addressReferenceKey": "2",
              "addressKey": 114772,
              "address": {
                "addressType": "01",
                "primaryAddressInd": "Y",
                "add1": "200 Ryan Way",
                "add2": "Suite 100",
                "add3": null,
                "city": "Somerville",
                "state": "MA",
                "country": "US",
                "post": "55555-1234",
                "contactName": "Laura Johnson",
                "contactPhone": "617-897-0900",
                "contactFax": "617-897-0902",
                "contactEmail": "l_johnson@primehardware.com",
                "jurisdictionCode": null,
                "customFlexAttribute": [
                  {
                    "name": "REVIEW_DATE",
                    "value": null,
                    "valueDate": "2001-12-31"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 200 (Success)

Sample Response Message

{
  "items": [
    {
      "supplierReferenceNo": "1",
      "supplier": 3026,
      "vendorTypeCode": null,
      "attributes": {
        "supplierName": "Prime Hardware",
        "supplierNameSecondary": "Prime Hardware 2",
        "contactName": "Alexandre Roma",
        "contactPhone": "234-112-7654",
        "contactFax": "234-112-7654",
        "contactPager": null,
        "supplierStatus": "A",
        "qualityControlPercentage": 3,
        "qualityControlFrequency": "5",
        "vendorCheckingPercentage": 3,
        "vendorCheckingFrequency": 2,
        "currencyCode": "USD",
        "language": 1,
        "languageReferenceId": null,
        "terms": "108",
        "termsReferenceId": null,
        "freightTerms": "03",
        "freightTermsReferenceId": null,
        "minReturnValue": 3.55,
        "returnCourier": "125",
        "handlingPercentage": 3,
        "ediChannel": 2,
        "costChangeVariancePercentage": 9.65,
        "costChangeVarianceAmt": 9.65,
        "shipMethod": "30",
        "paymentMethod": "OA",
        "contactTelex": "234-112-7654",
        "contactEmail": "a_roma@primehardware.com",
        "vatRegion": 1000,
        "invoicePayLocation": "S",
        "invoiceReceiveLocation": "C",
        "comments": null,
        "defaultItemLeadTime": 7,
        "dunsNumber": "108890",
        "dunsLocation": "1055",
        "defaultPricingControl": "R",
        "generateConsignmentOrderInd": "Y",
        "generateSelfInvoicingInd": "Y",
        "customFlexAttribute": [
          {
            "name": "REVIEW_DATE",
            "value": null,
            "valueDate": "2001-12-31"
          }
        ],
        "dealUploadStatus": "W",
        "taxId": null,
        "procurementSiteInd": "N",
        "paymentSiteInd": "N",
        "localizationExtensions": [
          {
            "country": "BR",
            "attributes": [
              {
                "name": "SPECIAL_CATEGORY_CODE",
                "value": "WS_PRC_08",
                "valueDate": "2001-12-31"
              }
            ]
          }
        ]
      },
      "supplierSites": [
        {
          "supplierSiteReferenceNo": "2",
          "supplierSite": 3026001,
          "attributes": {
            "supplierName": "Prime Hardware",
            "supplierNameSecondary": "Prime Hardware 2",
            "contactName": "Alexandre Roma",
            "contactPhone": "234-112-7654",
            "contactFax": "234-112-7654",
            "contactPager": null,
            "supplierStatus": "A",
            "qualityControlPercentage": 3,
            "qualityControlFrequency": "5",
            "vendorCheckingPercentage": 3,
            "vendorCheckingFrequency": 2,
            "currencyCode": "USD",
            "language": 1,
            "languageReferenceId": null,
            "terms": "108",
            "termsReferenceId": null,
            "freightTerms": "03",
            "freightTermsReferenceId": null,
            "minReturnValue": 3.55,
            "returnCourier": "125",
            "handlingPercentage": 3,
            "ediChannel": 2,
            "costChangeVariancePercentage": 9.65,
            "costChangeVarianceAmt": 9.65,
            "shipMethod": "30",
            "paymentMethod": "OA",
            "contactTelex": "234-112-7654",
            "contactEmail": "a_roma@primehardware.com",
            "vatRegion": 1000,
            "invoicePayLocation": "S",
            "invoiceReceiveLocation": "C",
            "comments": null,
            "defaultItemLeadTime": 7,
            "dunsNumber": "108890",
            "dunsLocation": "1055",
            "defaultPricingControl": "R",
            "generateConsignmentOrderInd": "Y",
            "generateSelfInvoicingInd": "Y",
            "customFlexAttribute": [
              {
                "name": "REVIEW_DATE",
                "value": null,
                "valueDate": "2001-12-31"
              }
            ],
            "dealUploadStatus": "W",
            "taxId": null,
            "procurementSiteInd": "N",
            "paymentSiteInd": "N",
            "localizationExtensions": [
              {
                "country": "BR",
                "attributes": [
                  {
                    "name": "SPECIAL_CATEGORY_CODE",
                    "value": "WS_PRC_08",
                    "valueDate": "2001-12-31"
                  }
                ]
              }
            ]
          },
          "orgUnit": [
            {
              "orgUnitId": 1111111111,
              "orgUnitReferenceId": null,
              "primaryPaySite": "Y"
            }
          ],
          "address": [
            {
              "addressReferenceKey": "2",
              "addressKey": 114772,
              "address": {
                "addressType": "01",
                "primaryAddressInd": "Y",
                "add1": "200 Ryan Way",
                "add2": "Suite 100",
                "add3": null,
                "city": "Somerville",
                "state": "MA",
                "country": "US",
                "post": "55555-1234",
                "contactName": "Laura Johnson",
                "contactPhone": "617-897-0900",
                "contactFax": "617-897-0902",
                "contactEmail": "l_johnson@primehardware.com",
                "jurisdictionCode": null,
                "customFlexAttribute": [
                  {
                    "name": "REVIEW_DATE",
                    "value": null,
                    "valueDate": "2001-12-31"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response is returned. The element validationErrors is present when the input payload or input parameters do not follow the schema definition of this service. The element businessError is present if the payload passes schema validation but an exception is caught while processing the business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Supplier Download Service

Supplier Detail Service

This section describes the Supplier Detail service.

Business Overview

Supplier Detail service allows user to retrieve Supplier information for a selected supplier.

Service Type

Get

ReST URL
Supplier/supplierDetail?supplierNumber={suppliernumber}
Input Parameters
Parameter Name Required Description

Supplier

Yes

Supplier number

Output

RestSupplierRecRDO

Parameter Name Data Type

supplier

BigDecimal

sup_name

String

sup_name_secondary

String

supplier_parent

BigDecimal

sup_status

String

currency_code

String

terms

String

freight_terms

String

vat_region

BigDecimal

external_ref_id

String

Supplier_address

List<RestSupplierAddressRecRDO>

RestSupplierAddressRecRDO

Parameter Name Data Type

add_1

String

add_2

String

add_3

String

city

String

state

String

country_id

String

post

String

contact_name

String

contact_phone

String

contact_email

String

JSON Structure

[
  {
    "supplierAddress": [
      {
        "countryId": null,
        "add2": null,
        "add3": null,
        "city": null,
        "add1": null,
        "state": null,
        "contactEmail": null,
        "contactName": null,
        "contactPhone": null,
        "post": null,
        "links": [],
        "hyperMediaContent": {
          "linkRDO": []
        }
      },
      {
        "countryId": null,
        "add2": null,
        "add3": null,
        "city": null,
        "add1": null,
        "state": null,
        "contactEmail": null,
        "contactName": null,
        "contactPhone": null,
        "post": null,
        "links": [],
        "hyperMediaContent": {
          "linkRDO": []
        }
      },
      {
        "countryId": null,
        "add2": null,
        "add3": null,
        "city": null,
        "add1": null,
        "state": null,
        "contactEmail": null,
        "contactName": null,
        "contactPhone": null,
        "post": null,
        "links": [],
        "hyperMediaContent": {
          "linkRDO": []
        }
      },
      {
        "countryId": null,
        "add2": null,
        "add3": null,
        "city": null,
        "add1": null,
        "state": null,
        "contactEmail": null,
        "contactName": null,
        "contactPhone": null,
        "post": null,
        "links": [],
        "hyperMediaContent": {
          "linkRDO": []
        }
      },
      {
        "countryId": null,
        "add2": null,
        "add3": null,
        "city": null,
        "add1": null,
        "state": null,
        "contactEmail": null,
        "contactName": null,
        "contactPhone": null,
        "post": null,
        "links": [],
        "hyperMediaContent": {
          "linkRDO": []
        }
      }
    ],
    "supNameSecondary": null,
    "supplierParent":null,
    "terms": null,
    "supStatus": null,
    "currencyCode": null,
    "supplier": null,
    "supName": null,
    "freightTerms": null,
    "vatRegion": null,
    "externalRefId": null,
    "links": [],
    "hyperMediaContent": {
      "linkRDO": []
    }
  }
]
Table Impact
TABLE SELECT INSERT UPDATE DELETE

SUPS

Yes

No

No

No

ADDR

Yes

No

No

No

JOB_AUDIT_LOGS

No

Yes

No

No

JOB_AUDIT_PAYLOAD

No

Yes

No

No

Supplier Publish Services
Endpoints
MerchIntegrations/services/foundation/supplier 
MerchIntegrations/services/foundation/supplier/{supplierId}
Functional Area

Foundation – Suppliers and Partners

Business Overview

This service can be used by external applications to get all or selected supplier sites and the address information from Merchandising. This information is further subscribed by integrating systems like Oracle Retail Store Inventory and Operations Cloud Service (SIOCS). The address types included as part of the information are Returns, Order and Invoice address types.

Only supplier site level information is published. The supplier level information will not be published.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/supplier? since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/supplier/{supplierId}
Input Parameters

Table 5-118 MerchIntegrations/services/foundation/supplier

Parameter Name Required Data Type Description
since No String

Since Date.

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

before No String

Before Date

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

offsetkey No String Offset Key. Valid Value is combination of sort_order_seq and node id.
limit No BigDecimal Pagination limit. Default Value is 1000.
include No String Fields to include - comma separated (Example items.name,items.address.city)
exclude No String Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute)

Table 5-119 /MerchIntegrations/services/ foundation/supplier/{supplierId}

Parameter Name Required Data Type Description
supplierId Yes String Supplier ID.
include No String Fields to include - comma separated (Example items.name,items.address.city)
exclude No String Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute)
Output
Name Data Type Description
action String Action for supplier details. Valid values are INSERT, UPDATE and DELETE.
supplier Number This field specifies unique identifying number for a supplier site within the system.
supplierName String This field specifies supplier’s site's name.
supplierNameSecondary String This field specifies secondary name of the supplier.
supplierStatus String This field specifies whether the supplier is currently active.
parentSupplier String This field contains the supplier number for the supplier site.
contactName String This field contains the name of the supplier's representative contact for this site.
contactPhone String This field contains telephone number for the supplier’s representative contact.
contactFax String This field contains fax number for the supplier’s representative contact.
contactPager String This field contains number for the pager of the supplier’s representative contact.
contactTelex String This field contains telex number of the partner or supplier’s representative contact.
contactEmail String This field contains email address of the partner or supplier’s representative contact.
qualityControlInd String This field determines whether orders from this supplier will default as requiring quality control.
qualityControlPercentage Number This field specifies percentage of items per receipt that will be marked for quality checking.
qualityControlFrequency Number This field specifies frequency in which items per receipt will be marked for quality checking.
vendorCheckingInd String This field specifies whether orders from this supplier will default as requiring vendor control.
vendorCheckingPercentage Number This field specifies percentage of items per receipt that will be marked for vendor checking.
vendorCheckingFrequency Number This field specifies frequency in which items per receipt will be marked for vendor checking.
CurrencyCode String This field specifies code identifying the currency the supplier uses for business transactions.
language String This field contains the supplier's preferred language.
terms String This field contains an indicator identifying the purchase terms that will default when an order is created for the supplier site. These terms specify when payment is due and if any discounts exist for early payment.
freightTerms String This field contains code indicating what freight terms will default when an order is created for the supplier site.
returnAllowedInd String This field specifies whether the supplier will accept returns.
returnAuthorizationRequiredInd String This field specifies if returns must be accompanied by an authorization number when sent back to the vendor.
minimumReturnValue Number This field contains a value if the supplier site requires a minimum merchandise value to be returned to accept the return. Returns of less than this amount will not be processed by the system. This field is stored in the supplier's currency.
returnCourier String This field specifies name of the courier that should be used for all returns to the supplier site.
handlingPercentage Number This field contains the default percent to be multiplied by the return’s total cost to determine the handling cost for the return.
ediOrderInd String This field specifies whether purchase orders will be sent to the supplier via EDI.
ediOrderChangeInd String This field specifies whether purchase order changes will be sent to the supplier via EDI.
ediOrderConfirmInd String This field specifies whether this supplier will send acknowledgment of a purchase orders sent via EDI.
ediAsnInd String This field specifies whether this supplier will send Advance Shipment Notifications electronically.
ediSalesReportFrequency String This field specifies EDI sales report frequency for this supplier.
ediSupplierAvailabilityInd String This field specifies whether the supplier will send availability via EDI.
ediContractInd String This field indicates whether the supplier site supports contract ordering sent via EDI.
ediInvoiceInd String This field specifies whether invoices, debit memos and credit note requests will be sent to/from the supplier via Electronic Data Interchange.
EdiChannelId String This field specifies if the supplier is an EDI supplier and supports vendor-initiated ordering, this field will contain the channel ID for the channel to which all inventory for these types of orders will flow.
costChangeVariancePercentage Number This field contains a percent that determines whether a cost change can be auto approved via induction. If the cost change falls within these boundaries, it will be approved when uploaded.
costChangeVarianceAmt Number This field contains an amount (in supplier currency) that determines whether a cost change can be auto approved via induction. If the cost change falls within these boundaries, it will be approved when uploaded.
replenishmentApprovalInd String This field indicates whether contract orders created via replenishment should be created in Approved status.
shipMethod String This field contains the default method used to ship the items on the purchase order from the supplier site. Valid values are held in code type SHPM.
paymentMethod String This field indicates the default method for how purchase orders for this site will be paid. Valid values are Letter of Credit (LC), Wire Transfer (WT) and Open Account (OA).
settlementCode String This field indicates which payment process method is used for the supplier. Valid values are N/A (N) and Evaluated Receipts Settlement (E).
preMarkInd String This field indicates whether the supplier site supports pre-marking containers for cross dock order.
autoApproveInvoiceInd String This field indicates whether the supplier's invoices can be automatically approved for payment.
debitMemoCode String This field indicates when a debit memo will be sent to the supplier site to resolve a discrepancy. Valid values are: Y - if debit memos are always to be sent, L - if debit memos are used only if a credit note is not sent by the invoice due date and N - if debit memos are never sent.
freightChargeInd String This field indicates whether a supplier site can charge freight costs.
autoApproveDebitMemoInd String This field specifies whether debit memos sent to the supplier can be automatically approved on creation.
invManagementLevel String This field indicates the level for managing supplier inventory information. Valid values are: supplier (S), supplier/location (L), supplier/department (D), and supplier/department/location (A).
backorderInd String This field specifies if backorders or partial shipments will be accepted.
vatRegion Number This field contains the unique identifying number for the VAT region applicable for this site.
prepayInvoiceInd String This field specifies whether all invoices for the supplier can be pre-paid.
servicePerformedRequiredInd String This field indicates if the supplier's services must be confirmed as performed before paying an invoice from that supplier site.
invoicePayLocation String This field indicates where invoices from this supplier site are received - at the store (S) or centrally through corporate accounting (C).
invoiceReceiveLocation String This field indicates where invoices from this supplier site are received - at the store (S) or centrally through corporate accounting (C).
invoiceGrossNet String This field indicates if the supplier site invoice lists items at gross cost (G) or net cost (N).
deliveryPolicy String This field contains the default delivery policy of the supplier site. Valid values are held in code type DLVY.
comments String This field contains any miscellaneous comments associated with the supplier.
defaultItemLeadTime Number This field specifies default lead time for the supplier site. The lead time is the time the supplier needs between receiving an order and having the order ready to ship. This value will be defaulted to item/supplier relationships.
dunsNo String This field holds the Dun and Bradstreet number to identify the supplier.
dunsLocation String This field holds the Dun and Bradstreet number to identify the location of the supplier.
bracketCostingInd String This field will determine if the supplier site supports bracket costing pricing structures.
vmiOrderStatus String This field determines the status in which any inbound POs from this supplier will be created. A NULL value indicates that the supplier is not a VMI supplier.
dsdSupplierInd String This field specifies whether the vendor supports DSD ordering, where the supplier replenishes the store directly, creating the PO and receipt at the same time.
supplierQuantityLevel String This field indicates the supplier site order quantity level. Valid values are cases (CA) or eaches (EA).
finalDestinationInd String This field indicates whether the supplier site can ship to final destination or not.
externalReferenceId String This field holds the ID for the supplier used in the external financial system.
statusUpdateByRms String This field indicates that Supplier is inactivated from RMS. Suppliers inactivated in RMS will have this field updated as Y. Otherwise this field will be null.
defaultPricingControl String Indicates the default value of the pricing control attribute at the supplier site level when supplier-controlled pricing for Consignment/Concession ownership model is used within the Merchandising suite of solutions. Valid values are R – Retailer and S – Supplier.
primaryAddressType String This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance.
primaryAddressTypeDescription String This field specifies address type description.
primaryAddressAdd1 String This field contains the first line of the address.
primaryAddressAdd2 String This field contains the second line of the address.
primaryAddressAdd3 String This field contains the third line of the address.
primaryAddressCity String This field contains the name of the city that is associated with the address.
primaryAddressState String This field contains abbreviation of the state for the address
primaryAddressStateName String This field contains full name of the state for the address.
primaryAddressCountryId String This field contains the country where the address exists.
primaryAddressJurisdictionCode String This field contains the ID associated to the tax jurisdiction of the country-state relationship.
primaryAddressPost String This field contains the zip code for the address.
primaryAddressContactName String This field contains the name of the contact for the supplier at this address.
primaryAddressContactPhone String This field contains the phone number of the contact person at this address.
primaryAddressContactTelex String This field contains the telex number of the partner or supplier’s representative contact.
primaryAddressContactFax String This field contains the fax number of the contact person at this address.
primaryAddressContactEmail String This field contains the email address of the partner or supplier’s representative contact.
generateConsignmentOrderInd String This field will allow specification of the whether Merchandising is required to generate POs against consignment sales.
generateSelfInvoicingInd String This field will allow specification of the whether the self-invoicing needs to be done for consignment Purchases or if Vendor will send invoices to be matched.
createDateTime String This field holds the record creation date.
updateDateTime String This field holds the date when the record was last updated.
customFlexAttribute This List holds custom flex attributes for address details.
address This list holds all the addresses of the supplier.
supplierOrgUnit This List holds list attributes for supplier/supplier site and Org unit id. List is populated when populated when either Multiple Set of Books is ON And/or Financial AP is O.
cacheTimestamp String This field specifies date and time when the supplier record was last maintained.

Table 5-120 address

Name Data Type Description
addressType String This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance.
addressTypeDescription String This field specifies address type description.
sequenceNo Number This field indicates the sequence that addresses within the same type were entered.
primaryAddressInd String This field indicates whether the address is the primary address for the address type.
add1 String This field contains the first line of the address.
add2 String This field contains the second line of the address.
add3 String This field contains the third line of the address.
city String This field contains name of the city that is associated with the address.
state String This field contains name of the state that is associated with the address.
stateName String This field contains name of the state description that is associated with the address.
countryID String This field contains name of the country that is associated with the address.
jurisdictionCode String This field contains the ID associated to the tax jurisdiction of the country-state relationship.
post String This field contains the zip code for the address.
contactName String This field contains the name of the contact person at this address.
contactPhone String This field contains the phone number of the contact person at this address.
contactTelex String This field contains the telex number of the warehouse's representative contact.
contactFax String This field contains the fax number of the contact person at this address.
contactEmail String This field contains email address of the warehouse's representative contact.
createDateTime String This field holds the record creation date.
updateDateTime String This field holds the date when the record was last updated.
customFlexAttribute This list holds custom flex attributes for the address.

Table 5-121 supplierOrgUnit

Name Data Type Description
orgUnitId Number This field holds org unit id.
primaryPaySiteInd String This field holds primary payment site indicator.
createDateTime String This field holds the record creation date.
updateDateTime String This field holds the date when the record was last updated.

Table 5-122 customFlexAttribute

Name Data Type Description
name String This field will hold the custom flex attribute name.
value String This field will hold the numeric or string value of the custom flex attribute.
valueDate String This field will hold the date value of the custom flex attribute.
createDateTime String This field will hold the date time when the custom flex attribute was inserted.
updateDateTime String This field will hold the date time when the custom flex attribute was last updated.

Table 5-123 Elements in JSON Output

Elements Description
items The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query.
hasMore This is dependent on limit value. If the total rows are more than then limit defined, then hasMore will be set to true else false.
limit

This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed.

For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a "next" link else no links would be added to the JSON response.

links

“self”: This contains URI pointing to current page.

“next”: This contains URI pointing to the next page of results.

Example JSON output:

{
  "items": [
    {
      "action": null,
      "supplier": 2330,
      "supplierName": "Dummy site 1",
      "supplierNameSecondary": null,
      "supplierStatus": "A",
      "parentSupplier": "2300",
      "contactName": "Shaurya S",
      "contactPhone": "98787987",
      "contactFax": null,
      "contactPager": null,
      "contactTelex": null,
      "contactEmail": null,
      "qualityControlInd": "N",
      "qualityControlPercentage": null,
      "qualityControlFrequency": null,
      "vendorCheckingInd": "N",
      "vendorCheckingPercentage": null,
      "vendorCheckingFrequency": null,
      "currencyCode": "USD",
      "language": null,
      "terms": "108",
      "freightTerms": null,
      "returnAllowedInd": "N",
      "returnAuthorizationRequiredInd": "Y",
      "minimumReturnValue": null,
      "returnCourier": null,
      "handlingPercentage": null,
      "ediOrderInd": "N",
      "ediOrderChangeInd": "N",
      "ediOrderConfirmInd": "N",
      "ediAsnInd": "N",
      "ediSalesReportFrequency": null,
      "ediSupplierAvailabilityInd": "N",
      "ediContractInd": "N",
      "ediInvoiceInd": "N",
      "ediChannelId": null,
      "costChangeVariancePercentage": 0,
      "costChangeVarianceAmt": 0,
      "replenishmentApprovalInd": "N",
      "shipMethod": null,
      "paymentMethod": null,
      "settlementCode": "N",
      "preMarkInd": "N",
      "autoApproveInvoiceInd": "N",
      "debitMemoCode": null,
      "freightChargeInd": "N",
      "autoApproveDebitMemoInd": "N",
      "invManagementLevel": "D",
      "backorderInd": "N",
      "vatRegion": 1000,
      "prepayInvoiceInd": "N",
      "servicePerformedRequiredInd": "N",
      "invoicePayLocation": null,
      "invoiceReceiveLocation": null,
      "invoiceGrossNet": "N",
      "deliveryPolicy": "NEXT",
      "comments": null,
      "defaultItemLeadTime": null,
      "dunsNo": null,
      "dunsLocation": null,
      "bracketCostingInd": "N",
      "vmiOrderStatus": null,
      "dsdSupplierInd": "N",
      "supplierQuantityLevel": "EA",
      "finalDestinationInd": "N",
      "externalReferenceId": null,
      "statusUpdateByRms": null,
      "defaultPricingControl": null,
      "primaryAddressType": "01",
      "primaryAddressTypeDescription": "Business",
      "primaryAddressAdd1": "test address",
      "primaryAddressAdd2": null,
      "primaryAddressAdd3": null,
      "primaryAddressCity": "MN",
      "primaryAddressState": "PA",
      "primaryAddressCountryId": "US",
      "primaryAddressJurisdictionCode": null,
      "primaryAddressPost": "3182",
      "primaryAddressContactName": null,
      "primaryAddressContactPhone": null,
      "primaryAddressContactTelex": null,
      "primaryAddressContactFax": null,
      "primaryAddressContactEmail": null,
      "generateConsignmentOrderInd": "Y",
      "generateSelfInvoicingInd": "Y",
      "createDateTime": "2023-08-08T01:23:39.000Z",
      "updateDateTime": "2023-10-26T17:07:34.000Z",
      "customFlexAttribute": [
        {
          "name": "PARTS_ATTR",
          "value": "test",
          "valueDate": null,
          "createDateTime": "2023-08-09T01:25:13.000Z",
          "updateDateTime": "2023-08-09T01:33:18.000Z"
        },
      ],
      "address": [
        {
          "addressType": "01",
          "addressTypeDescription": "Business",
          "sequenceNo": 1,
          "primaryAddressInd": "Y",
          "add1": "test address",
          "add2": null,
          "add3": null,
          "city": "MN",
          "state": "PA",
          "countryId": "US",
          "jurisdictionCode": null,
          "post": "3182",
          "contactName": null,
          "contactPhone": null,
          "contactTelex": null,
          "contactFax": null,
          "contactEmail": null,
          "createDateTime": "2023-08-08T01:34:34.000Z",
          "updateDateTime": "2023-08-09T00:56:21.000Z",
          "customFlexAttribute": null
        },
        {
          "addressType": "02",
          "addressTypeDescription": "Postal",
          "sequenceNo": 1,
          "primaryAddressInd": "Y",
          "add1": "test address",
          "add2": null,
          "add3": null,
          "city": "MN",
          "state": "PA",
          "countryId": "US",
          "jurisdictionCode": null,
          "post": "3182",
          "contactName": null,
          "contactPhone": null,
          "contactTelex": null,
          "contactFax": null,
          "contactEmail": null,
          "createDateTime": "2023-08-08T01:34:35.000Z",
          "updateDateTime": "2023-08-09T00:57:07.000Z",
          "customFlexAttribute": null
        }
      ],
      "supplierOrgUnit": [
        {
          "orgUnitId": 1111111111,
          "primaryPaySiteInd": "N",
          "createDateTime": "2023-08-08T01:36:30.000Z",
          "updateDateTime": "2023-08-08T01:36:30.000Z"
        }
      ],
      "cacheTimestamp": "2023-10-26T20:03:46.186Z"
    }
  ],
  "hasMore": false,
  "limit": 1,
  "count": 1,
  "links": null
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLE SELECT INSERT UPDATE DELETE
MERCHAPI_CONFIG Yes No No No
MERCHAPI_CONSUMER_CONFIG Yes No No No
MERCHAPI_ASYNC_REQUEST Yes No No No
MERCH_BATCH_PARAM Yes No No No
SUPS Yes No No No
SUPS_CFA_EXT Yes No No No
ICL_RMS_SUPPLIER Yes No Yes Yes
ICL_RMS_ADDR Yes No Yes Yes
MERCHAPI_SUPPLIER Yes Yes Yes Yes
V_ MERCHAPI_EXT_SUPPLIER_JSON Yes No No No

Supplier Upload Service

Manage Supplier Evaluation Codes
Functional Area

Foundation - Suppliers and Partners

Business Overview

The Supplier Evaluation Codes Service is used by the Supplier Evaluation (ORSE) module to integrate master glossary data to Merchandising. The glossary contains a list of codes and valid values for each code. It is expected that the complete glossary will be published in a single request and Merchandising will overlay the existing codes with the information received in the service call.

Service Type

PUT

ReST URL
MerchIntegrations/services/foundation/suppliers/evaluation/codes
Input Payload Details

Table 5-124 Codes - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

Table 5-125 Items - Object. See list of elements for detail

Element Name Required Data Type Description

type

Yes

String (255)

This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE, STATUS, and ITEM_STATUS.

code

Yes

String (255)

This is the supplier evaluation code which contains valid values for the code type.

locale

Yes

Collection of Object

Table 5-126 Locale - Object. See list of elements for detail

Element Name Required Data Type Description

language

Yes

String (255)

This field contains the Supplier Evaluation language code in which the translated text is maintained. The supported language codes are defined in SELG code type. Few examples are en_GB, en_US, sv, ru, nl, ja, zh_CN, it, pt_BR, de, fr, es. Any text in a non supported language will be ignored.

description

Yes

String (255)

This field contains the translated value of the code.

Table 5-127 CodesError - Object. See list of elements for detail

Element Name Required Data Type Description

type

Yes

String (255)

This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE, STATUS, and ITEM_STATUS.

code

Yes

String (255)

This is the supplier evaluation code which contains valid values for the code type.

errorMessage

Yes

String (2000)

This field contains the error message.

Sample Input Message

{
  "items": [
    {
      "type": "EVALUATION_TYPE",
      "code": "SITE_AUDIT",
      "locale": [
        {
          "language": "it",
          "description": "Verifica del sito"
        }
      ]
    }
  ]
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element "validationErrors" will be present when input payload or input parameters are not as per the schema definition of this service. The element "businessError" will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-128 CodesError - Object. See list of elements for detail

Element Name Required Data Type Description

type

Yes

String (255)

This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE, STATUS, and ITEM_STATUS.

code

Yes

String (255)

This is the supplier evaluation code which contains valid values for the code type.

errorMessage

Yes

String (2000)

This field contains the error message.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "type": "EVALUATION_TYPE",
      "code": "SITE_AUDIT",
      "errorMessage": "More than one record for the same type, code and language exist."
    }
  ]
}
Manage Supplier Evaluation Transactions
Functional Area

Foundation - Suppliers and Partners

Business Overview

The Supplier Evaluation Transactions service is used by the Supplier Evaluation (ORSE) module for providing supplier evaluation related information to Merchandising. The information provided by this service includes detailed information about each evaluation event undertaken by ORSE at the supplier site level. This information can be used in Merchandising for decision making such as supplier activation or purchase order approval etc.

Service Type

PUT

ReST URL
MerchIntegrations/services/foundation/suppliers/evaluation/transactions
Input Payload Details

Table 5-129 Transactions - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

Table 5-130 Items - Object. See list of elements for detail

Element Name Required Data Type Description

supplier

Yes

Number (10)

This is the supplier site.

transactionType

Yes

String (255)

This field determines the type of transaction. This identifies the message type as Audit, Assessment, Summary, Document or Site Score.

evaluationType

Yes

String (255)

This field contains the code specific to the supplier evaluation type. The default set of suggested supplier evaluation types will be Ethical, Environmental and Governance, however the retailer/portal owner can configure their own set of values in addition or instead of these

typeBusinessKey

No

String (255)

This field contains the code of the assessment type or the audit template.

typeBusinessKeyDescription

No

Collection of Object

This node contains the language and the corresponding translation of the typeBusinessKey.

recordBusinessKey

No

String (255)

This field contains the name of the assessment or audit code.

createdOn

No

date-time

This field contains the timestamp of the event.

dueDate

No

date

This field contains the due date of the latest assessment for the assessment type for this site.

status

No

String (255)

This field contains the status of the supplier evaluation.

due

No

String (5)

For assessments, this field indicates whether the latest assessment for the assessment type for this site is due. For audit events, this indicates whether the latest audit/visit based on the audit template for this site is due.

overDue

No

String (5)

For assessments, this field indicates whether the latest assessment for the assessment type for this site is overdue. For audit events, this indicates whether the latest audit/visit based on the audit template for this site is overdue.

completionDate

No

date

For documents, this field contains the date on which the document was last published. For assessments, this field contains the timestamp that the most recent assessment at completed status for this assessment type for this site most recently moved to completed status. For audits, this field contains the timestamp that the most recent audit/visit at completed status for this audit template for this site most recently moved to completed status.

score

No

String (255)

This field contains the descriptive score of the most recent assessment at completed status for this assessment type for this site.

scoreValue

No

Number (10)

For assessments, this field contains the numeric score of the most recent assessment at completed status for this assessment type for this site. For audits, this field contains the numeric score of the most recent audit/visit at completed status for this audit template for this site. For supplier site score, this field contains the numeric value of the site's latest SE score.

auditOpenIssues

No

Number (10)

This field contains the count of open issues/non-conformances of the latest audit/visit based on the audit template for this site.

auditCompletedIssues

No

Number (10)

This field contains the count of completed issues/non-conformances of the latest audit/visit based on the audit template for this site.

auditTotalIssues

No

Number (10)

This field contains the count of total issues/non-conformances of the latest audit/visit based on the audit template for this site.

Table 5-131 TypeBusinessKeyDescription - Object. See list of elements for detail

Element Name Required Data Type Description

language

Yes

String (255)

This field contains the Supplier Evaluation language code in which the translated text is maintained. The supported language codes are defined in SELG code type. Few examples are en_GB, en_US, sv, ru, nl, ja, zh_CN, it, pt_BR, de, fr, es. Any text in a non supported language will be ignored.

typeDescription

Yes

String (255)

This field contains the translated value of the typeBusinessKeyDescription.

Table 5-132 TransactionsError - Object. See list of elements for detail

Element Name Required Data Type Description

supplier

Yes

Number (10)

This is the supplier site.

transactionType

Yes

String (255)

This field determines the type of transaction. This identifies the message type as Audit, Assessment, Summary, Document or Site Score.

evaluationType

Yes

String (255)

This field contains the code specific to the supplier evaluation type. The default set of suggested supplier evaluation types will be Ethical, Environmental and Governance, however the retailer/portal owner can configure their own set of values in addition or instead of these

typeBusinessKey

No

String (255)

This field contains the code of the assessment type or the audit template.

recordBusinessKey

No

String (255)

This field contains the name of the assessment or audit code.

errors

Yes

Array of String

Collection of validation errors for the supplier evaluation record.

Sample Input Message

{
  "items": [
    {
      "supplier": 30201,
      "transactionType": "Audit",
      "evaluationType": "ETHICAL",
      "typeBusinessKey": "SITE_AUDIT",
      "typeBusinessKeyDescription": [
        {
          "language": "es",
          "typeDescription": "Auditoría del sitio"
        }
      ],
      "recordBusinessKey": "AUD45",
      "createdOn": "2001-12-31T23:59:59.123Z",
      "dueDate": "2001-12-31",
      "status": "COMPLETED",
      "due": "true",
      "overDue": "false",
      "completionDate": "2001-12-31",
      "score": "PASS",
      "scoreValue": 80,
      "auditOpenIssues": 1,
      "auditCompletedIssues": 7,
      "auditTotalIssues": 8
    }
  ]
}
Response Code: 200 (Success)
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element "validationErrors" will be present when input payload or input parameters are not as per the schema definition of this service. The element "businessError" will be present if the payload passes schema validation but exception is caught while processing business logic.

Table 5-133 TransactionsError - Object. See list of elements for detail

Element Name Required Data Type Description

supplier

Yes

Number (10)

This is the supplier site.

transactionType

Yes

String (255)

This field determines the type of transaction. This identifies the message type as Audit, Assessment, Summary, Document or Site Score.

evaluationType

Yes

String (255)

This field contains the code specific to the supplier evaluation type. The default set of suggested supplier evaluation types will be Ethical, Environmental and Governance, however the retailer/portal owner can configure their own set of values in addition or instead of these

typeBusinessKey

No

String (255)

This field contains the code of the assessment type or the audit template.

recordBusinessKey

No

String (255)

This field contains the name of the assessment or audit code.

errors

Yes

Array of String

Collection of validation errors for the supplier evaluation record.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    {
      "supplier": 30201,
      "transactionType": "Audit",
      "evaluationType": "ETHICAL",
      "typeBusinessKey": "SITE_AUDIT",
      "recordBusinessKey": "AUD45",
      "errors": [
        "Invalid evaluation type: ETHICAL"
      ]
    }
  ]
}

Tax Rules

The following services are included in this functional area:

Tax Rule Download Service

The following services are included in this functional area:

Get Item Location Tax Rules

Functional Area

Foundation – Tax Rules

Business Overview

This service retrieves the tax rules that determine how retail tax is calculated on a sales transaction for an item at the location level. This service is used by external systems that require this information to obtain the tax rules for items being sold at a given store.

The service can retrieve tax rule details for all items at a given store, for all stores for a given item, or for all items at all stores depending on the provided input. For example, if a location is provided, the service will return information for the provided location. 

In order to fetch new updates pass the parameter of since/before timestamp.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/taxLocationItem
/MerchIntegrations/services/foundation/taxLocationItem?limit=1000&locationType={locationType}&location={location}&item={item}&offsetkey={offsetkey}&since={since}&before={before}
Input Parameters
Parameter Name Required Data Type Description

since

No

String

Since Date.

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

before

No

String

Before Date.

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

Item

No

String

This field specifies unique alphanumeric value that identifies the item

locationType

No

String

This contains the type of location. Valid value is Store (S).

location

No

String

This field contains numeric identifier of the store location.

offsetkey

No

String

Offset Key. Valid Values are

  • Location type - S

  • Location type and location

  • Location type, location, and Item

    For example: S,1001,342342

limit

No

String

Pagination limit. Default Value is 1000.

Output
Elements Description

items

The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query.

hasMore

This is dependent on limit value. If the total rows are more than the limit defined, then hasMore will be set to true else false.

limit

This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed.

For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a "next" link else no links would be added to the JSON response.

links

“self”: This contains URI pointing to current page.

“next”: This contains URI pointing to the next page of results.

Table 5-134 Items - Object. See list of elements for detail

Name Data Type Description

action

String

Action for Item Tax Location Item details. Valid Values are INSERT, UPDATE, DELETE and UPSERT.

location

Number

This field contains numeric identifier of the location in which the item is to be found.

locType

String

This field contains the type of location. Valid value is Store (S).

taxLocationId

String

The tax location identifier is derived based on the location’s tax region and the association of the location’s CFAs to one or more tax rules. A store with CFAs used on a tax rule may have a different tax location from other stores that are part of the same tax region.

ruleId

String

Tax Rule identifier.

ruleName

String

Tax Rule Name.

taxRegionSource

String

Source Tax Region.

taxRegionDestination

String

Destination Tax Region.

taxAuthorityId

String

A specific tax authority that establishes the tax rate. The tax authority is normally a government body. For example, National, State, Province, City, and so on.

taxCalcType

String

The tax calculation type which indicates if the tax is calculated as a percentage of a value or as a monetary amount per unit. Possible values are Percentage (P) or Per Unit (U).

taxCode

String

Tax code.

taxRate

String

Tax rate in percentage when tax calculation type is Percentage (P).

effectiveTaxRate

String

Tax over tax rate calculated based on predecessor tax rule when applied.

taxValuePerUnit

String

Tax value when tax calculation type is Per Unit (U).

activeDate

String

Date upon which this tax rule became, or will become active.

endDate

String

Date upon which this tax rule expired or will expire.

currencyCode

String

Contains the currency code for the tax rule. For per unit tax application.

taxGroupId

String

Tax group identifier.

createDateTime

String

This field holds the record creation date.

updateDateTime

String

This field holds the date when the record was last updated.

cacheTimestamp

String

This field specifies date and time when the tax location/item record was last maintained.

Sample Response Message

{
  "items": [
    {
      "action": "UPSERT",
      "item": "100013765",
      "loctype": "S",
      "location": 1111,
      "taxLocationId": "10000001000",
      "ruleId": "40001",
      "ruleName": "Rule for Item 100013765",
      "taxRegionSource": null,
      "taxRegionDestionation": 1000,
      "taxAuthorityId": null,
      "taxCalcType": "P",
      "taxCode": "TOTAX",
      "taxRate": 22,
      "effectiveTaxRate": null,
      "taxValuePerUnity": null,
      "activeDate": "2024-04-01",
      "endDate": "2026-06-09",
      "currencyCode": null,
      "createDateTime": "2024-07-19T02:37:21.995Z",
      "updateDateTime": "2024-07-19T02:37:21.995Z",
      "cacheTimestamp": "2024-07-19T02:37:21.995Z",
      "taxGroupId": "2238422788"
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "https://<server>:<port>/Application/services/foundation/taxLocationItem?limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:28:42.628Z",
      "rel": "self"
    },
    {
      "href": "https://<server>:<port>/Application/services/services/foundation/taxLocationItem?offsetkey=100013765%2C10000001000%2C40001&limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:28:42.628Z",
      "rel": "next"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLE SELECT INSERT UPDATE DELETE

MERCHAPI_CONFIG

Yes

No

No

No

MERCHAPI_CONSUMER_CONFIG

Yes

No

No

No

MERCHAPI_GTS_TAX_LOC_ITEM

Yes

No

No

No

MERCHAPI_GTS_TAX_LOC

Yes

No

No

No

Get Store Tax Location

Functional Area

Organizational Hierarchy - Stores

Business Overview

This service can be used by external applications to obtain the tax location for a provided store or all stores.

In Merchandising, Tax (or VAT) Regions are associated with store definitions. These tax regions can be, or can have, a parent tax region. The tax region associated with a location must be at the lowest level, meaning a parent region cannot be assigned to a location. Store definitions may also have custom flexible attributes (CFAs) defined. If one or more of the CFAs associated with the store are flagged as taxable, it is possible to create tax rules that utilize these CFAs.

The Global Tax Solution (GTS) determines a store’s tax location based on the store’s tax region and the CFAs applied to the location and to tax rules. A location with CFAs used on a tax rule may have a different tax location from other locations that have the same tax region. If all stores are placed in the same tax region and there are no location level CFAs used on a GTS tax rule, all of these stores will have the same tax location, such as 10000001000, where 1000 is the tax region identifier. The CFA for locations is used in GTS as exception criteria for applying tax rules. For instance, all locations have the same tax region but one store qualifies for a benefit from the government to have a reduce rate. This store will have a CFA to reflect designation and rules to use the CFA. In this case, this store with the CFA will be placed in a different tax location than the other stores in the same tax region.

If a location is provided, the service will return that store’s tax location, if no location is provided the system will return all stores and their associated tax location. In order to fetch new updates pass the parameter of since/before timestamp.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/taxLocation?limit=1000& locationType={locationType}&location={location}&offsetkey={offsetkey}&since={since}&before={before}
Input Parameters
Parameter Name Required Data Type Description

since

No

String

Since Date.

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

before

No

String

Before Date.

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

locationType

No

String

This contains the type of location. Valid value is Store (S).

location

No

String

This field contains numeric identifier of the store location.

offsetkey

No

String

Offset Key. Valid Values are

  • Location type - S

  • Location type and location

  • Location type, location and tax/VAT region (tax location ID)

    For example: S,1001,342342

limit

No

String

Pagination limit. Default Value is 1000.

Output
Elements Description

items

The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query.

hasMore

This is dependent on limit value. If the total rows are more than the limit defined, then hasMore will be set to true else false.

limit

This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed.

For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a "next" link else no links would be added to the JSON response.

links

“self”: This contains URI pointing to current page.

“next”: This contains URI pointing to the next page of results.

Table 5-135 Items - Object. See list of elements for detail

Name Data Type Description

action

String

Action for Tax Location details. Valid Values are INSERT, UPSERT, UPDATE and DELETE.

location

Number

This field contains numeric identifier of the store location.

locationType

String

This field contains the type of location in which the item is to be found. Valid value is Store (S).

taxLocationId

String

The tax location identifier is derived based on the location’s tax region and the association of the location’s CFAs to one or more tax rules. A store with CFAs used on a tax rule may have a different tax location from other stores that are part of the same tax region.

createDateTime

String

This field holds the record creation date.

updateDateTime

String

This field holds the date when the record was last updated.

cacheTimestamp

String

This field specifies date and time when the tax location record was last maintained.

Elements in JSON Output

{
  "items": [
    {
    "action": "INSERT",
      "location": 1200,
      "locationType": "S",
      "taxLocationId": "10000000012",
      "createDateTime": "2024-07-19T02:37:21.586Z",
      "updateDateTime": "2024-07-19T02:37:21.586Z",
      "cacheTimestamp": "2024-07-19T02:37:21.586Z"    
}
  ],
  "hasMore": true,
  "limit": 1000,
  "count": 1000,
  "links": [
    {
      "href": https://<server>:<port>/Application/services//foundation/taxlocation?limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:24:57.599Z,
      "rel": "next"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLE SELECT INSERT UPDATE DELETE

MERCHAPI_CONFIG

Yes

No

No

No

MERCHAPI_CONSUMER_CONFIG

Yes

No

No

No

MERCHAPI_GTS_TAX_LOC

Yes

No

No

No

Get Tax Rule Groups

Functional Area

Foundation – Tax Rules

Business Overview

This service retrieves the tax groups and associated tax rules for use by external systems. Tax rule groups are determined by Merchandising based on how many tax rules are applied to a given item/tax region combination.

Tax rules are defined for tax regions and a set of items. Tax rules contain calculation details that inform the system how to calculate the tax. A given item/location may have one or more applicable tax rules.

Table 5-136 Tax Rules

Tax Rule Items Tax Region Tax Calculation

Tax Rule A

111, 222, 333

Main Region

Standard VAT 16%

Tax Rule B

444, 555, 666

Main Region

Reduced VAT 0%

Tax Rule C

111, 222, 333

Border Region

Standard VAT 8%

Tax Rule D

444, 555, 666

Border Region

Reduced VAT 0%

Tax Rule E

222, 444

Main Region

IEPS Tax 2.00 per unit

Tax Rule F

333, 555

Border Region

IEPS Tax 1%

Each store in Merchandising will have an associated tax region:

Table 5-137 Store Definitions

Location Tax Region

Store A

Main Region

Store B

Main Region

Store C

Border Region

Store D

Border Region

Merchandising will organize the tax rules into tax groups using the tax rule definitions and location’s tax region associations.

For any case where one or more items have a unique tax rule, or a unique set of tax rules at one or more stores, the system will create a tax group for the tax tule or group of tax rules.

Steps to determine the Tax Group for a given item/location:

  1. Find the store’s tax location. The tax location identifier is derived based on the location’s tax region and the association of the location’s CFAs to one or more tax rules. A store with CFAs used on a tax rule may have a different tax location from other stores that are part of the same tax region.

  2. Using the item and the store’s tax region, find the applicable tax rules.

  3. For each unique result, whether it is one tax rule or multiple, the system will assign a new tax group identifier.

The table below shows the associated tax group for Items 111, 222, 333, 444, 555, or 666 at either the Main Region or Border Region based on the Tax Rules and Store Definitions listed above. Both items 111 and 333 at stores associated with the Main tax region, only require Tax Rule A, this is Group 1. There is one item that requires Tax Rule B, and it is item 666 at stores in the Main Region, this is Group 2. Item 222 at stores in the Main tax region have both Tax Rule A and Tax Rule E, this is Group 5. The table below shows the tax groups for this set of items and tax regions. This service will return the Tax Groups, the Tax Regions (referred to as Tax Location in the output) and the associated tax rules.

Table 5-138 Tax Groups

Item Tax Region Tax Rule or Rules Applied Tax Group

111, 333

Main Region

Tax Rule A

Group 1

666

Main Region

Tax Rule B

Group 2

111, 222

Border Region

Tax Rule C

Group 3

444, 666

Border Region

Tax Rule D

Group 4

222

Main Region

Tax Rule A and Tax Rule E

Group 5

444

Main Region

Tax Rule B and Tax Rule E

Group 6

333

Border Region

Tax Rule C and Tax Rule F

Group 7

555

Border Region

Tax Rule D and Tax Rule F

Group 8

The Tax Authority provided in the output of this service is derived by Merchandising Tax Codes setup (vat_codes).

In order to fetch new updates pass the parameter of since/before timestamp.

Service Type

GET

ReST URL
/MerchIntegrations/services/foundation/taxGroupRule?limit=1000&offsetkey={offsetkey}&since={since}&before={before}
Input Parameters
Parameter Name Required Data Type Description

since

No

String

Since Date.

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

before

No

String

Before Date.

Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm

offsetkey

No

String

Offset Key. Valid Values are

  • Tax Group Id - S

  • Tax Group ID and Tax Rule ID

    For example: 21321,1231

limit

No

String

Pagination limit. Default Value is 1000.

Elements in JSON Output
Elements Description

items

The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query.

hasMore

This is dependent on limit value. If the total rows are more than the limit defined, then hasMore will be set to true else false.

limit

This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed.

For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a "next" link else no links would be added to the JSON response.

links

“self”: This contains URI pointing to current page.

“next”: This contains URI pointing to the next page of results.

Table 5-139 Items - Object. See list of elements for detail

Name Data Type Description

action

String

Action for tax group rules details. Valid Values are INSERT, UPSERT, UPDATE and DELETE.

taxGroupId

String

The tax group identifier is determined by Merchandising based on the criteria applied on the combinations of location tax identification, tax rules and items.

groupName

String

Group Name

taxLocationId

String

The tax location identifier is derived based on the location’s tax region and the association of the location’s CFAs to one or more tax rules. A store with CFAs used on a tax rule may have a different tax location from other stores that are part of the same tax region.

ruleId

String

Tax Rule identifier

ruleSequence

String

Sequence of the rule within the tax group

ruleName

String

Tax Rule Name

taxRegionSource

String

Source Tax Region.

taxRegionDestination

String

Destination Tax Region

taxAuthorityId

String

A specific tax authority that establishes the tax rate. The tax authority is normally a government body. For example, National, State, Province, City, and so on.

taxCalcType

String

The tax calculation type which indicates if the tax is calculated as a percentage of a value or as a monetary amount per unit. Possible values are Percentage (P) or Per Unit (U).

taxCode

String

Tax code

taxRate

String

Tax rate in percentage when tax calculation type is Percentage (P).

effectiveTaxRate

String

Tax over tax rate calculated based on predecessor tax rule when applied

taxValuePerUnit

String

Tax value when tax calculation type is Per Unit (U).

activeDate

String

Date upon which this tax rule became, or will become active.

endDate

String

Date upon which this tax rule expired or will expire.

currencyCode

String

Contains the currency code for the tax rule. For per unit tax application.

createDateTime

String

This field holds the record creation date.

updateDateTime

String

This field holds the date when the record was last updated.

cacheTimestamp

String

This field specifies date and time when the tax group record was last maintained.

Sample Response Message

{
  "items": [
    {
      "action": "INSERT",
      "taxGroupId": 2654787678,
      "groupName": "Rule 55003",
      "taxLocationId": 10000000011,
      "ruleId": "55003",
      "createDateTime": "2024-07-19T02:37:21.757Z",
      "updateDateTime": "2024-07-19T02:37:21.757Z",
      "cacheTimestamp": "2024-07-19T02:37:21.757Z",
      "ruleName": "Rule 55003",
      "taxRegionSource": 1,
      "taxRegionDestionation": 11,
      "taxAuthorityId": null,
      "taxCalcType": "P",
      "taxCode": "MIV2",
      "taxRate": 0,
      "effectiveTaxRate": null,
      "taxValuePerUnity": null,
      "activeDate": "2024-04-23",
      "endDate": null,
      "currencyCode": null,
      "ruleSequence": "1"
    }
  ],
  "hasMore": true,
  "limit": 1,
  "count": 1,
  "links": [
    {
      "href": "https://<server>:<port>/Application/services/foundation/taxGroupRule?limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:26:51.588Z",
      "rel": "self"
    },
    {
      "href": "https://<server>:<port>/Application/services/foundation/taxGroupRule?offsetkey=2654787678%2C10000000011%2C55003&limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:26:51.588Z",
      "rel": "next"
    }
  ]
}
Table Impact

The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.

TABLE SELECT INSERT UPDATE DELETE

MERCHAPI_CONFIG

Yes

No

No

No

MERCHAPI_CONSUMER_CONFIG

Yes

No

No

No

MERCHAPI_GTS_TAX_GROUP_RULE

Yes

No

No

No

Tax Rule Upload Service

Functional Area

Foundation - Tax Rules

Business Overview

The primary role of this service is to create, update or delete Merchandising’s Tax Rules.

Create Tax Rule
Business Overview

Create a new Tax Rule.

Service Type

POST

ReST URL
/foundation/taxRules/create
Input Parameters
Parameter Name Required Data Type Description

ruleId

No

Number (15)

Tax rule unique ID.

ruleName

No

String (300)

Tax Rule Name.

taxRegionSource

No

Number (4)

Source Tax Region.

taxRegionDestination

No

Number (4)

Destination Tax Region.

activeDate

No

date

Effective date when this tax rule become active.

endDate

No

date

End date when this tax rule expired.

status

No

String (6)

Status of the Rule. Valid Values are 'AC' for Active, 'AP' for Approved, 'O' Obsoleted, 'S' for Submitted, 'U' for Updated, 'W' for Worksheet.

taxCode

No

String (6)

Tax code.

taxCalcType

No

String (6)

Define the tax calculation type. Possible values are 'P' for Percentage or 'U' for Unit'.

taxRate

No

Number (20,10)

Tax rate in percentage when tax calculation type is in percentage.

taxBasisType

No

String (6)

Indicate which value is used as base calculation to apply tax. Valid values are:’C’ for UNIT_COST, ‘R’ for UNIT_R'ETAIL, or ‘B’ for BOTH, 'N'ON_MERCH_COST.

taxBasisFactor

No

Number (20,10)

Contains a unique user specified code representing the non-merchandise code.

nonMerchCode

No

String (6)

Contains a unique user specified code representing the non-merchandise code.

uomType

No

String (4)

UOM type selected to be considered when tax calculation is in unit.

uomValue

No

Number (20,10)

UOM value selected to be considered when tax calculation is in unit.

currencyCode

No

String (3)

Contains the currency code for the tax rule. For unit tax application.

reverseTaxInd

No

String (1)

Reverse Tax Indicator: Valid values are ‘Y’ for Enable or ‘N’ for Disable.

reverseTaxThreshold

No

Number (20,10)

Threshold amount to be taken in consideration while returning the tax code. It will have value when REVERSE_TAX_IND is Y.

predecessorTaxRulesId

No

Number (15)

Holds the predecessor rule ID that the result of the tax calculated in the predecessor rule will be added to the tax basis of the current rule in order to address Tax over Tax calculation requirement.

regionExplodeType

No

String (6)

Tax over tax rate calculated based in predecessor tax rule when applied.

gtsRulesConfigTlTbl

No

Collection of Object

Translation records associated with tax record.

gtsRulesConditionsTbl

No

Collection of Object

Conditions associated with tax record.

gtsRulesCfaTbl

No

Collection of Object

Rules restrictions associated with tax record.

Table 5-140 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.

Parameter Name Required Data Type Description

ruleName

No

String (300)

Translated Rule.

lang

No

Number (6)

Lang.

Table 5-141 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.

Parameter Name Required Data Type Description

conditionType

No

String (6)

Type of condition used. Valid values are '1' for All Departments,'2' for Department,'3' for Class,'4' for Subclass,'5' for Item,'6' for Parent/Diff,'7' for Item List and '8' for Upload List.

dept

No

Number (4)

Item Department.

class

No

Number (4)

Item Class.

subclass

No

Number (4)

Item subclass.

itemId

No

String (25)

Item ID.

itemList

No

Number (8)

This field contains Item List number that was used to create this item record.

excludeInd

No

String (1)

Indicates if the condition in exclude or include. Valid values are Y or N.

diffId

No

String (10)

Diff ID used when condition type is Parent/DIFF.

Table 5-142 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.

Element Name Required Data Type Description

attributeId

No

Number (10)

This column holds the attribute id that this extended data is associated with.

attributeValue

No

String (250)

This column holds the CFA value selected for the rule.

restrictionLevel

No

String (6)

Restriction Level. Valid values are M for Merchandise Hierarchy, D for Destination Region and S for Source Region.

JSON Structure:

{
  "ruleId": 919875,
  "ruleName": "Tax Rules US-CA",
  "taxRegionSource": 1000,
  "taxRegionDestination": 200,
  "activeDate": "2022-09-01",
  "endDate": "2022-12-31",
  "status": "S",
  "taxCode": "S",
  "taxCalcType": "P",
  "taxRate": 35.00,
  "taxBasisType": "B",
  "taxBasisFactor": 11.00,
  "nonMerchCode": "",
  "uomType": ",
  "uomValue": 68.00,
  "currencyCode": "",
  "reverseTaxInd": "",
  "reverseTaxThreshold": 19.00,
  "predecessorTaxRulesId": 514301,
  "regionExplodeType": "A",
  "gtsRulesConfigTlTbl": [
    {
      "ruleName": "Tax Rules TL US-CA",
      "lang": 2
    }
  ],
  "gtsRulesConditionsTbl": [
    {
      "conditionType": "1"
    }
  ],
  "gtsRulesCfaTbl": [
    {
      "attributeId": 4,
      "attributeValue": "A",
      "restrictionLevel": "S"
    }
  ]
}
Output
Element Name Required Data Type Description

status

No

String (255)

Process Execution status.E – Execution finished with errors.

S – Execution completed successfully.

errMsg

No

String (4000)

Error message, in case of error.

errTbl

No

Collection of Object

Error table in case of existing errors.

Table 5-143 ErrTbl - Table used to detail errors associated with execution.

Element Name Required Data Type Description

columnName

No

String (255)

Column name associated with error message.

errorMsg

No

String (4000)

Error msg.

JSON Structure:

{
  "status": "E",
  "errMsg": "” 
  "errTbl": [
    {
      "columnName": "STATUS",
      "errorMsg": "Invalid Status.","
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Table Impact
TABLE SELECT INSERT UPDATE DELETE

SVC_GTS_RULES_CONFIG

Yes

Yes

No

No

SVC_GTS_RULES_CONFIG_TL

Yes

Yes

No

No

SVC_GTS_RULES_CFA

Yes

Yes

No

No

SVC_GTS_RULES_CONDITIONS

Yes

Yes

No

No

GTS_RULES_CONFIG

Yes

No

No

No

GTS_RULES_CONFIG_TL

Yes

No

No

No

GTS_RULES_CFA

Yes

No

No

No

GTS_RULES_CONDITIONS

Yes

No

No

No

Update Tax Rule
Business Overview

Update an existing Tax Rule.

Service Type

PUT

ReST URL
/foundation/taxRules/update
Input
Parameter Name Required Data Type Description

ruleId

No

Number (15)

Tax rule unique ID.

ruleName

No

String (300)

Tax Rule Name.

taxRegionSource

No

Number (4)

Source Tax Region.

taxRegionDestination

No

Number (4)

Destination Tax Region.

activeDate

No

date

Effective date when this tax rule become active.

endDate

No

date

End date when this tax rule expired.

status

No

String (6)

Status of the Rule. Valid Values are 'AC' for Active, 'AP' for Approved, 'O' Obsoleted, 'S' for Submitted, 'U' for Updated, 'W' for Worksheet.

taxCode

No

String (6)

Tax code.

taxCalcType

No

String (6)

Define the tax calculation type. Possible values are 'P' for Percentage or 'U' for Unit'.

taxRate

No

Number (20,10)

Tax rate in percentage when tax calculation type is in percentage.

taxBasisType

No

String (6)

Indicate which value is used as base calculation to apply tax. Valid values are: ’C’ for UNIT_COST, ‘R’ for UNIT_R'ETAIL, or ‘B’ for BOTH, 'N'ON_MERCH_COST.

taxBasisFactor

No

Number (20,10)

Contains a unique user specified code representing the non-merchandise code.

nonMerchCode

No

String (6)

Contains a unique user specified code representing the non-merchandise code.

uomType

No

String (4)

UOM type selected to be considered when tax calculation is in unit.

uomValue

No

Number (20,10)

UOM value selected to be considered when tax calculation is in unit.

currencyCode

No

String (3)

Contains the currency code for the tax rule. For unit tax application.

reverseTaxInd

No

String (1)

Reverse Tax Indicator: Valid values are ‘Y’ for Enable or ‘N’ for Disable.

reverseTaxThreshold

No

Number (20,10)

Threshold amount to be taken in consideration while returning the tax code. It will have value when REVERSE_TAX_IND is Y.

predecessorTaxRulesId

No

Number (15)

Holds the predecessor rule ID that the result of the tax calculated in the predecessor rule will be added to the tax basis of the current rule in order to address Tax over Tax calculation requirement.

regionExplodeType

No

String (6)

Tax over tax rate calculated based in predecessor tax rule when applied.

gtsRulesConfigTlTbl

No

Collection of Object

Translation records associated with tax record.

gtsRulesConditionsTbl

No

Collection of Object

Conditions associated with tax record.

gtsRulesCfaTbl

No

Collection of Object

Rules restrictions associated with tax record.

Table 5-144 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.

Element Name Required Data Type Description

ruleName

No

String (300)

Translated Rule.

lang

No

Number (6)

Lang.

Table 5-145 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.

Element Name Required Data Type Description

conditionType

No

String (6)

Type of condition used. Valid values are '1' for All Departments,'2' for Department,'3' for Class,'4' for Subclass,'5' for Item,'6' for Parent/Diff,'7' for Item List and '8' for Upload List.

dept

No

Number (4)

Item Department.

class

No

Number (4)

Item Class.

subclass

No

Number (4)

Item subclass.

itemId

No

String (25)

Item ID.

itemList

No

Number (8)

This field contains Item List number that was used to create this item record.

excludeInd

No

String (1)

Indicates if the condition in exclude or include. Valid values are Y or N.

diffId

No

String (10)

Diff ID used when condition type is Parent/DIFF.

Table 5-146 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.

Element Name Required Data Type Description

attributeId

No

Number (10)

This column holds the attribute id that this extended data is associated with.

attributeValue

No

String (250)

This column holds the CFA value selected for the rule.

restrictionLevel

No

String (6)

Restriction Level. Valid values are M for Merchandise Hierarchy, D for Destination Region and S for Source Region.

JSON Structure:

{
  "ruleId": 919875,
  "ruleName": "Tax Rules US-CA",
  "taxRegionSource": 1000,
  "taxRegionDestination": 200,
  "activeDate": "2022-09-01",
  "endDate": "2022-12-31",
  "status": "W",
  "taxCode": "S",
  "taxCalcType": "P",
  "taxRate": 35.00,
  "taxBasisType": "B",
  "taxBasisFactor": 11.00,
  "nonMerchCode": "",
  "uomType": ",
  "uomValue": 68.00,
  "currencyCode": "",
  "reverseTaxInd": "",
  "reverseTaxThreshold": 19.00,
  "predecessorTaxRulesId": 514301,
  "regionExplodeType": "A",
  "gtsRulesConfigTlTbl": [
    {
      "ruleName": "Tax Rules TL US-CA",
      "lang": 2
    }
  ],
  "gtsRulesConditionsTbl": [
    {
      "conditionType": "1"
    }
  ],
  "gtsRulesCfaTbl": [
    {
      "attributeId": 4,
      "attributeValue": "A",
      "restrictionLevel": "S"
    }
  ]
}
Output
Element Name Required Data Type Description

status

No

String (255)

Process Execution status.E – Execution finished with errors.

S – Execution completed successfully.

errMsg

No

String (4000)

Error message, in case of error.

errTbl

No

Collection of Object

Error table in case of existing errors.

Table 5-147 ErrTbl - Table used to detail errors associated with execution.

Element Name Required Data Type Description

columnName

No

String (255)

Column name associated with error message.

errorMsg

No

String (4000)

Error msg.

JSON Structure:

{
  "status": "E",
  "errMsg": " CANNOT_UPD_RULE ",
  "errTbl": [
    {
      "columnName": "",
      "errorMsg": " The rule was not submitted successfully."
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

JSON Structure:

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Table Impact
TABLE SELECT INSERT UPDATE DELETE

SVC_GTS_RULES_CONFIG

Yes

Yes

No

No

SVC_GTS_RULES_CONFIG_TL

Yes

Yes

No

No

SVC_GTS_RULES_CFA

Yes

Yes

No

No

SVC_GTS_RULES_CONDITIONS

Yes

Yes

No

No

GTS_RULES_CONFIG

Yes

No

Yes

No

GTS_RULES_CONFIG_TL

Yes

No

Yes

No

GTS_RULES_CFA

Yes

No

Yes

No

GTS_RULES_CONDITIONS

Yes

No

Yes

No

Delete Tax Rule
Business Overview

Delete an existing Tax Rule

Service Type

DELETE

ReST URL
/foundation/taxRules/delete
Input
Parameter Name Required Data Type Description

ruleId

No

Number (15)

Tax rule unique ID.

ruleName

No

String (300)

Tax Rule Name.

taxRegionSource

No

Number (4)

Source Tax Region.

taxRegionDestination

No

Number (4)

Destination Tax Region.

activeDate

No

date

Effective date when this tax rule become active.

endDate

No

date

End date when this tax rule expired.

status

No

String (6)

Status of the Rule. Valid Values are 'AC' for Active, 'AP' for Approved, 'O' Obsoleted, 'S' for Submitted, 'U' for Updated, 'W' for Worksheet.

taxCode

No

String (6)

Tax code.

taxCalcType

No

String (6)

Define the tax calculation type. Possible values are 'P' for Percentage or 'U' for Unit'.

taxRate

No

Number (20,10)

Tax rate in percentage when tax calculation type is in percentage.

taxBasisType

No

String (6)

Indicate which value is used as base calculation to apply tax. Valid values are: ’C’ for UNIT_COST, ‘R’ for UNIT_R'ETAIL, or ‘B’ for BOTH, 'N'ON_MERCH_COST.

taxBasisFactor

No

Number (20,10)

Contains a unique user specified code representing the non-merchandise code.

nonMerchCode

No

String (6)

Contains a unique user specified code representing the non-merchandise code.

uomType

No

String (4)

UOM type selected to be considered when tax calculation is in unit.

uomValue

No

Number (20,10)

UOM value selected to be considered when tax calculation is in unit.

currencyCode

No

String (3)

Contains the currency code for the tax rule. For unit tax application.

reverseTaxInd

No

String (1)

Reverse Tax Indicator: Valid values are ‘Y’ for Enable or ‘N’ for Disable.

reverseTaxThreshold

No

Number (20,10)

Threshold amount to be taken in consideration while returning the tax code. It will have value when REVERSE_TAX_IND is Y.

predecessorTaxRulesId

No

Number (15)

Holds the predecessor rule ID that the result of the tax calculated in the predecessor rule will be added to the tax basis of the current rule to address Tax over Tax calculation requirement.

regionExplodeType

No

String (6)

Tax over tax rate calculated based in predecessor tax rule when applied.

gtsRulesConfigTlTbl

No

Collection of Object

Translation records associated with tax record.

gtsRulesConditionsTbl

No

Collection of Object

Conditions associated with tax record.

gtsRulesCfaTbl

No

Collection of Object

Rules restrictions associated with tax record.

Table 5-148 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.

Element Name Required Data Type Description

ruleName

No

String (300)

Translated Rule.

lang

No

Number (6)

Lang.

Table 5-149 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.

Element Name Required Data Type Description

conditionType

No

String (6)

Type of condition used. Valid values are '1' for All Departments,'2' for Department,'3' for Class,'4' for Subclass,'5' for Item,'6' for Parent/Diff,'7' for Item List and '8' for Upload List.

dept

No

Number (4)

Item Department.

class

No

Number (4)

Item Class.

subclass

No

Number (4)

Item subclass.

itemId

No

String (25)

Item ID.

itemList

No

Number (8)

This field contains Item List number that was used to create this item record.

excludeInd

No

String (1)

Indicates if the condition in exclude or include. Valid values are Y or N.

diffId

No

String (10)

Diff ID used when condition type is Parent/DIFF.

Table 5-150 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.

Element Name Required Data Type Description

attributeId

No

Number (10)

This column holds the attribute id that this extended data is associated with.

attributeValue

No

String (250)

This column holds the CFA value selected for the rule.

restrictionLevel

No

String (6)

Restriction Level. Valid values are M for Merchandise Hierarchy, D for Destination Region and S for Source Region.

JSON Structure:

{
  "ruleId": 919875,
  "ruleName": "Tax Rules US-CA",
  "taxRegionSource": 1000,
  "taxRegionDestination": 200,
  "activeDate": "2022-09-01",
  "endDate": "2022-12-31",
  "status": "W",
  "taxCode": "S",
  "taxCalcType": "P",
  "taxRate": 35.00,
  "taxBasisType": "B",
  "taxBasisFactor": 11.00,
  "nonMerchCode": "",
  "uomType": ",
  "uomValue": 68.00,
  "currencyCode": "",
  "reverseTaxInd": "",
  "reverseTaxThreshold": 19.00,
  "predecessorTaxRulesId": 514301,
  "regionExplodeType": "A",
  "gtsRulesConfigTlTbl": [
    {
      "ruleName": "Tax Rules TL US-CA",
      "lang": 2
    }
  ],
  "gtsRulesConditionsTbl": [
    {
      "conditionType": "1"
    }
  ],
  "gtsRulesCfaTbl": [
    {
      "attributeId": 4,
      "attributeValue": "A",
      "restrictionLevel": "S"
    }
  ]
}
Output
Element Name Required Data Type Description

status

No

String (255)

Process Execution status.E – Execution finished with errors.

S – Execution completed successfully.

errMsg

No

String (4000)

Error message, in case of error.

errTbl

No

Collection of Object

Error table in case of existing errors.

Table 5-151 ErrTbl - Table used to detail errors associated with execution.

Element Name Required Data Type Description

columnName

No

String (255)

Column name associated with error message.

errorMsg

No

String (4000)

Error msg.

JSON Structure:

{
  "status": "E",
  "errMsg": " CANNOT_UPD_RULE ",
  "errTbl": [
    {
      "columnName": "",
      "errorMsg": " The rule was not submitted successfully."
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors will be present when input payload or input parameters do not match the schema definition for this service.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ]
}
Table Impact
TABLE SELECT INSERT UPDATE DELETE

SVC_GTS_RULES_CONFIG

Yes

Yes

No

No

SVC_GTS_RULES_CONFIG_TL

Yes

Yes

No

No

SVC_GTS_RULES_CFA

Yes

Yes

No

No

SVC_GTS_RULES_CONDITIONS

Yes

Yes

No

No

GTS_RULES_CONFIG

Yes

No

No

Yes

GTS_RULES_CONFIG_TL

Yes

No

No

Yes

GTS_RULES_CFA

Yes

No

No

Yes

GTS_RULES_CONDITIONS

Yes

No

No

Yes