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
Business Overview
This service retrieves all Banners. This service takes an optional query parameter of bannerId to retrieve detail for specified banner id
Output – Banner
Table 5-164 Banner - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
bannerId |
Yes |
Number |
This field contains the banner id. |
|
bannerName |
Yes |
String (120) |
This field contains the banner name. |
Sample Response Message
[
{
"bannerId": 1,
"bannerName": "Brick and mortar"
}
]
Get Channels
Business Overview
This service retrieves all Channel records. This service takes an optional query parameter of channel id to retrieve detail for specified channel
Output – Channel
Table 5-165 Channel - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
channelId |
Yes |
Number |
This field contains the channel id. |
|
channelName |
Yes |
String (120) |
This field contains the channel name. |
|
channelType |
Yes |
String (6) |
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 |
Yes |
Number |
This field contains the banner id associated with this Channel. |
Sample Response Message
[
{
"channelId": 1,
"channelName": "Brick and mortar",
"channelType": "BANDM",
"bannerId": 1
}
]
Location List Upload Service
The following services are included in this functional area:
Manage Location Lists
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.
Input Payload Details
Table 5-166 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-167 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-168 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-169 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-170 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-171 ManageResponse - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
Yes |
Collection of Object |
Table 5-172 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-173 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
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.
Input Payload Details
Table 5-174 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: 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
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.
Input Payload Details
Table 5-175 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: 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
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.
Input Payload Details
Table 5-176 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: 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}Business Overview
This service publishes partner master data to downstream consuming systems. There is no explicit filter in V_MERCHAPI_EXT_PARTNER_JSON, so functionally all rows from PARTNER are eligible for publication.
Technical Details
This service follows the Publish API cache architecture in which the REST service serves pre-generated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview.
Core business tables: PARTNER, PARTNER_ADDR
Additional business tables: ADDR, ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, COUNTRY, PARTNER_CFA_EXT, ADDR_CFA_EXT
JSON cache table: MERCHAPI_EXT_PARTNER
JSON generation view: V_MERCHAPI_EXT_PARTNER_JSON
Builds the partner header from PARTNER, derives the primary address from ADDR joined to ADD_TYPE_MODULE, V_ADD_TYPE_TL, STATE, and COUNTRY, aggregates all partner addresses from ADDR, and adds partner- and address-level custom flex attributes from MERCHAPI_EXT_PARTNER_CFA and MERCHAPI_EXT_PARTNER_ADDR_CFA.
There is no explicit filter in V_MERCHAPI_EXT_PARTNER_JSON, so functionally all rows from PARTNER are eligible for publication.
The primary-address portion of the payload uses ADDR.MODULE = 'PTNR', ADD_TYPE_MODULE.PRIMARY_IND = 'Y', and ADDR.PRIMARY_ADDR_IND = 'Y'; the address array includes all partner addresses for ADDR.MODULE = 'PTNR'.
Initial Seeding and post enablement rebuild/repair
Initial seeding and rebuild use V_MERCHAPI_EXT_PARTNER_JSON and apply no additional filter criteria; all PARTNER rows are eligible for publication.
The REBUILD branch updates changed and new rows and marks missing cache rows with DELETE_DATETIME.
ICL (Integration Change Log) table: ICL_RMS_PARTNER and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)
ICL entries are created using triggers on PARTNER, and address-related republishes are captured through ICL_RMS_ADDR for PARTNER_ADDR and PARTNER_ADDR_CFA_EXT changes.
ICL_RMS_ADDR rows are filtered to MODULE = 'PTNR' and ICL_TABLE_NAME IN ('PARTNER_ADDR','PARTNER_ADDR_CFA_EXT'), then republish the parent partner payload.
Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.
Process configuration name: API_EXT_PARTNER
To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.
POM Batch schedule process and job: MERCHAPI_DELTA_EXT_PARTNER_ADHOC_PROCESS -> MERCHAPI_EXT_PARTNER_ADHOC_JOB
Webhook configuration api name: foundation/partner
ReST URL
MerchIntegrations/services/foundation/partner
MerchIntegrations/services/foundation/partner/{partnerId}
Input Parameters for ​​MerchIntegrations/services/foundation/partner
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
since |
No |
String |
Since Date (Example: 2010-12-31T23:59:59.999Z) |
|
before |
No |
String |
Before Date (Example: 2040-12-31T23:59:59.999Z) |
|
offsetkey |
No |
String (17) |
Offset key ([partner type],[partner id] Example: AG,17) |
|
limit |
No |
String (6) |
Pagination limit. Default value is 1000. |
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Table 5-177 Input Parameter for "MerchIntegrations/services/foundation/partner/{partnerId}"
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
partnerId |
Yes |
String |
|
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Input Parameters for MerchIntegrations/services/foundation/partner/{partnerId}
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
| partnerId | Yes | String | Partner ID |
| include | No | String | Fields to include - comma separated (Example items.name,items.address.city) |
| exclude | No | String | Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Output - Partner
Table 5-178 PageResultsItemsMerchApiPartner - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
No |
Collection of Object |
Collection of records |
|
hasMore |
No |
Boolean |
Boolean to signify if there are additional pages of data. This is true if limit = count for pagination supported request |
|
limit |
No |
Number |
Requested page size. If the page size was not defined in the input request, a default page size is used to limit the number of records to fetch |
|
count |
No |
Number |
Number of record in the response object |
|
links |
No |
Collection of Object |
List of Self and/or Next URL |
Table 5-179 MerchApiPartner - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
action |
No |
String (6) |
Action for partner details. |
|
partnerType |
No |
String (6) |
Specifies the type of partner. Valid partner types are held on the code tables under code type PTNR. |
|
partnerId |
No |
String (10) |
This field contains the unique number that identifies the partner within the system. |
|
partnerName |
No |
String (240) |
This field contains the partner's description or name. |
|
partnerNameSecondary |
No |
String (240) |
This field contains the secondary name of the partner. |
|
currencyCode |
No |
String (3) |
This field contains a code identifying the currency the partner uses for business transactions. |
|
language |
No |
Number(6,0) |
This field contains the partner's preferred language. |
|
status |
No |
String (1) |
This field indicates if the partner is currently active. |
|
contactName |
No |
String (120) |
This field contains the name of the partner's representative contact. |
|
contactPhone |
No |
String (20) |
This field contains the phone number of the partner's representative contact. |
|
contactFax |
No |
String (20) |
This field contains the fax number of the partner's representative contact. |
|
contactTelex |
No |
String (20) |
This field contains the telex number of the partner's representative contact. |
|
contactEmail |
No |
String (100) |
This field contains the email address of the partner's representative contact. |
|
manufacturerTaxId |
No |
String (18) |
This field contains the manufacturer's tax identification number. This field is used for partner type Manufacturer. |
|
principleCountryId |
No |
String (3) |
This field contains the country ID to which the partner is assigned. |
|
lineOfCredit |
No |
Number(20,4) |
This field contains the line of credit the company has at the bank in the partner's currency. This field is not null when the partner type is Bank (BK). |
|
outstandingCredit |
No |
Number(20,4) |
This field contains the total amount of credit that the company has used or has charged against in the partner's currency. This field is not null when the partner type is Bank (BK). |
|
openCredit |
No |
Number(20,4) |
This field contains the total amount that the company can still charge against in the partner's currency. This field is not null when the partner type is Bank (BK). |
|
yearToDateCredit |
No |
Number(20,4) |
This field contains the total amount of credit the company has used year to date in the partner's currency. This field is not null when the partner type is Bank (BK). |
|
yearToDateDrawdowns |
No |
Number(20,4) |
This field contains the year-to-date payments the bank has made on behalf of the company in the partner's currency. This field is not null when the partner type is Bank (BK). |
|
taxId |
No |
String (20) |
This field contains the unique tax identification number of the partner. This will be used for reporting during the Customs Entry process. |
|
terms |
No |
String (15) |
This field contains the 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 |
No |
String (1) |
This field indicates if the expense vendor's services (for example, snowplowing and window washing) must be confirmed as performed before paying an invoice from that expense vendor. Valid values are Y and N. |
|
invoicePayLocation |
No |
String (6) |
This field indicates where invoices from this expense vendor are paid, either at the store or centrally through corporate accounting. Valid values are S and C. This field will only be populated for expense vendors, and should only be S if using ReSA to accept payment at the store. |
|
invoicecReceiveLocation |
No |
String (6) |
This field indicates where invoices from this expense vendor are received, either at the store or centrally through corporate accounting. Valid values are S and C. This field should only be populated when using invoice matching. |
|
importCountryId |
No |
String (3) |
This field contains the import country of the Import Authority. This field is not populated for other partner types. |
|
primaryImportAuthInd |
No |
String (1) |
This field 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 |
No |
String (2000) |
This field contains any comments associated with the partner. |
|
transferEntityId |
No |
Number(10,0) |
This field contains the transfer entity with which an external finisher is associated. |
|
vatRegion |
No |
Number(4,0) |
This field contains the 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 values, VAT functionality is not used and PARTNER.VAT_REGION will not be required. |
|
orgUnitId |
No |
Number(15,0) |
This field contains the org unit ID with which the partner is associated. |
|
autoRcvStockInd |
No |
String (1) |
This field indicates whether the system will update the stock for the external finisher when the first leg of the transfer is shipped. Valid values are Y and N. |
|
primaryAddressType |
No |
String (2) |
This field specifies the type for the address. Valid values are: 01 - Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 - Remittance. |
|
primaryAddressTypeDescription |
No |
String (40) |
This field specifies the address type description. |
|
primaryAddressAdd1 |
No |
String (240) |
This field contains the first line of the address. |
|
primaryAddressAdd2 |
No |
String (240) |
This field contains the second line of the address. |
|
primaryAddressAdd3 |
No |
String (240) |
This field contains the third line of the address. |
|
primaryAddressCity |
No |
String (120) |
This field contains the name of the city that is associated with the address. |
|
primaryAddressState |
No |
String (3) |
This field contains the abbreviation of the state for the address. |
|
primaryAddressStateName |
No |
String (120) |
This field contains the full name of the state for the address. |
|
primaryAddressCountryId |
No |
String (3) |
This field contains the country where the address exists. |
|
primaryAddressCountryName |
No |
String (120) |
This field contains the country name for the address. |
|
primaryAddressPost |
No |
String (30) |
This field contains the zip code for the address. |
|
primaryAddressContactName |
No |
String (120) |
This field contains the name of the contact for the partner at this address. |
|
primaryAddressContactPhone |
No |
String (20) |
This field contains the phone number of the contact person at this address. |
|
primaryAddressContactTelex |
No |
String (20) |
This field contains the telex number of the partner's representative contact. |
|
primaryAddressContactFax |
No |
String (20) |
This field contains the fax number of the contact person at this address. |
|
primaryAddressContactEmail |
No |
String (100) |
This field contains the email address of the partner's representative contact. |
|
primaryAddressCounty |
No |
String (250) |
This field contains the county name for the address. |
|
primaryAddressJurisdictionCode |
No |
String (10) |
This field identifies the jurisdiction code for the country-state relationship. |
|
createDateTime |
No |
dateTime |
This field holds the date and time when the record was inserted (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the record was updated (UTC). |
|
customFlexAttribute |
No |
Collection of Object |
This list holds custom flex attributes for the partner. |
|
address |
No |
Collection of Object |
This list holds address details for the partner. |
|
cacheTimestamp |
No |
dateTime |
This field specifies the date and time when the partner record was fetched into the cache for web service publication (UTC). |
|
cacheCreateTimestamp |
No |
dateTime |
This field specifies the date and time when the record was first created for web service publication (UTC). |
Table 5-180 CustomFlexAttribute - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
name |
No |
String (30) |
This field holds the custom flex attribute name. |
|
value |
No |
String (250) |
This field holds the numeric or character value of the custom flex attribute. |
|
valueDate |
No |
date |
This field holds the date value of the custom flex attribute. |
|
createDateTime |
No |
dateTime |
This field holds the date and time when the custom flex attribute was created (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the custom flex attribute was last updated (UTC). |
Table 5-181 Address - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
addressKey |
No |
Number(11,0) |
This field contains the unique address key. |
|
addressType |
No |
String (2) |
This field specifies the type for the address. Valid values are: 01 - Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 - Remittance. |
|
addressTypeDescription |
No |
String (40) |
This field specifies the address type description. |
|
primaryAddressInd |
No |
String (1) |
This field indicates whether the address is the primary address for the address type. |
|
add1 |
No |
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 |
No |
String (120) |
This field contains the name of the city that is associated with the address. |
|
state |
No |
String (3) |
This field contains the state abbreviation that is associated with the address. |
|
stateName |
No |
String (120) |
This field contains the state description that is associated with the address. |
|
countryId |
No |
String (3) |
This field contains the country where the address exists. |
|
countryName |
No |
String (120) |
This field contains the country description that is associated with the address. |
|
post |
No |
String (30) |
This field contains the zip code for the address. |
|
contactName |
No |
String (120) |
This field contains the name of the contact person at this address. |
|
contactPhone |
No |
String (20) |
This field contains the phone number of the contact person at this address. |
|
contactTelex |
No |
String (20) |
This field contains the telex number of the contact person at this address. |
|
contactFax |
No |
String (20) |
This field contains the fax number of the contact person at this address. |
|
contactEmail |
No |
String (100) |
This field contains the email address of the contact person at this address. |
|
phone2Type |
No |
String (6) |
This field contains the type of the phone number stored in the phone2 field. Valid values are AS - Assistant, CM - Company Main, HF - Home Fax, HO - Home, MA - Main, PA - Pager, WF - Work Fax, WO - Work, and can also be found on the codes table with a code type of PHTP. |
|
phone2 |
No |
String (20) |
This field contains an additional phone number associated with the address. |
|
phone3Type |
No |
String (6) |
This field contains the type of the phone number stored in the phone3 field. Valid values are AS - Assistant, CM - Company Main, HF - Home Fax, HO - Home, MA - Main, PA - Pager, WF - Work Fax, WO - Work, and can also be found on the codes table with a code type of PHTP. |
|
phone3 |
No |
String (20) |
This field contains a second additional phone number associated with the address. |
|
latitude |
No |
String (30) |
This field contains the north-south geographic coordinate of the address, represented in decimal degrees. |
|
longitude |
No |
String (30) |
This field contains the east-west geographic coordinate of the address, represented in decimal degrees. |
|
county |
No |
String (250) |
This field contains the county where the address exists. |
|
jurisdictionCode |
No |
String (10) |
This field contains the ID associated with the tax jurisdiction of the country-state relationship. |
|
createDateTime |
No |
dateTime |
This field holds the record creation date and time (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the record was last updated (UTC). |
|
customFlexAttribute |
No |
Collection of Object |
This List holds custom flex attributes for the warehouse's address. |
Table 5-182 LinkItems - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
href |
No |
String |
Service URL |
|
rel |
No |
String |
This can be either 'self' or 'next'. The 'next' link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. |
Sample Response Message
{
"items": [
{
"action": "INSERT",
"partnerType": "AG",
"partnerId": null,
"partnerName": null,
"partnerNameSecondary": null,
"currencyCode": "USD",
"language": 1,
"status": null,
"contactName": "contactName",
"contactPhone": "1800800800",
"contactFax": "617-897-0902",
"contactTelex": null,
"contactEmail": "someone@email.com",
"manufacturerTaxId": null,
"principleCountryId": null,
"lineOfCredit": 1.0,
"outstandingCredit": 1.0,
"openCredit": 1.0,
"yearToDateCredit": 1.0,
"yearToDateDrawdowns": 1.0,
"taxId": null,
"terms": "108",
"servicePerfReqInd": null,
"invoicePayLocation": "S",
"invoicecReceiveLocation": null,
"importCountryId": null,
"primaryImportAuthInd": null,
"comments": null,
"transferEntityId": 1,
"vatRegion": 1000,
"orgUnitId": 1111111111,
"autoRcvStockInd": null,
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "101 First Street",
"primaryAddressAdd2": "201 Second Street",
"primaryAddressAdd3": null,
"primaryAddressCity": "Minneapolis",
"primaryAddressState": "MN",
"primaryAddressStateName": "stateName",
"primaryAddressCountryId": "US",
"primaryAddressCountryName": "countryName",
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "contactName",
"primaryAddressContactPhone": "1800800800",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "someone@email.com",
"primaryAddressCounty": "Some County",
"primaryAddressJurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offsetkey=1234,XYZ",
"rel": "next"
}
]
}
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
| TABLE | SELECT | INSERT | UPDATE | DELETE |
|---|---|---|---|---|
| MERCHAPI_CONFIG | Yes | No | No | No |
| MERCHAPI_CONSUMER_CONFIG | Yes | No | No | No |
| MERCHAPI_ASYNC_REQUEST | Yes | No | No | No |
| MERCH_BATCH_PARAM | Yes | No | No | No |
| ICL_RMS_PARTNER | Yes | No | Yes | Yes |
| ICL_RMS_ADDR | Yes | No | Yes | Yes |
| MERCHAPI_PARTNER | Yes | Yes | Yes | Yes |
| PARTNER_CFA_EXT | Yes | No | No | No |
| ADDR_CFA_EXT | Yes | No | No | No |
| V_ MERCHAPI_EXT_PARTNER_JSON | Yes | No | No | No |
Supplier and Partner Upload Service
Manage Suppliers and Partners
Business Overview
This service publishes supplier-site master data to downstream consuming systems. It publishes the supplier-site definition together with primary and additional addresses, supplier org-unit relationships, and supplier and address custom flex attributes. Functionally, only supplier sites are published because both the main view query and the address CTEs require SUPS.SUPPLIER_PARENT IS NOT NULL; parent supplier rows are excluded.
Technical Details
This service follows the Publish API cache architecture in which the REST service serves pre-generated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview.
Core business tables: SUPS, ADDR
Additional business tables: ADD_TYPE_MODULE, V_ADD_TYPE_TL, PARTNER_ORG_UNIT, SYSTEM_OPTIONS, SUPS_CFA_EXT, ADDR_CFA_EXT
JSON cache table: MERCHAPI_EXT_SUPPLIER
JSON generation view: V_MERCHAPI_EXT_SUPPLIER_JSON
Builds the supplier-site header from SUPS, derives the primary address from ADDR joined to ADD_TYPE_MODULE and V_ADD_TYPE_TL, aggregates all supplier-site addresses from ADDR, adds supplier-site org-unit relationships from PARTNER_ORG_UNIT, and enriches supplier- and address-level custom flex attributes from MERCHAPI_EXT_SUPPLIER_CFA and MERCHAPI_EXT_SUPPLIER_ADDR_CFA.
The view also reads SYSTEM_OPTIONS to derive defaultPricingControl.
Functionally, only supplier sites are published because both the main view query and the address CTEs require SUPS.SUPPLIER_PARENT IS NOT NULL; parent supplier rows are excluded.
Initial Seeding and post enablement rebuild/repair
Initial seeding and rebuild use V_MERCHAPI_EXT_SUPPLIER_JSON and apply supplier-site rows only where SUPS.SUPPLIER_PARENT IS NOT NULL.
The current REBUILD branch merges changed and new rows only; it does not include a delete-marking pass for supplier sites that disappear from V_MERCHAPI_EXT_SUPPLIER_JSON.
ICL (Integration Change Log) table: ICL_RMS_SUPPLIER and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)
ICL entries are created using triggers on SUPS, and address changes are captured through ICL_RMS_ADDR for ADDR rows where MODULE = 'SUPP'.
ICL_RMS_ADDR rows are filtered to MODULE = 'SUPP' and republish the parent supplier-site payload.
Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.
Process configuration name: API_EXT_SUPPLIER
To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.
POM Batch schedule process and job: MERCHAPI_DELTA_EXT_SUPPLIER_ADHOC_PROCESS -> MERCHAPI_EXT_SUPPLIER_ADHOC_JOB
Webhook configuration api name: foundation/supplier
Table 5-183 Input Parameters
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
since |
No |
String |
Since Date (Example: 2010-12-31T23:59:59.999Z) |
|
before |
No |
String |
Before Date (Example: 2040-12-31T23:59:59.999Z) |
|
offsetkey |
No |
String |
Offset key (Supplier) |
|
limit |
No |
String (6) |
Pagination limit. Default value is 1000. |
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Table 5-184 Input Parameter for "MerchIntegrations/services/foundation/supplier/{supplierId}"
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
supplierId |
Yes |
Number |
Supplier Id |
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
ReST URL
MerchIntegrations/services/foundation/supplier
MerchIntegrations/services/foundation/supplier/{supplierId}
Input Payload Details
Table 5-185 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-186 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-187 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-188 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-189 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-190 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-191 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-192 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-193 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-194 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. |
| contactTelex | No | String (20) | This field contains the telex number of the partner or suppliers representative contact. |
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"
}
],
"contactTelex": null
}
}
]
}
]
}
]
}Response Code: 200 (Success)
Table 5-195 PageResultsItemsMerchApiSupplier - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
No |
Collection of Object |
Collection of records |
|
hasMore |
No |
Boolean |
Boolean to signify if there are additional pages of data. This is true if limit = count for pagination supported request |
|
limit |
No |
Number |
Requested page size. If the page size was not defined in the input request, a default page size is used to limit the number of records to fetch |
|
count |
No |
Number |
Number of record in the response object |
|
links |
No |
Collection of Object |
List of Self and/or Next URL |
Table 5-196 MerchApiSupplier - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
action |
No |
String |
Action for supplier details. |
|
supplier |
No |
Number(10,0) |
This field specifies the unique identifying number for a supplier site within the system. |
|
supplierName |
No |
String (240) |
This field specifies the supplier site's name. |
|
supplierNameSecondary |
No |
String (240) |
This field specifies the secondary name of the supplier. |
|
supplierStatus |
No |
String (1) |
This field specifies whether the supplier is currently active. |
|
parentSupplier |
No |
Number(10,0) |
This field contains the supplier number of the supplier parent. |
|
contactName |
No |
String (120) |
This field contains the name of the supplier's representative contact for this site. |
|
contactPhone |
No |
String (20) |
This field contains the telephone number for the supplier's representative contact. |
|
contactFax |
No |
String (20) |
This field contains the fax number for the supplier's representative contact. |
|
contactPager |
No |
String (20) |
This field contains the number for the pager of the supplier's representative contact. |
|
contactTelex |
No |
String (20) |
This field contains the telex number of the partner's or supplier's representative contact. |
|
contactEmail |
No |
String (100) |
This field contains the email address of the partner's or supplier's representative contact. |
|
qualityControlInd |
No |
String (1) |
This field determines whether orders from this supplier will default as requiring quality control. |
|
qualityControlPercentage |
No |
Number(12,4) |
This field specifies the percentage of items per receipt that will be marked for quality checking. |
|
qualityControlFrequency |
No |
Number(2,0) |
This field specifies the frequency in which items per receipt will be marked for quality checking. |
|
vendorCheckingInd |
No |
String (1) |
This field specifies whether orders from this supplier will default as requiring vendor control. |
|
vendorCheckingPercentage |
No |
Number(12,4) |
This field specifies the percentage of items per receipt that will be marked for vendor checking. |
|
vendorCheckingFrequency |
No |
Number(2,0) |
This field specifies the frequency in which items per receipt will be marked for vendor checking. |
|
currencyCode |
No |
String (3) |
This field specifies the code identifying the currency the supplier uses for business transactions. |
|
language |
No |
Number(6,0) |
This field contains the supplier's preferred language. |
|
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. These terms specify when payment is due and if any discounts exist for early payment. |
|
freightTerms |
No |
String (30) |
This field contains the code indicating what freight terms will default when an order is created for the supplier site. |
|
returnAllowedInd |
No |
String (1) |
This field specifies whether or not the supplier will accept returns. |
|
returnAuthorizationRequiredInd |
No |
String (1) |
This field specifies if returns must be accompanied by an authorization number when sent back to the vendor. |
|
minimumReturnValue |
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 specifies the name of the courier that should be used for all 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 specifies whether purchase orders will be sent to the supplier via EDI. |
|
ediOrderChangeInd |
No |
String (1) |
This field specifies whether purchase order changes will be sent to the supplier via EDI. |
|
ediOrderConfirmInd |
No |
String (1) |
This field specifies whether this supplier will send acknowledgment of purchase orders sent via EDI. |
|
ediAsnInd |
No |
String (1) |
This field specifies whether this supplier will send Advance Shipment Notifications electronically. |
|
ediSalesReportFrequency |
No |
String (1) |
This field specifies the EDI sales report frequency for this supplier. |
|
ediSupplierAvailabilityInd |
No |
String (1) |
This field specifies whether the supplier will send availability via EDI. |
|
ediContractInd |
No |
String (1) |
This field indicates whether the supplier site supports contract ordering sent via EDI. |
|
ediInvoiceInd |
No |
String (1) |
This field specifies whether invoices, debit memos and credit note requests will be sent to/from the supplier via Electronic Data Interchange. |
|
ediChannelId |
No |
Number(4,0) |
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 |
No |
Number(12,4) |
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 |
No |
Number(20,4) |
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 |
No |
String (1) |
This field indicates whether contract orders created via replenishment should be created in Approved status. |
|
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 code type SHPM. |
|
paymentMethod |
No |
String (6) |
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 |
No |
String (1) |
This field indicates which payment process method is used for the supplier. Valid values are N/A (N) and Evaluated Receipts Settlement (E). |
|
preMarkInd |
No |
String (1) |
This field indicates whether the supplier site supports pre-marking containers for cross-dock orders. |
|
autoApproveInvoiceInd |
No |
String (1) |
This field indicates whether the supplier's invoices can be automatically approved for payment. |
|
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. |
|
autoApproveDebitMemoInd |
No |
String (1) |
This field specifies whether debit memos sent to the supplier can be automatically approved on creation. |
|
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), and supplier/department/location (A). |
|
backorderInd |
No |
String (1) |
This field specifies if backorders or partial shipments will be accepted. |
|
vatRegion |
No |
Number(4,0) |
This field contains the unique identifying number for the VAT region applicable for this site. |
|
prepayInvoiceInd |
No |
String (1) |
This field specifies whether all invoices for the supplier can be pre-paid. |
|
servicePerformedRequiredInd |
No |
String (1) |
This field indicates if the supplier's services must be confirmed as performed before paying an invoice from that supplier site. |
|
invoicePayLocation |
No |
String (6) |
This field indicates where invoices from this supplier site 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 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 are held in code type DLVY. |
|
comments |
No |
String (2000) |
This field contains any miscellaneous comments associated with the supplier. |
|
defaultItemLeadTime |
No |
Number(4,0) |
This field specifies 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. |
|
dunsNo |
No |
String (9) |
This field holds the Dun and Bradstreet number to identify the supplier. |
|
dunsLocation |
No |
String (4) |
This field holds the Dun and Bradstreet number to identify the location of the supplier. |
|
bracketCostingInd |
No |
String (1) |
This field will determine if the supplier site supports bracket costing pricing structures. |
|
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. |
|
supplierQuantityLevel |
No |
String (6) |
This field indicates the supplier site order quantity level. Valid values are cases (CA) or eaches (EA). |
|
finalDestinationInd |
No |
String (1) |
This field indicates whether the supplier site can ship to final destination or not. |
|
externalReferenceId |
No |
String (32) |
This field holds the ID for the supplier used in the external financial system. |
|
statusUpdateByRms |
No |
String (1) |
This field indicates that the supplier is inactivated from RMS. Suppliers inactivated in RMS will have this field updated as Y. Otherwise this field will be null. |
|
defaultPricingControl |
No |
String (1) |
This field contains the pricing control of the supplier and determines whether the supplier can control the price. Valid values are R - Managed by Retailer and S - Managed by Supplier. |
|
primaryAddressType |
No |
String (2) |
This field specifies the type for the address. Valid values are: 01 - Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 - Remittance. |
|
primaryAddressTypeDescription |
No |
String (40) |
This field specifies the address type description. |
|
primaryAddressAdd1 |
No |
String (240) |
This field contains the first line of the address. |
|
primaryAddressAdd2 |
No |
String (240) |
This field contains the second line of the address. |
|
primaryAddressAdd3 |
No |
String (240) |
This field contains the third line of the address. |
|
primaryAddressCity |
No |
String (120) |
This field contains the name of the city that is associated with the address. |
|
primaryAddressState |
No |
String (3) |
This field contains the state abbreviation for the address. |
|
primaryAddressCountryId |
No |
String (3) |
This field contains the country where the address exists. |
|
primaryAddressJurisdictionCode |
No |
String (10) |
This field identifies the jurisdiction code for the country-state relationship. |
|
primaryAddressPost |
No |
String (30) |
This field contains the zip code for the address. |
|
primaryAddressContactName |
No |
String (120) |
This field contains the name of the contact person at this address. |
|
primaryAddressContactPhone |
No |
String (20) |
This field contains the phone number of the contact person at this address. |
|
primaryAddressContactTelex |
No |
String (20) |
This field contains the telex number of the contact person at this address. |
|
primaryAddressContactFax |
No |
String (20) |
This field contains the fax number of the contact person at this address. |
|
primaryAddressContactEmail |
No |
String (100) |
This field contains the email address of the supplier site's contact person. |
|
generateConsignmentOrderInd |
No |
String (1) |
This field will allow specification of whether Merchandising is required to generate POs against consignment sales. |
|
generateSelfInvoicingInd |
No |
String (1) |
This field will allow specification of whether self-invoicing needs to be done for consignment purchases or if the vendor will send invoices to be matched. |
|
createDateTime |
No |
dateTime |
This field holds the record creation date and time (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the record was last updated (UTC). |
|
customFlexAttribute |
No |
Collection of Object |
This list holds custom flex attributes for the supplier. |
|
address |
No |
Collection of Object |
This list holds all supplier addresses. |
|
supplierOrgUnit |
No |
Collection of Object |
This list holds supplier or supplier site attributes by org unit ID. The list is populated when either Multiple Set of Books is on and/or Financial AP is on. |
|
cacheTimestamp |
No |
dateTime |
This field specifies the date and time when the supplier record was last fetched into the cache. |
|
cacheCreateTimestamp |
No |
dateTime |
This field specifies the date and time when the record was first created for web service publication. |
Table 5-197 CustomFlexAttribute - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
name |
No |
String (30) |
This field holds the custom flex attribute name. |
|
value |
No |
String (250) |
This field holds the numeric or character value of the custom flex attribute. |
|
valueDate |
No |
date |
This field holds the date value of the custom flex attribute. |
|
createDateTime |
No |
dateTime |
This field holds the date and time when the custom flex attribute was created (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the custom flex attribute was last updated (UTC). |
Table 5-198 Address - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
addressKey |
No |
Number(11,0) |
This field contains the unique address key. |
|
addressType |
No |
String (2) |
This field specifies the type for the address. Valid values are: 01 - Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 - Remittance. |
|
addressTypeDescription |
No |
String (40) |
This field specifies the address type description. |
|
primaryAddressInd |
No |
String (1) |
This field indicates whether the address is the primary address for the address type. |
|
add1 |
No |
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 |
No |
String (120) |
This field contains the name of the city that is associated with the address. |
|
state |
No |
String (3) |
This field contains the state abbreviation that is associated with the address. |
|
stateName |
No |
String (120) |
This field contains the state description that is associated with the address. |
|
countryId |
No |
String (3) |
This field contains the country where the address exists. |
|
countryName |
No |
String (120) |
This field contains the country description that is associated with the address. |
|
post |
No |
String (30) |
This field contains the zip code for the address. |
|
contactName |
No |
String (120) |
This field contains the name of the contact person at this address. |
|
contactPhone |
No |
String (20) |
This field contains the phone number of the contact person at this address. |
|
contactTelex |
No |
String (20) |
This field contains the telex number of the contact person at this address. |
|
contactFax |
No |
String (20) |
This field contains the fax number of the contact person at this address. |
|
contactEmail |
No |
String (100) |
This field contains the email address of the contact person at this address. |
|
phone2Type |
No |
String (6) |
This field contains the type of the phone number stored in the phone2 field. Valid values are AS - Assistant, CM - Company Main, HF - Home Fax, HO - Home, MA - Main, PA - Pager, WF - Work Fax, WO - Work, and can also be found on the codes table with a code type of PHTP. |
|
phone2 |
No |
String (20) |
This field contains an additional phone number associated with the address. |
|
phone3Type |
No |
String (6) |
This field contains the type of the phone number stored in the phone3 field. Valid values are AS - Assistant, CM - Company Main, HF - Home Fax, HO - Home, MA - Main, PA - Pager, WF - Work Fax, WO - Work, and can also be found on the codes table with a code type of PHTP. |
|
phone3 |
No |
String (20) |
This field contains a second additional phone number associated with the address. |
|
latitude |
No |
String (30) |
This field contains the north-south geographic coordinate of the address, represented in decimal degrees. |
|
longitude |
No |
String (30) |
This field contains the east-west geographic coordinate of the address, represented in decimal degrees. |
|
county |
No |
String (250) |
This field contains the county where the address exists. |
|
jurisdictionCode |
No |
String (10) |
This field contains the ID associated with the tax jurisdiction of the country-state relationship. |
|
createDateTime |
No |
dateTime |
This field holds the record creation date and time (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the record was last updated (UTC). |
|
customFlexAttribute |
No |
Collection of Object |
This List holds custom flex attributes for the warehouse's address. |
Table 5-199 SupplierOrgUnit - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
orgUnitId |
No |
Number(15,0) |
This field holds the org unit ID. |
|
primaryPaySiteInd |
No |
String (1) |
This field holds the primary payment site indicator. |
|
createDateTime |
No |
dateTime |
This field holds the record creation date and time (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the record was last updated (UTC). |
Table 5-200 LinkItems - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
href |
No |
String |
Service URL |
|
rel |
No |
String |
This can be either 'self' or 'next'. The 'next' link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. |
Sample Response Message
{
"items": [
{
"action": "INSERT",
"supplier": 3026001,
"supplierName": "Prime Hardware",
"supplierNameSecondary": "Prime Hardware 2",
"supplierStatus": "A",
"parentSupplier": 3026,
"contactName": "Alexandre Roma",
"contactPhone": "234-112-7654",
"contactFax": "234-112-7654",
"contactPager": null,
"contactTelex": "234-112-7654",
"contactEmail": "a_roma@primehardware.com",
"qualityControlInd": "Y",
"qualityControlPercentage": 3,
"qualityControlFrequency": 5,
"vendorCheckingInd": "Y",
"vendorCheckingPercentage": 3,
"vendorCheckingFrequency": 2,
"currencyCode": "USD",
"language": 1,
"terms": "108",
"freightTerms": "03",
"returnAllowedInd": "Y",
"returnAuthorizationRequiredInd": "N",
"minimumReturnValue": 3.55,
"returnCourier": "125",
"handlingPercentage": 3,
"ediOrderInd": "Y",
"ediOrderChangeInd": "Y",
"ediOrderConfirmInd": "Y",
"ediAsnInd": "Y",
"ediSalesReportFrequency": null,
"ediSupplierAvailabilityInd": "Y",
"ediContractInd": "Y",
"ediInvoiceInd": "Y",
"ediChannelId": 1,
"costChangeVariancePercentage": 9.65,
"costChangeVarianceAmt": 9.65,
"replenishmentApprovalInd": "Y",
"shipMethod": "30",
"paymentMethod": "OA",
"settlementCode": "N",
"preMarkInd": "Y",
"autoApproveInvoiceInd": "Y",
"debitMemoCode": "N",
"freightChargeInd": "Y",
"autoApproveDebitMemoInd": "Y",
"invManagementLevel": "S",
"backorderInd": "Y",
"vatRegion": 1000,
"prepayInvoiceInd": "Y",
"servicePerformedRequiredInd": "Y",
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"invoiceGrossNet": "G",
"deliveryPolicy": "NEXT",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNo": "108890",
"dunsLocation": "1055",
"bracketCostingInd": "Y",
"vmiOrderStatus": null,
"dsdSupplierInd": "Y",
"supplierQuantityLevel": "EA",
"finalDestinationInd": null,
"externalReferenceId": null,
"statusUpdateByRms": null,
"defaultPricingControl": "R",
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "200 Ryan Way",
"primaryAddressAdd2": "Suite 100",
"primaryAddressAdd3": null,
"primaryAddressCity": "Somerville",
"primaryAddressState": "MA",
"primaryAddressCountryId": "US",
"primaryAddressJurisdictionCode": null,
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "Laura Johnson",
"primaryAddressContactPhone": "617-897-0900",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "l_johnson@primehardware.com",
"generateConsignmentOrderInd": null,
"generateSelfInvoicingInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"supplierOrgUnit": [
{
"orgUnitId": 1111111111,
"primaryPaySiteInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offsetkey=1234,XYZ",
"rel": "next"
}
]
}
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.
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 Suppliers and Partners (deprecated)
Business Overview
Deprecated in 25.0.201.0: Scheduled for Removal in 2 years. Use MerchIntegrations/services/foundation/suppliers/create.
This service modifies existing parent suppliers, supplier sites, partners, org unit association, addresses and flex attributes. Any information present in the webservice request will update the existing attributes with a few exceptions, mentioned below. When modifying a supplier parent, providing the supplier site information is optional.
The following attribute values are defaulted to the old value if not provided in the request:
-
contact name
-
contact phone
-
contact fax
-
contact pager
-
ship method
-
payment method
-
contact telex
-
contact email
-
default lead time
-
duns number
-
duns loc
-
tax id
-
vat region
When modifying supplier sites, it is expected that both supplier parent and supplier site information will be provided. Certain supplier attribute values are defaulted to the old values if not provided in the update request. Refer to the list of attributes under Modifying a Supplier Parent. Attributes not in the above list will be replaced by user-provided values.
Existing address details are overwritten by the information contained in the address section of the service request. Addresses
with address types 04 - Order and 06 - Remittance, however, are deleted from the system
if these addresses are not included in the request.
When Financials integration is enabled (financial_ap = ‘A’), the optional attribute vendorTypeCode is used to identify between suppliers and partners. External financial systems utilizing this attribute can also update
partners in Merchandising.
Note:
The vendor type code mapping must be set up through the Merchandising spreadsheet upload functionality.Partner integrations of type Escheat-State and Escheat-Country are not be supported through
this interface. If vendorTypeCode is blank, it is assumed that a supplier is being updated.
The external financial system can send its own ID for certain supplier attributes on optional reference fields in the payload. These external reference IDs do not need to be set up against the relevant data to enable their usage. Reference IDs that are available in the payload are listed below. If provided these will be used to cross-reference and identify the corresponding Merchandising ID and data. If the external ID provided maps to multiple records in the foundation data, then one of the records will be associated with the supplier/partner record being created. An error will be raised if no match is found.
-
languageReferenceId - defaulted to primary language if not provided.
-
termsReferenceId
-
freightTermsReferenceId
-
orgUnitReferenceId
Updates will be accepted for both supplier and partner irrespective of status.
Availability During Nightly Batch Cycle
This service will not be available when batches that affect costs are in-progress.
Input Payload Details
Table 5-201 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-202 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-203 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-204 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-205 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-206 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-207 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-208 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-209 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-210 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. |
| contactTelex | No | String (20) | This field contains the telex number of the partner or suppliers representative contact. |
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"
}
],
"contactTelex": null
}
}
]
}
]
}
]
}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"
}
],
"contactTelex": null
}
}
]
}
]
}
]
}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
This service publishes supplier-site master data to downstream consuming systems. It publishes the supplier-site definition together with primary and additional addresses, supplier org-unit relationships, and supplier and address custom flex attributes. Functionally, only supplier sites are published because both the main view query and the address CTEs require SUPS.SUPPLIER_PARENT IS NOT NULL; parent supplier rows are excluded.
Technical Details
This service follows the Publish API cache architecture in which the REST service serves pre-generated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview.
Core business tables: SUPS, ADDR
Additional business tables: ADD_TYPE_MODULE, V_ADD_TYPE_TL, PARTNER_ORG_UNIT, SYSTEM_OPTIONS, SUPS_CFA_EXT, ADDR_CFA_EXT
JSON cache table: MERCHAPI_EXT_SUPPLIER
JSON generation view: V_MERCHAPI_EXT_SUPPLIER_JSON
Builds the supplier-site header from SUPS, derives the primary address from ADDR joined to ADD_TYPE_MODULE and V_ADD_TYPE_TL, aggregates all supplier-site addresses from ADDR, adds supplier-site org-unit relationships from PARTNER_ORG_UNIT, and enriches supplier- and address-level custom flex attributes from MERCHAPI_EXT_SUPPLIER_CFA and MERCHAPI_EXT_SUPPLIER_ADDR_CFA.
The view also reads SYSTEM_OPTIONS to derive defaultPricingControl.
Functionally, only supplier sites are published because both the main view query and the address CTEs require SUPS.SUPPLIER_PARENT IS NOT NULL; parent supplier rows are excluded.
Initial Seeding and post enablement rebuild/repair
Initial seeding and rebuild use V_MERCHAPI_EXT_SUPPLIER_JSON and apply supplier-site rows only where SUPS.SUPPLIER_PARENT IS NOT NULL.
The current REBUILD branch merges changed and new rows only; it does not include a delete-marking pass for supplier sites that disappear from V_MERCHAPI_EXT_SUPPLIER_JSON.
ICL (Integration Change Log) table: ICL_RMS_SUPPLIER and ICL_RMS_ADDR (ICL consumer name = MERCHAPI)
ICL entries are created using triggers on SUPS, and address changes are captured through ICL_RMS_ADDR for ADDR rows where MODULE = 'SUPP'.
ICL_RMS_ADDR rows are filtered to MODULE = 'SUPP' and republish the parent supplier-site payload.
Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.
Process configuration name: API_EXT_SUPPLIER
To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.
POM Batch schedule process and job: MERCHAPI_DELTA_EXT_SUPPLIER_ADHOC_PROCESS -> MERCHAPI_EXT_SUPPLIER_ADHOC_JOB
Webhook configuration api name: foundation/supplier
ReST URL
MerchIntegrations/services/foundation/supplier
MerchIntegrations/services/foundation/supplier/{supplierId}
Functional Area
Foundation - Suppliers
Input Parameters
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
since |
No |
String |
Since Date (Example: 2010-12-31T23:59:59.999Z) |
|
before |
No |
String |
Before Date (Example: 2040-12-31T23:59:59.999Z) |
|
offsetkey |
No |
String |
Offset key (Supplier) |
|
limit |
No |
String (6) |
Pagination limit. Default value is 1000. |
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Table 5-211 Input Parameter for "MerchIntegrations/services/foundation/supplier/{supplierId}"
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
supplierId |
Yes |
Number |
Supplier Id |
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Output
Table 5-212 PageResultsItemsMerchApiSupplier - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
No |
Collection of Object |
Collection of records |
|
hasMore |
No |
Boolean |
Boolean to signify if there are additional pages of data. This is true if limit = count for pagination supported request |
|
limit |
No |
Number |
Requested page size. If the page size was not defined in the input request, a default page size is used to limit the number of records to fetch |
|
count |
No |
Number |
Number of record in the response object |
|
links |
No |
Collection of Object |
List of Self and/or Next URL |
Table 5-213 MerchApiSupplier - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
action |
No |
String |
Action for supplier details. |
|
supplier |
No |
Number(10,0) |
This field specifies the unique identifying number for a supplier site within the system. |
|
supplierName |
No |
String (240) |
This field specifies the supplier site's name. |
|
supplierNameSecondary |
No |
String (240) |
This field specifies the secondary name of the supplier. |
|
supplierStatus |
No |
String (1) |
This field specifies whether the supplier is currently active. |
|
parentSupplier |
No |
Number(10,0) |
This field contains the supplier number of the supplier parent. |
|
contactName |
No |
String (120) |
This field contains the name of the supplier's representative contact for this site. |
|
contactPhone |
No |
String (20) |
This field contains the telephone number for the supplier's representative contact. |
|
contactFax |
No |
String (20) |
This field contains the fax number for the supplier's representative contact. |
|
contactPager |
No |
String (20) |
This field contains the number for the pager of the supplier's representative contact. |
|
contactTelex |
No |
String (20) |
This field contains the telex number of the partner's or supplier's representative contact. |
|
contactEmail |
No |
String (100) |
This field contains the email address of the partner's or supplier's representative contact. |
|
qualityControlInd |
No |
String (1) |
This field determines whether orders from this supplier will default as requiring quality control. |
|
qualityControlPercentage |
No |
Number(12,4) |
This field specifies the percentage of items per receipt that will be marked for quality checking. |
|
qualityControlFrequency |
No |
Number(2,0) |
This field specifies the frequency in which items per receipt will be marked for quality checking. |
|
vendorCheckingInd |
No |
String (1) |
This field specifies whether orders from this supplier will default as requiring vendor control. |
|
vendorCheckingPercentage |
No |
Number(12,4) |
This field specifies the percentage of items per receipt that will be marked for vendor checking. |
|
vendorCheckingFrequency |
No |
Number(2,0) |
This field specifies the frequency in which items per receipt will be marked for vendor checking. |
|
currencyCode |
No |
String (3) |
This field specifies the code identifying the currency the supplier uses for business transactions. |
|
language |
No |
Number(6,0) |
This field contains the supplier's preferred language. |
|
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. These terms specify when payment is due and if any discounts exist for early payment. |
|
freightTerms |
No |
String (30) |
This field contains the code indicating what freight terms will default when an order is created for the supplier site. |
|
returnAllowedInd |
No |
String (1) |
This field specifies whether or not the supplier will accept returns. |
|
returnAuthorizationRequiredInd |
No |
String (1) |
This field specifies if returns must be accompanied by an authorization number when sent back to the vendor. |
|
minimumReturnValue |
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 specifies the name of the courier that should be used for all 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 specifies whether purchase orders will be sent to the supplier via EDI. |
|
ediOrderChangeInd |
No |
String (1) |
This field specifies whether purchase order changes will be sent to the supplier via EDI. |
|
ediOrderConfirmInd |
No |
String (1) |
This field specifies whether this supplier will send acknowledgment of purchase orders sent via EDI. |
|
ediAsnInd |
No |
String (1) |
This field specifies whether this supplier will send Advance Shipment Notifications electronically. |
|
ediSalesReportFrequency |
No |
String (1) |
This field specifies the EDI sales report frequency for this supplier. |
|
ediSupplierAvailabilityInd |
No |
String (1) |
This field specifies whether the supplier will send availability via EDI. |
|
ediContractInd |
No |
String (1) |
This field indicates whether the supplier site supports contract ordering sent via EDI. |
|
ediInvoiceInd |
No |
String (1) |
This field specifies whether invoices, debit memos and credit note requests will be sent to/from the supplier via Electronic Data Interchange. |
|
ediChannelId |
No |
Number(4,0) |
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 |
No |
Number(12,4) |
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 |
No |
Number(20,4) |
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 |
No |
String (1) |
This field indicates whether contract orders created via replenishment should be created in Approved status. |
|
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 code type SHPM. |
|
paymentMethod |
No |
String (6) |
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 |
No |
String (1) |
This field indicates which payment process method is used for the supplier. Valid values are N/A (N) and Evaluated Receipts Settlement (E). |
|
preMarkInd |
No |
String (1) |
This field indicates whether the supplier site supports pre-marking containers for cross-dock orders. |
|
autoApproveInvoiceInd |
No |
String (1) |
This field indicates whether the supplier's invoices can be automatically approved for payment. |
|
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. |
|
autoApproveDebitMemoInd |
No |
String (1) |
This field specifies whether debit memos sent to the supplier can be automatically approved on creation. |
|
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), and supplier/department/location (A). |
|
backorderInd |
No |
String (1) |
This field specifies if backorders or partial shipments will be accepted. |
|
vatRegion |
No |
Number(4,0) |
This field contains the unique identifying number for the VAT region applicable for this site. |
|
prepayInvoiceInd |
No |
String (1) |
This field specifies whether all invoices for the supplier can be pre-paid. |
|
servicePerformedRequiredInd |
No |
String (1) |
This field indicates if the supplier's services must be confirmed as performed before paying an invoice from that supplier site. |
|
invoicePayLocation |
No |
String (6) |
This field indicates where invoices from this supplier site 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 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 are held in code type DLVY. |
|
comments |
No |
String (2000) |
This field contains any miscellaneous comments associated with the supplier. |
|
defaultItemLeadTime |
No |
Number(4,0) |
This field specifies 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. |
|
dunsNo |
No |
String (9) |
This field holds the Dun and Bradstreet number to identify the supplier. |
|
dunsLocation |
No |
String (4) |
This field holds the Dun and Bradstreet number to identify the location of the supplier. |
|
bracketCostingInd |
No |
String (1) |
This field will determine if the supplier site supports bracket costing pricing structures. |
|
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. |
|
supplierQuantityLevel |
No |
String (6) |
This field indicates the supplier site order quantity level. Valid values are cases (CA) or eaches (EA). |
|
finalDestinationInd |
No |
String (1) |
This field indicates whether the supplier site can ship to final destination or not. |
|
externalReferenceId |
No |
String (32) |
This field holds the ID for the supplier used in the external financial system. |
|
statusUpdateByRms |
No |
String (1) |
This field indicates that the supplier is inactivated from RMS. Suppliers inactivated in RMS will have this field updated as Y. Otherwise this field will be null. |
|
defaultPricingControl |
No |
String (1) |
This field contains the pricing control of the supplier and determines whether the supplier can control the price. Valid values are R - Managed by Retailer and S - Managed by Supplier. |
|
primaryAddressType |
No |
String (2) |
This field specifies the type for the address. Valid values are: 01 - Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 - Remittance. |
|
primaryAddressTypeDescription |
No |
String (40) |
This field specifies the address type description. |
|
primaryAddressAdd1 |
No |
String (240) |
This field contains the first line of the address. |
|
primaryAddressAdd2 |
No |
String (240) |
This field contains the second line of the address. |
|
primaryAddressAdd3 |
No |
String (240) |
This field contains the third line of the address. |
|
primaryAddressCity |
No |
String (120) |
This field contains the name of the city that is associated with the address. |
|
primaryAddressState |
No |
String (3) |
This field contains the state abbreviation for the address. |
|
primaryAddressCountryId |
No |
String (3) |
This field contains the country where the address exists. |
|
primaryAddressJurisdictionCode |
No |
String (10) |
This field identifies the jurisdiction code for the country-state relationship. |
|
primaryAddressPost |
No |
String (30) |
This field contains the zip code for the address. |
|
primaryAddressContactName |
No |
String (120) |
This field contains the name of the contact person at this address. |
|
primaryAddressContactPhone |
No |
String (20) |
This field contains the phone number of the contact person at this address. |
|
primaryAddressContactTelex |
No |
String (20) |
This field contains the telex number of the contact person at this address. |
|
primaryAddressContactFax |
No |
String (20) |
This field contains the fax number of the contact person at this address. |
|
primaryAddressContactEmail |
No |
String (100) |
This field contains the email address of the supplier site's contact person. |
|
generateConsignmentOrderInd |
No |
String (1) |
This field will allow specification of whether Merchandising is required to generate POs against consignment sales. |
|
generateSelfInvoicingInd |
No |
String (1) |
This field will allow specification of whether self-invoicing needs to be done for consignment purchases or if the vendor will send invoices to be matched. |
|
createDateTime |
No |
dateTime |
This field holds the record creation date and time (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the record was last updated (UTC). |
|
customFlexAttribute |
No |
Collection of Object |
This list holds custom flex attributes for the supplier. |
|
address |
No |
Collection of Object |
This list holds all supplier addresses. |
|
supplierOrgUnit |
No |
Collection of Object |
This list holds supplier or supplier site attributes by org unit ID. The list is populated when either Multiple Set of Books is on and/or Financial AP is on. |
|
cacheTimestamp |
No |
dateTime |
This field specifies the date and time when the supplier record was last fetched into the cache. |
|
cacheCreateTimestamp |
No |
dateTime |
This field specifies the date and time when the record was first created for web service publication. |
Table 5-214 CustomFlexAttribute - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
name |
No |
String (30) |
This field holds the custom flex attribute name. |
|
value |
No |
String (250) |
This field holds the numeric or character value of the custom flex attribute. |
|
valueDate |
No |
date |
This field holds the date value of the custom flex attribute. |
|
createDateTime |
No |
dateTime |
This field holds the date and time when the custom flex attribute was created (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the custom flex attribute was last updated (UTC). |
Table 5-215 Address - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
addressKey |
No |
Number(11,0) |
This field contains the unique address key. |
|
addressType |
No |
String (2) |
This field specifies the type for the address. Valid values are: 01 - Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 - Remittance. |
|
addressTypeDescription |
No |
String (40) |
This field specifies the address type description. |
|
primaryAddressInd |
No |
String (1) |
This field indicates whether the address is the primary address for the address type. |
|
add1 |
No |
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 |
No |
String (120) |
This field contains the name of the city that is associated with the address. |
|
state |
No |
String (3) |
This field contains the state abbreviation that is associated with the address. |
|
stateName |
No |
String (120) |
This field contains the state description that is associated with the address. |
|
countryId |
No |
String (3) |
This field contains the country where the address exists. |
|
countryName |
No |
String (120) |
This field contains the country description that is associated with the address. |
|
post |
No |
String (30) |
This field contains the zip code for the address. |
|
contactName |
No |
String (120) |
This field contains the name of the contact person at this address. |
|
contactPhone |
No |
String (20) |
This field contains the phone number of the contact person at this address. |
|
contactTelex |
No |
String (20) |
This field contains the telex number of the contact person at this address. |
|
contactFax |
No |
String (20) |
This field contains the fax number of the contact person at this address. |
|
contactEmail |
No |
String (100) |
This field contains the email address of the contact person at this address. |
|
phone2Type |
No |
String (6) |
This field contains the type of the phone number stored in the phone2 field. Valid values are AS - Assistant, CM - Company Main, HF - Home Fax, HO - Home, MA - Main, PA - Pager, WF - Work Fax, WO - Work, and can also be found on the codes table with a code type of PHTP. |
|
phone2 |
No |
String (20) |
This field contains an additional phone number associated with the address. |
|
phone3Type |
No |
String (6) |
This field contains the type of the phone number stored in the phone3 field. Valid values are AS - Assistant, CM - Company Main, HF - Home Fax, HO - Home, MA - Main, PA - Pager, WF - Work Fax, WO - Work, and can also be found on the codes table with a code type of PHTP. |
|
phone3 |
No |
String (20) |
This field contains a second additional phone number associated with the address. |
|
latitude |
No |
String (30) |
This field contains the north-south geographic coordinate of the address, represented in decimal degrees. |
|
longitude |
No |
String (30) |
This field contains the east-west geographic coordinate of the address, represented in decimal degrees. |
|
county |
No |
String (250) |
This field contains the county where the address exists. |
|
jurisdictionCode |
No |
String (10) |
This field contains the ID associated with the tax jurisdiction of the country-state relationship. |
|
createDateTime |
No |
dateTime |
This field holds the record creation date and time (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the record was last updated (UTC). |
|
customFlexAttribute |
No |
Collection of Object |
This List holds custom flex attributes for the warehouse's address. |
Table 5-216 SupplierOrgUnit - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
orgUnitId |
No |
Number(15,0) |
This field holds the org unit ID. |
|
primaryPaySiteInd |
No |
String (1) |
This field holds the primary payment site indicator. |
|
createDateTime |
No |
dateTime |
This field holds the record creation date and time (UTC). |
|
updateDateTime |
No |
dateTime |
This field holds the date and time when the record was last updated (UTC). |
Table 5-217 LinkItems - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
href |
No |
String |
Service URL |
|
rel |
No |
String |
This can be either 'self' or 'next'. The 'next' link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. |
Sample Response Message
{
"items": [
{
"action": "INSERT",
"supplier": 3026001,
"supplierName": "Prime Hardware",
"supplierNameSecondary": "Prime Hardware 2",
"supplierStatus": "A",
"parentSupplier": 3026,
"contactName": "Alexandre Roma",
"contactPhone": "234-112-7654",
"contactFax": "234-112-7654",
"contactPager": null,
"contactTelex": "234-112-7654",
"contactEmail": "a_roma@primehardware.com",
"qualityControlInd": "Y",
"qualityControlPercentage": 3,
"qualityControlFrequency": 5,
"vendorCheckingInd": "Y",
"vendorCheckingPercentage": 3,
"vendorCheckingFrequency": 2,
"currencyCode": "USD",
"language": 1,
"terms": "108",
"freightTerms": "03",
"returnAllowedInd": "Y",
"returnAuthorizationRequiredInd": "N",
"minimumReturnValue": 3.55,
"returnCourier": "125",
"handlingPercentage": 3,
"ediOrderInd": "Y",
"ediOrderChangeInd": "Y",
"ediOrderConfirmInd": "Y",
"ediAsnInd": "Y",
"ediSalesReportFrequency": null,
"ediSupplierAvailabilityInd": "Y",
"ediContractInd": "Y",
"ediInvoiceInd": "Y",
"ediChannelId": 1,
"costChangeVariancePercentage": 9.65,
"costChangeVarianceAmt": 9.65,
"replenishmentApprovalInd": "Y",
"shipMethod": "30",
"paymentMethod": "OA",
"settlementCode": "N",
"preMarkInd": "Y",
"autoApproveInvoiceInd": "Y",
"debitMemoCode": "N",
"freightChargeInd": "Y",
"autoApproveDebitMemoInd": "Y",
"invManagementLevel": "S",
"backorderInd": "Y",
"vatRegion": 1000,
"prepayInvoiceInd": "Y",
"servicePerformedRequiredInd": "Y",
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"invoiceGrossNet": "G",
"deliveryPolicy": "NEXT",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNo": "108890",
"dunsLocation": "1055",
"bracketCostingInd": "Y",
"vmiOrderStatus": null,
"dsdSupplierInd": "Y",
"supplierQuantityLevel": "EA",
"finalDestinationInd": null,
"externalReferenceId": null,
"statusUpdateByRms": null,
"defaultPricingControl": "R",
"primaryAddressType": "01",
"primaryAddressTypeDescription": null,
"primaryAddressAdd1": "200 Ryan Way",
"primaryAddressAdd2": "Suite 100",
"primaryAddressAdd3": null,
"primaryAddressCity": "Somerville",
"primaryAddressState": "MA",
"primaryAddressCountryId": "US",
"primaryAddressJurisdictionCode": null,
"primaryAddressPost": "55555-1234",
"primaryAddressContactName": "Laura Johnson",
"primaryAddressContactPhone": "617-897-0900",
"primaryAddressContactTelex": null,
"primaryAddressContactFax": "617-897-0902",
"primaryAddressContactEmail": "l_johnson@primehardware.com",
"generateConsignmentOrderInd": null,
"generateSelfInvoicingInd": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"address": [
{
"addressKey": 114772,
"addressType": "01",
"addressTypeDescription": null,
"primaryAddressInd": "Y",
"add1": "101 First Street",
"add2": "201 Second Street",
"add3": null,
"city": "Minneapolis",
"state": "MN",
"stateName": "MN",
"countryId": "US",
"countryName": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "1800800800",
"contactTelex": null,
"contactFax": "617-897-0902",
"contactEmail": "someone@email.com",
"phone2Type": "WO",
"phone2": "5551234567",
"phone3Type": "WO",
"phone3": "5551234567",
"latitude": "44.38129",
"longitude": "-92.03521",
"county": null,
"jurisdictionCode": null,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"customFlexAttribute": [
{
"name": "attribute1",
"value": "value1",
"valueDate": "2001-12-31",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
]
}
],
"supplierOrgUnit": [
{
"orgUnitId": 1111111111,
"primaryPaySiteInd": "Y",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z"
}
],
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offsetkey=1234,XYZ",
"rel": "next"
}
]
}
Supplier Publish Services
Endpoints
MerchIntegrations/services/foundation/supplier MerchIntegrations/services/foundation/supplier/{supplierId}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.
ReST URL
/MerchIntegrations/services/foundation/supplier? since={since}&before={before}&offsetkey={offsetkey}&limit={limit}/MerchIntegrations/services/foundation/supplier/{supplierId}Input Parameters
Table 5-218 MerchIntegrations/services/foundation/supplier
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
| since | No | String |
Since Date. Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm |
| before | No | String |
Before Date Format: yyyy-mm-dd"T"hh24:mi:ss.fftzh:tzm |
| offsetkey | No | String | Offset Key. Valid Value is combination of sort_order_seq and node id. |
| limit | No | BigDecimal | Pagination limit. Default Value is 1000. |
| include | No | String | Fields to include - comma separated (Example items.name,items.address.city) |
| exclude | No | String | Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Table 5-219 /MerchIntegrations/services/ foundation/supplier/{supplierId}
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
| supplierId | Yes | String | Supplier ID. |
| include | No | String | Fields to include - comma separated (Example items.name,items.address.city) |
| exclude | No | String | Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Output
| Name | Data Type | Description |
|---|---|---|
| action | String | Action for supplier details. Valid values are INSERT, UPDATE and DELETE. |
| supplier | Number | This field specifies unique identifying number for a supplier site within the system. |
| supplierName | String | This field specifies supplier’s site's name. |
| supplierNameSecondary | String | This field specifies secondary name of the supplier. |
| supplierStatus | String | This field specifies whether the supplier is currently active. |
| parentSupplier | String | This field contains the supplier number for the supplier site. |
| contactName | String | This field contains the name of the supplier's representative contact for this site. |
| contactPhone | String | This field contains telephone number for the supplier’s representative contact. |
| contactFax | String | This field contains fax number for the supplier’s representative contact. |
| contactPager | String | This field contains number for the pager of the supplier’s representative contact. |
| contactTelex | String | This field contains telex number of the partner or supplier’s representative contact. |
| contactEmail | String | This field contains email address of the partner or supplier’s representative contact. |
| qualityControlInd | String | This field determines whether orders from this supplier will default as requiring quality control. |
| qualityControlPercentage | Number | This field specifies percentage of items per receipt that will be marked for quality checking. |
| qualityControlFrequency | Number | This field specifies frequency in which items per receipt will be marked for quality checking. |
| vendorCheckingInd | String | This field specifies whether orders from this supplier will default as requiring vendor control. |
| vendorCheckingPercentage | Number | This field specifies percentage of items per receipt that will be marked for vendor checking. |
| vendorCheckingFrequency | Number | This field specifies frequency in which items per receipt will be marked for vendor checking. |
| CurrencyCode | String | This field specifies code identifying the currency the supplier uses for business transactions. |
| language | String | This field contains the supplier's preferred language. |
| terms | String | This field contains an indicator identifying the purchase terms that will default when an order is created for the supplier site. These terms specify when payment is due and if any discounts exist for early payment. |
| freightTerms | String | This field contains code indicating what freight terms will default when an order is created for the supplier site. |
| returnAllowedInd | String | This field specifies whether the supplier will accept returns. |
| returnAuthorizationRequiredInd | String | This field specifies if returns must be accompanied by an authorization number when sent back to the vendor. |
| minimumReturnValue | Number | This field contains a value if the supplier site requires a minimum merchandise value to be returned to accept the return. Returns of less than this amount will not be processed by the system. This field is stored in the supplier's currency. |
| returnCourier | String | This field specifies name of the courier that should be used for all returns to the supplier site. |
| handlingPercentage | Number | This field contains the default percent to be multiplied by the return’s total cost to determine the handling cost for the return. |
| ediOrderInd | String | This field specifies whether purchase orders will be sent to the supplier via EDI. |
| ediOrderChangeInd | String | This field specifies whether purchase order changes will be sent to the supplier via EDI. |
| ediOrderConfirmInd | String | This field specifies whether this supplier will send acknowledgment of a purchase orders sent via EDI. |
| ediAsnInd | String | This field specifies whether this supplier will send Advance Shipment Notifications electronically. |
| ediSalesReportFrequency | String | This field specifies EDI sales report frequency for this supplier. |
| ediSupplierAvailabilityInd | String | This field specifies whether the supplier will send availability via EDI. |
| ediContractInd | String | This field indicates whether the supplier site supports contract ordering sent via EDI. |
| ediInvoiceInd | String | This field specifies whether invoices, debit memos and credit note requests will be sent to/from the supplier via Electronic Data Interchange. |
| EdiChannelId | String | This field specifies if the supplier is an EDI supplier and supports vendor-initiated ordering, this field will contain the channel ID for the channel to which all inventory for these types of orders will flow. |
| costChangeVariancePercentage | Number | This field contains a percent that determines whether a cost change can be auto approved via induction. If the cost change falls within these boundaries, it will be approved when uploaded. |
| costChangeVarianceAmt | Number | This field contains an amount (in supplier currency) that determines whether a cost change can be auto approved via induction. If the cost change falls within these boundaries, it will be approved when uploaded. |
| replenishmentApprovalInd | String | This field indicates whether contract orders created via replenishment should be created in Approved status. |
| shipMethod | String | This field contains the default method used to ship the items on the purchase order from the supplier site. Valid values are held in code type SHPM. |
| paymentMethod | String | This field indicates the default method for how purchase orders for this site will be paid. Valid values are Letter of Credit (LC), Wire Transfer (WT) and Open Account (OA). |
| settlementCode | String | This field indicates which payment process method is used for the supplier. Valid values are N/A (N) and Evaluated Receipts Settlement (E). |
| preMarkInd | String | This field indicates whether the supplier site supports pre-marking containers for cross dock order. |
| autoApproveInvoiceInd | String | This field indicates whether the supplier's invoices can be automatically approved for payment. |
| debitMemoCode | String | This field indicates when a debit memo will be sent to the supplier site to resolve a discrepancy. Valid values are: Y - if debit memos are always to be sent, L - if debit memos are used only if a credit note is not sent by the invoice due date and N - if debit memos are never sent. |
| freightChargeInd | String | This field indicates whether a supplier site can charge freight costs. |
| autoApproveDebitMemoInd | String | This field specifies whether debit memos sent to the supplier can be automatically approved on creation. |
| invManagementLevel | String | This field indicates the level for managing supplier inventory information. Valid values are: supplier (S), supplier/location (L), supplier/department (D), and supplier/department/location (A). |
| backorderInd | String | This field specifies if backorders or partial shipments will be accepted. |
| vatRegion | Number | This field contains the unique identifying number for the VAT region applicable for this site. |
| prepayInvoiceInd | String | This field specifies whether all invoices for the supplier can be pre-paid. |
| servicePerformedRequiredInd | String | This field indicates if the supplier's services must be confirmed as performed before paying an invoice from that supplier site. |
| invoicePayLocation | String | This field indicates where invoices from this supplier site are received - at the store (S) or centrally through corporate accounting (C). |
| invoiceReceiveLocation | String | This field indicates where invoices from this supplier site are received - at the store (S) or centrally through corporate accounting (C). |
| invoiceGrossNet | String | This field indicates if the supplier site invoice lists items at gross cost (G) or net cost (N). |
| deliveryPolicy | String | This field contains the default delivery policy of the supplier site. Valid values are held in code type DLVY. |
| comments | String | This field contains any miscellaneous comments associated with the supplier. |
| defaultItemLeadTime | Number | This field specifies default lead time for the supplier site. The lead time is the time the supplier needs between receiving an order and having the order ready to ship. This value will be defaulted to item/supplier relationships. |
| dunsNo | String | This field holds the Dun and Bradstreet number to identify the supplier. |
| dunsLocation | String | This field holds the Dun and Bradstreet number to identify the location of the supplier. |
| bracketCostingInd | String | This field will determine if the supplier site supports bracket costing pricing structures. |
| vmiOrderStatus | String | This field determines the status in which any inbound POs from this supplier will be created. A NULL value indicates that the supplier is not a VMI supplier. |
| dsdSupplierInd | String | This field specifies whether the vendor supports DSD ordering, where the supplier replenishes the store directly, creating the PO and receipt at the same time. |
| supplierQuantityLevel | String | This field indicates the supplier site order quantity level. Valid values are cases (CA) or eaches (EA). |
| finalDestinationInd | String | This field indicates whether the supplier site can ship to final destination or not. |
| externalReferenceId | String | This field holds the ID for the supplier used in the external financial system. |
| statusUpdateByRms | String | This field indicates that Supplier is inactivated from RMS. Suppliers inactivated in RMS will have this field updated as Y. Otherwise this field will be null. |
| defaultPricingControl | String | Indicates the default value of the pricing control attribute at the supplier site level when supplier-controlled pricing for Consignment/Concession ownership model is used within the Merchandising suite of solutions. Valid values are R – Retailer and S – Supplier. |
| primaryAddressType | String | This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance. |
| primaryAddressTypeDescription | String | This field specifies address type description. |
| primaryAddressAdd1 | String | This field contains the first line of the address. |
| primaryAddressAdd2 | String | This field contains the second line of the address. |
| primaryAddressAdd3 | String | This field contains the third line of the address. |
| primaryAddressCity | String | This field contains the name of the city that is associated with the address. |
| primaryAddressState | String | This field contains abbreviation of the state for the address |
| primaryAddressStateName | String | This field contains full name of the state for the address. |
| primaryAddressCountryId | String | This field contains the country where the address exists. |
| primaryAddressJurisdictionCode | String | This field contains the ID associated to the tax jurisdiction of the country-state relationship. |
| primaryAddressPost | String | This field contains the zip code for the address. |
| primaryAddressContactName | String | This field contains the name of the contact for the supplier at this address. |
| primaryAddressContactPhone | String | This field contains the phone number of the contact person at this address. |
| primaryAddressContactTelex | String | This field contains the telex number of the partner or supplier’s representative contact. |
| primaryAddressContactFax | String | This field contains the fax number of the contact person at this address. |
| primaryAddressContactEmail | String | This field contains the email address of the partner or supplier’s representative contact. |
| generateConsignmentOrderInd | String | This field will allow specification of the whether Merchandising is required to generate POs against consignment sales. |
| generateSelfInvoicingInd | String | This field will allow specification of the whether the self-invoicing needs to be done for consignment Purchases or if Vendor will send invoices to be matched. |
| createDateTime | String | This field holds the record creation date. |
| updateDateTime | String | This field holds the date when the record was last updated. |
| customFlexAttribute | This List holds custom flex attributes for address details. | |
| address | This list holds all the addresses of the supplier. | |
| supplierOrgUnit | This List holds list attributes for supplier/supplier site and Org unit id. List is populated when populated when either Multiple Set of Books is ON And/or Financial AP is O. | |
| cacheTimestamp | String | This field specifies date and time when the supplier record was last maintained. |
Table 5-220 address
| Name | Data Type | Description |
|---|---|---|
| addressType | String | This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance. |
| addressTypeDescription | String | This field specifies address type description. |
| sequenceNo | Number | This field indicates the sequence that addresses within the same type were entered. |
| primaryAddressInd | String | This field indicates whether the address is the primary address for the address type. |
| add1 | String | This field contains the first line of the address. |
| add2 | String | This field contains the second line of the address. |
| add3 | String | This field contains the third line of the address. |
| city | String | This field contains name of the city that is associated with the address. |
| state | String | This field contains name of the state that is associated with the address. |
| stateName | String | This field contains name of the state description that is associated with the address. |
| countryID | String | This field contains name of the country that is associated with the address. |
| jurisdictionCode | String | This field contains the ID associated to the tax jurisdiction of the country-state relationship. |
| post | String | This field contains the zip code for the address. |
| contactName | String | This field contains the name of the contact person at this address. |
| contactPhone | String | This field contains the phone number of the contact person at this address. |
| contactTelex | String | This field contains the telex number of the warehouse's representative contact. |
| contactFax | String | This field contains the fax number of the contact person at this address. |
| contactEmail | String | This field contains email address of the warehouse's representative contact. |
| createDateTime | String | This field holds the record creation date. |
| updateDateTime | String | This field holds the date when the record was last updated. |
| customFlexAttribute | This list holds custom flex attributes for the address. | |
Table 5-221 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-222 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-223 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
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.
Input Payload Details
Table 5-224 Codes - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
Yes |
Collection of Object |
Table 5-225 Items - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
type |
Yes |
String (255) |
This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE, STATUS, and ITEM_STATUS. |
|
code |
Yes |
String (255) |
This is the supplier evaluation code which contains valid values for the code type. |
|
locale |
Yes |
Collection of Object |
Table 5-226 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-227 CodesError - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
type |
Yes |
String (255) |
This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE, STATUS, and ITEM_STATUS. |
|
code |
Yes |
String (255) |
This is the supplier evaluation code which contains valid values for the code type. |
|
errorMessage |
Yes |
String (2000) |
This field contains the error message. |
Sample Input Message
{
"items": [
{
"type": "EVALUATION_TYPE",
"code": "SITE_AUDIT",
"locale": [
{
"language": "it",
"description": "Verifica del sito"
}
]
}
]
} Response Code: 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-228 CodesError - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
type |
Yes |
String (255) |
This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE, STATUS, and ITEM_STATUS. |
|
code |
Yes |
String (255) |
This is the supplier evaluation code which contains valid values for the code type. |
|
errorMessage |
Yes |
String (2000) |
This field contains the error message. |
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"type": "EVALUATION_TYPE",
"code": "SITE_AUDIT",
"errorMessage": "More than one record for the same type, code and language exist."
}
]
} Manage Supplier Evaluation Transactions
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.
Input Payload Details
Table 5-229 Transactions - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
Yes |
Collection of Object |
Table 5-230 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-231 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-232 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: 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-233 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
Business Overview
This service retrieves the tax rules which determine how retail tax is calculated on a sales transaction for an item at the location level. This service will be 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.
Technical Details
This service follows the Publish API cache architecture in which the REST service serves pre-generated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview.
Core business tables: ITEM_LOC
Additional business tables: GTS_RULES_CONFIG, VAT_CODES, MERCHAPI_GTS_TAX_LOC, SYSTEM_OPTIONS
JSON cache table: MERCHAPI_GTS_TAX_LOC_ITEM
JSON generation view: V_MERCHAPI_GTS_TAX_RULE_JSON
The rule-detail portion of the payload comes from V_MERCHAPI_GTS_TAX_RULE_JSON, which is built from GTS_RULES_CONFIG and VAT_CODES.
Functionally, the GET query only returns rows whose item/location combination still exists in ITEM_LOC, and the package flow only runs when SYSTEM_OPTIONS.DEFAULT_TAX_TYPE = 'GTS'.
Delta and refresh processing use a multi-stage GTS calculation flow.
Initial Seeding and post enablement rebuild/repair
Mark cache rows deleted when a rule is no longer returned for an affected item in the current GTS calculation result.
Thread 1 refreshes MERCHAPI_GTS_TAX_LOC before item-level tax rows are refreshed.
ICL (Integration Change Log) table: ICL_RMS_ITEM_LOC plus the upstream tax-event feeder path (ICL consumer name = MERCHAPI)
Item/location changes enter through ICL_RMS_ITEM_LOC, and the upstream tax-event feeder path submits the calculation work used to refresh affected tax rows.
Item Approval Handling
On item approval, the main item publish flow writes store ITEM_LOC rows for approved transaction-level items to ICL_RMS_ITEM_LOC so this API is also queued when the item becomes approved.
Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.
Process configuration name: API_GTS_TAX_LOC_ITEM
To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.
POM Batch schedule process and job: MERCHAPI_DELTA_GTS_TAX_LOC_ITEM_ADHOC_PROCESS -> MERCHAPI_GTS_TAX_LOC_ITEM_ADHOC_JOB
Webhook configuration api name: foundation/taxLocationItem
Special handling
Additional GET query parameters: item, locationType, locationId.
The filters item, locationType, and locationId are not backed by dedicated cache-table indexes. At high volume, use them only as additional criteria on top of a small-window delta fetch and not for full downloads.
Request query values are STORE|WAREHOUSE|EXTERNAL_FINISHER, while payload values are S|W|E.
Performance Considerations
For customers expecting high to very high publish volume from this API, sizing and operational tuning should be addressed early in the implementation lifecycle. Initial cache seeding, ongoing delta processing, full extracts, and incremental downloads or webhook-driven delivery have different runtime characteristics and should be evaluated separately. Because this is the main shared GTS merchapi, the available configuration should be validated against the customer production item, location, and tax-rule profile, with the key performance-related configuration for this service covering the following:
Multi-threading and commit control
This service supports multi-threaded execution for both initial seeding and delta processing through the shared API_GTS_TAX_LOC_ITEM flow. Thread count is controlled through API_NO_OF_THREADS, and commit sizing is controlled through API_COMMIT_MAX_COUNTER.
Thread and commit settings should be chosen together based on expected item-location volume, average payload size, and the multi-stage shared tax calculation required to build and maintain the related GTS caches. Common starting points for large-volume runs are 8 or 16 threads. Higher settings such as 32 should be considered only after testing, and the delivered shared setting is currently 10.
API_COMMIT_MAX_COUNTER should be sized together with the thread setting. Typical values range from about 100 to 1,000 rows and can extend to 10,000 for simpler restartable workloads; the delivered shared setting is currently 10000 and should be changed only after validating restart behavior and database capacity. Where tax calculation cost is high, a lower thread count with a higher commit value may perform better.
REST fetch considerations
REST page size should be selected based on average payload size so the average response remains below about 10 MB per call. Common page-limit values are 1,000, 5,000, or 10,000 rows.
For full downloads, do not provide the since query parameter so the database can favor the primary-key access path. For delta downloads, use a small time window, typically a few minutes and at most a few hours, so the eligible row set on the LAST_UPDATE_DATETIME index remains small.
Wider delta windows, especially multi-day windows that can arise during outages or data recovery, generally do not perform well. For such scenarios, keeping BUILD_HISTOGRAM enabled allows the service to support recovery through smaller, more selective polling windows using the optimalBefore query parameter.
In this catch-up pattern, for requests up to 30 days in the past, the client provides optimalBefore and leaves before empty. The client then uses the returned before timestamp to continue polling incrementally until the backlog is cleared, and then resumes the normal short-window delta pattern. Hourly histogram processing groups LAST_UPDATE_DATETIME values into buckets of 10,000 rows in MERCHAPI_TIMESTAMP_HISTOGRAM using the shared HISTOGRAM_ROW_COUNT configuration.
Input Parameters
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
since |
No |
String |
Since Date (Example: 2010-12-31T23:59:59.999Z) |
|
before |
No |
String |
Before Date (Example: 2040-12-31T23:59:59.999Z) |
|
item |
No |
String |
Item |
|
locationType |
No |
String |
Location Type |
|
locationId |
No |
String (10) |
Location |
|
offsetkey |
No |
String |
Offset key ([location type],[location], [item], Example: S,120091,Item-35) |
|
limit |
No |
String (6) |
Pagination limit. Default value is 1000. |
|
optimalBefore |
No |
String |
Enables histogram-based calculation of the before timestamp when before is not provided. Valid values are Y or N. Default value is N. |
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Output
Table 5-234 PageResultsItemsMerchapiGtsTaxLocItem - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
No |
Collection of Object |
Collection of records |
|
hasMore |
No |
Boolean |
Boolean to signify if there are additional pages of data. This is true if limit = count for pagination supported request |
|
limit |
No |
Number |
Requested page size. If the page size was not defined in the input request, a default page size is used to limit the number of records to fetch |
|
count |
No |
Number |
Number of record in the response object |
|
links |
No |
Collection of Object |
List of Self and/or Next URL |
Table 5-235 MerchapiGtsTaxLocItem - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
action |
No |
String (6) |
Action for tax location item details. |
|
item |
No |
String (25) |
The item ID of an approved sellable transaction-level item, including a vendor pack. |
|
loctype |
No |
String (1) |
The location type. Valid values are S - store, W - warehouse, E - external finisher. |
|
location |
No |
Number(10,0) |
The location ID, including stores, warehouses, and external finishers. |
|
taxLocationId |
No |
Number(11,0) |
A unique identifier of a group of tax locations. |
|
ruleId |
No |
Number(15,0) |
The tax rule unique ID. |
|
taxRegionDestination |
No |
Number(4,0) |
Destination Tax Region. |
|
taxValuePerUnit |
No |
Number(20,10) |
Tax value when tax calculation type is in per unit. |
|
ruleName |
No |
String (300) |
Tax rule name. |
|
taxRegionSource |
No |
Number(4,0) |
Source Tax Region. |
|
taxAuthorityId |
No |
String (60) |
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 |
No |
String (6) |
Define the tax calculation type. Possible values are 'P'ercentage or 'U'nit'. |
|
taxCode |
No |
String (6) |
Tax code. |
|
taxRate |
No |
Number(20,10) |
Tax rate in percentage when tax calculation type is in percentage. |
|
effectiveTaxRate |
No |
Number(20,10) |
Tax over tax rate calculated based in predecessor tax rule when applied. |
|
activeDate |
No |
date |
Effective date when this tax rule becomes active. |
|
endDate |
No |
date |
End date when this tax rule expires. |
|
currencyCode |
No |
String (3) |
Contains the currency code for the tax rule. For unit tax application. |
|
createDateTime |
No |
dateTime |
This field holds the date and time the record was created. |
|
updateDateTime |
No |
dateTime |
This field holds the date and time the record was last updated. |
|
cacheTimestamp |
No |
dateTime |
This field specifies the date and time when the tax location item record was last maintained. |
|
cacheCreateTimestamp |
No |
dateTime |
This field specifies the date and time when the record was first created for web service publication. |
|
taxGroupId |
No |
String (60) |
A unique identifier of a group of tax rules for a given tax location. |
Table 5-236 LinkItems - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
href |
No |
String |
Service URL |
|
rel |
No |
String |
This can be either 'self' or 'next'. The 'next' link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. |
Sample Response Message
{
"items": [
{
"action": "INSERT",
"item": "Item-35",
"loctype": "S",
"location": 120091,
"taxLocationId": 10000000012,
"ruleId": 1,
"taxRegionDestination": 1,
"taxValuePerUnit": 1.0,
"ruleName": null,
"taxRegionSource": 1,
"taxAuthorityId": null,
"taxCalcType": null,
"taxCode": "S",
"taxRate": 1,
"effectiveTaxRate": 1.0,
"activeDate": "2001-12-31",
"endDate": "2001-12-31",
"currencyCode": "USD",
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z",
"taxGroupId": null
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offsetkey=1234,XYZ",
"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
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.
Technical Details
This service follows the Publish API cache architecture in which the REST service serves pre-generated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview.
Core business tables: STORE
Additional business tables: GTS_RULES_CFA, SYSTEM_OPTIONS
JSON cache table: MERCHAPI_GTS_TAX_LOC
JSON generation view: not applicable; cache rows are populated directly by package logic
Functionally, the current delta and refresh logic only builds store rows (LOC_TYPE = 'S') and only for stores with a non-null STORE.VAT_REGION.
Stores without a matching GTS CFA restriction are assigned a tax location ID based on tax region, while stores with matching CFA restrictions are assigned a location-specific tax location ID.
The package compares the derived tax-location set with existing MERCHAPI_GTS_TAX_LOC rows to determine insert, merge, and delete behavior, and rebuild refresh marks cache rows deleted when the store no longer exists in STORE.
Initial Seeding and post enablement rebuild/repair
This service relies on the shared initial-seeding and rebuild flow used by foundation/taxLocationItem.
Rebuild marks cache rows deleted when the store no longer exists in STORE.
ICL (Integration Change Log) table: ICL_RMS_STORE (ICL consumer name = MERCHAPI_3)
This service relies on the shared GTS change-capture and delta-processing flow used by foundation/taxLocationItem.
Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.
Process configuration name: API_GTS_TAX_LOC_ITEM
To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.
POM Batch schedule process and job: MERCHAPI_DELTA_GTS_TAX_LOC_ITEM_ADHOC_PROCESS -> MERCHAPI_GTS_TAX_LOC_ITEM_ADHOC_JOB
Webhook configuration api name: foundation/taxLocation
Special handling
Additional GET query parameters: locationType, locationId.
This service shares the same GTS process family as foundation/taxLocationItem and foundation/taxGroupRule.
Input Parameters
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
since |
No |
String |
Since Date (Example: 2010-12-31T23:59:59.999Z) |
|
before |
No |
String |
Before Date (Example: 2040-12-31T23:59:59.999Z) |
|
locationType |
No |
String |
Location Type |
|
locationId |
No |
String (10) |
Location |
|
offsetkey |
No |
String |
Offset key ([location type],[location],[tax location id] Example: S,120091,10000000012) |
|
limit |
No |
String (6) |
Pagination limit. Default value is 1000. |
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Output
Table 5-237 PageResultsItemsMerchapiGtsTaxLoc - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
No |
Collection of Object |
Collection of records |
|
hasMore |
No |
Boolean |
Boolean to signify if there are additional pages of data. This is true if limit = count for pagination supported request |
|
limit |
No |
Number |
Requested page size. If the page size was not defined in the input request, a default page size is used to limit the number of records to fetch |
|
count |
No |
Number |
Number of record in the response object |
|
links |
No |
Collection of Object |
List of Self and/or Next URL |
Table 5-238 MerchapiGtsTaxLoc - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
action |
No |
String (6) |
Action for tax location details. |
|
location |
No |
Number(10,0) |
The location ID of the store. |
|
locationType |
No |
String (1) |
The location type. Valid value is S - store. |
|
taxLocationId |
No |
Number(11,0) |
A unique identifier of a group of tax locations. |
|
createDateTime |
No |
dateTime |
This field holds the date and time the record was created. |
|
updateDateTime |
No |
dateTime |
This field holds the date and time the record was last updated. |
|
cacheTimestamp |
No |
dateTime |
This field specifies the date and time when the tax location record was last maintained. |
|
cacheCreateTimestamp |
No |
dateTime |
This field specifies the date and time when the record was first created for web service publication. |
Table 5-239 LinkItems - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
href |
No |
String |
Service URL |
|
rel |
No |
String |
This can be either 'self' or 'next'. The 'next' link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. |
Sample Response Message
{
"items": [
{
"action": "INSERT",
"location": 120091,
"locationType": "S",
"taxLocationId": 10000001000,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offsetkey=1234,XYZ",
"rel": "next"
}
]
}
Get Tax Rule Groups
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.
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:
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 rule or group of tax rules.
Steps to determine the Tax Group for a given item/location:
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.
Using the item and the store's tax region, find the applicable tax rules.
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.
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.
Technical Details
This service follows the Publish API cache architecture in which the REST service serves pre-generated JSON from an integration cache table that is initially seeded and then maintained through asynchronous delta processing. For overall enablement, scheduling, and guidance on how publish api works and how webhook for this api can be implemented to stream the data out, refer to the white paper Publish APIs - Customer Enablement Overview.
Core business tables: MERCHAPI_GTS_TAX_LOC_ITEM, GTS_RULES_CONFIG
Additional business tables: VAT_CODES
JSON cache table: MERCHAPI_GTS_TAX_GROUP_RULE
JSON generation view: not applicable; cache rows are populated directly by package logic
The package derives the published groups from MERCHAPI_GTS_TAX_LOC_ITEM, enriches rule names from GTS_RULES_CONFIG, and pulls rule-detail JSON from V_MERCHAPI_GTS_TAX_RULE_JSON, which is built from GTS_RULES_CONFIG and VAT_CODES.
Functionally, the service publishes one row per (tax_group_id, tax_loc_id, rule_id) and represents the unique set of tax rules that applies to an item/tax-location combination.
To build a tax group, the package concatenates the ordered rule IDs with LISTAGG, hashes that string with ORA_HASH to derive tax_group_id, concatenates the corresponding rule names into group_name, and assigns rule_sequence by ascending rule_id.
Initial Seeding and post enablement rebuild/repair
This service relies on the shared initial-seeding and rebuild flow used by foundation/taxLocationItem.
Mark cache rows deleted when a rule is no longer returned for an affected item in the current GTS calculation result.
Rebuild updates or inserts changed rows; no separate rebuild delete step was found in this package.
ICL (Integration Change Log) table: ICL_RMS_GTS_RULES_CONFIG delete events (ICL consumer name = MERCHAPI_3)
This service relies on the shared GTS change-capture and delta-processing flow used by foundation/taxLocationItem.
Batch Configuration. Asynchronous delta processing is supported using Background engine and also via POM scheduling. Choose one.
Process configuration name: API_GTS_TAX_LOC_ITEM
To enable via Background engine set BACKGROUND_RUN_FLAG to Y and review the BACKGROUND_RUN_INTERVAL_SECOND parameter.
POM Batch schedule process and job: MERCHAPI_DELTA_GTS_TAX_LOC_ITEM_ADHOC_PROCESS -> MERCHAPI_GTS_TAX_LOC_ITEM_ADHOC_JOB
Webhook configuration api name: foundation/taxGroupRule
Input Parameters
| Parameter Name | Required | Data Type | Description |
|---|---|---|---|
|
since |
No |
String |
Since Date (Example: 2010-12-31T23:59:59.999Z) |
|
before |
No |
String |
Before Date (Example: 2040-12-31T23:59:59.999Z) |
|
offsetkey |
No |
String |
Offset key ([Tax Group Id],[Tax location], [Tax Rule Id] Example: 43242,5435345,12314254) |
|
limit |
No |
String (6) |
Pagination limit. Default value is 1000. |
|
include |
No |
String |
Fields to include - comma separated (Example items.name,items.address.city) |
|
exclude |
No |
String |
Fields to exclude - comma separated (Example items.address.contactFax,items.customFlexAttribute) |
Response Code: 200 (Success)
Table 5-240 PageResultsItemsMerchapiGtsTaxGroupRule - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
items |
No |
Collection of Object |
Collection of records |
|
hasMore |
No |
Boolean |
Boolean to signify if there are additional pages of data. This is true if limit = count for pagination supported request |
|
limit |
No |
Number |
Requested page size. If the page size was not defined in the input request, a default page size is used to limit the number of records to fetch |
|
count |
No |
Number |
Number of record in the response object |
|
links |
No |
Collection of Object |
List of Self and/or Next URL |
Table 5-241 MerchapiGtsTaxGroupRule - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
action |
No |
String (6) |
Action for tax group rule details. |
|
taxGroupId |
No |
String (60) |
A unique identifier of a group of tax rules for a given tax location. |
|
groupName |
No |
String (254) |
Tax group name. |
|
taxLocationId |
No |
Number(11,0) |
A unique identifier of a group of tax locations. |
|
ruleId |
No |
Number(15,0) |
Tax rule unique ID. |
|
ruleSequence |
No |
Number(15,0) |
A sequential number for the tax rule within the group. |
|
ruleName |
No |
String (300) |
Tax rule name. |
|
taxRegionSource |
No |
Number(4,0) |
Source Tax Region. |
|
taxRegionDestination |
No |
Number(4,0) |
Destination Tax Region. |
|
taxAuthorityId |
No |
String (60) |
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 |
No |
String (6) |
Define the tax calculation type. Possible values are 'P'ercentage or 'U'nit'. |
|
taxCode |
No |
String (6) |
Tax code. |
|
taxRate |
No |
Number(20,10) |
Tax rate in percentage when tax calculation type is in percentage. |
|
effectiveTaxRate |
No |
Number(20,10) |
Tax over tax rate calculated based in predecessor tax rule when applied. |
|
activeDate |
No |
date |
Effective date when this tax rule becomes active. |
|
endDate |
No |
date |
End date when this tax rule expires. |
|
currencyCode |
No |
String (3) |
Contains the currency code for the tax rule. For unit tax application. |
|
taxValuePerUnit |
No |
Number(20,10) |
Tax value when tax calculation type is in per unit. |
|
createDateTime |
No |
dateTime |
This field holds the date and time the record was created. |
|
updateDateTime |
No |
dateTime |
This field holds the date and time the record was last updated. |
|
cacheTimestamp |
No |
dateTime |
This field specifies the date and time when the tax group rule record was last maintained. |
|
cacheCreateTimestamp |
No |
dateTime |
This field specifies the date and time when the record was first created for web service publication. |
Table 5-242 LinkItems - Object. See list of elements for detail
| Element Name | Required | Data Type | Description |
|---|---|---|---|
|
href |
No |
String |
Service URL |
|
rel |
No |
String |
This can be either 'self' or 'next'. The 'next' link is present if there are more pages to fetch and contains the offsetkey which uniquely identifies the last record of this response. |
Sample Response Message
{
"items": [
{
"action": "INSERT",
"taxGroupId": "43242",
"groupName": "Tax Rule A|Tax Rule E",
"taxLocationId": 10000001000,
"ruleId": 12314254,
"ruleSequence": 1,
"ruleName": "Tax Rule A",
"taxRegionSource": 1,
"taxRegionDestination": 1,
"taxAuthorityId": null,
"taxCalcType": null,
"taxCode": "S",
"taxRate": 1,
"effectiveTaxRate": 1.0,
"activeDate": "2001-12-31",
"endDate": "2001-12-31",
"currencyCode": "USD",
"taxValuePerUnit": 1.0,
"createDateTime": "2001-12-31T23:59:59.000Z",
"updateDateTime": "2001-12-31T23:59:59.000Z",
"cacheTimestamp": "2001-12-31T23:59:59.000Z",
"cacheCreateTimestamp": "2001-12-31T23:59:59.000Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": "https://<server>:<port>/Application/services/resources?limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-01-01T00:00:00.001Z&offsetkey=1234,XYZ",
"rel": "next"
}
]
}
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-243 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"
}
]
}Tax Rule Upload Service
Business Overview
The primary role of this service is to create, update or delete Merchandising’s Tax Rules.
Create Tax Rule
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-244 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-245 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-246 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-247 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
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-248 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-249 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-250 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-251 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
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-252 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-253 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-254 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-255 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 |