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-69 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-70 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-71 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-72 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-73 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-74 ManageResponse - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

Table 5-75 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-76 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-77 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-78 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-79 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.

Input Parameters for ​​MerchIntegrations/services/foundation/partner/{partnerId}
Parameter Name Required Data Type Description

partnerId

Yes

String

Partner ID

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 address 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

Create Suppliers and Partners
Functional Area

Foundation - Suppliers and Partners

Business Overview

This service creates 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. 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.

When creating supplier sites, you must provide both supplier parent and supplier site information. 

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 Workflow

When financials integration is enabled (financial_ap = ‘A’), the optional attribute vendorTypeCode in the payload is used to identify whether the inbound information should be used to create 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. 

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.

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

  • Only suppliers in active status can be created.

  • 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 not expected from the external financial system and will be determined using the procurement site and payment site attributes. 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 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.

If the vendor type code 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).

Service Type

POST

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

Table 5-80 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-81 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-82 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-83 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-84 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-85 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-86 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-87 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-88 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-89 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-90 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-91 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-92 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-93 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
Functional Area

Foundation - Suppliers and Partners

Business Overview

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-94 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-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 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-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.

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-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 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-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",
        "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-104 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.

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

Parameter Name Required Data Type Description

supplierId

Yes

String

Supplier ID.

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 suppliers 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).

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.

generateConsignmentOrderInd

String

This field specifies whether Merchandising is required to generate POs against consignment sales. Valid values are: Y - Merchandising creates the PO, N - POs will be created externally.

generateSelfInvoicingInd

String

This field specifies whether self-invoicing needs to be done for consignment purchases or if the vendor will send invoices to be matched. Valid values are: Y - Merchandising creates the invoice, N - Invoice will be created by the vendor.

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.

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 Orgunit 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-106 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.

Table 5-107 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-108 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-109 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-110 Codes - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

Table 5-111 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 and 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-112 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-113 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 and 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-114 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 and 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-115 Transactions - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

Table 5-116 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-117 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-118 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-119 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-120 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-121 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-122 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-123 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-124 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-125 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-126 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-127 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-128 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-129 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-130 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-131 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-132 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-133 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-134 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-135 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-136 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-137 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