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
Input Parameters
Parameter Name | Required | Data Type | Description |
---|---|---|---|
bannerId |
No |
Number |
Banner ID. Searches for a specific banner |
Get Channels
Business Overview
This service retrieves all Channels. This service takes an optional query parameter of channelId to retrieve detail for specified channel id
Input Parameters
Parameter Name | Required | Data Type | Description |
---|---|---|---|
channelId |
No |
Number |
Channel ID. Searches for a specific channel |
Output – Channel
Name | Data Type | Description | |||
---|---|---|---|---|---|
channelId |
Number |
This field contains the channel id |
|||
channelName |
String |
This field contains the channel name |
|||
channelType |
String |
This field contains the channel type. Channel type is a user configured value defined in Code Detail with code_type as CHTY. Default values (which can be changed) are BANDM - Brick and Mortar, WEBSTR - Webstore, CAT - Catalog. |
|||
bannerId |
Number |
This field contains the banner id associated with this Channel. |
Example JSON output:
[
{
"channelId": 2,
"channelName": "Brick & Mortar",
"channelType": "BANDM",
"bannerId": 1
},
{
"channelId": 3,
"channelName": "Outlet",
"channelType": "BANDM",
"bannerId": 1
}
]
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-69 Manage - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
collectionSize |
Yes |
Number (4) |
Number of items in the collection. |
items |
Yes |
Collection of Object |
References a collection of Location List Data. |
Table 5-70 Items - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
action |
Yes |
String (10) |
Specifies the intended action to create, update or delete an externally generated location list. Valid values are CREATE, UPDATE, or DELETE. |
locationList |
No |
Number (10) |
Contains a location list identifier. When creating a location list, if a value is not provided, the system will create a unique sequence-generated identifier. For action as UPDATE, DELETE and if this value is provided, then it will be used to identify the location list. |
locationListDescription |
No |
String (120) |
Contains the location list description. This is mandatory field with action as CREATE. |
externalReferenceNo |
No |
Number (20) |
This field will optionally contain an external reference number used by an external system to identify the location list. For action as UPDATE and DELETE, if the location list id is not provided, then this field is mandatory. |
filterOrganizationHierarchy |
No |
Number (10) |
When Data Filtering is enabled in the system, the Filter Organizational Hierarchy may contain the Organizational Hierarchy value to which the Location List is assigned. This field will be used to control the Location Lists a user can use, based on whether the user has data filtering access to the Filter Organizational Hierarchy value |
comments |
No |
String (2000) |
Contains comments about the location list. For externally generated lists user may wish to provide information about the list origins or intended use. |
locations |
No |
Collection of Object |
References a collection of location list locations. |
translations |
No |
Collection of Object |
References a collection of translations of the location list description field. |
Table 5-71 Locations - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
locationType |
Yes |
String (1) |
This field will carry the location type of the location being added to or deleted from the location list. Valid values for this field are Store (S) or Warehouse (W). |
location |
Yes |
Number (10) |
This field will contain a location to be added to or deleted from the location list. The provided location may be a store, a stockholding virtual warehouses that is not finisher, or a physical warehouse. If a physical warehouse is provided, all stockholding/non-finisher virtual warehouses within that physical warehouse will be added or deleted. |
deleteInd |
No |
String (1) |
This optional field indicates if an existing location (or all virtual warehouses matching a physical warehouse location) should be deleted from a location list. This field will not have a value as Y with action as CREATE. |
Table 5-72 Translations - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
language |
Yes |
Number (6) |
This field contains the language ID. |
locationListDescription |
No |
String (120) |
This field contains the translated description of the location list in the provided language. This field is mandatory is the translation tag is present. This field is not needed for delete of an existing translation. |
deleteInd |
No |
String (1) |
This optional field indicates if an existing translation should be deleted from a location list. |
Table 5-73 ManageError - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
locationList |
Yes |
Number (10) |
Contains a location list identifier. |
externalReferenceNo |
Yes |
Number (20) |
This field will optionally contain an external reference number used by an external system to identify the location list. |
errors |
Yes |
Array of String |
Sample Input Message
{
"collectionSize": 1,
"items": [
{
"action": "CREATE",
"locationList": 585313,
"locationListDescription": "location list description",
"externalReferenceNo": 157810,
"filterOrganizationHierarchy": 126882,
"comments": "comments",
"locations": [
{
"locationType": "S",
"location": 190104,
"deleteInd": "N"
}
],
"translations": [
{
"language": 2,
"locationListDescription": "Standortliste Beschreibung",
"deleteInd": "N"
}
]
}
]
}
Response Code: 200 (Success)
Table 5-74 ManageResponse - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
items |
Yes |
Collection of Object |
Table 5-75 ManageResponse.Items - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
locationList |
Yes |
Number (10) |
Contains a location list identifier. |
externalReferenceNo |
Yes |
Number (20) |
This field will optionally contain an external reference number used by an external system to identify the location list. |
Sample Response Message
{
"items": [
{
"locationList": 585313,
"externalReferenceNo": 157810
}
]
}
Response Code: 400 (Error)
In case of error, the following standard error response will be returned. The element validationErrors
will be present when input payload or input parameters do not match the schema definition for this service. The element businessError
will be present if the payload passes schema validation but an exception is caught while processing
the business logic.
Table 5-76 ManageError - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
locationList |
Yes |
Number (10) |
Contains a location list identifier. |
externalReferenceNo |
Yes |
Number (20) |
This field will optionally contain an external reference number used by an external system to identify the location list. |
errors |
Yes |
Array of String |
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"locationList": 585313,
"externalReferenceNo": 433378,
"errors": [
"String"
]
}
]
}
Location Trait Upload Service
The following services are included in this functional area:
Create Location Trait
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-77 Create - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
traitId |
Yes |
Number (4) |
The unique id number of the location trait. |
description |
Yes |
String (120) |
The description of the location trait. |
Sample Input Message
{
"traitId": 1000,
"description": "traitDesc"
}
Response Code: 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-78 Delete - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
traitId |
Yes |
Number (4) |
The id number of the location trait being deleted. |
Sample Input Message
{
"traitId": 1000
}
Response Code: 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-79 Update - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
traitId |
Yes |
Number (4) |
The unique id number of the location trait. |
description |
Yes |
String (120) |
The description of the location trait. |
Sample Input Message
{
"traitId": 1000,
"description": "traitDesc"
}
Response Code: 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 can be used by external applications to get all or selected partners and its details from Merchandising.
ReST URL
/MerchIntegrations/services/foundation/partner?since={since}&before={before}&offsetkey={offsetkey}&limit={limit}
/MerchIntegrations/services/foundation/partner/{partnerId}
Input Parameters for MerchIntegrations/services/foundation/partner
Parameter Name | Required | Data Type | Description |
---|---|---|---|
since |
No |
String |
Since Date. Format: |
before |
No |
String |
Before Date Format: |
offsetkey |
No |
String |
Offset Key. Valid Value is combination of |
limit |
No |
BigDecimal |
Pagination limit. Default Value is 1000. |
Input Parameters for MerchIntegrations/services/foundation/partner/{partnerId}
Parameter Name | Required | Data Type | Description |
---|---|---|---|
partnerId |
Yes |
String |
Partner ID |
Output - Partner
Name | Data Type | Description |
---|---|---|
action |
String |
Action for Item details. Valid values are INSERT, UPDATE and DELETE. |
partnerType |
String |
Specifies the type of partner. Valid partner types are held on the code tables under code type PTNR. |
partnerId |
String |
Unique number that identifies the partner within the system. |
partnerName |
String |
Contains the partners description or name. |
partnerNameSecondary |
String |
Secondary name of the partner. |
currencyCode |
String |
Contains a code identifying the currency the partner uses for business transactions. |
language |
Number |
This field contains the partners preferred language. |
status |
String |
Indicates if the partner is currently active |
contactName |
String |
Contains the name of the partners representative contract. |
contactPhone |
String |
Contains the phone number of the partners representative contact. |
contactFax |
String |
Contains the fax number of the partners representative contact. |
contactTelex |
String |
Contains the telex number of the partners representative contact. |
contactEmail |
String |
Contains the e-mail address of the partners representative contact. |
manufacturerTaxId |
String |
The manufacturer's tax identification number. Used for partner type Manufacturer. |
principleCountryId |
String |
The country id to which the partner is assigned. |
lineOfCredit |
Number |
Contains the line of credit the company has at the Bank in the Partners currency. This field is not NULL when the Partner Type is Bank (BK). |
outstandingCredit |
Number |
Contains the total amount of credit that the company has used or has charged against in the Partners currency. This field is not NULL when the Partner Type is Bank (BK). |
openCredit |
Number |
Contains the total amount that the company can still charge against in the Partners currency. This field is not NULL when the Partner Type is Bank (BK). |
yearToDateCredit |
Number |
Contains the total amount of credit the company has used this year to date in the Partners currency. This field is not NULL when the Partner Type is Bank (BK). |
yearToDateDrawdowns |
Number |
Contains the year to date payments the bank has made on behalf of the company in the Partners currency. This field is not NULL when the Partner Type is Bank (BK). |
taxId |
String |
Contains the unique tax identification number of the partner. This will be used for reporting during the Customs Entry process. |
terms |
String |
Payment terms for the partner. These terms specify when payment is due and if any discounts exist for early payment. If populated, they will default on any invoice entered for this partner. |
servicePerfReqInd |
String |
Indicates if the expense vendors services (e.g. snowplowing, window washing) must be confirmed as performed before paying an invoice from that expense vendor. Valid values are Y (all service non-merchandise lines on an invoice from this expense vendor must be confirmed before the invoice can be paid) and N (services do not need to be confirmed or partner is not an expense vendor). |
invoicePayLocation |
String |
Indicates where invoices from this expense vendor are paid - at the store or centrally through corporate accounting. Valid values are S (paid at the store) and C (paid centrally). This field will only be populated for expense vendors, and should only be S if using ReSA to accept payment at the store. |
invoicecReceiveLocation |
String |
Indicates where invoices from this expense vendor are received - at the store or centrally through corporate accounting. Valid values are S (received at the store) and C (received centrally). This field should only be populated when using invoice matching. |
importCountryId |
String |
Import country of the Import Authority. This field is not populated for other partner types. |
primaryImportAuthInd |
String |
Indicates if an Import Authority is the primary Import Authority for an import country. This field will always be N for other partner types. There must be one and only one primary Import Authority for each country associated with an Import Authority on the partner table. |
comments |
String |
Contains any comments associated with the Partner. |
transferEntityId |
Number |
The Transfer entity with which an external finisher is associated. |
vatRegion |
Number |
Tax region with which a partner is associated. Valid values will be found on the VAT_REGION table. If SYSTEM_OPTIONS.DEFAULT_TAX_TYPE is SVAT or GTS, then each partner will be required to have an associated VAT_REGION. For other default_tax_type, then VAT functionality is not used and PARTNER.VAT_REGION will not be required. |
orgUnitId |
Number |
The org unit id with which partner is associated |
autoRcvStockInd |
String |
This will indicate whether the system will update the stock for the external finisher when the 1st leg of the transfer is shipped. Valid values are Yes or No |
primaryAddressType |
String |
This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance. |
primaryAddressTypeDescription |
String |
This field specifies address type description. |
primaryAddressAdd1 |
String |
This field contains the first line of the address. |
primaryAddressAdd2 |
String |
This field contains the second line of the address. |
primaryAddressAdd3 |
String |
This field contains the third line of the address. |
primaryAddressCity |
String |
This field contains the name of the city that is associated with the address. |
primaryAddressState |
String |
This field contains abbreviation of the state for the address |
primaryAddressStateName |
String |
This field contains full name of the state for the address. |
primaryAddressCountryId |
String |
This field contains the country where the address exists. |
primaryAddressCountryName |
String |
This field holds the county name for the location. |
primaryAddressPost |
String |
This field contains the zip code for the address. |
primaryAddressContactName |
String |
This field contains the name of the contact for the partner at this address. |
primaryAddressContactPhone |
String |
This field contains the phone number of the contact person at this address. |
primaryAddressContactTelex |
String |
This field contains the telex number of the partner’s representative contact. |
primaryAddressContactFax |
String |
This field contains the fax number of the contact person at this address. |
primaryAddressContactEmail |
String |
This field contains the email address of the partner’s representative contact. |
primaryAddressCounty |
String |
This field holds the county name for the location. |
primaryAddressJurisdictionCode |
String |
Identifies the jurisdiction code for the country-state relationship. |
createDateTime |
String |
This field holds the record creation date. |
updateDateTime |
String |
This field holds the date when the record was last updated. |
customFlexAttribute |
This List holds custom flex attributes for address details. |
|
address |
This list holds all the addresses of the partner. |
|
cacheTimestamp |
String |
This field specifies date and time when the partner record was last maintained. |
Output - Address
Name | Data Type | Description |
---|---|---|
addressKey |
Number |
This field contains the unique address key. |
addressType |
String |
This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance. |
addressTypeDescription |
String |
This field specifies address type description. |
primaryAddressInd |
String |
This field indicates whether the address is the primary address for the address type. |
add1 |
String |
This field contains the first line of the address. |
add2 |
String |
This field contains the second line of the address. |
add3 |
String |
This field contains the third line of the address. |
city |
String |
This field contains name of the city that is associated with the address. |
state |
String |
This field contains name of the state that is associated with the address. |
stateName |
String |
This field contains name of the state description that is associated with the address. |
countryID |
String |
This field contains name of the country that is associated with the address. |
countryName |
String |
This field contains name of the country description that is associated with the address. |
post |
String |
This field contains the zip code for the address. |
contactName |
String |
This field contains the name of the contact person at this address. |
contactPhone |
String |
This field contains the phone number of the contact person at this address. |
contactTelex |
String |
This field contains the telex number of the warehouse's representative contact. |
contactFax |
String |
This field contains the fax number of the contact person at this address. |
contactEmail |
String |
This field contains email address of the warehouse's representative contact. |
county |
String |
This field contains the county where the address exists. |
jurisdictionCode |
String |
This field contains the ID associated to the tax jurisdiction of the country-state relationship. |
createDateTime |
String |
This field holds the record creation date. |
updateDateTime |
String |
This field holds the date when the record was last updated. |
customFlexAttribute |
This list holds custom flex attributes for the address. |
Output - Custom Flex Attribute
Name | Data Type | Description |
---|---|---|
name |
String |
This field will hold the custom flex attribute name. |
value |
String |
This field will hold the numeric or string value of the custom flex attribute. |
valueDate |
String |
This field will hold the date value of the custom flex attribute. |
createDateTime |
String |
This field will hold the date time when the custom flex attribute was inserted. |
updateDateTime |
String |
This field will hold the date time when the custom flex attribute was last updated. |
Elements in JSON Output
Elements | Description | |
---|---|---|
items |
The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query. |
|
hasMore |
This is dependent on limit value. If the total rows are more than then limit defined then hasMore will be set to true else false. |
|
limit |
This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed. For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists then 25 rows are returned along with a "next" link else no links would be added to the JSON response. |
|
links |
“self” : This contains URI pointing to current page. “next”: This contains URI pointing to the next page of results. |
Example JSON output:
{
"items": [
{
"action": "INSERT",
"partnerType": "E",
"partnerId": "B",
"partnerName": "Packaging External Finisher updated",
"partnerNameSecondary": "Packaging External Finisher",
"currencyCode": "USD",
"language": null,
"status": "A",
"contactName": "Elinor",
"contactPhone": "1545223556",
"contactFax": null,
"contactTelex": null,
"contactEmail": null,
"manufacturerTaxId": null,
"principleCountryId": "US",
"lineOfCredit": null,
"outstandingCredit": null,
"openCredit": null,
"yearToDateCredit": null,
"yearToDateDrawdowns": null,
"taxId": null,
"terms": "1",
"servicePerfReqInd": "N",
"invoicePayLocation": null,
"invoicecReceiveLocation": null,
"importCountryId": null,
"primaryImportAuthInd": "N",
"comments": null,
"transferEntityInd": 2000,
"vatRegion": null,
"orgUnitId": 1111111111,
"autoRcvStockInd": "N",
"primaryAddrAdd1": "Add1",
"primaryAddrAdd2": null,
"primaryAddrAdd3": null,
"primaryAddrCity": "City",
"primaryAddrState": null,
"primaryAddrStateName": null,
"primaryAddrCountryId": "US",
"primaryAddrCountryName": "United States of America",
"primaryAddrPost": null,
"primaryAddrContactName": null,
"primaryAddrContactPhone": null,
"primaryAddrContactTelex": null,
"primaryAddrContactFax": null,
"primaryAddrContactEmail": null,
"primaryAddrOracleVendorSiteId": null,
"primaryAddrCounty": null,
"primaryAddrJurisdictionCode": null,
"createDateTime": "2021-05-07T09:23:59",
"updateDateTime": "2021-05-07T09:23:59",
"customFlexAttribute": [
{
"name": "LANGUAGE",
"value": "German",
"valueDate": null,
"createDateTime": "2021-02-17T00:00:00",
"updateDateTime": "2021-02-17T00:00:00"
}, {
"name": "COMPANY_SIZE",
"value": "525",
"valueDate": null,
"createDateTime": "2021-02-17T00:00:00",
"updateDateTime": "2021-02-17T00:00:00"
}],
"address": [
{
"addressKey": 20069,
"addressType": "05",
"primaryAddressInd": "Y",
"add1": "Add1",
"add2": null,
"add3": null,
"city": "City",
"state": null,
"stateName": null,
"countryId": "US",
"countryName": "United States of America",
"post": null,
"contactName": null,
"contactPhone": null,
"contactTelex": null,
"contactFax": null,
"contactEmail": null,
"oracleVendorSiteId": null,
"county": null,
"jurisdictionCode": null,
"createDateTime": "2021-02-16T00:00:00",
"updateDateTime": "2018-09-20T00:00:00",
"customFlexAttribute": null
}, {
"addressKey": 20068,
"addressType": "01",
"primaryAddressInd": "Y",
"add1": "Add1",
"add2": null,
"add3": null,
"city": "City",
"state": null,
"stateName": null,
"countryId": "US",
"countryName": "United States of America",
"post": null,
"contactName": null,
"contactPhone": null,
"contactTelex": null,
"contactFax": null,
"contactEmail": null,
"oracleVendorSiteId": null,
"county": null,
"jurisdictionCode": null,
"createDateTime": "2021-02-16T00:00:00",
"updateDateTime": "2018-09-20T00:00:00",
"customFlexAttribute": null
}],
"hasMore": false,
"limit": 10000,
"count": 3,
"links": [
{
"href": "https://rex.retail.us-phoenix-1.ocs.oc-test.com/rgbu-rex-rgbu-dev1-mfcs19-1/MerchIntegrations/services/foundation/partner?limit=10000&since=1970-01-01T00:00:00.001Z&before=2022-03-25T10:34:36.748111+00:00",
"rel": "self"
}
]
}
]
}
Table Impact
The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.
TABLE | SELECT | INSERT | UPDATE | DELETE |
---|---|---|---|---|
MERCHAPI_CONFIG |
Yes |
No |
No |
No |
MERCHAPI_CONSUMER_CONFIG |
Yes |
No |
No |
No |
MERCHAPI_ASYNC_REQUEST |
Yes |
No |
No |
No |
MERCH_BATCH_PARAM |
Yes |
No |
No |
No |
ICL_RMS_PARTNER |
Yes |
No |
Yes |
Yes |
ICL_RMS_ADDR |
Yes |
No |
Yes |
Yes |
MERCHAPI_PARTNER |
Yes |
Yes |
Yes |
Yes |
PARTNER_CFA_EXT |
Yes |
No |
No |
No |
ADDR_CFA_EXT |
Yes |
No |
No |
No |
V_ MERCHAPI_EXT_PARTNER_JSON |
Yes |
No |
No |
No |
Supplier and Partner Upload Service
Create Suppliers and Partners
Business Overview
This service creates suppliers, supplier sites, partners, org unit association, addresses, and flex attributes from an external application.
When new suppliers or supplier sites are sent from an external system, they must contain the required header details, as well as address and org unit information. One or more org units can be associated with a supplier site using this service, if applicable. When creating a supplier parent, providing the supplier site information is optional. The following defaults are performed by the service:
-
Yes/No indicators are defaulted to
No
if not provided. -
Settlement code - Defaulted to
N
if not provided. -
EDI sales report frequency - Defaulted to
NULL
if the provided value is notD
orW
. -
Supplier Quantity Level - Defaulted to
EA
if not provided.
When creating supplier sites, you must provide both supplier parent and supplier site information.
Mandatory addresses as defined in the system are defaulted when creating address records, even if the request does not contain the mandatory address types.
Finance Integration Specific Workflow
When financials integration is enabled (financial_ap
= ‘A’
), the optional attribute vendorTypeCode
in the payload is used to identify whether the inbound
information should be used to create a supplier or a partner record in Merchandising. External financial systems can utilize
this attribute to create partners in Merchandising. The vendorTypeCode
is validated against data available
in the Vendor type code mapping table in Merchandising, which holds details of whether a specific code maps to a supplier
or partner and the type of partner intended. The vendor type code mapping must be setup via the Merchandising spreadsheet
upload functionality prior to the integration of supplier/partner records.
Note:
-
Creation of partners of type Escheat-State and Escheat-Country is not supported through this integration.
-
If the
vendorTypeCode
is not provided in the payload, a supplier record is created.
The payload provides reference ID fields for certain attributes enable the external financial system to send its own IDs for these attributes, as opposed to sending IDs generated by Merchandising. These are listed below.
-
languageReferenceId
- defaulted to primary language if not provided. -
termsReferenceId
-
freightTermsReferenceId
-
orgUnitReferenceId
Usage of the external reference IDs is subject to the assumption that these external references have been set up and maintained against the attribute in Merchandising. For example, the external financial system can send a terms reference ID provided that the same information has been sent to Merchandising as part of the terms import process. This will allow for Merchandising to use the terms reference ID provided to cross reference and identify the correct term in Merchandising to be associated with the supplier/partner record being created. If an external reference ID is provided for any attribute say terms it will be cross-referenced against the attribute definition tables (terms tables in this case) for a match. If the cross-reference check returns multiple records one of these is associated with the supplier /partner record being created. If no matching data is found an error is raised.
As part of the Financial Integration specific workflow, supplier/partner integration into Merchandising are subject to the following:
-
Only suppliers in active status can be created.
-
While creating a new supplier, there must be at least one supplier site that is either a payment site or purchasing site as part of the payload. If there is only one supplier site associated, it must be both a purchasing and payment site.
-
Freight Terms, Payment Terms, Language, Currency, Contact Name, and Contact Phone information are defaulted from the supplier site (primary pay site/procurement site/payment site) to the supplier record.
-
Address Type is not expected from the external financial system and will be determined using the procurement site and payment site attributes. An address type of
04
is created for a procurement site while an address type of06
is created for a payment site. If the supplier site has both procurement and payment site flags set , both address types04
and06
are created. -
Contact-specific defaulting are based on the following:
-
If there are multiple contacts for a supplier site, the contact name with the lowest external reference key (earliest record) is used as the default contact name for the supplier site.
-
If there are multiple contacts for a supplier site and the contact phone/contact fax for the supplier site is not provided, it defaults to
999999999
. -
If no contact name is available for the supplier and supplier site, it will be set to
UNKNOWN
. -
If no contact phone is available for the supplier and supplier site, it is set to
0
.
-
-
If the default tax type is
SVAT
orGTS
, the VAT region on the supplier/partner record defaults to a store having the same state in the address as the payment site or procurement site address. If the state is not provided, the country will be used as the basis for the default. If a default value is not found, the supplier/supplier site is created with a null VAT region and is set to Inactive status until the VAT region is associated in Merchandising. -
The Use Alternate Supplier Site Name system option controls whether the supplier site name is substituted with the secondary name in the payload and vice versa. This is intended to allow for a more descriptive supplier name integration into Merchandising if the site name carried an abridged description/key. Substitution is only performed if a supplier site secondary name is provided. This system option can be managed through the System Options screen.
If the vendor type code maps to a partner, the sites in the inbound payload correspond to the partner record created. The partner record, however, holds a reference to the supplier record associated with the site through the parent reference ID and parent name fields stored in the partner table. The defaulting logic and validations for partners is similar to those of supplier sites with the below exceptions:
-
For external finisher type partners, the partner is created in Inactive status until the transfer entity is populated in Merchandising.
-
For Bank type partners, the fields Line of Credit, Outstanding Credit, Open Credit, Year to Date Credit, and Year to Date Drawdowns are defaulted to
0
. Principle Country ID is defaulted to the address, as is also done for the Import Authority partner type).
Input Payload Details
Table 5-80 Create - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
items |
Yes |
Collection of Object |
References a collection of suppliers. |
Table 5-81 Items - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplierReferenceNo |
Yes |
String (32) |
This holds the ID for the supplier or parent partner used in the external financial system. It is populated by the integration that brings suppliers from external financial systems into Merchandising. This ID and the supplier site ID or partner ID can be used to join to information about the supplier in the external system. |
supplier |
No |
Number (10) |
Unique identifying number for a supplier parent within the system. When a new supplier is added to the system, this value can either be provided by the user or it can be system generated. Leave this field as null for a system generated supplier ID. |
vendorTypeCode |
No |
String (50) |
This column contains the identifier for the vendor type from the external financial system. |
attributes |
Yes |
Record |
This contains supplier parent information. |
supplierSites |
No |
Collection of Object |
References a collection of supplier sites. |
Table 5-82 Attributes - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplierName |
Yes |
String (240) |
This field contains the supplier or partner name. |
supplierNameSecondary |
No |
String (240) |
This type can hold secondary name for the supplier or partner with a max length of 240 characters. |
contactName |
No |
String (120) |
This field contains the name of the supplier or partner representative contact for this site. |
contactPhone |
No |
String (20) |
This field contains a telephone number for the supplier's or partner's representative contact. |
contactFax |
No |
String (20) |
This field contains a fax number for the supplier's or partner's representative contact. |
contactPager |
No |
String (20) |
This field contains a pager number for the supplier's representative contact. |
supplierStatus |
Yes |
String (1) |
This field contains the status of the supplier or partner. Valid values include: 'A' for an active supplier or 'I' for an inactive supplier. The status of a supplier will be checked when an order is being created to make certain the supplier is active. |
qualityControlInd |
No |
String (1) |
This field determines whether orders from this supplier will require quality control. Valid values are Yes (Y) and No (N). |
qualityControlPercentage |
No |
Number (12,4) |
This field contains the percentage of items per receipt that will be marked for quality checking. |
qualityControlFrequency |
No |
String (2) |
This field contains the frequency for which items per receipt will be marked for quality checking. |
vendorCheckingInd |
No |
String (1) |
This field determines whether orders from this supplier will require vendor control. Valid values are Yes (Y) and No (N). |
vendorCheckingPercentage |
No |
Number (12,4) |
This field contains percentage of items per receipt that will be marked for vendor checking. |
vendorCheckingFrequency |
No |
Number (2) |
This field contains the frequency for which items per receipt that will be marked for vendor checking. |
currencyCode |
No |
String (3) |
This field contains code identifying the currency the supplier site or partner uses for business transactions. |
language |
No |
Number (6) |
This field contains the suppliers or partners preferred language. This field is provided for custom purchase orders in a specified language. |
languageReferenceId |
No |
String (50) |
This field is primarily used to hold the ID for the language used in the external financial system. |
terms |
No |
String (15) |
This field contains an indicator identifying the purchase terms that will default when an order is created for the supplier site or partner. These terms specify when payment is due and if any discounts exist for early payment. |
termsReferenceId |
No |
String (50) |
This column holds the ID for the supplier or partner terms used in the external financial system. |
freightTerms |
No |
String (30) |
This field contains code indicating what freight terms will default when an order is created for the supplier site. |
freightTermsReferenceId |
No |
String (50) |
This column holds the ID for the freight terms used in the external financial system. |
returnAllowedInd |
No |
String (1) |
This field indicates whether the supplier site will accept returns. Valid values are Yes (Y) or No (N). |
returnAuthReqInd |
No |
String (1) |
This field indicates if returns must be accompanied by an authorization number when sent back to the vendor. Valid values are Yes (Y) and No (N). |
minReturnValue |
No |
Number (20,4) |
This field contains a value if the supplier site requires a minimum merchandise value to be returned to accept the return. Returns of less than this amount will not be processed by the system. This field is stored in the supplier's currency. |
returnCourier |
No |
String (250) |
This field contains the name of the courier that should be used for returns to the supplier site. |
handlingPercentage |
No |
Number (12,4) |
This field contains the default percent to be multiplied by the return's total cost to determine the handling cost for the return. |
ediOrderInd |
No |
String (1) |
This field indicates whether purchase orders will be sent to the supplier via Electronic Data Interchange (EDI). Valid values are Yes (Y) and No (N). |
ediOrderChangeInd |
No |
String (1) |
This field indicates whether purchase order changes will be sent to the supplier via EDI. Valid values are Yes (Y) and No (N). |
ediOrderConfirmInd |
No |
String (1) |
This field indicates whether acknowledgements of purchase orders will be sent from the supplier via EDI. Valid values are Yes (Y) and No (N). |
ediAsnInd |
No |
String (1) |
This field indicates whether the supplier will send Advance Shipment Notifications electronically. Valid values are Yes (Y) and No (N). |
ediSalesReportFreq |
No |
String (1) |
This field contains the EDI sales report frequency for the supplier. Valid values are weekly (W) or daily (D). |
ediSupplierAvailabilityInd |
No |
String (1) |
This field indicates whether the supplier will send availability via EDI. Valid values are Yes (Y) and No (N). |
ediContractInd |
No |
String (1) |
Indicates whether contracts will be sent to the supplier via EDI. Valid values are Yes (Y) and No (N). |
ediInvcInd |
No |
String (1) |
This field indicates whether invoices, debit memos, and credit note requests will be sent to/from the supplier via EDI. Valid values are Yes (Y) and No (N). |
ediChannel |
No |
Number (4) |
If the supplier is an EDI supplier and supports vendor initiated ordering, this field will contain the channel ID for the channel to which all inventory for these types of orders will flow. This field is used when a vendor initiated order is created for a physical warehouse to determine the virtual warehouse within the physical warehouse to which the inventory will flow. The virtual warehouse belonging to the indicated channel will be used. This will only be used in a multichannel environment. Valid values are Yes (Y) and No (N). |
costChangeVariancePercentage |
No |
Number (12,4) |
This field contains a percent that determines whether a cost change can be auto approve via induction. If the cost change falls within these boundaries, it will be approved when uploaded. |
costChangeVarianceAmt |
No |
Number (20,4) |
This field contains an amount (in supplier currency) that determines whether a cost change can be auto approve via induction. If the cost change falls within these boundaries, it will be approved when uploaded. |
replenApprovalInd |
No |
String (1) |
This field indicates whether contract orders created via replenishment should be created in Approved status. Valid values are Yes (Y) and No (N). |
shipMethod |
No |
String (6) |
This field contains the default method used to ship the items on the purchase order from the supplier site. Valid values are held in the Shipment Type code type, SHPM. Examples of shipment types are Vessel, Non-Container (10 ), Vessel, Container (11), Rail, Non-container (20) and Rail, Container (21). |
paymentMethod |
No |
String (6) |
This field indicates the default method for how purchase orders for this site will be paid. Valid values are in the code type PYMT(Payment Method). Examples are Open Account(OA), Letter of Credit(LC) and Wire Transfer(WT). |
contactTelex |
No |
String (20) |
This field contains the telex number of the partner or suppliers representative contact. |
contactEmail |
No |
String (100) |
This field contains the email address of the partner or suppliers representative contact. |
settlementCode |
No |
String (1) |
This field indicates which payment process method is used for this supplier. |
preMarkInd |
No |
String (1) |
This field indicates whether or not the supplier has agreed to break an order into separate boxes (and mark them) that can be shipped directly to the stores. Valid values are Yes (Y) and No (N). |
autoApproveInvoiceInd |
No |
String (1) |
Indicates whether or not the suppliers invoice matches can be automatically approved for payment. This field will only be populated if invoice matching is installed. Valid values are Yes (Y) and No (N). |
debitMemoCode |
No |
String (1) |
This field indicates when a debit memo will be sent to the supplier site to resolve a discrepancy. Valid values are 'Y' - if debit memos are always to be sent, 'L '- if debit memos are used only if a credit note is not sent by the invoice due date and 'N' - if debit memos are never sent. |
freightChargeInd |
No |
String (1) |
This field indicates whether a supplier site can charge freight costs. Valid values are Yes (Y) and No (N). |
autoApproveDebitMemoInd |
No |
String (1) |
This field indicates whether debit memos sent to the supplier site can be automatically approved on creation. Valid values are Yes (Y) and No (N). |
prepayInvoiceInd |
No |
String (1) |
This field indicates whether all invoices for the supplier can be pre-paid. Valid values are Yes (Y) and No (N). |
backorderInd |
No |
String (1) |
This field indicates if backorders or partial shipments will be accepted. Valid values are Yes (Y) and No (N). |
vatRegion |
No |
Number (4) |
This field contains the unique identifying number for the VAT region applicable for this site. |
invManagementLevel |
No |
String (6) |
This field indicates the level for managing supplier inventory information. Valid values are supplier (S), supplier/location (L), supplier/department (D), or supplier/department/location (A). If no value is provided, then if the department level orders system option is set to Yes, then this is defaulted to supplier/department, otherwise it is defaulted to supplier. |
servicePerfReqInd |
No |
String (1) |
This field indicates if the supplier's or partner's services must be confirmed as performed before paying an invoice from that supplier site or partner. Valid values are Yes (Y) and No (N). |
invoicePayLocation |
No |
String (6) |
This field indicates where invoices from this supplier site or partner are paid - at the store (S) or centrally through corporate accounting (C). |
invoiceReceiveLocation |
No |
String (6) |
This field indicates where invoices from this supplier site or partner are received - at the store (S) or centrally through corporate accounting (C). |
invoiceGrossNet |
No |
String (6) |
This field indicates if the supplier site invoice lists items at gross cost (G) or net cost (N). |
deliveryPolicy |
No |
String (6) |
This field contains the default delivery policy of the supplier site. Valid values come from the DLVY (Delivery Policy) code type. Examples of delivery policies are Next Valid Delivery Day (NDD), Next Day (NEXT) and Bank Instructions (BI). |
comments |
No |
String (2000) |
This field contains any miscellaneous comments associated with the supplier or partner. |
defaultItemLeadTime |
No |
Number (4) |
This field holds the default lead time for the supplier site. The lead time is the time the supplier needs between receiving an order and having the order ready to ship. This value will be defaulted to item/supplier relationships. |
dunsNumber |
No |
String (9) |
The Dun and Bradstreet number of the supplier. |
dunsLocation |
No |
String (4) |
The Dun and Bradstreet number of the location of the supplier. |
bracketCostingInd |
No |
String (1) |
This field will determine if the supplier site supports bracket costing pricing structures. Valid values are Yes (Y) and No (N). |
vmiOrderStatus |
No |
String (6) |
This field determines the status in which any inbound POs from this supplier will be created. A NULL value indicates that the supplier is not a VMI supplier. |
dsdSupplierInd |
No |
String (1) |
This field specifies whether the vendor supports DSD ordering, where the supplier replenishes the store directly, creating the PO and receipt at the same time. Valid values are Y and N. Valid values are Yes (Y) and No (N). |
scaleAipOrders |
No |
String (1) |
Depending upon the value in this column, scaling is done for Inventory Planning orders. Default value is N. Valid values are Yes (Y) and No (N). |
supplierQuantityLevel |
No |
String (6) |
This field indicates the supplier site order quantity level. Valid values are cases (CA) or eaches (EA). |
defaultPricingControl |
No |
String (1) |
Indicates the default value of the pricing control attribute at the supplier site level when supplier-controlled pricing for Consignment/Concession ownership model is used within the Merchandising suite of solutions. Valid values are: R - Retailer , S - Supplier. |
generateConsignmentOrderInd |
No |
String (1) |
This field will allow specification of whether Merchandising is required to generate POs against consignment sales. Valid values are: 'Y' - MFCS will create PO, 'N' - POs will get created externally. If supplier parent, this is defaulted to Y. If supplier site and field is null, this is defaulted to Y. |
generateSelfInvoicingInd |
No |
String (1) |
This field will allow specification of whether self-invoicing needs to be done for consignment purchases or if vendor will send invoices to be matched. Valid values are: 'Y' - MFCS will create invoice, 'N' - Invoice will get created by vendor. If supplier parent, this is defaulted to Y. If supplier site and field is null, this is defaulted to Y. |
customFlexAttribute |
No |
Collection of Object |
References a collection of custom flexible attributes at the order header level. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured named attribute is missing from the input collection, its value will be set to NULL. |
dealUploadStatus |
No |
String (6) |
Indicates the status in which the deal needs to be uploaded into the system by upload batch process. Valid values are in the code type DLUS(Deal Upload Status). Examples are Worksheet(W), Submitted(S) and Approved(A). If the supplier does not exist and there is no deal_upload_status input then this is defaulted to W (worksheet). |
taxId |
No |
String (20) |
This field contains the unique tax identification number of the supplier site or partner. |
procurementSiteInd |
No |
String (1) |
Indicates if the supplier site or partner is a procurement site used for purchasing. |
paymentSiteInd |
No |
String (1) |
Indicates if the supplier site or partner is a payment site used for invoice payment. |
localizationExtensions |
No |
Collection of Object |
Holds optional localization attributes that will be processed by the localization extension module. |
Table 5-83 CustomFlexAttribute - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
name |
Yes |
String (30) |
Holds the attribute name. |
value |
No |
String (250) |
Holds the numeric or string value of the attribute. |
valueDate |
No |
date |
Holds the date value of the attribute. |
Table 5-84 LocalizationExtensions - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
country |
Yes |
String (3) |
Id of the country associated with the localization attributes. |
attributes |
Yes |
Collection of Object |
This holds the details of localization attributes. |
Table 5-85 LocalizationExtensions.Attributes - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
name |
Yes |
String (30) |
Holds the attribute name. |
value |
No |
String (250) |
Holds the numeric or string value of the attribute. |
valueDate |
No |
date |
Holds the date value of the attribute. |
Table 5-86 SupplierSites - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplierSiteReferenceNo |
Yes |
String (32) |
This holds the ID for the supplier or partner used in the external financial system. It is populated by the integration that brings suppliers or partneres from external financial systems into Merchandising. This ID and the supplier site ID or partner ID can be used to join to information about the supplier in the external system. |
supplierSite |
No |
Number (10) |
Unique identifying number for a supplier site or partner within the system. When a new supplier site or partner is added to the system, this can either be provided by the user or it can be system generated. Leave this field as null for a system generated supplier site or partner ID. |
attributes |
Yes |
Record |
This contains supplier site attributes. |
orgUnit |
Yes |
Collection of Object |
References a collection of supplier org units. |
address |
Yes |
Collection of Object |
References a collection of supplier addresses. |
Table 5-87 OrgUnit - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
orgUnitId |
No |
Number (15) |
This field contains org_unit_id. |
orgUnitReferenceId |
No |
String (50) |
This column holds the organizational unit ID used in the external financial system. |
primaryPaySite |
No |
String (1) |
This field contains the primary pay site indicator. |
Table 5-88 Address - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
addressReferenceKey |
No |
String (32) |
This column contains the external reference ID used to distinguish between different addresses. |
addressKey |
No |
Number (11) |
This column contains a unique number used to distinguish between different addresses. |
address |
Yes |
Record |
This contains the supplier's address information. |
Table 5-89 Address.Address - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
addressType |
No |
String (2) |
This contains the address type. Valid values (e. g. 01 - Business, 02 - Postal, etc. ) are on the add_type table. If any address types have been flagged as mandatory and are not included when the supplier or partner is being created, then if an ordering address has been included, the missing mandatory addresses will be defaulted to that address. If not, then the remittance address will be used. If neither an order nor remittance address is included, then the first address sent is used. |
primaryAddressInd |
No |
String (1) |
This column indicates whether the address is the primary address for the address type. |
add1 |
Yes |
String (240) |
This field contains the first line of the address. |
add2 |
No |
String (240) |
This field contains the second line of the address. |
add3 |
No |
String (240) |
This field contains the third line of the address. |
city |
Yes |
String (120) |
This column contains the name of the city that is associated with the address. |
state |
No |
String (3) |
This column contains the state abbreviation for the address. |
country |
Yes |
String (3) |
This column contains the country where the address exists. |
post |
No |
String (30) |
This column contains the zip code for the address. |
contactName |
No |
String (120) |
This column contains the name of the contact for the supplier or partner at this address. |
contactPhone |
No |
String (20) |
This column contains the phone number of the contact person at this address. |
contactFax |
No |
String (20) |
This column contains the fax number of the contact person at this address. |
contactEmail |
No |
String (100) |
This column contains the email address of the partner or suppliers representative contact. |
jurisdictionCode |
No |
String (10) |
ID associated to the tax jurisdiction of the country-state relationship. |
customFlexAttribute |
No |
Collection of Object |
References a collection of custom flexible attributes. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured, named attribute is missing from the input collection, its value will be set to NULL. |
Sample Input Message
{
"items": [
{
"supplierReferenceNo": "1",
"supplier": 3026,
"vendorTypeCode": null,
"attributes": {
"supplierName": "Prime Hardware",
"supplierNameSecondary": "Prime Hardware 2",
"contactName": "Alexandre Roma",
"contactPhone": "234-112-7654",
"contactFax": "234-112-7654",
"contactPager": null,
"supplierStatus": "A",
"qualityControlInd": "Y",
"qualityControlPercentage": 3,
"qualityControlFrequency": "5",
"vendorCheckingInd": "Y",
"vendorCheckingPercentage": 3,
"vendorCheckingFrequency": 2,
"currencyCode": "USD",
"language": 1,
"languageReferenceId": null,
"terms": "108",
"termsReferenceId": null,
"freightTerms": "03",
"freightTermsReferenceId": null,
"returnAllowedInd": "Y",
"returnAuthReqInd": "N",
"minReturnValue": 3.55,
"returnCourier": "125",
"handlingPercentage": 3,
"ediOrderInd": "Y",
"ediOrderChangeInd": "Y",
"ediOrderConfirmInd": "Y",
"ediAsnInd": "Y",
"ediSalesReportFreq": "W",
"ediSupplierAvailabilityInd": "Y",
"ediContractInd": "Y",
"ediInvcInd": "Y",
"ediChannel": 2,
"costChangeVariancePercentage": 9.65,
"costChangeVarianceAmt": 9.65,
"replenApprovalInd": "Y",
"shipMethod": "30",
"paymentMethod": "OA",
"contactTelex": "234-112-7654",
"contactEmail": "a_roma@primehardware.com",
"settlementCode": "N",
"preMarkInd": "Y",
"autoApproveInvoiceInd": "Y",
"debitMemoCode": "N",
"freightChargeInd": "Y",
"autoApproveDebitMemoInd": "Y",
"prepayInvoiceInd": "Y",
"backorderInd": "Y",
"vatRegion": 1000,
"invManagementLevel": "S",
"servicePerfReqInd": "Y",
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"invoiceGrossNet": "G",
"deliveryPolicy": "NEXT",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNumber": "108890",
"dunsLocation": "1055",
"bracketCostingInd": "Y",
"vmiOrderStatus": null,
"dsdSupplierInd": "Y",
"scaleAipOrders": "N",
"supplierQuantityLevel": "EA",
"defaultPricingControl": "R",
"generateConsignmentOrderInd": "Y",
"generateSelfInvoicingInd": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"dealUploadStatus": "W",
"taxId": null,
"procurementSiteInd": "Y",
"paymentSiteInd": "Y",
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
},
"supplierSites": [
{
"supplierSiteReferenceNo": "2",
"supplierSite": 3026001,
"attributes": {
"supplierName": "Prime Hardware",
"supplierNameSecondary": "Prime Hardware 2",
"contactName": "Alexandre Roma",
"contactPhone": "234-112-7654",
"contactFax": "234-112-7654",
"contactPager": null,
"supplierStatus": "A",
"qualityControlInd": "Y",
"qualityControlPercentage": 3,
"qualityControlFrequency": "5",
"vendorCheckingInd": "Y",
"vendorCheckingPercentage": 3,
"vendorCheckingFrequency": 2,
"currencyCode": "USD",
"language": 1,
"languageReferenceId": null,
"terms": "108",
"termsReferenceId": null,
"freightTerms": "03",
"freightTermsReferenceId": null,
"returnAllowedInd": "Y",
"returnAuthReqInd": "N",
"minReturnValue": 3.55,
"returnCourier": "125",
"handlingPercentage": 3,
"ediOrderInd": "Y",
"ediOrderChangeInd": "Y",
"ediOrderConfirmInd": "Y",
"ediAsnInd": "Y",
"ediSalesReportFreq": "W",
"ediSupplierAvailabilityInd": "Y",
"ediContractInd": "Y",
"ediInvcInd": "Y",
"ediChannel": 2,
"costChangeVariancePercentage": 9.65,
"costChangeVarianceAmt": 9.65,
"replenApprovalInd": "Y",
"shipMethod": "30",
"paymentMethod": "OA",
"contactTelex": "234-112-7654",
"contactEmail": "a_roma@primehardware.com",
"settlementCode": "N",
"preMarkInd": "Y",
"autoApproveInvoiceInd": "Y",
"debitMemoCode": "N",
"freightChargeInd": "Y",
"autoApproveDebitMemoInd": "Y",
"prepayInvoiceInd": "Y",
"backorderInd": "Y",
"vatRegion": 1000,
"invManagementLevel": "S",
"servicePerfReqInd": "Y",
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"invoiceGrossNet": "G",
"deliveryPolicy": "NEXT",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNumber": "108890",
"dunsLocation": "1055",
"bracketCostingInd": "Y",
"vmiOrderStatus": null,
"dsdSupplierInd": "Y",
"scaleAipOrders": "N",
"supplierQuantityLevel": "EA",
"defaultPricingControl": "R",
"generateConsignmentOrderInd": "Y",
"generateSelfInvoicingInd": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"dealUploadStatus": "W",
"taxId": null,
"procurementSiteInd": "Y",
"paymentSiteInd": "Y",
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
},
"orgUnit": [
{
"orgUnitId": 1111111111,
"orgUnitReferenceId": null,
"primaryPaySite": "Y"
}
],
"address": [
{
"addressReferenceKey": "2",
"addressKey": 114772,
"address": {
"addressType": "01",
"primaryAddressInd": "Y",
"add1": "200 Ryan Way",
"add2": "Suite 100",
"add3": null,
"city": "Somerville",
"state": "MA",
"country": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "617-897-0900",
"contactFax": "617-897-0902",
"contactEmail": "l_johnson@primehardware.com",
"jurisdictionCode": null,
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
]
}
}
]
}
]
}
]
}
Response Code: 200 (Success)
Table 5-90 CreateResponse - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
items |
No |
Collection of Object |
References a collection of suppliers created. |
Table 5-91 CreateResponse.Items - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplierReferenceNo |
Yes |
String (32) |
This column holds the ID for the supplier or partner used in the external financial system. It is populated by the integration that brings suppliers/partners from external financial systems into RMS. This ID and the supplier site ID can be used to join to information about the supplier/partner in the external system. |
supplier |
No |
Number (10) |
Unique identifying number for a supplier within the system. This will be null if entity type is P (partner). |
entityType |
No |
String (1) |
Indicates whether a supplier or partner is created from an external financial system. This field will have a value of S or P. |
supplierSites |
No |
Collection of Object |
References a collection of supplier sites created. |
Table 5-92 CreateResponse.Items.SupplierSites - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplierSiteReferenceNo |
Yes |
String (32) |
This field holds the ID for the supplier site or partner used in the external financial system. It is populated by the integration that brings suppliers/partners from external financial systems into RMS. This ID and the supplier site ID can be used to join to information about the supplier/partner in the external system. |
supplierSite |
Yes |
Number (10) |
Unique identifying number for a supplier or partner within the system. This field is numeric because Rest service only support creation of partners in which partner id is generated using sequence. |
partnerType |
No |
String (6) |
Specifies the type of partner. This field will be null if entity type is S (supplier). |
address |
Yes |
Collection of Object |
References a collection of supplier addresses created. |
Table 5-93 CreateResponse.Items.SupplierSites.Address - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
addressReferenceKey |
Yes |
String (32) |
This column contains the external reference ID used to distinguish between different addresses. |
addressKey |
Yes |
Number (11) |
This column contains a unique number used to distinguish between different addresses. |
Sample Response Message
{
"items": [
{
"supplierReferenceNo": "1",
"supplier": 2400,
"entityType": "S",
"supplierSites": [
{
"supplierSiteReferenceNo": "2",
"supplierSite": 3026001,
"partnerType": null,
"address": [
{
"addressReferenceKey": null,
"addressKey": 33445
}
]
}
]
}
]
}
Response Code: 400 (Error)
In case of an error, the following standard error response is returned. The element validationErrors
is
present when the input payload or input parameters are do not match the schema definition for this service. The element businessError
is present if the payload passes schema validation but an exception is caught while processing the
business logic.
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
"Error message"
]
}
Update Suppliers and Partners
Business Overview
This service modifies existing parent suppliers, supplier sites, partners, org unit association, addresses and flex attributes. Any information present in the webservice request will update the existing attributes with a few exceptions, mentioned below. When modifying a supplier parent, providing the supplier site information is optional.
The following attribute values are defaulted to the old value if not provided in the request:
-
contact name
-
contact phone
-
contact fax
-
contact pager
-
ship method
-
payment method
-
contact telex
-
contact email
-
default lead time
-
duns number
-
duns loc
-
tax id
-
vat region
When modifying supplier sites, it is expected that both supplier parent and supplier site information will be provided. Certain supplier attribute values are defaulted to the old values if not provided in the update request. Refer to the list of attributes under Modifying a Supplier Parent. Attributes not in the above list will be replaced by user-provided values.
Existing address details are overwritten by the information contained in the address section of the service request. Addresses
with address types 04
- Order and 06
- Remittance, however, are deleted from the system
if these addresses are not included in the request.
When Financials integration is enabled (financial_ap = ‘A’
), the optional attribute vendorTypeCode
is used to identify between suppliers and partners. External financial systems utilizing this attribute can also update
partners in Merchandising.
Note:
The vendor type code mapping must be set up through the Merchandising spreadsheet upload functionality.Partner integrations of type Escheat-State
and Escheat-Country
are not be supported through
this interface. If vendorTypeCode
is blank, it is assumed that a supplier is being updated.
The external financial system can send its own ID for certain supplier attributes on optional reference fields in the payload. These external reference IDs do not need to be set up against the relevant data to enable their usage. Reference IDs that are available in the payload are listed below. If provided these will be used to cross-reference and identify the corresponding Merchandising ID and data. If the external ID provided maps to multiple records in the foundation data, then one of the records will be associated with the supplier/partner record being created. An error will be raised if no match is found.
-
languageReferenceId - defaulted to primary language if not provided.
-
termsReferenceId
-
freightTermsReferenceId
-
orgUnitReferenceId
Updates will be accepted for both supplier and partner irrespective of status.
Availability During Nightly Batch Cycle
This service will not be available when batches affecting either inventory or cost are in-progress.
Input Payload Details
Table 5-94 Update - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
items |
Yes |
Collection of Object |
References a collection of suppliers. |
Table 5-95 Items - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplierReferenceNo |
Yes |
String (32) |
This holds the ID for the supplier or parent partner used in the external financial system. It is populated by the integration that brings suppliers or partners from external financial systems into Merchandising. This ID and the supplier site ID or partner ID can be used to join to information about the supplier in the external system. |
supplier |
No |
Number (10) |
Unique identifying number for a supplier parent within the system. When a new supplier is added to the system, this value can either be provided by the user or it can be system generated. Leave this field as null for a system generated supplier ID. |
vendorTypeCode |
No |
String (50) |
This column contains the identifier for the vendor type from the external financial system. |
attributes |
Yes |
Record |
This contains supplier parent information. |
supplierSites |
No |
Collection of Object |
References a collection of supplier sites. |
Table 5-96 Attributes - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplierName |
Yes |
String (240) |
This field contains the supplier or partner name. |
supplierNameSecondary |
No |
String (240) |
This type can hold secondary name for the supplier or partner with a max length of 240 characters. |
contactName |
No |
String (120) |
This field contains the name of the supplier or partner representative contact for this site. |
contactPhone |
No |
String (20) |
This field contains a telephone number for the supplier's or partner's representative contact. |
contactFax |
No |
String (20) |
This field contains a fax number for the supplier's or partner's representative contact. |
contactPager |
No |
String (20) |
This field contains a pager number for the supplier's representative contact. |
supplierStatus |
Yes |
String (1) |
This field contains the status of the supplier or partner. Valid values include: 'A' for an active supplier or 'I' for an inactive supplier. The status of a supplier will be checked when an order is being created to make certain the supplier is active. |
qualityControlPercentage |
No |
Number (12,4) |
This field contains the percentage of items per receipt that will be marked for quality checking. If the field is null and qc_ind is Y, existing value will be retained. |
qualityControlFrequency |
No |
String (2) |
This field contains the frequency for which items per receipt will be marked for quality checking. If the field is null and qc_ind is Y, existing value will be retained. |
vendorCheckingPercentage |
No |
Number (12,4) |
This field contains percentage of items per receipt that will be marked for vendor checking. If the field is null and vc_ind is Y, existing value will be retained. |
vendorCheckingFrequency |
No |
Number (2) |
This field contains the frequency for which items per receipt that will be marked for vendor checking. If the field is null and vc_ind is Y, existing value will be retained. |
currencyCode |
No |
String (3) |
This field contains code identifying the currency the supplier site or partner uses for business transactions. |
language |
No |
Number (6) |
This field contains the suppliers or partners preferred language. This field is provided for custom purchase orders in a specified language. |
languageReferenceId |
No |
String (50) |
This field is primarily used to hold the ID for the language used in the external financial system. |
terms |
No |
String (15) |
This field contains an indicator identifying the purchase terms that will default when an order is created for the supplier site or partner. These terms specify when payment is due and if any discounts exist for early payment. |
termsReferenceId |
No |
String (50) |
This column holds the ID for the supplier or partner terms used in the external financial system. |
freightTerms |
No |
String (30) |
This field contains code indicating what freight terms will default when an order is created for the supplier site. |
freightTermsReferenceId |
No |
String (50) |
This column holds the ID for the freight terms used in the external financial system. |
minReturnValue |
No |
Number (20,4) |
This field contains a value if the supplier site requires a minimum merchandise value to be returned to accept the return. Returns of less than this amount will not be processed by the system. This field is stored in the supplier's currency. |
returnCourier |
No |
String (250) |
This field contains the name of the courier that should be used for returns to the supplier site. |
handlingPercentage |
No |
Number (12,4) |
This field contains the default percent to be multiplied by the return's total cost to determine the handling cost for the return. |
ediChannel |
No |
Number (4) |
If the supplier is an EDI supplier and supports vendor initiated ordering, this field will contain the channel ID for the channel to which all inventory for these types of orders will flow. This field is used when a vendor initiated order is created for a physical warehouse to determine the virtual warehouse within the physical warehouse to which the inventory will flow. The virtual warehouse belonging to the indicated channel will be used. This will only be used in a multichannel environment. Valid values are Yes (Y) and No (N). |
costChangeVariancePercentage |
No |
Number (12,4) |
This field contains a percent that determines whether a cost change can be auto approve via induction. If the cost change falls within these boundaries, it will be approved when uploaded. |
costChangeVarianceAmt |
No |
Number (20,4) |
This field contains an amount (in supplier currency) that determines whether a cost change can be auto approve via induction. If the cost change falls within these boundaries, it will be approved when uploaded. |
shipMethod |
No |
String (6) |
This field contains the default method used to ship the items on the purchase order from the supplier site. Valid values are held in the Shipment Type code type, SHPM. Examples of shipment types are Vessel, Non-Container (10 ), Vessel, Container (11), Rail, Non-container (20) and Rail, Container (21). |
paymentMethod |
No |
String (6) |
This field indicates the default method for how purchase orders for this site will be paid. Valid values are in the code type PYMT(Payment Method). Examples are Open Account(OA), Letter of Credit(LC) and Wire Transfer(WT). |
contactTelex |
No |
String (20) |
This field contains the telex number of the partner or suppliers representative contact. |
contactEmail |
No |
String (100) |
This field contains the email address of the partner or suppliers representative contact. |
vatRegion |
No |
Number (4) |
This field contains the unique identifying number for the VAT region applicable for this site. |
invoicePayLocation |
No |
String (6) |
This field indicates where invoices from this supplier site or partner are paid - at the store (S) or centrally through corporate accounting (C). |
invoiceReceiveLocation |
No |
String (6) |
This field indicates where invoices from this supplier site or partner are received - at the store (S) or centrally through corporate accounting (C). |
comments |
No |
String (2000) |
This field contains any miscellaneous comments associated with the supplier or partner. |
defaultItemLeadTime |
No |
Number (4) |
This field holds the default lead time for the supplier site. The lead time is the time the supplier needs between receiving an order and having the order ready to ship. This value will be defaulted to item/supplier relationships. |
dunsNumber |
No |
String (9) |
The Dun and Bradstreet number of the supplier. |
dunsLocation |
No |
String (4) |
The Dun and Bradstreet number of the location of the supplier. |
defaultPricingControl |
No |
String (1) |
Indicates the default value of the pricing control attribute at the supplier site level when supplier-controlled pricing for Consignment/Concession ownership model is used within the Merchandising suite of solutions. Valid values are: R - Retailer, S - Supplier. |
generateConsignmentOrderInd |
No |
String (1) |
This field will allow specification of whether Merchandising is required to generate POs against consignment sales. Valid values are: 'Y' - MFCS will create PO, 'N' - POs will get created externally. If supplier parent, this is defaulted to Y. If supplier site and field is null, this is defaulted to Y. |
generateSelfInvoicingInd |
No |
String (1) |
This field will allow specification of whether self-invoicing needs to be done for consignment purchases or if vendor will send invoices to be matched. Valid values are: 'Y' - MFCS will create invoice, 'N' - Invoice will get created by vendor. If supplier parent, this is defaulted to Y. If supplier site and field is null, this is defaulted to Y. |
customFlexAttribute |
No |
Collection of Object |
References a collection of custom flexible attributes. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured named attribute is missing from the input collection, its value will be set to NULL. |
dealUploadStatus |
No |
String (6) |
Indicates the status in which the deal needs to be uploaded into the system by upload batch process. Valid values are in the code type DLUS(Deal Upload Status). Examples are Worksheet(W), Submitted(S) and Approved(A). If the supplier does not exist and there is no deal_upload_status input then this is defaulted to W (worksheet). |
taxId |
No |
String (20) |
This field contains the unique tax identification number of the supplier site or partner. |
procurementSiteInd |
No |
String (1) |
Indicates if the supplier site or partner is a procurement site used for purchasing. |
paymentSiteInd |
No |
String (1) |
Indicates if the supplier site or partner is a payment site used for invoice payment. |
localizationExtensions |
No |
Collection of Object |
Holds optional localization attributes that will be processed by the localization extension module. |
Table 5-97 CustomFlexAttribute - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
name |
Yes |
String (30) |
Holds the attribute name. |
value |
No |
String (250) |
Holds the numeric or string value of the attribute. |
valueDate |
No |
date |
Holds the date value of the attribute. |
Table 5-98 LocalizationExtensions - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
country |
Yes |
String (3) |
Id of the country associated with the localization attributes. |
attributes |
Yes |
Collection of Object |
This holds the details of localization attributes. |
Table 5-99 LocalizationExtensions.Attributes - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
name |
Yes |
String (30) |
Holds the attribute name. |
value |
No |
String (250) |
Holds the numeric or string value of the attribute. |
valueDate |
No |
date |
Holds the date value of the attribute. |
Table 5-100 SupplierSites - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplierSiteReferenceNo |
Yes |
String (32) |
This holds the ID for the supplier or partner used in the external financial system. It is populated by the integration that brings suppliers or partners from external financial systems into Merchandising. This ID and the supplier site ID or partner ID can be used to join to information about the supplier in the external system. |
supplierSite |
No |
Number (10) |
Unique identifying number for a supplier site or partner within the system. When a new supplier site is added to the system, this can either be provided by the user or it can be system generated. Leave this field as null for a system generated supplier site ID. |
attributes |
Yes |
Record |
This contains supplier site attributes. |
orgUnit |
Yes |
Collection of Object |
References a collection of supplier org units. |
address |
Yes |
Collection of Object |
References a collection of supplier addresses. |
Table 5-101 OrgUnit - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
orgUnitId |
No |
Number (15) |
This field contains org_unit_id. |
orgUnitReferenceId |
No |
String (50) |
This column holds the organizational unit ID used in the external financial system. |
primaryPaySite |
No |
String (1) |
This field contains the primary pay site indicator. |
Table 5-102 Address - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
addressReferenceKey |
No |
String (32) |
This column contains the external reference ID used to distinguish between different addresses. |
addressKey |
No |
Number (11) |
This column contains a unique number used to distinguish between different addresses. |
address |
Yes |
Record |
This contains the supplier's address information. |
Table 5-103 Address.Address - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
addressType |
No |
String (2) |
This contains the address type. Valid values (e. g. 01 - Business, 02 - Postal, etc. ) are on the add_type table. If any address types have been flagged as mandatory and are not included when the supplier or partner is being created, then if an ordering address has been included, the missing mandatory addresses will be defaulted to that address. If not, then the remittance address will be used. If neither an order nor remittance address is included, then the first address sent is used. |
primaryAddressInd |
No |
String (1) |
This column indicates whether the address is the primary address for the address type. |
add1 |
Yes |
String (240) |
This field contains the first line of the address. |
add2 |
No |
String (240) |
This field contains the second line of the address. |
add3 |
No |
String (240) |
This field contains the third line of the address. |
city |
Yes |
String (120) |
This column contains the name of the city that is associated with the address. |
state |
No |
String (3) |
This column contains the state abbreviation for the address. |
country |
Yes |
String (3) |
This column contains the country where the address exists. |
post |
No |
String (30) |
This column contains the zip code for the address. |
contactName |
No |
String (120) |
This column contains the name of the contact for the supplier or partner at this address. |
contactPhone |
No |
String (20) |
This column contains the phone number of the contact person at this address. |
contactFax |
No |
String (20) |
This column contains the fax number of the contact person at this address. |
contactEmail |
No |
String (100) |
This column contains the email address of the partner or suppliers representative contact. |
jurisdictionCode |
No |
String (10) |
ID associated to the tax jurisdiction of the country-state relationship. |
customFlexAttribute |
No |
Collection of Object |
References a collection of custom flexible attributes. This collection is treated as a single group and should include all named flexible attributes for the business entity. If any configured named attribute is missing from the input collection, its value will be set to NULL. |
Sample Input Message
{
"items": [
{
"supplierReferenceNo": "1",
"supplier": 3026,
"vendorTypeCode": null,
"attributes": {
"supplierName": "Prime Hardware",
"supplierNameSecondary": "Prime Hardware 2",
"contactName": "Alexandre Roma",
"contactPhone": "234-112-7654",
"contactFax": "234-112-7654",
"contactPager": null,
"supplierStatus": "A",
"qualityControlPercentage": 3,
"qualityControlFrequency": "5",
"vendorCheckingPercentage": 3,
"vendorCheckingFrequency": 2,
"currencyCode": "USD",
"language": 1,
"languageReferenceId": null,
"terms": "108",
"termsReferenceId": null,
"freightTerms": "03",
"freightTermsReferenceId": null,
"minReturnValue": 3.55,
"returnCourier": "125",
"handlingPercentage": 3,
"ediChannel": 2,
"costChangeVariancePercentage": 9.65,
"costChangeVarianceAmt": 9.65,
"shipMethod": "30",
"paymentMethod": "OA",
"contactTelex": "234-112-7654",
"contactEmail": "a_roma@primehardware.com",
"vatRegion": 1000,
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNumber": "108890",
"dunsLocation": "1055",
"defaultPricingControl": "R",
"generateConsignmentOrderInd": "Y",
"generateSelfInvoicingInd": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"dealUploadStatus": "W",
"taxId": null,
"procurementSiteInd": "N",
"paymentSiteInd": "N",
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
},
"supplierSites": [
{
"supplierSiteReferenceNo": "2",
"supplierSite": 3026001,
"attributes": {
"supplierName": "Prime Hardware",
"supplierNameSecondary": "Prime Hardware 2",
"contactName": "Alexandre Roma",
"contactPhone": "234-112-7654",
"contactFax": "234-112-7654",
"contactPager": null,
"supplierStatus": "A",
"qualityControlPercentage": 3,
"qualityControlFrequency": "5",
"vendorCheckingPercentage": 3,
"vendorCheckingFrequency": 2,
"currencyCode": "USD",
"language": 1,
"languageReferenceId": null,
"terms": "108",
"termsReferenceId": null,
"freightTerms": "03",
"freightTermsReferenceId": null,
"minReturnValue": 3.55,
"returnCourier": "125",
"handlingPercentage": 3,
"ediChannel": 2,
"costChangeVariancePercentage": 9.65,
"costChangeVarianceAmt": 9.65,
"shipMethod": "30",
"paymentMethod": "OA",
"contactTelex": "234-112-7654",
"contactEmail": "a_roma@primehardware.com",
"vatRegion": 1000,
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNumber": "108890",
"dunsLocation": "1055",
"defaultPricingControl": "R",
"generateConsignmentOrderInd": "Y",
"generateSelfInvoicingInd": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"dealUploadStatus": "W",
"taxId": null,
"procurementSiteInd": "N",
"paymentSiteInd": "N",
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
},
"orgUnit": [
{
"orgUnitId": 1111111111,
"orgUnitReferenceId": null,
"primaryPaySite": "Y"
}
],
"address": [
{
"addressReferenceKey": "2",
"addressKey": 114772,
"address": {
"addressType": "01",
"primaryAddressInd": "Y",
"add1": "200 Ryan Way",
"add2": "Suite 100",
"add3": null,
"city": "Somerville",
"state": "MA",
"country": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "617-897-0900",
"contactFax": "617-897-0902",
"contactEmail": "l_johnson@primehardware.com",
"jurisdictionCode": null,
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
]
}
}
]
}
]
}
]
}
Response Code: 200 (Success)
Sample Response Message
{
"items": [
{
"supplierReferenceNo": "1",
"supplier": 3026,
"vendorTypeCode": null,
"attributes": {
"supplierName": "Prime Hardware",
"supplierNameSecondary": "Prime Hardware 2",
"contactName": "Alexandre Roma",
"contactPhone": "234-112-7654",
"contactFax": "234-112-7654",
"contactPager": null,
"supplierStatus": "A",
"qualityControlPercentage": 3,
"qualityControlFrequency": "5",
"vendorCheckingPercentage": 3,
"vendorCheckingFrequency": 2,
"currencyCode": "USD",
"language": 1,
"languageReferenceId": null,
"terms": "108",
"termsReferenceId": null,
"freightTerms": "03",
"freightTermsReferenceId": null,
"minReturnValue": 3.55,
"returnCourier": "125",
"handlingPercentage": 3,
"ediChannel": 2,
"costChangeVariancePercentage": 9.65,
"costChangeVarianceAmt": 9.65,
"shipMethod": "30",
"paymentMethod": "OA",
"contactTelex": "234-112-7654",
"contactEmail": "a_roma@primehardware.com",
"vatRegion": 1000,
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNumber": "108890",
"dunsLocation": "1055",
"defaultPricingControl": "R",
"generateConsignmentOrderInd": "Y",
"generateSelfInvoicingInd": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"dealUploadStatus": "W",
"taxId": null,
"procurementSiteInd": "N",
"paymentSiteInd": "N",
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
},
"supplierSites": [
{
"supplierSiteReferenceNo": "2",
"supplierSite": 3026001,
"attributes": {
"supplierName": "Prime Hardware",
"supplierNameSecondary": "Prime Hardware 2",
"contactName": "Alexandre Roma",
"contactPhone": "234-112-7654",
"contactFax": "234-112-7654",
"contactPager": null,
"supplierStatus": "A",
"qualityControlPercentage": 3,
"qualityControlFrequency": "5",
"vendorCheckingPercentage": 3,
"vendorCheckingFrequency": 2,
"currencyCode": "USD",
"language": 1,
"languageReferenceId": null,
"terms": "108",
"termsReferenceId": null,
"freightTerms": "03",
"freightTermsReferenceId": null,
"minReturnValue": 3.55,
"returnCourier": "125",
"handlingPercentage": 3,
"ediChannel": 2,
"costChangeVariancePercentage": 9.65,
"costChangeVarianceAmt": 9.65,
"shipMethod": "30",
"paymentMethod": "OA",
"contactTelex": "234-112-7654",
"contactEmail": "a_roma@primehardware.com",
"vatRegion": 1000,
"invoicePayLocation": "S",
"invoiceReceiveLocation": "C",
"comments": null,
"defaultItemLeadTime": 7,
"dunsNumber": "108890",
"dunsLocation": "1055",
"defaultPricingControl": "R",
"generateConsignmentOrderInd": "Y",
"generateSelfInvoicingInd": "Y",
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
],
"dealUploadStatus": "W",
"taxId": null,
"procurementSiteInd": "N",
"paymentSiteInd": "N",
"localizationExtensions": [
{
"country": "BR",
"attributes": [
{
"name": "SPECIAL_CATEGORY_CODE",
"value": "WS_PRC_08",
"valueDate": "2001-12-31"
}
]
}
]
},
"orgUnit": [
{
"orgUnitId": 1111111111,
"orgUnitReferenceId": null,
"primaryPaySite": "Y"
}
],
"address": [
{
"addressReferenceKey": "2",
"addressKey": 114772,
"address": {
"addressType": "01",
"primaryAddressInd": "Y",
"add1": "200 Ryan Way",
"add2": "Suite 100",
"add3": null,
"city": "Somerville",
"state": "MA",
"country": "US",
"post": "55555-1234",
"contactName": "Laura Johnson",
"contactPhone": "617-897-0900",
"contactFax": "617-897-0902",
"contactEmail": "l_johnson@primehardware.com",
"jurisdictionCode": null,
"customFlexAttribute": [
{
"name": "REVIEW_DATE",
"value": null,
"valueDate": "2001-12-31"
}
]
}
}
]
}
]
}
]
}
Response Code: 400 (Error)
In case of error, the following standard error response is returned. The element validationErrors
is present
when the input payload or input parameters do not follow the schema definition of this service. The element businessError
is present if the payload passes schema validation but an exception is caught while processing the business logic.
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
"Error message"
]
}
Supplier Download Service
Supplier Detail Service
This section describes the Supplier Detail service.
Business Overview
Supplier Detail service allows user to retrieve Supplier information for a selected supplier.
Output
RestSupplierRecRDO
Parameter Name | Data Type |
---|---|
supplier |
BigDecimal |
sup_name |
String |
sup_name_secondary |
String |
supplier_parent |
BigDecimal |
sup_status |
String |
currency_code |
String |
terms |
String |
freight_terms |
String |
vat_region |
BigDecimal |
external_ref_id |
String |
Supplier_address |
List<RestSupplierAddressRecRDO> |
RestSupplierAddressRecRDO
Parameter Name | Data Type |
---|---|
add_1 |
String |
add_2 |
String |
add_3 |
String |
city |
String |
state |
String |
country_id |
String |
post |
String |
contact_name |
String |
contact_phone |
String |
contact_email |
String |
JSON Structure
[
{
"supplierAddress": [
{
"countryId": null,
"add2": null,
"add3": null,
"city": null,
"add1": null,
"state": null,
"contactEmail": null,
"contactName": null,
"contactPhone": null,
"post": null,
"links": [],
"hyperMediaContent": {
"linkRDO": []
}
},
{
"countryId": null,
"add2": null,
"add3": null,
"city": null,
"add1": null,
"state": null,
"contactEmail": null,
"contactName": null,
"contactPhone": null,
"post": null,
"links": [],
"hyperMediaContent": {
"linkRDO": []
}
},
{
"countryId": null,
"add2": null,
"add3": null,
"city": null,
"add1": null,
"state": null,
"contactEmail": null,
"contactName": null,
"contactPhone": null,
"post": null,
"links": [],
"hyperMediaContent": {
"linkRDO": []
}
},
{
"countryId": null,
"add2": null,
"add3": null,
"city": null,
"add1": null,
"state": null,
"contactEmail": null,
"contactName": null,
"contactPhone": null,
"post": null,
"links": [],
"hyperMediaContent": {
"linkRDO": []
}
},
{
"countryId": null,
"add2": null,
"add3": null,
"city": null,
"add1": null,
"state": null,
"contactEmail": null,
"contactName": null,
"contactPhone": null,
"post": null,
"links": [],
"hyperMediaContent": {
"linkRDO": []
}
}
],
"supNameSecondary": null,
"supplierParent":null,
"terms": null,
"supStatus": null,
"currencyCode": null,
"supplier": null,
"supName": null,
"freightTerms": null,
"vatRegion": null,
"externalRefId": null,
"links": [],
"hyperMediaContent": {
"linkRDO": []
}
}
]
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-104 MerchIntegrations/services/foundation/supplier
Parameter Name | Required | Data Type | Description |
---|---|---|---|
since |
No |
String |
Since Date. Format: |
before |
No |
String |
Before Date Format: |
offsetkey |
No |
String |
Offset Key. Valid Value is combination of |
limit |
No |
BigDecimal |
Pagination limit. Default Value is |
Table 5-105 /MerchIntegrations/services/ foundation/supplier/{supplierId}
Parameter Name | Required | Data Type | Description |
---|---|---|---|
supplierId |
Yes |
String |
Supplier ID. |
Output
Name | Data Type | Description |
---|---|---|
action |
String |
Action for supplier details. Valid values are INSERT, UPDATE and DELETE. |
supplier |
Number |
This field specifies unique identifying number for a supplier site within the system. |
supplierName |
String |
This field specifies supplier’s site's name. |
supplierNameSecondary |
String |
This field specifies secondary name of the supplier. |
supplierStatus |
String |
This field specifies whether the supplier is currently active. |
parentSupplier |
String |
This field contains the supplier number for the supplier site. |
contactName |
String |
This field contains the name of the supplier's representative contact for this site. |
contactPhone |
String |
This field contains telephone number for the suppliers representative contact. |
contactFax |
String |
This field contains fax number for the supplier’s representative contact. |
contactPager |
String |
This field contains number for the pager of the supplier’s representative contact. |
contactTelex |
String |
This field contains telex number of the partner or supplier’s representative contact. |
contactEmail |
String |
This field contains email address of the partner or supplier’s representative contact. |
qualityControlInd |
String |
This field determines whether orders from this supplier will default as requiring quality control. |
qualityControlPercentage |
Number |
This field specifies percentage of items per receipt that will be marked for quality checking. |
qualityControlFrequency |
Number |
This field specifies frequency in which items per receipt will be marked for quality checking. |
vendorCheckingInd |
String |
This field specifies whether orders from this supplier will default as requiring vendor control. |
vendorCheckingPercentage |
Number |
This field specifies percentage of items per receipt that will be marked for vendor checking. |
vendorCheckingFrequency |
Number |
This field specifies frequency in which items per receipt will be marked for vendor checking. |
CurrencyCode |
String |
This field specifies code identifying the currency the supplier uses for business transactions. |
language |
String |
This field contains the supplier's preferred language. |
terms |
String |
This field contains an indicator identifying the purchase terms that will default when an order is created for the supplier site. These terms specify when payment is due and if any discounts exist for early payment. |
freightTerms |
String |
This field contains code indicating what freight terms will default when an order is created for the supplier site. |
returnAllowedInd |
String |
This field specifies whether the supplier will accept returns. |
returnAuthorizationRequiredInd |
String |
This field specifies if returns must be accompanied by an authorization number when sent back to the vendor. |
minimumReturnValue |
Number |
This field contains a value if the supplier site requires a minimum merchandise value to be returned to accept the return. Returns of less than this amount will not be processed by the system. This field is stored in the supplier's currency. |
returnCourier |
String |
This field specifies name of the courier that should be used for all returns to the supplier site. |
handlingPercentage |
Number |
This field contains the default percent to be multiplied by the return’s total cost to determine the handling cost for the return. |
ediOrderInd |
String |
This field specifies whether purchase orders will be sent to the supplier via EDI. |
ediOrderChangeInd |
String |
This field specifies whether purchase order changes will be sent to the supplier via EDI. |
ediOrderConfirmInd |
String |
This field specifies whether this supplier will send acknowledgment of a purchase orders sent via EDI. |
ediAsnInd |
String |
This field specifies whether this supplier will send Advance Shipment Notifications electronically. |
ediSalesReportFrequency |
String |
This field specifies EDI sales report frequency for this supplier. |
ediSupplierAvailabilityInd |
String |
This field specifies whether the supplier will send availability via EDI. |
ediContractInd |
String |
This field indicates whether the supplier site supports contract ordering sent via EDI. |
ediInvoiceInd |
String |
This field specifies whether invoices, debit memos and credit note requests will be sent to/from the supplier via Electronic Data Interchange. |
EdiChannelId |
String |
This field specifies if the supplier is an EDI supplier and supports vendor-initiated ordering, this field will contain the channel ID for the channel to which all inventory for these types of orders will flow. |
costChangeVariancePercentage |
Number |
This field contains a percent that determines whether a cost change can be auto approved via induction. If the cost change falls within these boundaries, it will be approved when uploaded. |
costChangeVarianceAmt |
Number |
This field contains an amount (in supplier currency) that determines whether a cost change can be auto approved via induction. If the cost change falls within these boundaries, it will be approved when uploaded. |
replenishmentApprovalInd |
String |
This field indicates whether contract orders created via replenishment should be created in Approved status. |
shipMethod |
String |
This field contains the default method used to ship the items on the purchase order from the supplier site. Valid values are held in code type SHPM. |
paymentMethod |
String |
This field indicates the default method for how purchase orders for this site will be paid. Valid values are Letter of Credit (LC), Wire Transfer (WT) and Open Account (OA). |
settlementCode |
String |
This field indicates which payment process method is used for the supplier. Valid values are N/A (N) and Evaluated Receipts Settlement (E). |
preMarkInd |
String |
This field indicates whether the supplier site supports pre-marking containers for cross dock order. |
autoApproveInvoiceInd |
String |
This field indicates whether the supplier's invoices can be automatically approved for payment. |
debitMemoCode |
String |
This field indicates when a debit memo will be sent to the supplier site to resolve a discrepancy. Valid values are: Y - if debit memos are always to be sent, L - if debit memos are used only if a credit note is not sent by the invoice due date and N - if debit memos are never sent. |
freightChargeInd |
String |
This field indicates whether a supplier site can charge freight costs. |
autoApproveDebitMemoInd |
String |
This field specifies whether debit memos sent to the supplier can be automatically approved on creation. |
invManagementLevel |
String |
This field indicates the level for managing supplier inventory information. Valid values are: supplier (S), supplier/location (L), supplier/department (D), and supplier/department/location (A). |
backorderInd |
String |
This field specifies if backorders or partial shipments will be accepted. |
vatRegion |
Number |
This field contains the unique identifying number for the VAT region applicable for this site. |
prepayInvoiceInd |
String |
This field specifies whether all invoices for the supplier can be pre-paid. |
servicePerformedRequiredInd |
String |
This field indicates if the supplier's services must be confirmed as performed before paying an invoice from that supplier site. |
invoicePayLocation |
String |
This field indicates where invoices from this supplier site are received - at the store (S) or centrally through corporate accounting (C). |
invoiceGrossNet |
String |
This field indicates if the supplier site invoice lists items at gross cost (G) or net cost (N). |
deliveryPolicy |
String |
This field contains the default delivery policy of the supplier site. Valid values are held in code type DLVY. |
comments |
String |
This field contains any miscellaneous comments associated with the supplier. |
defaultItemLeadTime |
Number |
This field specifies default lead time for the supplier site. The lead time is the time the supplier needs between receiving an order and having the order ready to ship. This value will be defaulted to item/supplier relationships. |
dunsNo |
String |
This field holds the Dun and Bradstreet number to identify the supplier. |
dunsLocation |
String |
This field holds the Dun and Bradstreet number to identify the location of the supplier. |
bracketCostingInd |
String |
This field will determine if the supplier site supports bracket costing pricing structures. |
vmiOrderStatus |
String |
This field determines the status in which any inbound POs from this supplier will be created. A NULL value indicates that the supplier is not a VMI supplier. |
dsdSupplierInd |
String |
This field specifies whether the vendor supports DSD ordering, where the supplier replenishes the store directly, creating the PO and receipt at the same time. |
supplierQuantityLevel |
String |
This field indicates the supplier site order quantity level. Valid values are cases (CA) or eaches (EA). |
finalDestinationInd |
String |
This field indicates whether the supplier site can ship to final destination or not. |
externalReferenceId |
String |
This field holds the ID for the supplier used in the external financial system. |
statusUpdateByRms |
String |
This field indicates that Supplier is inactivated from RMS. Suppliers inactivated in RMS will have this field updated as Y. Otherwise this field will be null. |
defaultPricingControl |
String |
Indicates the default value of the pricing control attribute at the supplier site level when supplier-controlled pricing for Consignment/Concession ownership model is used within the Merchandising suite of solutions. Valid values are R – Retailer and S – Supplier. |
generateConsignmentOrderInd |
String |
This field specifies whether Merchandising is required to generate POs against consignment sales. Valid values are: Y - Merchandising creates the PO, N - POs will be created externally. |
generateSelfInvoicingInd |
String |
This field specifies whether self-invoicing needs to be done for consignment purchases or if the vendor will send invoices to be matched. Valid values are: Y - Merchandising creates the invoice, N - Invoice will be created by the vendor. |
primaryAddressType |
String |
This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance. |
primaryAddressTypeDescription |
String |
This field specifies address type description. |
primaryAddressAdd1 |
String |
This field contains the first line of the address. |
primaryAddressAdd2 |
String |
This field contains the second line of the address. |
primaryAddressAdd3 |
String |
This field contains the third line of the address. |
primaryAddressCity |
String |
This field contains the name of the city that is associated with the address. |
primaryAddressState |
String |
This field contains abbreviation of the state for the address |
primaryAddressStateName |
String |
This field contains full name of the state for the address. |
primaryAddressCountryId |
String |
This field contains the country where the address exists. |
primaryAddressJurisdictionCode |
String |
This field contains the ID associated to the tax jurisdiction of the country-state relationship. |
primaryAddressPost |
String |
This field contains the zip code for the address. |
primaryAddressContactName |
String |
This field contains the name of the contact for the supplier at this address. |
primaryAddressContactPhone |
String |
This field contains the phone number of the contact person at this address. |
primaryAddressContactTelex |
String |
This field contains the telex number of the partner or supplier’s representative contact. |
primaryAddressContactFax |
String |
This field contains the fax number of the contact person at this address. |
primaryAddressContactEmail |
String |
This field contains the email address of the partner or supplier’s representative contact. |
createDateTime |
String |
This field holds the record creation date. |
updateDateTime |
String |
This field holds the date when the record was last updated. |
customFlexAttribute |
This List holds custom flex attributes for address details. |
|
address |
This list holds all the addresses of the supplier. |
|
supplierOrgUnit |
This List holds list attributes for supplier/supplier site and Orgunit id. List is populated when populated when either Multiple Set of Books is ON And/or Financial AP is O. |
|
cacheTimestamp |
String |
This field specifies date and time when the supplier record was last maintained. |
Table 5-106 address
Name | Data Type | Description |
---|---|---|
addressKey |
Number |
This field contains the unique address key. |
addressType |
String |
This field specifies type for the address. Valid values are: 01 -Business, 02 - Postal, 03 - Returns, 04 - Order, 05 - Invoice, 06 -Remittance. |
addressTypeDescription |
String |
This field specifies address type description. |
primaryAddressInd |
String |
This field indicates whether the address is the primary address for the address type. |
add1 |
String |
This field contains the first line of the address. |
add2 |
String |
This field contains the second line of the address. |
add3 |
String |
This field contains the third line of the address. |
city |
String |
This field contains name of the city that is associated with the address. |
state |
String |
This field contains name of the state that is associated with the address. |
stateName |
String |
This field contains name of the state description that is associated with the address. |
countryID |
String |
This field contains name of the country that is associated with the address. |
countryName |
String |
This field contains name of the country description that is associated with the address. |
post |
String |
This field contains the zip code for the address. |
contactName |
String |
This field contains the name of the contact person at this address. |
contactPhone |
String |
This field contains the phone number of the contact person at this address. |
contactTelex |
String |
This field contains the telex number of the warehouse's representative contact. |
contactFax |
String |
This field contains the fax number of the contact person at this address. |
contactEmail |
String |
This field contains email address of the warehouse's representative contact. |
county |
String |
This field contains the county where the address exists. |
jurisdictionCode |
String |
This field contains the ID associated to the tax jurisdiction of the country-state relationship. |
createDateTime |
String |
This field holds the record creation date. |
updateDateTime |
String |
This field holds the date when the record was last updated. |
customFlexAttribute |
This list holds custom flex attributes for the address. |
Table 5-107 supplierOrgUnit
Name | Data Type | Description |
---|---|---|
orgUnitId |
Number |
This field holds org unit id. |
primaryPaySiteInd |
String |
This field holds primary payment site indicator. |
createDateTime |
String |
This field holds the record creation date. |
updateDateTime |
String |
This field holds the date when the record was last updated. |
Table 5-108 customFlexAttribute
Name | Data Type | Description |
---|---|---|
name |
String |
This field will hold the custom flex attribute name. |
value |
String |
This field will hold the numeric or string value of the custom flex attribute. |
valueDate |
String |
This field will hold the date value of the custom flex attribute. |
createDateTime |
String |
This field will hold the date time when the custom flex attribute was inserted. |
updateDateTime |
String |
This field will hold the date time when the custom flex attribute was last updated. |
Table 5-109 Elements in JSON Output
Elements | Description |
---|---|
items |
The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query. |
hasMore |
This is dependent on limit value. If the total rows are more than then limit defined, then hasMore will be set to true else false. |
limit |
This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed. For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a "next" link else no links would be added to the JSON response. |
links |
“self”: This contains URI pointing to current page. “next”: This contains URI pointing to the next page of results. |
Example JSON output:
{
"items": [
{
"action": null,
"supplier": 2330,
"supplierName": "Dummy site 1",
"supplierNameSecondary": null,
"supplierStatus": "A",
"parentSupplier": "2300",
"contactName": "Shaurya S",
"contactPhone": "98787987",
"contactFax": null,
"contactPager": null,
"contactTelex": null,
"contactEmail": null,
"qualityControlInd": "N",
"qualityControlPercentage": null,
"qualityControlFrequency": null,
"vendorCheckingInd": "N",
"vendorCheckingPercentage": null,
"vendorCheckingFrequency": null,
"currencyCode": "USD",
"language": null,
"terms": "108",
"freightTerms": null,
"returnAllowedInd": "N",
"returnAuthorizationRequiredInd": "Y",
"minimumReturnValue": null,
"returnCourier": null,
"handlingPercentage": null,
"ediOrderInd": "N",
"ediOrderChangeInd": "N",
"ediOrderConfirmInd": "N",
"ediAsnInd": "N",
"ediSalesReportFrequency": null,
"ediSupplierAvailabilityInd": "N",
"ediContractInd": "N",
"ediInvoiceInd": "N",
"ediChannelId": null,
"costChangeVariancePercentage": 0,
"costChangeVarianceAmt": 0,
"replenishmentApprovalInd": "N",
"shipMethod": null,
"paymentMethod": null,
"settlementCode": "N",
"preMarkInd": "N",
"autoApproveInvoiceInd": "N",
"debitMemoCode": null,
"freightChargeInd": "N",
"autoApproveDebitMemoInd": "N",
"invManagementLevel": "D",
"backorderInd": "N",
"vatRegion": 1000,
"prepayInvoiceInd": "N",
"servicePerformedRequiredInd": "N",
"invoicePayLocation": null,
"invoiceReceiveLocation": null,
"invoiceGrossNet": "N",
"deliveryPolicy": "NEXT",
"comments": null,
"defaultItemLeadTime": null,
"dunsNo": null,
"dunsLocation": null,
"bracketCostingInd": "N",
"vmiOrderStatus": null,
"dsdSupplierInd": "N",
"supplierQuantityLevel": "EA",
"finalDestinationInd": "N",
"externalReferenceId": null,
"statusUpdateByRms": null,
"defaultPricingControl": null,
"primaryAddressType": "01",
"primaryAddressTypeDescription": "Business",
"primaryAddressAdd1": "test address",
"primaryAddressAdd2": null,
"primaryAddressAdd3": null,
"primaryAddressCity": "MN",
"primaryAddressState": "PA",
"primaryAddressCountryId": "US",
"primaryAddressJurisdictionCode": null,
"primaryAddressPost": "3182",
"primaryAddressContactName": null,
"primaryAddressContactPhone": null,
"primaryAddressContactTelex": null,
"primaryAddressContactFax": null,
"primaryAddressContactEmail": null,
"generateConsignmentOrderInd": "Y",
"generateSelfInvoicingInd": "Y",
"createDateTime": "2023-08-08T01:23:39.000Z",
"updateDateTime": "2023-10-26T17:07:34.000Z",
"customFlexAttribute": [
{
"name": "PARTS_ATTR",
"value": "test",
"valueDate": null,
"createDateTime": "2023-08-09T01:25:13.000Z",
"updateDateTime": "2023-08-09T01:33:18.000Z"
},
],
"address": [
{
"addressType": "01",
"addressTypeDescription": "Business",
"sequenceNo": 1,
"primaryAddressInd": "Y",
"add1": "test address",
"add2": null,
"add3": null,
"city": "MN",
"state": "PA",
"countryId": "US",
"jurisdictionCode": null,
"post": "3182",
"contactName": null,
"contactPhone": null,
"contactTelex": null,
"contactFax": null,
"contactEmail": null,
"createDateTime": "2023-08-08T01:34:34.000Z",
"updateDateTime": "2023-08-09T00:56:21.000Z",
"customFlexAttribute": null
},
{
"addressType": "02",
"addressTypeDescription": "Postal",
"sequenceNo": 1,
"primaryAddressInd": "Y",
"add1": "test address",
"add2": null,
"add3": null,
"city": "MN",
"state": "PA",
"countryId": "US",
"jurisdictionCode": null,
"post": "3182",
"contactName": null,
"contactPhone": null,
"contactTelex": null,
"contactFax": null,
"contactEmail": null,
"createDateTime": "2023-08-08T01:34:35.000Z",
"updateDateTime": "2023-08-09T00:57:07.000Z",
"customFlexAttribute": null
}
],
"supplierOrgUnit": [
{
"orgUnitId": 1111111111,
"primaryPaySiteInd": "N",
"createDateTime": "2023-08-08T01:36:30.000Z",
"updateDateTime": "2023-08-08T01:36:30.000Z"
}
],
"cacheTimestamp": "2023-10-26T20:03:46.186Z"
}
],
"hasMore": false,
"limit": 1,
"count": 1,
"links": null
}
Table Impact
The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.
TABLE | SELECT | INSERT | UPDATE | DELETE |
---|---|---|---|---|
MERCHAPI_CONFIG |
Yes |
No |
No |
No |
MERCHAPI_CONSUMER_CONFIG |
Yes |
No |
No |
No |
MERCHAPI_ASYNC_REQUEST |
Yes |
No |
No |
No |
MERCH_BATCH_PARAM |
Yes |
No |
No |
No |
SUPS |
Yes |
No |
No |
No |
SUPS_CFA_EXT |
Yes |
No |
No |
No |
ICL_RMS_SUPPLIER |
Yes |
No |
Yes |
Yes |
ICL_RMS_ADDR |
Yes |
No |
Yes |
Yes |
MERCHAPI_SUPPLIER |
Yes |
Yes |
Yes |
Yes |
V_ MERCHAPI_EXT_SUPPLIER_JSON |
Yes |
No |
No |
No |
Supplier Upload Service
Manage Supplier Evaluation Codes
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-110 Codes - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
items |
Yes |
Collection of Object |
Table 5-111 Items - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
type |
Yes |
String (255) |
This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE and STATUS. |
code |
Yes |
String (255) |
This is the supplier evaluation code which contains valid values for the code type. |
locale |
Yes |
Collection of Object |
Table 5-112 Locale - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
language |
Yes |
String (255) |
This field contains the Supplier Evaluation language code in which the translated text is maintained. The supported language codes are defined in SELG code type. Few examples are en_GB, en_US, sv, ru, nl, ja, zh_CN, it, pt_BR, de, fr, es. Any text in a non supported language will be ignored. |
description |
Yes |
String (255) |
This field contains the translated value of the code. |
Table 5-113 CodesError - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
type |
Yes |
String (255) |
This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE and STATUS. |
code |
Yes |
String (255) |
This is the supplier evaluation code which contains valid values for the code type. |
errorMessage |
Yes |
String (2000) |
This field contains the error message. |
Sample Input Message
{
"items": [
{
"type": "EVALUATION_TYPE",
"code": "SITE_AUDIT",
"locale": [
{
"language": "it",
"description": "Verifica del sito"
}
]
}
]
}
Response Code: 400 (Error)
In case of error, the following standard error response will be returned. The element "validationErrors" will be present when input payload or input parameters are not as per the schema definition of this service. The element "businessError" will be present if the payload passes schema validation but exception is caught while processing business logic.
Table 5-114 CodesError - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
type |
Yes |
String (255) |
This contains the supplier evaluation code type. Valid values are ASSESSMENT_STATUS, AUDIT_STATUS, AUDIT_SCORE, SCORE, EVALUATION_TYPE and STATUS. |
code |
Yes |
String (255) |
This is the supplier evaluation code which contains valid values for the code type. |
errorMessage |
Yes |
String (2000) |
This field contains the error message. |
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"type": "EVALUATION_TYPE",
"code": "SITE_AUDIT",
"errorMessage": "More than one record for the same type, code and language exist."
}
]
}
Manage Supplier Evaluation Transactions
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-115 Transactions - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
items |
Yes |
Collection of Object |
Table 5-116 Items - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplier |
Yes |
Number (10) |
This is the supplier site. |
transactionType |
Yes |
String (255) |
This field determines the type of transaction. This identifies the message type as Audit, Assessment, Summary, Document or Site Score. |
evaluationType |
Yes |
String (255) |
This field contains the code specific to the supplier evaluation type. The default set of suggested supplier evaluation types will be Ethical, Environmental and Governance, however the retailer/portal owner can configure their own set of values in addition or instead of these |
typeBusinessKey |
No |
String (255) |
This field contains the code of the assessment type or the audit template. |
typeBusinessKeyDescription |
No |
Collection of Object |
This node contains the language and the corresponding translation of the typeBusinessKey. |
recordBusinessKey |
No |
String (255) |
This field contains the name of the assessment or audit code. |
createdOn |
No |
date-time |
This field contains the timestamp of the event. |
dueDate |
No |
date |
This field contains the due date of the latest assessment for the assessment type for this site. |
status |
No |
String (255) |
This field contains the status of the supplier evaluation. |
due |
No |
String (5) |
For assessments, this field indicates whether the latest assessment for the assessment type for this site is due. For audit events, this indicates whether the latest audit/visit based on the audit template for this site is due. |
overDue |
No |
String (5) |
For assessments, this field indicates whether the latest assessment for the assessment type for this site is overdue. For audit events, this indicates whether the latest audit/visit based on the audit template for this site is overdue. |
completionDate |
No |
date |
For documents, this field contains the date on which the document was last published. For assessments, this field contains the timestamp that the most recent assessment at completed status for this assessment type for this site most recently moved to completed status. For audits, this field contains the timestamp that the most recent audit/visit at completed status for this audit template for this site most recently moved to completed status. |
score |
No |
String (255) |
This field contains the descriptive score of the most recent assessment at completed status for this assessment type for this site. |
scoreValue |
No |
Number (10) |
For assessments, this field contains the numeric score of the most recent assessment at completed status for this assessment type for this site. For audits, this field contains the numeric score of the most recent audit/visit at completed status for this audit template for this site. For supplier site score, this field contains the numeric value of the site's latest SE score. |
auditOpenIssues |
No |
Number (10) |
This field contains the count of open issues/non-conformances of the latest audit/visit based on the audit template for this site. |
auditCompletedIssues |
No |
Number (10) |
This field contains the count of completed issues/non-conformances of the latest audit/visit based on the audit template for this site. |
auditTotalIssues |
No |
Number (10) |
This field contains the count of total issues/non-conformances of the latest audit/visit based on the audit template for this site. |
Table 5-117 TypeBusinessKeyDescription - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
language |
Yes |
String (255) |
This field contains the Supplier Evaluation language code in which the translated text is maintained. The supported language codes are defined in SELG code type. Few examples are en_GB, en_US, sv, ru, nl, ja, zh_CN, it, pt_BR, de, fr, es. Any text in a non supported language will be ignored. |
typeDescription |
Yes |
String (255) |
This field contains the translated value of the typeBusinessKeyDescription. |
Table 5-118 TransactionsError - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplier |
Yes |
Number (10) |
This is the supplier site. |
transactionType |
Yes |
String (255) |
This field determines the type of transaction. This identifies the message type as Audit, Assessment, Summary, Document or Site Score. |
evaluationType |
Yes |
String (255) |
This field contains the code specific to the supplier evaluation type. The default set of suggested supplier evaluation types will be Ethical, Environmental and Governance, however the retailer/portal owner can configure their own set of values in addition or instead of these |
typeBusinessKey |
No |
String (255) |
This field contains the code of the assessment type or the audit template. |
recordBusinessKey |
No |
String (255) |
This field contains the name of the assessment or audit code. |
errors |
Yes |
Array of String |
Collection of validation errors for the supplier evaluation record. |
Sample Input Message
{
"items": [
{
"supplier": 30201,
"transactionType": "Audit",
"evaluationType": "ETHICAL",
"typeBusinessKey": "SITE_AUDIT",
"typeBusinessKeyDescription": [
{
"language": "es",
"typeDescription": "Auditoría del sitio"
}
],
"recordBusinessKey": "AUD45",
"createdOn": "2001-12-31T23:59:59.123Z",
"dueDate": "2001-12-31",
"status": "COMPLETED",
"due": "true",
"overDue": "false",
"completionDate": "2001-12-31",
"score": "PASS",
"scoreValue": 80,
"auditOpenIssues": 1,
"auditCompletedIssues": 7,
"auditTotalIssues": 8
}
]
}
Response Code: 400 (Error)
In case of error, the following standard error response will be returned. The element "validationErrors" will be present when input payload or input parameters are not as per the schema definition of this service. The element "businessError" will be present if the payload passes schema validation but exception is caught while processing business logic.
Table 5-119 TransactionsError - Object. See list of elements for detail
Element Name | Required | Data Type | Description |
---|---|---|---|
supplier |
Yes |
Number (10) |
This is the supplier site. |
transactionType |
Yes |
String (255) |
This field determines the type of transaction. This identifies the message type as Audit, Assessment, Summary, Document or Site Score. |
evaluationType |
Yes |
String (255) |
This field contains the code specific to the supplier evaluation type. The default set of suggested supplier evaluation types will be Ethical, Environmental and Governance, however the retailer/portal owner can configure their own set of values in addition or instead of these |
typeBusinessKey |
No |
String (255) |
This field contains the code of the assessment type or the audit template. |
recordBusinessKey |
No |
String (255) |
This field contains the name of the assessment or audit code. |
errors |
Yes |
Array of String |
Collection of validation errors for the supplier evaluation record. |
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
],
"businessError": [
{
"supplier": 30201,
"transactionType": "Audit",
"evaluationType": "ETHICAL",
"typeBusinessKey": "SITE_AUDIT",
"recordBusinessKey": "AUD45",
"errors": [
"Invalid evaluation type: ETHICAL"
]
}
]
}
Tax Rules
The following services are included in this functional area:
Tax Rule Download Service
The following services are included in this functional area:
Get Item Location Tax Rules
Business Overview
This service retrieves the tax rules that determine how retail tax is calculated on a sales transaction for an item at the location level. This service is used by external systems that require this information to obtain the tax rules for items being sold at a given store.
The service can retrieve tax rule details for all items at a given store, for all stores for a given item, or for all items at all stores depending on the provided input. For example, if a location is provided, the service will return information for the provided location.
In order to fetch new updates pass the parameter of since
/before
timestamp.
ReST URL
/MerchIntegrations/services/foundation/taxLocationItem
/MerchIntegrations/services/foundation/taxLocationItem?limit=1000&locationType={locationType}&location={location}&item={item}&offsetkey={offsetkey}&since={since}&before={before}
Input Parameters
Parameter Name | Required | Data Type | Description |
---|---|---|---|
since |
No |
String |
Since Date. Format: |
before |
No |
String |
Before Date. Format: |
Item |
No |
String |
This field specifies unique alphanumeric value that identifies the item |
locationType |
No |
String |
This contains the type of location. Valid value is Store ( |
location |
No |
String |
This field contains numeric identifier of the store location. |
offsetkey |
No |
String |
Offset Key. Valid Values are
|
limit |
No |
String |
Pagination limit. Default Value is 1000. |
Output
Elements | Description | |
---|---|---|
items |
The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query. |
|
hasMore |
This is dependent on limit value. If the total rows are more than the limit defined, then hasMore will be set to true else false. |
|
limit |
This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed. For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a "next" link else no links would be added to the JSON response. |
|
links |
“self”: This contains URI pointing to current page. “next”: This contains URI pointing to the next page of results. |
Table 5-120 Items - Object. See list of elements for detail
Name | Data Type | Description |
---|---|---|
action |
String |
Action for Item Tax Location Item details. Valid Values are INSERT, UPDATE, DELETE and UPSERT. |
location |
Number |
This field contains numeric identifier of the location in which the item is to be found. |
locType |
String |
This field contains the type of location. Valid value is Store ( |
taxLocationId |
String |
The tax location identifier is derived based on the location’s tax region and the association of the location’s CFAs to one or more tax rules. A store with CFAs used on a tax rule may have a different tax location from other stores that are part of the same tax region. |
ruleId |
String |
Tax Rule identifier. |
ruleName |
String |
Tax Rule Name. |
taxRegionSource |
String |
Source Tax Region. |
taxRegionDestination |
String |
Destination Tax Region. |
taxAuthorityId |
String |
A specific tax authority that establishes the tax rate. The tax authority is normally a government body. For example, National, State, Province, City, and so on. |
taxCalcType |
String |
The tax calculation type which indicates if the tax is calculated as
a percentage of a value or as a monetary amount per unit. Possible values are Percentage ( |
taxCode |
String |
Tax code. |
taxRate |
String |
Tax rate in percentage when tax calculation type is Percentage ( |
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 ( |
activeDate |
String |
Date upon which this tax rule became, or will become active. |
endDate |
String |
Date upon which this tax rule expired or will expire. |
currencyCode |
String |
Contains the currency code for the tax rule. For per unit tax application. |
taxGroupId |
String |
Tax group identifier. |
createDateTime |
String |
This field holds the record creation date. |
updateDateTime |
String |
This field holds the date when the record was last updated. |
cacheTimestamp |
String |
This field specifies date and time when the tax location/item record was last maintained. |
Sample Response Message
{
"items": [
{
"action": "UPSERT",
"item": "100013765",
"loctype": "S",
"location": 1111,
"taxLocationId": "10000001000",
"ruleId": "40001",
"ruleName": "Rule for Item 100013765",
"taxRegionSource": null,
"taxRegionDestionation": 1000,
"taxAuthorityId": null,
"taxCalcType": "P",
"taxCode": "TOTAX",
"taxRate": 22,
"effectiveTaxRate": null,
"taxValuePerUnity": null,
"activeDate": "2024-04-01",
"endDate": "2026-06-09",
"currencyCode": null,
"createDateTime": "2024-07-19T02:37:21.995Z",
"updateDateTime": "2024-07-19T02:37:21.995Z",
"cacheTimestamp": "2024-07-19T02:37:21.995Z",
"taxGroupId": "2238422788"
}
],
"hasMore": true,
"limit": 1,
"count": 1,
"links": [
{
"href": "https://<server>:<port>/Application/services/foundation/taxLocationItem?limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:28:42.628Z",
"rel": "self"
},
{
"href": "https://<server>:<port>/Application/services/services/foundation/taxLocationItem?offsetkey=100013765%2C10000001000%2C40001&limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:28:42.628Z",
"rel": "next"
}
]
}
Table Impact
The list of table includes the data pre-processing for this service along with the table/views queried during the ReST call.
TABLE | SELECT | INSERT | UPDATE | DELETE |
---|---|---|---|---|
MERCHAPI_CONFIG |
Yes |
No |
No |
No |
MERCHAPI_CONSUMER_CONFIG |
Yes |
No |
No |
No |
MERCHAPI_GTS_TAX_LOC_ITEM |
Yes |
No |
No |
No |
MERCHAPI_GTS_TAX_LOC |
Yes |
No |
No |
No |
Get Store Tax Location
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.
ReST URL
/MerchIntegrations/services/foundation/taxLocation?limit=1000& locationType={locationType}&location={location}&offsetkey={offsetkey}&since={since}&before={before}
Input Parameters
Parameter Name | Required | Data Type | Description |
---|---|---|---|
since |
No |
String |
Since Date. Format: |
before |
No |
String |
Before Date. Format: |
locationType |
No |
String |
This contains the type of location. Valid value is Store ( |
location |
No |
String |
This field contains numeric identifier of the store location. |
offsetkey |
No |
String |
Offset Key. Valid Values are
|
limit |
No |
String |
Pagination limit. Default Value is 1000. |
Output
Elements | Description | |
---|---|---|
items |
The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query. |
|
hasMore |
This is dependent on limit value. If the total rows are more than the limit defined, then hasMore will be set to true else false. |
|
limit |
This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed. For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a "next" link else no links would be added to the JSON response. |
|
links |
“self”: This contains URI pointing to current page. “next”: This contains URI pointing to the next page of results. |
Table 5-121 Items - Object. See list of elements for detail
Name | Data Type | Description |
---|---|---|
action |
String |
Action for Tax Location details. Valid Values are INSERT, UPSERT, UPDATE and DELETE. |
location |
Number |
This field contains numeric identifier of the store location. |
locationType |
String |
This field contains the type of location in which the item is to be
found. Valid value is Store ( |
taxLocationId |
String |
The tax location identifier is derived based on the location’s tax region and the association of the location’s CFAs to one or more tax rules. A store with CFAs used on a tax rule may have a different tax location from other stores that are part of the same tax region. |
createDateTime |
String |
This field holds the record creation date. |
updateDateTime |
String |
This field holds the date when the record was last updated. |
cacheTimestamp |
String |
This field specifies date and time when the tax location record was last maintained. |
Elements in JSON Output
{
"items": [
{
"action": "INSERT",
"location": 1200,
"locationType": "S",
"taxLocationId": "10000000012",
"createDateTime": "2024-07-19T02:37:21.586Z",
"updateDateTime": "2024-07-19T02:37:21.586Z",
"cacheTimestamp": "2024-07-19T02:37:21.586Z"
}
],
"hasMore": true,
"limit": 1000,
"count": 1000,
"links": [
{
"href": https://<server>:<port>/Application/services//foundation/taxlocation?limit=1000&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:24:57.599Z,
"rel": "next"
}
]
}
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.
Table 5-122 Tax Rules
Tax Rule | Items | Tax Region | Tax Calculation |
---|---|---|---|
Tax Rule A |
111, 222, 333 |
Main Region |
Standard VAT 16% |
Tax Rule B |
444, 555, 666 |
Main Region |
Reduced VAT 0% |
Tax Rule C |
111, 222, 333 |
Border Region |
Standard VAT 8% |
Tax Rule D |
444, 555, 666 |
Border Region |
Reduced VAT 0% |
Tax Rule E |
222, 444 |
Main Region |
IEPS Tax 2.00 per unit |
Tax Rule F |
333, 555 |
Border Region |
IEPS Tax 1% |
Each store in Merchandising will have an associated tax region:
Table 5-123 Store Definitions
Location | Tax Region |
---|---|
Store A |
Main Region |
Store B |
Main Region |
Store C |
Border Region |
Store D |
Border Region |
Merchandising will organize the tax rules into tax groups using the tax rule definitions and location’s tax region associations.
For any case where one or more items have a unique tax rule, or a unique set of tax rules at one or more stores, the system will create a tax group for the tax tule or group of tax rules.
Steps to determine the Tax Group for a given item/location:
-
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.
Table 5-124 Tax Groups
Item | Tax Region | Tax Rule or Rules Applied | Tax Group |
---|---|---|---|
111, 333 |
Main Region |
Tax Rule A |
Group 1 |
666 |
Main Region |
Tax Rule B |
Group 2 |
111, 222 |
Border Region |
Tax Rule C |
Group 3 |
444, 666 |
Border Region |
Tax Rule D |
Group 4 |
222 |
Main Region |
Tax Rule A and Tax Rule E |
Group 5 |
444 |
Main Region |
Tax Rule B and Tax Rule E |
Group 6 |
333 |
Border Region |
Tax Rule C and Tax Rule F |
Group 7 |
555 |
Border Region |
Tax Rule D and Tax Rule F |
Group 8 |
The Tax Authority provided in the output of this service is derived by Merchandising Tax Codes setup (vat_codes
).
In order to fetch new updates pass the parameter of since
/before
timestamp.
ReST URL
/MerchIntegrations/services/foundation/taxGroupRule?limit=1000&offsetkey={offsetkey}&since={since}&before={before}
Input Parameters
Parameter Name | Required | Data Type | Description |
---|---|---|---|
since |
No |
String |
Since Date. Format: |
before |
No |
String |
Before Date. Format: |
offsetkey |
No |
String |
Offset Key. Valid Values are
|
limit |
No |
String |
Pagination limit. Default Value is 1000. |
Elements in JSON Output
Elements | Description | |
---|---|---|
items |
The first element is named as items and contains a number of child elements. Each child element corresponds to a row in the result set generated by the query. |
|
hasMore |
This is dependent on limit value. If the total rows are more than the limit defined, then hasMore will be set to true else false. |
|
limit |
This is used to limit the rows to control the paging of result data. Based on the limit, next and previous links are displayed. For example: If the limit is set to 25, internal it tries to fetch 26 rows. If 26th row exists, then 25 rows are returned along with a "next" link else no links would be added to the JSON response. |
|
links |
“self”: This contains URI pointing to current page. “next”: This contains URI pointing to the next page of results. |
Table 5-125 Items - Object. See list of elements for detail
Name | Data Type | Description |
---|---|---|
action |
String |
Action for tax group rules details. Valid Values are INSERT, UPSERT, UPDATE and DELETE. |
taxGroupId |
String |
The tax group identifier is determined by Merchandising based on the criteria applied on the combinations of location tax identification, tax rules and items. |
groupName |
String |
Group Name |
taxLocationId |
String |
The tax location identifier is derived based on the location’s tax region and the association of the location’s CFAs to one or more tax rules. A store with CFAs used on a tax rule may have a different tax location from other stores that are part of the same tax region. |
ruleId |
String |
Tax Rule identifier |
ruleSequence |
String |
Sequence of the rule within the tax group |
ruleName |
String |
Tax Rule Name |
taxRegionSource |
String |
Source Tax Region. |
taxRegionDestination |
String |
Destination Tax Region |
taxAuthorityId |
String |
A specific tax authority that establishes the tax rate. The tax authority is normally a government body. For example, National, State, Province, City, and so on. |
taxCalcType |
String |
The tax calculation type which indicates if the tax is calculated as a percentage of a value or as a monetary amount per unit. Possible values are Percentage (P) or Per Unit (U). |
taxCode |
String |
Tax code |
taxRate |
String |
Tax rate in percentage when tax calculation type is Percentage (P). |
effectiveTaxRate |
String |
Tax over tax rate calculated based on predecessor tax rule when applied |
taxValuePerUnit |
String |
Tax value when tax calculation type is Per Unit (U). |
activeDate |
String |
Date upon which this tax rule became, or will become active. |
endDate |
String |
Date upon which this tax rule expired or will expire. |
currencyCode |
String |
Contains the currency code for the tax rule. For per unit tax application. |
createDateTime |
String |
This field holds the record creation date. |
updateDateTime |
String |
This field holds the date when the record was last updated. |
cacheTimestamp |
String |
This field specifies date and time when the tax group record was last maintained. |
Sample Response Message
{
"items": [
{
"action": "INSERT",
"taxGroupId": 2654787678,
"groupName": "Rule 55003",
"taxLocationId": 10000000011,
"ruleId": "55003",
"createDateTime": "2024-07-19T02:37:21.757Z",
"updateDateTime": "2024-07-19T02:37:21.757Z",
"cacheTimestamp": "2024-07-19T02:37:21.757Z",
"ruleName": "Rule 55003",
"taxRegionSource": 1,
"taxRegionDestionation": 11,
"taxAuthorityId": null,
"taxCalcType": "P",
"taxCode": "MIV2",
"taxRate": 0,
"effectiveTaxRate": null,
"taxValuePerUnity": null,
"activeDate": "2024-04-23",
"endDate": null,
"currencyCode": null,
"ruleSequence": "1"
}
],
"hasMore": true,
"limit": 1,
"count": 1,
"links": [
{
"href": "https://<server>:<port>/Application/services/foundation/taxGroupRule?limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:26:51.588Z",
"rel": "self"
},
{
"href": "https://<server>:<port>/Application/services/foundation/taxGroupRule?offsetkey=2654787678%2C10000000011%2C55003&limit=1&since=1970-01-01T00:00:00.001Z&before=2024-07-24T17:26:51.588Z",
"rel": "next"
}
]
}
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-126 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.
Parameter Name | Required | Data Type | Description |
---|---|---|---|
ruleName |
No |
String (300) |
Translated Rule. |
lang |
No |
Number (6) |
Lang. |
Table 5-127 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.
Parameter Name | Required | Data Type | Description |
---|---|---|---|
conditionType |
No |
String (6) |
Type of condition used. Valid values are '1' for All Departments,'2' for Department,'3' for Class,'4' for Subclass,'5' for Item,'6' for Parent/Diff,'7' for Item List and '8' for Upload List. |
dept |
No |
Number (4) |
Item Department. |
class |
No |
Number (4) |
Item Class. |
subclass |
No |
Number (4) |
Item subclass. |
itemId |
No |
String (25) |
Item ID. |
itemList |
No |
Number (8) |
This field contains Item List number that was used to create this item record. |
excludeInd |
No |
String (1) |
Indicates if the condition in exclude or include. Valid values are Y or N. |
diffId |
No |
String (10) |
Diff ID used when condition type is Parent/DIFF. |
Table 5-128 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.
Element Name | Required | Data Type | Description |
---|---|---|---|
attributeId |
No |
Number (10) |
This column holds the attribute id that this extended data is associated with. |
attributeValue |
No |
String (250) |
This column holds the CFA value selected for the rule. |
restrictionLevel |
No |
String (6) |
Restriction Level. Valid values are M for Merchandise Hierarchy, D for Destination Region and S for Source Region. |
JSON Structure:
{
"ruleId": 919875,
"ruleName": "Tax Rules US-CA",
"taxRegionSource": 1000,
"taxRegionDestination": 200,
"activeDate": "2022-09-01",
"endDate": "2022-12-31",
"status": "S",
"taxCode": "S",
"taxCalcType": "P",
"taxRate": 35.00,
"taxBasisType": "B",
"taxBasisFactor": 11.00,
"nonMerchCode": "",
"uomType": ",
"uomValue": 68.00,
"currencyCode": "",
"reverseTaxInd": "",
"reverseTaxThreshold": 19.00,
"predecessorTaxRulesId": 514301,
"regionExplodeType": "A",
"gtsRulesConfigTlTbl": [
{
"ruleName": "Tax Rules TL US-CA",
"lang": 2
}
],
"gtsRulesConditionsTbl": [
{
"conditionType": "1"
}
],
"gtsRulesCfaTbl": [
{
"attributeId": 4,
"attributeValue": "A",
"restrictionLevel": "S"
}
]
}
Output
Element Name | Required | Data Type | Description |
---|---|---|---|
status |
No |
String (255) |
Process Execution status.E – Execution finished with errors. S – Execution completed successfully. |
errMsg |
No |
String (4000) |
Error message, in case of error. |
errTbl |
No |
Collection of Object |
Error table in case of existing errors. |
Table 5-129 ErrTbl - Table used to detail errors associated with execution.
Element Name | Required | Data Type | Description |
---|---|---|---|
columnName |
No |
String (255) |
Column name associated with error message. |
errorMsg |
No |
String (4000) |
Error msg. |
JSON Structure:
{
"status": "E",
"errMsg": "”
"errTbl": [
{
"columnName": "STATUS",
"errorMsg": "Invalid Status.","
}
]
}
Response Code: 400 (Error)
In case of error, the following standard error response will be returned. The element validationErrors
will be present when input payload or input parameters do not match the schema definition for this service.
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Table Impact
TABLE | SELECT | INSERT | UPDATE | DELETE |
---|---|---|---|---|
SVC_GTS_RULES_CONFIG |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CONFIG_TL |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CFA |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CONDITIONS |
Yes |
Yes |
No |
No |
GTS_RULES_CONFIG |
Yes |
No |
No |
No |
GTS_RULES_CONFIG_TL |
Yes |
No |
No |
No |
GTS_RULES_CFA |
Yes |
No |
No |
No |
GTS_RULES_CONDITIONS |
Yes |
No |
No |
No |
Update Tax Rule
Input
Parameter Name | Required | Data Type | Description |
---|---|---|---|
ruleId |
No |
Number (15) |
Tax rule unique ID. |
ruleName |
No |
String (300) |
Tax Rule Name. |
taxRegionSource |
No |
Number (4) |
Source Tax Region. |
taxRegionDestination |
No |
Number (4) |
Destination Tax Region. |
activeDate |
No |
date |
Effective date when this tax rule become active. |
endDate |
No |
date |
End date when this tax rule expired. |
status |
No |
String (6) |
Status of the Rule. Valid Values are 'AC' for Active, 'AP' for Approved, 'O' Obsoleted, 'S' for Submitted, 'U' for Updated, 'W' for Worksheet. |
taxCode |
No |
String (6) |
Tax code. |
taxCalcType |
No |
String (6) |
Define the tax calculation type. Possible values are 'P' for Percentage or 'U' for Unit'. |
taxRate |
No |
Number (20,10) |
Tax rate in percentage when tax calculation type is in percentage. |
taxBasisType |
No |
String (6) |
Indicate which value is used as base calculation to apply tax. Valid values are: ’C’ for UNIT_COST, ‘R’ for UNIT_R'ETAIL, or ‘B’ for BOTH, 'N'ON_MERCH_COST. |
taxBasisFactor |
No |
Number (20,10) |
Contains a unique user specified code representing the non-merchandise code. |
nonMerchCode |
No |
String (6) |
Contains a unique user specified code representing the non-merchandise code. |
uomType |
No |
String (4) |
UOM type selected to be considered when tax calculation is in unit. |
uomValue |
No |
Number (20,10) |
UOM value selected to be considered when tax calculation is in unit. |
currencyCode |
No |
String (3) |
Contains the currency code for the tax rule. For unit tax application. |
reverseTaxInd |
No |
String (1) |
Reverse Tax Indicator: Valid values are ‘Y’ for Enable or ‘N’ for Disable. |
reverseTaxThreshold |
No |
Number (20,10) |
Threshold amount to be taken in consideration while returning the tax code. It will have value when REVERSE_TAX_IND is Y. |
predecessorTaxRulesId |
No |
Number (15) |
Holds the predecessor rule ID that the result of the tax calculated in the predecessor rule will be added to the tax basis of the current rule in order to address Tax over Tax calculation requirement. |
regionExplodeType |
No |
String (6) |
Tax over tax rate calculated based in predecessor tax rule when applied. |
gtsRulesConfigTlTbl |
No |
Collection of Object |
Translation records associated with tax record. |
gtsRulesConditionsTbl |
No |
Collection of Object |
Conditions associated with tax record. |
gtsRulesCfaTbl |
No |
Collection of Object |
Rules restrictions associated with tax record. |
Table 5-130 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.
Element Name | Required | Data Type | Description |
---|---|---|---|
ruleName |
No |
String (300) |
Translated Rule. |
lang |
No |
Number (6) |
Lang. |
Table 5-131 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.
Element Name | Required | Data Type | Description |
---|---|---|---|
conditionType |
No |
String (6) |
Type of condition used. Valid values are '1' for All Departments,'2' for Department,'3' for Class,'4' for Subclass,'5' for Item,'6' for Parent/Diff,'7' for Item List and '8' for Upload List. |
dept |
No |
Number (4) |
Item Department. |
class |
No |
Number (4) |
Item Class. |
subclass |
No |
Number (4) |
Item subclass. |
itemId |
No |
String (25) |
Item ID. |
itemList |
No |
Number (8) |
This field contains Item List number that was used to create this item record. |
excludeInd |
No |
String (1) |
Indicates if the condition in exclude or include. Valid values are Y or N. |
diffId |
No |
String (10) |
Diff ID used when condition type is Parent/DIFF. |
Table 5-132 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.
Element Name | Required | Data Type | Description |
---|---|---|---|
attributeId |
No |
Number (10) |
This column holds the attribute id that this extended data is associated with. |
attributeValue |
No |
String (250) |
This column holds the CFA value selected for the rule. |
restrictionLevel |
No |
String (6) |
Restriction Level. Valid values are M for Merchandise Hierarchy, D for Destination Region and S for Source Region. |
JSON Structure:
{
"ruleId": 919875,
"ruleName": "Tax Rules US-CA",
"taxRegionSource": 1000,
"taxRegionDestination": 200,
"activeDate": "2022-09-01",
"endDate": "2022-12-31",
"status": "W",
"taxCode": "S",
"taxCalcType": "P",
"taxRate": 35.00,
"taxBasisType": "B",
"taxBasisFactor": 11.00,
"nonMerchCode": "",
"uomType": ",
"uomValue": 68.00,
"currencyCode": "",
"reverseTaxInd": "",
"reverseTaxThreshold": 19.00,
"predecessorTaxRulesId": 514301,
"regionExplodeType": "A",
"gtsRulesConfigTlTbl": [
{
"ruleName": "Tax Rules TL US-CA",
"lang": 2
}
],
"gtsRulesConditionsTbl": [
{
"conditionType": "1"
}
],
"gtsRulesCfaTbl": [
{
"attributeId": 4,
"attributeValue": "A",
"restrictionLevel": "S"
}
]
}
Output
Element Name | Required | Data Type | Description |
---|---|---|---|
status |
No |
String (255) |
Process Execution status.E – Execution finished with errors. S – Execution completed successfully. |
errMsg |
No |
String (4000) |
Error message, in case of error. |
errTbl |
No |
Collection of Object |
Error table in case of existing errors. |
Table 5-133 ErrTbl - Table used to detail errors associated with execution.
Element Name | Required | Data Type | Description |
---|---|---|---|
columnName |
No |
String (255) |
Column name associated with error message. |
errorMsg |
No |
String (4000) |
Error msg. |
JSON Structure:
{
"status": "E",
"errMsg": " CANNOT_UPD_RULE ",
"errTbl": [
{
"columnName": "",
"errorMsg": " The rule was not submitted successfully."
}
]
}
Response Code: 400 (Error)
In case of error, the following standard error response will be returned. The element validationErrors
will be present when input payload or input parameters do not match the schema definition for this service.
JSON Structure:
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Table Impact
TABLE | SELECT | INSERT | UPDATE | DELETE |
---|---|---|---|---|
SVC_GTS_RULES_CONFIG |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CONFIG_TL |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CFA |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CONDITIONS |
Yes |
Yes |
No |
No |
GTS_RULES_CONFIG |
Yes |
No |
Yes |
No |
GTS_RULES_CONFIG_TL |
Yes |
No |
Yes |
No |
GTS_RULES_CFA |
Yes |
No |
Yes |
No |
GTS_RULES_CONDITIONS |
Yes |
No |
Yes |
No |
Delete Tax Rule
Input
Parameter Name | Required | Data Type | Description |
---|---|---|---|
ruleId |
No |
Number (15) |
Tax rule unique ID. |
ruleName |
No |
String (300) |
Tax Rule Name. |
taxRegionSource |
No |
Number (4) |
Source Tax Region. |
taxRegionDestination |
No |
Number (4) |
Destination Tax Region. |
activeDate |
No |
date |
Effective date when this tax rule become active. |
endDate |
No |
date |
End date when this tax rule expired. |
status |
No |
String (6) |
Status of the Rule. Valid Values are 'AC' for Active, 'AP' for Approved, 'O' Obsoleted, 'S' for Submitted, 'U' for Updated, 'W' for Worksheet. |
taxCode |
No |
String (6) |
Tax code. |
taxCalcType |
No |
String (6) |
Define the tax calculation type. Possible values are 'P' for Percentage or 'U' for Unit'. |
taxRate |
No |
Number (20,10) |
Tax rate in percentage when tax calculation type is in percentage. |
taxBasisType |
No |
String (6) |
Indicate which value is used as base calculation to apply tax. Valid values are: ’C’ for UNIT_COST, ‘R’ for UNIT_R'ETAIL, or ‘B’ for BOTH, 'N'ON_MERCH_COST. |
taxBasisFactor |
No |
Number (20,10) |
Contains a unique user specified code representing the non-merchandise code. |
nonMerchCode |
No |
String (6) |
Contains a unique user specified code representing the non-merchandise code. |
uomType |
No |
String (4) |
UOM type selected to be considered when tax calculation is in unit. |
uomValue |
No |
Number (20,10) |
UOM value selected to be considered when tax calculation is in unit. |
currencyCode |
No |
String (3) |
Contains the currency code for the tax rule. For unit tax application. |
reverseTaxInd |
No |
String (1) |
Reverse Tax Indicator: Valid values are ‘Y’ for Enable or ‘N’ for Disable. |
reverseTaxThreshold |
No |
Number (20,10) |
Threshold amount to be taken in consideration while returning the tax code. It will have value when REVERSE_TAX_IND is Y. |
predecessorTaxRulesId |
No |
Number (15) |
Holds the predecessor rule ID that the result of the tax calculated in the predecessor rule will be added to the tax basis of the current rule to address Tax over Tax calculation requirement. |
regionExplodeType |
No |
String (6) |
Tax over tax rate calculated based in predecessor tax rule when applied. |
gtsRulesConfigTlTbl |
No |
Collection of Object |
Translation records associated with tax record. |
gtsRulesConditionsTbl |
No |
Collection of Object |
Conditions associated with tax record. |
gtsRulesCfaTbl |
No |
Collection of Object |
Rules restrictions associated with tax record. |
Table 5-134 GtsRulesConfigTlTbl - This table receive information regarding translations that may be necessary.
Element Name | Required | Data Type | Description |
---|---|---|---|
ruleName |
No |
String (300) |
Translated Rule. |
lang |
No |
Number (6) |
Lang. |
Table 5-135 GtsRulesConditionsTbl - This table receives the conditions that will be used in the processing.
Element Name | Required | Data Type | Description |
---|---|---|---|
conditionType |
No |
String (6) |
Type of condition used. Valid values are '1' for All Departments,'2' for Department,'3' for Class,'4' for Subclass,'5' for Item,'6' for Parent/Diff,'7' for Item List and '8' for Upload List. |
dept |
No |
Number (4) |
Item Department. |
class |
No |
Number (4) |
Item Class. |
subclass |
No |
Number (4) |
Item subclass. |
itemId |
No |
String (25) |
Item ID. |
itemList |
No |
Number (8) |
This field contains Item List number that was used to create this item record. |
excludeInd |
No |
String (1) |
Indicates if the condition in exclude or include. Valid values are Y or N. |
diffId |
No |
String (10) |
Diff ID used when condition type is Parent/DIFF. |
Table 5-136 GtsRulesCfaTbl - This table (CFA) receives and process the restrictions associated with the rules.
Element Name | Required | Data Type | Description |
---|---|---|---|
attributeId |
No |
Number (10) |
This column holds the attribute id that this extended data is associated with. |
attributeValue |
No |
String (250) |
This column holds the CFA value selected for the rule. |
restrictionLevel |
No |
String (6) |
Restriction Level. Valid values are M for Merchandise Hierarchy, D for Destination Region and S for Source Region. |
JSON Structure:
{
"ruleId": 919875,
"ruleName": "Tax Rules US-CA",
"taxRegionSource": 1000,
"taxRegionDestination": 200,
"activeDate": "2022-09-01",
"endDate": "2022-12-31",
"status": "W",
"taxCode": "S",
"taxCalcType": "P",
"taxRate": 35.00,
"taxBasisType": "B",
"taxBasisFactor": 11.00,
"nonMerchCode": "",
"uomType": ",
"uomValue": 68.00,
"currencyCode": "",
"reverseTaxInd": "",
"reverseTaxThreshold": 19.00,
"predecessorTaxRulesId": 514301,
"regionExplodeType": "A",
"gtsRulesConfigTlTbl": [
{
"ruleName": "Tax Rules TL US-CA",
"lang": 2
}
],
"gtsRulesConditionsTbl": [
{
"conditionType": "1"
}
],
"gtsRulesCfaTbl": [
{
"attributeId": 4,
"attributeValue": "A",
"restrictionLevel": "S"
}
]
}
Output
Element Name | Required | Data Type | Description |
---|---|---|---|
status |
No |
String (255) |
Process Execution status.E – Execution finished with errors. S – Execution completed successfully. |
errMsg |
No |
String (4000) |
Error message, in case of error. |
errTbl |
No |
Collection of Object |
Error table in case of existing errors. |
Table 5-137 ErrTbl - Table used to detail errors associated with execution.
Element Name | Required | Data Type | Description |
---|---|---|---|
columnName |
No |
String (255) |
Column name associated with error message. |
errorMsg |
No |
String (4000) |
Error msg. |
JSON Structure:
{
"status": "E",
"errMsg": " CANNOT_UPD_RULE ",
"errTbl": [
{
"columnName": "",
"errorMsg": " The rule was not submitted successfully."
}
]
}
Response Code: 400 (Error)
In case of error, the following standard error response will be returned. The element validationErrors
will be present when input payload or input parameters do not match the schema definition for this service.
Sample Error Message
{
"status": "ERROR",
"message": "Error found in validation of input payload",
"validationErrors": [
{
"error": "must be one of Y, N",
"field": "createRecord.arg0.approveInd",
"inputValue": "X"
}
]
}
Table Impact
TABLE | SELECT | INSERT | UPDATE | DELETE |
---|---|---|---|---|
SVC_GTS_RULES_CONFIG |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CONFIG_TL |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CFA |
Yes |
Yes |
No |
No |
SVC_GTS_RULES_CONDITIONS |
Yes |
Yes |
No |
No |
GTS_RULES_CONFIG |
Yes |
No |
No |
Yes |
GTS_RULES_CONFIG_TL |
Yes |
No |
No |
Yes |
GTS_RULES_CFA |
Yes |
No |
No |
Yes |
GTS_RULES_CONDITIONS |
Yes |
No |
No |
Yes |