Mirror of Oracle documentation

Converted for search and offline reading. Authoritative source: Oracle. Diagrams and some complex tables are simplified — check the PDF when in doubt.

3 RIB Subscription Designs

This chapter provides an overview of the RIB subscription APIs used in by Merchandising.

Allocation Subscription API

This section describes the allocation subscription API.

Functional Area

Allocation

Business Overview

This API allows an external application to create, update, and delete allocations within Merchandising. The Oracle Retail Allocation Cloud Service does not use this API to interface allocations to Merchandising. Allocations created or updated using this API include those that are based on warehouse inventory, as well as those using inventory from another transaction, such as a purchase order, another allocation, a transfer, or a shipment (Vendor ASN or BOL) intended for a warehouse location. When allocating using something other than warehouse inventory, the ID of the transaction must also be included.

The receiving location for an allocation created through the API can be -

  • Intra/Intercompany Stockholding store (both company owned and franchise)

  • Intercompany Non-stockholding company store

  • Intra/Intercompany Non-stockholding franchise store

  • Stockholding warehouse location, except internal finishers.

If an allocation for a franchise store is received, Merchandising will also create a corresponding franchise order. This API supports multiple destination locations of the same or different type (warehouses as well as stores) as part of the detail section within the same message.

Allocation details can be created, edited, or deleted within the allocation message, including adding new locations to existing allocations, or modifying quantities for existing locations. If modifying an existing location, it assumes that the quantity that is passed in the message is an adjustment to the current quantity as opposed to an overwrite of the original value.

Detail lines can be individually removed from an allocation if the item on the detail line is not intransit, received, or in progress. An entire allocation can be deleted if none of details are intransit, have been received or is being processed by the source warehouse.

Allocation Creation

When new allocations are being created, this API first validates that all the required fields are present. After that, business level validations are performed on the input information . Detail line items must exist on an allocation header create message for an allocation to be created. New item location relationships will be created for allocation detail line items that did not previously exist.

Allocation Modification

Modifying an existing allocation will first validate the existence of the allocation header for modification. Only the allocation description, release date, and status can be modified at the header level.

Allocation Create or Update

Message ElementIncluded?Notes
AllocationAlwaysContains the unique identifer of the allocation.
This should fall within the range of Merchandising
IDs already designated for allocations.
Allocation DescriptionAlwaysContains the user defned description of the
allocation.
Order No.OptionalContains the purchase order with which the
allocation is associated. Only used if the source for
the allocation is a purchase order.
ItemAlwaysContains the transaction level item that is being
allocated.
From LocationAlwaysContains the location that is the source of the
allocation. This must be a valid stockholding
virtual warehouse.
Release DateOptionalContains the earliest date on which the warehouse
should ship the allocation.
Origin IndicatorOptionalIndicates the source application that sends the
allocation. Valid values are Oracle Retail Advanced
Inventory Planning (AIP) and externally generated
(EG). It will be defaulted to EG, if not provided.
Allocation DetailsOptionalChild Node
Doc IDOptionalContains identifcation number for a transfer,
another allocation, bill of landing number (BOL), or
advanced shipping notice (ASN) number for a
purchase order. This feld is populated according to
document type and indicates where the inventory
for the allocation should be sourced. This should be
null if the source for the allocation is warehouse
inventory or a purchase order.
Documentation typeOptionalContains the type of allocation product source.
Valid values are ASN, Transfer (TSF), Bill of Lading
(BOL), or Allocation (ALLOC). When this is passed
in as null, the source is assumed to be a PO or
warehouse inventory if no PO number is provided.
Context TypeOptionalContains the actual purpose behind the creation of
the allocation in the overall business setup. Valid
codes need to be defned in the code type = ‘CNTX’.
For example, Promotion, Repairing, and so on.
Context ValueOptionalContains the value related to the specifed context
type, wherever applicable. For example: Promotion
ID when the context type is set as ‘Promotion’.
StatusOptionalIf specifed, needs to be either ‘R’ (Reserved) or ‘A’
(Approved).

Allocation Details

New detail records can be added to an existing allocation. Modification of the existing details on the allocation is also supported by this API. If modifying an existing location, Merchandising assumes that the quantity passed in the message is an adjustment to the current quantity as opposed to an overwrite of the existing value. The API verifies the allocation is not in-transit, received, nor in progress prior to making any modification and also that the quantity does not fall to zero or below.

Allocation Details Create or Update

Message ElementIncluded?Notes
To LocationAlwaysContains the destination location of the allocation.
This can be a stockholding store, a non-stockholding
company store with a transfer entity different than
that of the source warehouse, a non-stockholding
franchise store, or a stockholding warehouse
location, except internal fnishers.
To location TypeAlwaysContains the type of the destination location. Valid
values are S (store) and W (warehouse)
Quantity AllocatedAlwaysContains the allocated quantity of the item for the
destination location. When the allocation is being
created, this value must be a positive integer. If this
value is being modifed, it will contain the quantity
that needs to be adjusted (positive or negative),
rather than an override value
In Store DateOptionalContains the date the item is to be present in the
destination store or warehouse. This date will be
included in the Merchandising publication for
communication to the warehouse.

Deleting Allocations

Allocation Header Delete

During an allocation header delete, on successfully validating the information in the message, the allocation header is updated to Cancelled ( C ) status.

Message ElementIncluded?Notes
AllocationAlwaysContains the unique identifer of the allocation being
deleted.
Allocation DetailOptionalChild Node

Allocation Details Delete

The detail records are validated and deleted from the allocation on receipt of a detail delete message.

Message ElementIncluded?Notes
To LocationAlwaysContains the destination location being deleted.
Message ElementIncluded?Notes
To Location TypeAlwaysContains the location type of the destination location
being deleted.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypeMessage Type DescriptionXML Schema Definition
(XSD)
XAllocCreExternal Allocation Create via RIBXAllocDesc.xsd
XAllocDelExternal Allocation Delete via RIBXAllocRef.xsd
XAllocDtlCreExternal Allocation Detail Create via RIBXAllocDesc.xsd
XAllocDtlDelExternal Allocation Detail Delete via RIBXAllocRef.xsd
XAllocDtlModExternal Allocation Detail Modification via RIBXAllocDesc.xsd
XAllocModExternal Allocation Modification via RIBXAllocDesc.xsd

Appointment Subscription API

This section describes the appointments subscription API.

Functional Area

Inventory

Business Overview

Merchandising subscribes to an appointment when merchandise arrives at a location. It also processes the appointment messages and attempts to receive against and close out the appointments. In addition, Merchandising attempts to close the document that is related to the appointment, when applicable. A document can be a purchase order, a transfer, or an allocation.

New Appointments

An appointment is created when shipment is about to arrive at a location. After performing the business level validation this message will update the status to Scheduled ( SC ). This message contains the location level information.

New Appointment Details

This message contains the item information associated with an appointment, including the ASN and the document number (PO, transfer, or allocation).

Updated Appointments

An update message updates the status of an existing appointment if already exists. Valid values for the status column include:

  • SC–Scheduled

  • MS–Modified Scheduled

  • AR–Arrived

  • AC–Closed

Updated Appointment Details

This message updates an appointment detail record that was previously sent, such as an update to the quantity for an item. If the record doesn’t already exist, it is added.

Appointment Header

Message ElementRequired?Notes
Appointment NumberAlwaysThis feld contains the unique number generated
by warehouse while creating an appointment.
From LocationAlwaysThis feld contains the location where the
merchandise has been sent.
To LocationOptionalNot used.
Appointment StartOptionalThe date and time of the scheduled appointment;
that is, when the goods are expected to arrive at the
receiving location.
Appointment Action StatusAlwaysThis feld contains the status of the appointment.
Valid values include:SC- Scheduled,MS- Modifed
Scheduled,AR- Arrived, andAC-Closed.
Appointment Details
Appointment ReceiptOptionalThe actual date and time upon which the trailer
arrived at the receiving location for the
appointment.

Appointment Detail Message

Message ElementRequired?Notes
ItemAlwaysThis feld contains the items shipped to the
location.
Unit QuantityAlwaysThis feld contains the quantity of the item slated to
be sent to the location.
Message ElementRequired?Notes
PO NumberAlwaysThis feld contains the purchase order, transfer or
allocation corresponding to the shipped
merchandise.
Document typeAlwaysThis feld indicates the type of document
corresponding to the shipped merchandise.
Possible choices are Purchase Order (P), Transfer
(T), or Allocation (A).
ASN NumberOptionalThis feld contains the advance shipping notice
number associated with the appointment. It is
populated only when the appointment is based on
an ASN.

Delete Appointments

This message deletes any existing appointment and detail records.

Delete Detail Level Appointments

This API deletes a detail record for an existing appointment.

Appointment Header

Message ElementRequired?Notes
Appointment NumberAlwaysThis feld contains appointment number being
deleted.
From LocationAlwaysThis feld contains the location from which the
appointment is being deleted.

Appointment Detail Message

Message ElementRequired?Notes
ItemAlwaysThis feld contains the item being deleted from the
appointment.
PO NumberAlwaysThis feld contains the purchase order, transfer or
allocation containing the item being deleted from
the appointment.
ASN NumberOptionalThis feld contains the advance shipping notice
number associated with the item/appointment
being deleted. It is populated only when the
appointment is based on an ASN.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
AppointcreAppointment Create MessageAppointDesc.xsd
AppointhdrmodAppointment Header Modify MessageAppointDesc.xsd
AppointdelAppointment Delete MessageAppointRef.xsd
AppointdtlcreAppointment Detail Create MessageAppointDesc.xsd
AppointdtlmodAppointment Detail Modify MessageAppointDesc.xsd
AppointdtldelAppointment Detail Delete MessageAppointRef.xsd

ASN Outbound Subscription API

This section describes the ASNOUT subscription API.

Functional Area

Inventory

Business Overview

Merchandising receives advanced shipping notifications (ASNs), also known as a bill of lading (BOL) messages, from a warehouse management system (WMS), like Oracle Warehouse Management Cloud, or a store inventory system like Oracle Retail Store Inventory and Operations Cloud Service (SIOCS).

These ASNs are notifications to Merchandising that inventory is moving from one location to another. These notification messages contain data that is used by Merchandising to create or modify a shipment record. ASNs are received for:

  • Pre-existing allocations.

  • Pre-existing transfers.

  • Externally generated transfers, created in the store or warehouse (created as transfer type of EG within Merchandising).

An ASN message may contain multiple transfers or allocations, and as a result, the shipment record in Merchandising will reflect these multiple movements of merchandise. A BOL number on the shipment record is a means of tracking one or more transfers and allocations back through the respective stock order records. Shipments for customer orders, franchise orders, and franchise returns are also managed through this API. If the receiving location is a nonstockholding location, like in the case of a warehouse shipment to a non-stockholding franchise store, or a warehouse shipment direct to a customer (that is processed through a nonstockholding store) then the shipment will be auto-received when processed by Merchandising.

Note

ASNs related to a purchase order from a supplier are classified as an Inbound ASNs. Details for those types of expected shipments are found in the ASN In Subscription API section.

Other Notes

  • For customer order fulfillment, SIOCS will send an ASN Out message that does not include a ship-to location. Merchandising ignores these messages.

  • Store to customer fulfillment request will not have associated transfer in Merchandising. When Oracle Retail Store Inventory and Operations Cloud Service (SIOCS) ships the customer order, SIOCS will generate an Outbound ASN message with an empty To Location or with Location Type as Customer (C). Since there are no associated transfers in Merchandising, Merchandising will not process these Outbound ASN messages. The reserved inventory will be backed out in Merchandising when Merchandising processes a SALES transaction backend.

  • Messages consumed through this API can create new shipments or update existing shipments. A new shipment record will be created in Merchandising with Input status if the BOL number is not yet associated to any shipment record. If the BOL number is already associated to a shipment record, the shipment record will be updated accordingly.

  • The Universal Identification Number (UIN) child node may be included in the message, but this information is not used by Merchandising. This is used by SIOCS.

  • A Shipment and Carton Custom Flex Attribute child nodes can be included in the message, but this information is not used by Merchandising. This is used by SIOCS.

Shipment Message Details

When inventory is shipped from one location to another, Merchandising will be notified and will then create a shipment record based on the content of the message received. If the shipment already exists, the details of the existing shipment will be updated. The message includes the following:

ASNOUT Details

Message ElementRequired?Notes
Schedule NumberOptionalNot used by Merchandising.
Auto Receive IndicatorOptionalNot used by Merchandising.
To LocationOptionalThis feld contains the location where the shipment
will be delivered.
To Location TypeOptionalThis feld contains the location type of the location
where the shipment will be delivered to. Valid
values are store (S), warehouse (W), or fnisher (E).
To Store TypeOptionalNot used by Merchandising.
To Stockholding IndicatorOptionalNot used by Merchandising.
From LocationAlwaysThis feld contains the location from which the
shipment was sourced. This applies to transfer and
allocation shipments.
Message ElementRequired?Notes
From Location TypeOptionalThis feld contains the location type of the location
from which the shipment was sourced. Valid values
are store (S) or warehouse (W).
From Store TypeOptionalNot used by Merchandising.
From Stockholding
Indicator
OptionalNot used by Merchandising.
ASN NumberOptionalThis feld contains the bill of lading number
associated with the shipment.
ASN TypeOptionalNot used by Merchandising.
Container QuantityOptionalThis feld contains the number of boxes associated
with the shipment.
BOL NumberAlwaysThis feld contains the transaction sequence number
from the transfer shipment confrmation process.
This is the same as the ASN Number.
Shipment DateOptionalThis feld contains the date the transfer and/or
allocation was shipped.
Estimated Arrival DateOptionalThis feld contains the estimated arrival date when
the shipment is expected to arrive at the destination.
Shipment Address 1OptionalNot used by Merchandising.
Shipment Address 2OptionalNot used by Merchandising.
Shipment Address 3OptionalNot used by Merchandising.
Shipment Address 4OptionalNot used by Merchandising.
Shipment Address 5OptionalNot used by Merchandising.
Shipment CityOptionalNot used by Merchandising.
Shipment StateOptionalNot used by Merchandising.
Shipment Zip CodeOptionalNot used by Merchandising.
Shipment Country IDOptionalNot used by Merchandising.
Trailer NumberOptionalNot used by Merchandising.
Seal NumberOptionalNot used by Merchandising.
Transshipment NumberOptionalNot used by Merchandising.
CommentsOptionalThis feld contains any miscellaneous comments
about the shipment.
Carrier CodeOptionalThis feld contains the courier that will deliver the
shipment.
Carrier Service CodeOptionalThis feld contains the service level code for the
courier that will deliver the shipment. Valid values
are found in code type CSVC.
Not used by Merchandising.
System CodeOptionalNot used by Merchandising.
From Location Virtual
Warehouse
OptionalNot used by Merchandising.
Child Nodes
  • ASNOUT Distro Details

ASNOUT Distro Details

This level of the message contains the details about the individual stock orders contained in the shipment.

Message ElementRequired?Notes
Distro NumberAlwaysThis feld contains the transfer number or allocation
number associated with the shipment.
Distro Doc TypeAlwaysThis feld determines if the Distro Number specifed
is a Transfer (T) or an Allocation (A).
Customer Order NumberOptionalThis contains the customer order number associated
with the transfer on the shipment.
Fulfll Order NumberOptionalThis contains the fulfllment order number
associated with the customer order number for the
transfer on the shipment.
Consumer DirectOptionalNot used by Merchandising.
CommentsOptionalThis feld contains any comments about the stock
orders contained in the shipment.
Child Nodes
• ASNOUT Carton Details

ASNOUT Carton Details

This section of the message contains details about the cartons for a distro on a shipment.

Message ElementRequired?Notes
Final LocationOptionalNot used by Merchandising.
Container IDAlwaysThis feld contains the carton number for shipments
originating from the ASN process as carton
shipments. This feld will be zero for all shipments
that are not at a carton level.
Container WeightOptionalNot used by Merchandising.
Container LengthOptionalNot used by Merchandising.
Container WidthOptionalNot used by Merchandising.
Container HeightOptionalNot used by Merchandising.
Container CubeOptionalNot used by Merchandising.
Expedite FlagOptionalNot used by Merchandising.
In Store DateOptionalNot used by Merchandising.
Tracking NumberOptionalThis feld contains a unique tracking number that is
used to track containers through a carrier’s system.
Not used by Merchandising.
Freight ChargeOptionalNot used by Merchandising.
Master Container IDOptionalNot used by Merchandising.
CommentsOptionalThis feld contains any comments about the
shipment container.
Message ElementRequired?Notes
WeightOptionalThis feld contains the actual weight shipped for the
container.
Weight UOMOptionalThis feld contains the unit of measurement for
weight (e.g., pounds, kilograms) that was shipped.
Carrier Shipment NumberOptionalNot used by Merchandising.
Original Item IDOptionalNot used by Merchandising.
Child Nodes
ASNOUT Item Details

ASNOUT Item Details

This section outlines details about the items in the carton.

Message ElementRequired?Notes
Item IDAlwaysThis feld contains the unique identifer for the item.
Unit QuantityAlwaysThis feld contains the quantity of the item shipped
in the carton for this shipment in the standard unit
of measure.
Gross CostOptionalNot used by Merchandising.
Priority LevelOptionalNot used by Merchandising.
Order Line NumberOptionalThis feld is used to carry the customer order line
number value for customer orders. This feld is not
used by Merchandising for non-customer orders.
Lot NumberOptionalNot used by Merchandising.
Final LocationOptionalNot used by Merchandising.
From DispositionOptionalThis value is used to determine if the quantity
shipped is available or unavailable. Valid values for
this feld are inventory status codes
(INV_STATUS_CODE) in the INV_STATUS_CODES
table in Merchandising.
To DispositionOptionalNot used by Merchandising.
Voucher NumberOptionalNot used by Merchandising.
Voucher Expiration DateOptionalNot used by Merchandising.
Container QuantityOptionalNot used by Merchandising.
CommentsOptionalNot used by Merchandising.
Unit CostOptionalThis feld contains the unit cost of the item in the
shipment. This is used only for the Brazil
Localization setup to calculate transaction code 74
(Recoverable Tax for Destination Location). In all
other cases this should be NULL.
Base CostOptionalThis value will be used for the Brazil Localization
setup only to get the base cost (BC) from Fiscal
Management for a transfer, which will fow into
Merchandising. In all other cases this should be
NULL.
Message ElementRequired?Notes
WeightOptionalThis feld contains the actual weight shipped. This
may be included for catch weight items. If not
included Merchandising will use the average weight
or nominal weight for the item at the shipping
location.
Weight UOMOptionalThis feld contains the unit of measurement for
weight (for example, pounds, kilograms) shipped.
Required if weight is included in the message.
Inventory Identifer TypeOptionalThis feld contains the inventory identifer type,
which is passed during shipment of transfer/
allocations. Valid values are found under the
Inventory Identifer Types (IIDT) code type; for
example, include Lot (L), Expiry Date (E), Import
Document (D).
Inventory IdOptionalThis felds contains the inventory identifer ID,
which is provided on shipment transaction
messages. It is a free-form text ID feld that will be
interfaced and displayed as a text feld.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
asnoutcreASN Outbound Create MessageASNOutDesc.xsd

Cost Change Subscription API

This section describes the cost change subscriptions.

Functional Area

Price and Cost

Business Overview

Merchandising exposes an API that will allow external systems to update unit cost within Merchandising. Cost changes can be performed at the item level, or at the following levels of the organization hierarchy: chain, area, region, district, and store. Unit costs are updated for all

stores within the location group. Because warehouses are not part of the organization hierarchy, they are only impacted by cost changes applied at the warehouse level.

All cost changes that are sent through this API are executed immediately. The cost change subscription creates both the cost change events with an effective date of the current date, as well as updates unit costs for item/locations that already exist in Merchandising. It does not create or delete item/locations in Merchandising.

In addition to RIB, Merchandising also exposes this API as a web service. The web service takes in a collection of cost changes and will return success and failure through the service response object. See the “Cost Change Service” section of this document in the “Provider Services” section of “SOAP Web Services” more information.

This API checks that the required fields are provided and checks the supplier’s currency and the item status. If differentiator IDs are passed in, it verifies that they are valid for the passed in item. The API also retrieves the following:

  • Transaction level items, if the passed in item is an item parent

  • All locations based on the passed in hierarchy type and value, if provided.

  • All item/location combinations where the passed in supplier/country is the primary supplier/ country at an item location.

  • All orderable buyer packs that the passed-in item or its children, if above transaction level

  • All item/locations on approved (and worksheet) order, if the recalculate order indicator is set to Yes.

This API will perform the following actions:

  • Create a cost change event in Executed status, with an effective date of the current date.

  • Update the unit cost in Merchandising for all item/supplier/country and item/supplier/ country/locations based on the information provided.

  • Create price history for all item/locations that got updated as part of the cost change.

  • If the recalculate order indicator is Yes, update all relevant order/item/locations unit cost in merchandising.

It is important to note that cost changes sent through this API do not include estimated landed costs. The cost updated here is the default purchase cost, before any deals, that will be used for purchase orders created in Merchandising, similar to cost changes initiated in Merchandising.

The format for creating and updating cost changes is shown below.

Table 3-1 Cost Change

Message ElementRequired?Notes
ItemYesThis field contains the item to which the cost change
applies. It can be a parent item, but its item level cannot
be greater than its transaction level. This cannot be a
buyer pack.
SupplierYesThis field contains the number of the supplier. The
supplier must be a valid supplier in merchandising. This
can be a primary or non-primary supplier.

Table 3-1 (Cont.) Cost Change

Message ElementRequired?Notes
Origin Country IDYesThis field contains the identifier of the origin country of
the item/supplier to which the cost change will apply.
This value must be a valid country in merchandising.
This can be the primary or a non-primary country.
Diff IDNoThis field contains the identifier for a differentiator. This
can be used with a parent or grandparent item. This
value must be a valid differentiator ID in merchandising.
Unit CostYesThis field contains the new unit cost of the item in the
currency specified on the message.
Recalculate Order IndicatorYesThis field indicates if orders in approved status for items
on the cost change will be recalculated with the new
cost. Valid values are Yes (Y) and No (N).
Currency CodeYesThis field contains the currency code of the unit cost.
This must be a valid currency code in merchandising.
Hierarchy LevelNoThis field indicates the level of the organizational
hierarchy to which the cost change applies. Valid values
are:

CH - chain

AR - area

RE - region

DI - district

S - store

W - warehouse
Cost Change HierarchyNoChild node
Custom Flex AttributesNoChild node
Purchase RateNoThis field contains the percentage of the retail price
which will determine the cost paid to the supplier for a
consignment or concession item.

Table 3-2 Cost Change Hierarchy

Message ElementRequired?Notes
Hierarchy ValueYesThis field contains the hierarchy value at the specified
level of the hierarchy which encompasses the locations
affected by the cost change. This value must exist as a
valid chain, area, region, district, store or warehouse in
Merchandising.

Custom Flex Attributes

If any custom flex attributes (CFAS) for the cost change have been added or modified, it will trigger an update message. The node of the integration that supports this will contain the name of the attribute as it is defined in the group set level view, the value of the custom attribute. If it is a date attribute, the date value is in a separate field. Flex attributes can only be added to or updated; they cannot be deleted.

Table 3-3 Flex Attributes

Message ElementRequired?Notes
NameYesHolds the attribute name.
ValueConditionalHolds the value of the attribute for number and
character type attributes. Either the value or the
value date feld should be provided.
Value DateConditionalHolds the date for date type attributes. Either the
value or the value date feld should be provided.

Error Handling

This API ensures that the correct message type is passed in for cost change messages. If the message type is invalid, an error status is returned to the external system, along with the appropriate error message. This is to inform the external system that the message type is invalid.

The standard error handling functions of Merchandising are in place in this API and return messages as appropriate to the outcome.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypeMessage Type DescriptionXML Schema Definition (XSD)
xcostchgmodExternal Cost Change ModifyXCostChgDesc.xsd

Currency Exchange Rate Subscription API

This section describes the currency exchange rates subscription API.

Functional Area

Currency Exchange Rates

Business Overview

Currency exchange rates constitute financial information that is subscribed to by Merchandising. A currency exchange rate is the price of one country’s currency expressed in another country’s currency. This API assumes the currency codes are already present in Merchandising. This API supports creating new rates by date and updating existing rates for the same conversion date. Deleting previously created rates is not supported.

Table 3-4 Currency Exchange Rates

Message ElementRequired?Notes
From CurrencyYesThe source currency code of the currency exchange
rate.
To CurrencyYesThe resultant currency code of the currency exchange
rate.
Conversion DateYesContains the date on which the currency rate became or
will become active.
Conversion RateYesThe exchange rate between the two currency codes for
the type and effective date.
Conversion TypeYesThis field identifies the type of exchange rate the history
exists for. Valid values are defined under code type
EXTP:

Consolidation – C

Operational – O

Letter of Credit/Bank – L

Purchase Order – P

Customs Entry – U

Transportation - T

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
CurrRateCreCurrency Rate Create MessageCurrRateDesc.xsd
CurrRateCreCurrency Rate Modify MessageCurrRateDesc.xsd

Customer Order Fulfillment Subscription API

Functional Area

Customer Order Fulfillment

Business Overview

Merchandising provides an interface to process Customer Order Fulfillment requests from an external order management system (OMS). If the system option OMS_IND = ‘Y’ , then Merchandising expects to receive customer orders through this API. If the system option PERSIST_CUSTOMER_DATA_IND = ‘N’ , personal information will not be stored in the customer order table in Merchandising.

Merchandising supports two integration methods for processing Customer Order Fulfillment messages from OMS – either through RIB or Web Service. At implementation time, clients should decide on either one or the other integration method, but not both. The same core logic is used to validate and persist customer orders to Merchandising tables.

  • In a RIB implementation, Merchandising subscribes to Customer Order Fulfillment messages. When a customer order is created, or partially or fully cancelled, the customer order information is sent from the Order Management System (OMS) to the RIB. Merchandising subscribes to the customer order information as published from the RIB and places the information onto Merchandising tables.

  • In a web service implementation, Merchandising exposes a FulfillOrder web service to create or cancel a customer order in Merchandising. OMS will invoke the service with customer order details to place the information on Merchandising tables. See Customer Order Services in the SOAP Web Services section of this document for more details on this method.

The Customer Order Fulfillment message staged will go through a process of validation. Records that pass validation will create new customer order records. If any validation error occurs, transaction will be rolled back, and no customer orders will be created.

There are two scenarios where a customer order fulfillment request cannot be created in Merchandising:

1. Due to data validation errors (for example, invalid item).

2. Due to ‘No Inventory’ - There is not enough inventory available at the source location or item is not ranged or inactive at the source location, or item is not supplied by the supplier (in a PO scenario).

Other Notes

1. Non-stockholding franchise stores cannot be part of a fulfillment order, either as a sourcing location or as a fulfillment location.

2. Catch weight and transformable sellable items are not supported in this integration. To sell items that can vary by weight, like bananas through online channels, setup should be done as a regular (non-catch weight) item with a unit cost and standard UOM defined in items of eaches.

3. It is assumed that customer orders will be captured in the selling UOM in OMS, but that all transactions will be communicated to Merchandising in standard UOM.

4. If the same customer order fulfillment request is sent for a different item or for an existing item but with a different item line number, the existing PO or transfer will be updated.

The Customer Order Fulfillment messages contain information such as delivery type, source type, and destination type. Based on these, the system should proceed to create a Purchase Order, Transfer or Inventory Reservation. The table below shows the customer order scenarios for the combination of delivery type, source type and destination type:

Scenario #Source
Location
Fulfillment
Location
Delivery TypeTransaction created
1WarehouseStorePickup in
Store
Virtual WH to Physical Store
Transfer + Reservation
FulflOrdDesc will contain:
1stleg: source_loc_type = ‘WH’,
fulfll_loc_type = ‘S’
2ndleg: source_loc_type = NULL,
fulfll_loc_type = ‘S’
2WarehouseStoreShip to
Customer
Virtual WH to Physical Store
Transfer + Reservation
FulflOrdDesc will contain:
1stleg: source_loc_type = ‘WH’,
fulfll_loc_type = ‘S’
2ndleg: source_loc_type = NULL,
fulfll_loc_type = ‘S’
3Store AStore BPickup in
Store
Physical Store to Physical Store
Transfer + Reservation
FulflOrdDesc will contain:
1stleg: source_loc_type = ‘ST’,
fulfll_loc_type = ‘S’
2ndleg: source_loc_type = NULL,
fulfll_loc_type = ‘S’
4Store AStore BShip to
Customer
Physical Store to Physical Store
Transfer + Reservation
FulflOrdDesc will contain:
1stleg: source_loc_type = ‘ST’,
fulfll_loc_type = ‘S’
2ndleg: source_loc_type = NULL,
fulfll_loc_type = ‘S’
5NULLStorePickup in
Store
Reservation
FulflOrdDesc will contain:
Single-leg: source_loc_type =
NULL, fulfll_loc_type = ‘S’
6NULLStoreShip to
Customer
Reservation
FulflOrdDesc will contain:
Single-leg: source_loc_type =
NULL, fulfll_loc_type = ‘S’
7NULLWarehouseShip to
Customer
Virtual WH to Virtual Store
Transfer
FulflOrdDesc will contain:
Single-leg: source_loc_type = ‘WH’,
fulfll_loc_type = ‘V’
8VendorStorePickup in
Store
Purchase Order to Physical Store +
Reservation
FulflOrdDesc will contain:
1stleg: source_loc_type = ‘SU’,
fulfll_loc_type = ‘S’
2ndleg: source_loc_type = NULL,
fulfll_loc_type = ‘S’
Scenario #Source
Location
Fulfillment
Location
Delivery TypeTransaction created
9VendorStoreShip to
Customer
Purchase Order to Physical Store+
Reservation
FulflOrdDesc will contain:
1stleg: source_loc_type = ‘SU’,
fulfll_loc_type = ‘S’
2ndleg: source_loc_type = NULL,
fulfll_loc_type = ‘S’
10NULLVendorShip to
Customer
Purchase Order to Virtual Store
FulflOrdDesc will contain:
Single-leg: source_loc_type = ‘SU’,
fulfll_loc_type = ‘V’

The customer order subscription API supports create and cancel operations using the following message types belonging to the fulfilord message family:

  • fulfilordapprdel – used by Merchandising to cancel customer orders.

  • fulfilordreqdel – used by SIOCS to request a customer order cancellation. This message type is used only by SIOCS and is ignored by Merchandising.

  • fulfilordpocre – used to create purchase orders because of customer order fulfillment requests.

  • fulfilordtsfcre – used to create transfers because of customer order fulfillment requests.

  • fulfilordstdlvcre – used to perform inventory reservation because of customer order fulfillment requests.

The format for creating customer order fulfillment requests is shown below.

Table 3-5 Create Customer Order Fulfillment

Message ElementRequired?Notes
Customer Order NumberYesThis feld contains the master customer order
number from OMS.
Fulfllment Order
Number
YesThis feld contains the unique number from OMS
related to the fulfllment details. A single customer
order can have one or more fulfllment orders.
Source Location TypeNoThis feld contains the location type where the
fulfllment order will be sourced. This could be
either SU for supplier, ST for store, or WH for
warehouse. This would only be populated for
vendor, warehouse, or multi-site fulfllment orders.
Both source location type and source location ID
must be populated, or both should be NULL.

Table 3-5 (Cont.) Create Customer Order Fulfillment

Message ElementRequired?Notes
Source Location IDNoThis feld contains the store, supplier or warehouse
number associated with sourcing the fulfllment
order. This would only be populated for vendor,
warehouse, or multi-site fulfllment orders. Both
source location type and source location ID must be
populated, or both should be NULL.
If the source location type is supplier, this must be a
valid supplier site in Merchandising. If the source
location type is store, this should be a valid
stockholding customer orderable company or
franchise store. If the source location type is
warehouse, it can be a valid physical or virtual
warehouse.
Fulfllment Location TypeNoThis feld indicates the location type associated with
fulflling the fulfllment order. This would be either
S (for physical store) or V (for virtual store).
Fulfllment Location IDYesThis feld indicates the store number associated with
fulflling the fulfllment order. This should always be
populated with a virtual or physical store number.
The fulfllment location ID should be different from
the source location ID.
Partial Delivery IndicatorYesThis feld indicates if the fulfllment order can be
picked and shipped partially (N) or if it should be
shipped only when complete (Y).
Delivery TypeNoThis feld indicates the fulfllment method - ship to
customer or store pickup. Valid values are S (ship
direct) and C (customer pickup).
Carrier CodeNoThis feld indicates the carrier the order is to be
shipped with, if specifed on the fulfllment order.
Carrier Service CodeNoThis feld indicates the method that was selected for
shipping by the customer placing the order (e.g.,
Standard Shipping, Overnight, etc.). Valid values are
from code type CSVC.
Consumer Delivery DateYesThis feld indicates the desired date the delivery is
required by the customer. This will be in GMT time.
Consumer Delivery TimeNoThis feld indicates the desired time the delivery is
required by the customer. This will be in GMT time.
Both Delivery Date and Delivery Time should be
populated, or both should be NULL.
Delivery ChargesNoThis feld contains the delivery charges on drop
ship. Used for Brazil implementations only. This
value should be greater than 0.
Delivery Charges
Currency
NoThis feld contains the currency of the delivery
charges. It must be a valid currency code in
Merchandising. Delivery Charges and Delivery
Charges Currency must both be populated, or both
should be NULL.
CommentsNoThis feld contains any comments sent by OMS about
the order.
Customer Order
Fulfllment Details
YesChild Node

Table 3-5 (Cont.) Create Customer Order Fulfillment

Message ElementRequired?Notes
Fulfllment Order
Customer Details
ConditionalChild node
Custom Flex AttributesNoChild node
Not used in Merchandising
Order Placed StoreNoThis feld indicates the store number associated with
the location that the customer order was placed. For
on-line orders this would contain the virtual store
number associated with the on-line store. For orders
captured in a physical store this would contain the
store number for the physical store.

Table 3-6 Create Customer Order Fulfillment Details

Message ElementRequired?Notes
ItemYesThis feld indicates the item ordered by the
customer.
Reference ItemNoThis feld indicates the reference item (barcode)
ordered by the customer. This is supported for
vendor drop-ships orders only.
Order Quantity SUOMYesThis feld contains the quantity that was ordered by
the customer in item’s standard unit of measure.
Standard UOMNoThis feld contains the item’s standard unit of
measure.
Transaction UOMNoThis feld indicates the original transaction unit of
measure the order was placed in.
Substitute IndicatorYesThis feld indicates if substitutes are allowed on a
fulfllment order. This will only be used by orders
passed to SIOCS.
Unit RetailNoThis feld contains the unit sales retail of item on the
fulfllment order. This will only be used by Brazil
orders in case of warehouse fulfllment or vendor
sourced POs shipped directly to the customer. It is
needed for sales nota fscal generation.
Retail CurrencyNoThis feld contains the currency for the unit retail.
This will only be used by Brazil orders in case of
warehouse fulfllment or vendor sourced POs
shipped directly to the customer. It is needed for
sales nota fscal generation.
CommentsNoThis feld is used to indicate any special instructions
for the item, such as services (monograms, engrave,
etc.).
Item Line NumberNoThis feld contains the detail item line number on
the fulfllment order.

Only one customer order detail record should exist for each fulfillment order. If the system options value Retain Customer Data is set to Y and the order is fulfilled from the supplier or warehouse with the fulfillment location type as virtual store, then this node is required. If Retain Customer Data is N , then only the customer number will be retained.

Table 3-7 Create Fulfillment Order Customer Details

Message ElementRequired?Notes
Customer NumberYesThis feld indicates the number that uniquely
identifes the customer in OMS.
Delivery First NameNoThis feld contains the frst name of the contact
person at the delivery address on the fulfllment
order.
Delivery Phonetic FirstNoThis feld contains the phonetic frst name of the
contact person at the delivery address on the
fulfllment order.
Delivery Last NameNoThis feld contains the last name of the contact
person at the delivery address on the fulfllment
order.
Delivery Phonetic LastNoThis feld contains the phonetic last name of the
contact person at the delivery address on the
fulfllment order.
Delivery Preferred NameNoThis feld contains the preferred name of the contact
person at the delivery address on the fulfllment
order.
Deliver Company NameNoThis feld contains the company name of the contact
person at the delivery address on the fulfllment
order.
Deliver Address 1NoThis feld contains the frst line of the delivery
address of the customer.
Delivery Address 2NoThis feld contains the second line of the delivery
address of the customer.
Delivery Address 3NoThis feld contains the third line of the delivery
address of the customer.
Delivery CountryNoThis feld contains the county portion of the delivery
address.
Delivery CityNoThis feld contains the city portion of the delivery
address.
Delivery StateNoThis feld contains the state portion of the delivery
address.
Delivery Country IDNoThis feld contains the country portion of the
delivery address.
Delivery PostNoThis feld contains the postal code portion of the
delivery address.
Delivery JurisdictionNoThis feld identifes the jurisdiction code of the
delivery country-state relationship.
Delivery PhoneNoThis feld contains the delivery phone number.
Delivery E-mailNoThis feld contains the delivery email.
Bill First NameNoThis feld contains the frst name of the customer to
be billed for this fulfllment order.
Bill Phonetic FirstNoThis feld contains the phonetic frst name of the
customer to be billed for this fulfllment order.
Bill Last NameNoThis feld contains the last name of the customer to
be billed for this fulfllment order.

Table 3-7 (Cont.) Create Fulfillment Order Customer Details

Message ElementRequired?Notes
Bill Preferred NameNoThis feld contains the preferred name of the
customer to be billed for this fulfllment order.
Bill Company NameNoThis feld contains the company name of the
customer to be billed for this fulfllment order.
Bill Address 1NoThis feld contains the frst line of the billing address
of the customer.
Bill Address 2NoThis feld contains the second line of the billing
address of the customer.
Bill Address 3NoThis feld contains the third line of the billing
address of the customer.
Bill CountryNoThis feld contains the county portion of the billing
address.
Bill CityNoThis feld contains the city portion of the billing
address.
Bill StateNoThis feld contains the state portion of the billing
address.
Bill Country IDNoThis feld contains the country portion of the billing
address.
Bill PostNoThis feld contains the postal code portion of the
billing address.
Bill JurisdictionNoThis feld identifes the jurisdiction code for the
billing country-state relationship.
Bill PhoneNoThis feld contains the billing phone number.
Bill E-mailNoThis feld contains the billing e-mail address.

Table 3-8 Cancel Customer Order Fulfillment

Message ElementRequired?Notes
Customer Order NumberYesHolds the master customer order number from
OMS.
Fulfllment Order
Number
YesThis feld contains the unique number from OMS
related to the fulfllment details. A single customer
order can have one or more fulfllment orders.
Source Location TypeNoThis feld contains the original sourcing location
type for the fulfllment order being cancelled. This
would be either SU for supplier, ST for store, or WH
for warehouse. This would only be populated for
vendor, warehouse, or multi-site fulfllment orders.
Source Location IDNoThis feld contains the store, supplier or warehouse
number associated with sourcing the fulfllment
order being cancelled. This would only be populated
for vendor, warehouse, or multi-site fulfllment
orders.
Fulfllment Location TypeNoThis feld indicates the location type associated with
fulflling the fulfllment order being cancelled. This
would be either S (for physical store) or V (for
virtual store).

Table 3-8 (Cont.) Cancel Customer Order Fulfillment

Message ElementRequired?Notes
Fulfllment Location IDYesThis feld indicates the store number associated with
fulflling the fulfllment order being cancelled.
Fulfllment Order DetailYesChild node

Table 3-9 Cancel Customer Order Fulfillment Detail

Message ElementRequired?Notes
ItemYesThis feld contains the item cancelled by the
customer.
Reference ItemNoThis feld contains the reference item cancelled by
the customer. This is supported for vendor drop-
ships orders only.
Cancel Quantity SUOMYesThis feld contains the quantity that should be
cancelled from the order in item’s standard unit of
measure.
Standard UOMNoThis feld contains the item’s standard unit of
measure.
Transaction UOMNoThis feld indicates the original transaction unit of
measure the order is placed in.
Item Line NumberNoThis feld indicates the detail item line number on
the fulfllment order that is being cancelled.

In a RIB implementation, once fulfillment create messages are processed in Merchandising, Merchandising will publish to the RIB a customer order fulfillment confirmation message with a message type of fulfilordcfmcre via the customer order fulfillment confirmation publishing API. Confirmation messages will only be sent for customer order fulfillment create requests that result in creating purchase orders and transfers in Merchandising. It will not be sent for cancel requests, nor for customer order fulfillment requests that result in inventory reservation.

  • If a customer order is partially fulfilled, a confirmation message with status ‘P’ will be sent with details of fulfilled order quantity.

  • If a customer order is not fulfilled at all due to unavailable inventory, a confirmation message with status ‘X’ will be sent without any details.

  • If a customer order is fulfilled completely due to available inventory, a confirmation message with status ‘C’ will be sent with details for the fulfilled order quantity

See Customer Order Fulfillment Confirmation Publication API for more details on the confirmation message sent.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
FulfilordapprdelFulfilment Cancel MessageFulfilOrdRef.xsd
FulfilordreqdelFulfilment Cancel Request MessageFulfilOrdRef.xsd
FulfilordpocreFulfilment PO Create MessageFulfilOrdDesc.xsd
FulfilordtsfcreFulfilment Transfer Create MessageFulfilOrdDesc.xsd
FulfilordstdlvcreFulfilment Store Delivery Create
Message
FulfilOrdDesc.xsd

Differentiator Group Subscription API

This section describes the Diff group subscription API.

Functional Area

Items

Business Overview

This API allows external systems to create, edit, and delete differentiator groups within Merchandising. Diff ID details can be added, edited, or deleted within the diff group message. When creating a new diff group, diff ID must be included, but they can also be passed in with their own specific message type. Diff ID detail create and modify messages must also include the diff group record.

Creating Diff Groups

When a new differentiator group is created, this API will first validate that all required fields are present in the message. When creating a new differentiator group at least one detail line must also be included in the message. After that, business level validation on the input information will be performed. The tables below summarize the validation.

Table 3-10 Diff Group Header

Message ElementRequired?Notes
Differentiator Group IdentifierYesThis field contains the unique differentiator group
identifier.
Differentiator TypeYesThis field contains the differentiator type, such as
C for color. Must exist as a valid diff type in
Merchandising.
Differentiator Group DescriptionYesThis field contains the description of the
differentiator group.

Table 3-10 (Cont.) Diff Group Header

Message ElementRequired?Notes
Create Date TimeNoThis field contains the date and time the
differentiator group was created. If it is not
populated on the subscription message it will be
defaulted to the time of creation in
Merchandising.
Differentiator Group DetailConditionalChild node
This is required in a diff group detail create and
modify message.

Table 3-11 Diff Group Detail

Message ElementRequired?Notes
Differentiator IDYesThis field contains the identifier of the
differentiator contained within the differentiator
group. This id must be unique within the diff group
and must already exist in Merchandising.
Display SeqNoThis field contains the order in which the diff ID
should appear within the differentiator group,
when displayed on-line.
Create Date TimeNoThis field contains the date/time the differentiator
ID was added to the differentiator group. If it is not
populated on the subscription message it will be
defaulted to the time of creation in
Merchandising.

Updating Diff Groups

When updating a differentiator group, the group ID must already be present in the Merchandising. Changes can be sent for header level updates or detail level updates. If the changes are at the header level, then all of the required header level information needs to be included in the update, similar to that described above for creating a new differentiator. However, the diff details should not be included in a header only update. Fields that can be updated at the header level using this API include:

  • Differentiator type

  • Differentiator group description

For updating the record, the diff group ID is required in the header level and diff ID is required at the detail level. Fields that can be updated at the detail level using this API include:

  • Display seq

Deleting Differentiator Groups

If you are deleting a differentiator detail in the differentiator group or deleting the whole differentiator group, then the API will validate that the differentiator group is valid and that it is not associated with any items or diff ranges. If you are deleting the whole differentiator group, then no details should be included in the message. If you are deleting a detail record on the differentiator, then validation will be done to ensure that the diff id exists on the differentiator group.

Table 3-12 Diff Group Header

Message ElementRequired?Notes
Differentiator Group IdentifierYesThis field contains the diff group to be deleted.
Differentiator Group DetailConditionalChild node
This is required in a diff group detail delete
message.

Table 3-13 Diff Group Detail

Message ElementRequired?Notes
Differentiator IDYesThis field contains the identifier of the differentiator
that will be deleted, that is contained within the
differentiator group. This id must be unique within
the diff group and must already exist in
Merchandising.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition
(XSD)
XDiffGrpDesDiff Group Create and ModifyXDiffGrpDesc.xsd
XDiffGrpDtlDiff Group Detail Create and ModifyXDiffGrpDesc.xsd
XDiffGrpRefDiff Group DeleteXDiffGrpRef.xsd
XDiffGrpDtlRefDiff Group Detail DeleteXDiffGrpRef.xsd

Differentiator Subscription API

This section describes the Diff ID subscription API.

Functional Area

Items

Business Overview

This API subscribes to differentiators from external systems to create, update or delete differentiators in Merchandising. This subscription API provides a means to keep Merchandising in sync with an external system. These transactions are performed immediately upon message receipt so success or failure can be communicated to the calling application.

Creating Differentiators

When a new differentiator is created, this API will first validate that all required fields are present in the message. After that, business level validation on the input information will be performed. The business validation:

  • verifies the diff id does not contain white space or underscores

  • verifies if diff id is not already present as a diff id or diff group id

  • verifies the diff type is a valid value on the code detail table under code type DIFF

If all the validations are met, the differentiator in the message data is created in Merchandising.

The format for creating and updating differentiators is shown below.

Differentiator

Message ElementRequired?Notes
Differentiator IDYesThis feld contains the unique identifer of the
differentiator. This must be a valid value under the
code type DIFF.
Differentiator TypeYesThis feld contains the identifer of the differentiator
type. This value must be a valid diff_type in
merchandising.
Differentiator DescriptionYesThis feld contains the description of the
differentiator.
Industry CodeNoThis feld contains the unique reference number
which represents all possible combinations of sizes
according to the National Retail Federation.
Industry SubgroupNoThis feld contains a sub-grouping code used by
industry standards to further identify the
differentiator.
Create Date TimeNoThis contains the date and time the differentiator
was created. If this feld is not populated on the
message it will default to the time of creation in
merchandising.

Updating Differentiators

When a differentiator is updated, this API will first validate that all required fields are present in the message. After that, business-level validation on the input information will be performed. If all the validations are met, the differentiator in the message data are updated in Merchandising. The message and validation aresimilar to that of the creating differentiators.

Deleting Differentiators

When a differentiator is deleted, this API will first validate that all required fields are present in the message. After that, business level validation on the input information will be performed. The business validation:

  • verifies if diff id to be deleted exists in Merchandising

If all the validations are met, the differentiator in the message data is deleted from Merchandising.

Differentiator

Message ElementRequired?Notes
Differentiator IDYesThis feld contains the unique identifer of the
differentiator being deleted.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypeMessage Type DescriptionXML Schema Definition (XSD)
xdiffidcreDifferentiator CreateXDiffIDDesc.xsd
xdiffidmodDifferentiator ModifyXDiffIDDesc.xsd
xdiffiddelDifferentiator DeleteXDiffIDRef.xsd

DSD Deals Subscription API

This section describes the DSD deals subscription API.

Functional Area

Deals

Business Overview

Direct store delivery (DSD) is the delivery of merchandise and/or services to a store without the benefit of a pre-approved purchase order, such as when the supplier drops off merchandise

directly in the retailer’s store. This process is common in convenience and grocery stores, where suppliers routinely come to restock merchandise. In these cases, the invoice may be given to the store (as opposed to sent to corporate), and the invoice may or may not be paid for out of the register.

Merchandising subscribes to DSD messages from the RIB. These messages notify Merchandising of a direct store delivery transaction at a location so that it may record the purchase order and account for it in the store’s inventory. Merchandising also subscribes to DSD deals messages for deals applicable to any DSD order and performs the following functionalities as necessary:

  • Applies any deals to a DSD purchase order if the deals indicator in the message is set to Y

  • Creates a shipment

  • Receives a shipment.

  • Creates an invoice

Table 3-14 DSD Deals

Message ElementRequired?Notes
Order NumberYesThis field contains the order number.
SupplierYesThis field contains the supplier number for the deal being
created for this order,notthe supplier site.
StoreYesThis field contains the location the shipment will be
delivered to.
DepartmentNoThe department in which all the items on the order
belong.
Currency CodeYesThis field contains a code identifying the currency the
supplier uses for business transactions.
Paid IndicatorYesThis field indicates if the invoice has already been paid.
Valid values are Y (invoice has already been paid) or N
(invoice should be paid in accounts payable system).
External Reference NumberNoIf the invoice indicator is Y (invoice has been created),
the external reference number, proof of delivery number,
or payment reference number must be provided.
Proof of Delivery NumberNoThis field contains the proof of delivery or service
number given at the time of receipt at the store. This
field will also be included when the invoice is interfaced
through Sales Audit.
Payment Reference NumberNoThis field contains the reference number attached to the
invoice payment, used when the invoice is paid from the
POS system and interfaced through Sales Audit.
Payment DateNoThis field contains the date when the invoice was paid
from the POS system. This field will be populated when
the invoice is interfaced through Sales Audit.
Deals IndicatorYesThis field indicates whether deals need to be applied to
the order or not. Valid values are Yes (Y) and No (N).
ShipmentYesThis field contains the corresponding shipment for the
order that was applied by the deal.
Invoice IdYesThis field contains the invoice number for the purchase
order of this deal.

Table 3-14 (Cont.) DSD Deals

Message ElementRequired?Notes
Invoice IndicatorYesThis field indicates whether an invoice was created for
this receipt by the supplier. Valid values are Yes (Y) and
No (N).
Receipt DateYesThis field contains the date of the receipt.
Quantity SumYesThis field contains the total quantity for the invoice.
Cost SumYesThis field contains the total merchandise cost for the
invoice. This field will be held in the invoice currency.
External Receipt NumberYesThis field holds the external transaction sequence
number for the receipt.
Note

Invoices are not created if Invoice Matching is not running, if the invoice indicator or paid indicator from the message is N, or if paid indicator on the message is Y and Sales Audit is not running.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please see RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition
(XSD)
dsddealscreDSD Deals Create MessageDSDDealsDesc.xsd

DSD Receipt Subscription API

This section describes the DSD receipt subscription API.

Functional Area

Purchase Orders

Business Overview

Direct store delivery (DSD) is the delivery of merchandise to and/or the performance of services in a store without the benefit of a pre-approved purchase order. When the delivery or service occurs, the store inventory system (for example, SIOCS) informs Merchandising of the receipt, which also generates the purchase order at the same time. The receipt can include both the merchandise item as well as the non-merchandise information associated with the order. This information works in conjunction with payment details sent through Sales Audit if payment was made a part of the delivery or service at the store.

Table 3-15 DSD Receipt Header

Message ElementRequired?Notes
SupplierYesThis field contains the unique identifying number for a
supplier for the receipt.
Origin Country IDYesThis field contains the identifier of the country from
which the item is being sourced.
StoreYesThis field contains the location where the items were
delivered.
DepartmentConditionalThe department in which all the items on the order
belong.
Currency CodeYesThis field contains a code identifying the currency the
supplier uses for business transactions.
Paid IndicatorYesThis field indicates if the invoice has already been paid.
Valid values are Y (invoice has already been paid) or N
(invoice should be paid in accounts payable system).
External Reference NumberNoIf the invoice indicator is Y (invoice has been created),
the external reference number, proof of delivery number,
or payment reference number must be provided.
Proof of Delivery NumberNoThis field contains the proof of delivery or service
number given at the time of receipt at the store. This
field will also be included when the invoice is interfaced
through Sales Audit.
Payment Reference NumberNoThis field contains the reference number attached to the
invoice payment, used when the invoice is paid from the
POS system and interfaced through Sales Audit.
Payment DateNoThis field contains the date when the invoice was paid
from the POS system. This field will be populated when
the invoice is interfaced through Sales Audit.
Invoice IndicatorYesThis field indicates whether an invoice was created for
this receipt by the supplier. Valid values are Yes (Y) and
No (N).
Deals IndicatorYesThis field indicates whether deals need to be applied to
the order or not. Valid values are Yes (Y) and No (N).
DSD DetailNoChild node
DSD Non-MerchandiseNoChild node
External Receipt NumberNoThis field holds the external transaction sequence
number for the receipt.
Receipt DateNoThis field contains the date of the receipt.

Table 3-16 DSD Receipt Detail

Message ElementRequired?Notes
ItemYesThis field contains the item in the receipt. The item must
be an approved item that is at transaction level or above.
Quantity ReceivedYesThis field contains the number of items received for the
item/shipment combination. The value must be greater
than 0.
Unit CostNoThis field contains the cost of the item from the supplier/
origin country in the supplier’s currency.
WeightNoThis field contains the weight of the item in the receipt, if
it is a catch weight item.
Weight UOMNoThis field contains the unit of measure of the received
weight.
DSD Detail UINNoChild node; not used in Merchandising
Inventory Identifier TypeOptionalThis fields contains the inventory identifier type, which is
passed during DSD receipt message. Valid values are
found under the Inventory Identifier Types (IIDT) code
type, for e.g. Lot (L), Expiry Date (E), Import Document
(D).
Inventory IdOptionalThis fields contains the inventory identifier ID, which is
provided on DSD receipt transaction messages. It is a
free-form text ID field that will be interfaced and
displayed as a text field.

Table 3-17 DSD Non-Merchandise

Message ElementRequired?Notes
Non-Merchandise CodeYesThis field contains the non-merchandising code that will
be added to an invoice for services or other non-
merchandise costs associated with the order.
Non-Merchandise AmountYesThis field contains the amount of the non-merchandise
cost that was invoiced. This field will be held in the
invoice currency.
VAT CodeNoThis field contains the code identifying the VAT rate that
should be applied to the non-merchandise amount
entered.
Service Performed IndicatorYesThis field indicates if a service was performed for the
non-merchandise cost. Valid values are yes (Y) or no
(N).

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
dsdreceiptcreDSD Receipt Create MessageDSDReceiptDesc.xsd
dsdreceiptmodDSD Receipt Modify MessageDSDReceiptDesc.xsd

Freight Term Subscription API

This section describes the freight terms subscription API.

Functional Area

Foundation Data

Business Overview

Freight terms are financial arrangement information related to shipping that can be subscribed to by Merchandising from a financial system. Freight terms are the terms for shipping - for example, the freight terms could be a certain percentage of the total cost; a flat fee per order, and so on. After confirming the validity of the records enclosed within the message, Merchandising is updated with the information.

Creating/Updating Freight Terms

When a new freight term is created, this API will first validate that all required fields are present in the message. Required fields are terms, description, enabled flag, and start and end dates. After required field validation, the freight term record in the message will be inserted if the term does not exist. If the freight term exists, then the dates and enabled flag will be updated.

Message ElementRequired?Notes
Freight TermsYesContains a number that uniquely identifies the freight
terms.
Terms DescriptionYesContains a description of the freight terms used in the
system.
Enabled FlagYesIndicates whether the freight terms are valid or invalid
within the respective application. Valid values are Y and
N.
Active Start DateYesIndicates the date for assigning an active date to the
Freight Terms.
Active End DateYesIndicates the date for assigning an inactive date to the
Freight Terms.

Error Handling

If an error occurs in this procedure, a call will be placed to a function to build a complete error message. This message together with a status of E is returned to the external system. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
FrtTermCreFreight Term Create MessageFrtTermDesc.xsd

General Ledger Chart of Accounts Subscription API

This section describes the General Ledger chart of accounts subscription API.

Functional Area

Financial Integration

Business Overview

This API is used when Retail Financial Integration (RFI) is not being used and integration with a financial system is a custom connections or connects with a non-Oracle financials system. When using RFI with an Oracle Financial system, the Chart of Accounts Information in Merchandising and Sales Audit is created through a mapping and COA validation process.

Before Merchandising can publish stock ledger data to an external financial application, it must receive the General Ledger chart of accounts (GLCOA) structure. The chart of accounts is the financial application’s debit and credit account segments (for example, company, cost center, account, and so on). These are mapped to the transactions, locations, and product hierarchy in Merchandising when stock ledger data and Sales Audit totals are sent to the General Ledger. In some financial applications, these are known as code combination chart fields. There is also a primary account in some systems know as a CCID that uniquely identifies the combination of segment or chart field values. Upon receipt of GLCOA message data, Merchandising populates the data to the FIF_GL_ACCT table.

Create and Update Chart of Accounts

This message is used to create new chart of account entries, as well as update existing entries. The message payload details are shown below.

Table 3-18 Chart of Accounts Create

Message ElementRequired?Notes
Primary AccountAlwaysThis feld denotes the primary account for a chart of
accounts.
Attribute 1OptionalSecondary account information. A value is required
if description 1 is supplied.
Attribute 2OptionalSecondary account information. A value is required
if description 2 is supplied.
Attribute 3OptionalSecondary account information. A value is required
if description 3 is supplied.
Attribute 4OptionalSecondary account information. A value is required
if description 4 is supplied.
Attribute 5OptionalSecondary account information. A value is required
if description 5 is supplied.
Attribute 6OptionalSecondary account information. A value is required
if description 6 is supplied.
Attribute 7OptionalSecondary account information. A value is required
if description 7 is supplied.
Attribute 8OptionalSecondary account information. A value is required
if description 8 is supplied.
Attribute 9OptionalSecondary account information. A value is required
if description 9 is supplied.
Attribute 10OptionalSecondary account information. A value is required
if description 10 is supplied.
Attribute 11OptionalSecondary account information. A value is required
if description 11 is supplied.
Attribute 12OptionalSecondary account information. A value is required
if description 12 is supplied.
Attribute 13OptionalSecondary account information. A value is required
if description 13 is supplied.
Attribute 14OptionalSecondary account information. A value is required
if description 14 is supplied.
Attribute 15OptionalSecondary account information. A value is required
if description 15 is supplied.
Description 1OptionalDescription of the attribute 1 feld. Required if
attribute 1 is supplied.
Description 2OptionalDescription of the attribute 2 feld. Required if
attribute 2 is supplied.
Description 3OptionalDescription of the attribute 3 feld. Required if
attribute 3 is supplied.
Description 4OptionalDescription of the attribute 4 feld. Required if
attribute 4 is supplied.
Description 5OptionalDescription of the attribute 5 feld. Required if
attribute 5 is supplied.
Description 6OptionalDescription of the attribute 6 feld. Required if
attribute 6 is supplied.
Description 7OptionalDescription of the attribute 7 feld. Required if
attribute 7 is supplied.

Table 3-18 (Cont.) Chart of Accounts Create

Message ElementRequired?Notes
Description 8OptionalDescription of the attribute 8 feld. Required if
attribute 8 is supplied.
Description 9OptionalDescription of the attribute 9 feld. Required if
attribute 9 is supplied.
Description 10OptionalDescription of the attribute 10 feld. Required if
attribute 10 is supplied.
Description 11OptionalDescription of the attribute 11 feld. Required if
attribute 11 is supplied.
Description 12OptionalDescription of the attribute 12 feld. Required if
attribute 12 is supplied.
Description 13OptionalDescription of the attribute 13 feld. Required if
attribute 13 is supplied.
Description 14OptionalDescription of the attribute 14 feld. Required if
attribute 14 is supplied.
Description 15OptionalDescription of the attribute 15 feld. Required if
attribute 15 is supplied.
Set of BooksAlwaysIndicates the set of books that these accounts apply
to.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
GlcoacreGL COA Create MessageGLCOADesc.xsd

GL Chart of Account Validation Service

This section describes the GL Chart of Accounts Subscription API.

Functional Area

Financial Integration

Overview

When using Oracle Retail Financials Integration (RFI) to manage General Ledger integration an Oracle financial solution, a validation service is used to ensure that the segment combinations mapped to by Merchandising and Sales Audit users are valid combinations in the General Ledger. This validation is called from Merchandising and Sales Audit when creating General Ledger cross-reference mappings.

Note

This validation is also used by Oracle Retail Invoice Matching.

As part of your implementation, you will need to configure the URL for the service call in the RETAIL_SERVICE_REPORT_URL table for code RAV. For cloud service implementations, configuration of this service call should be done in coordination with the Oracle Cloud Operations team by logging an SR. For more information, see the RFI Implementation Guide .

Inbound ASN Subscription API

This section describes the ASNIN subscription API.

Functional Area

Shipping and Receiving

Business Overview

A supplier or consolidator sends an advanced shipping notice (ASN) to Merchandising. Merchandising subscribes to the ASN information and places the information into Merchandising tables depending upon the validity of the records enclosed within the ASN message.

An ASN message consists of a header record, a series of order records, carton records, and item records. For each message, the header, order, and item records are required. The carton portion of the record is optional. If a carton record is present, however, then that carton record must contain items.

The header record contains information about the shipment, such as where it is being shipped and when it is estimated to arrive. The order records identify which purchase orders are associated with the shipment. If the shipment is packed in cartons, carton records will identify which items are in which cartons. The item records contain the items on the shipments, along with the quantity shipped.

The location contained in the ASN represents the expected receiving location for the order. If the location is a non-stockholding store in Merchandising, then the shipment is also automatically received when the ASN is processed. Two types of non-stockholding stores orders are supported in this integration – franchise stores and drop ship customer orders.

Once the ship quantity is matched, an invoice is generated for Invoice Matching.

Note

This message can also be used by stores and warehouses for inbound transfer and allocation shipments. However, for Merchandising, those shipments are all processed as an Outbound ASN.

Creating/Updating ASN

When a new ASN is created or updated, this API will first validate that all required fields are present in the message. Additionally, when creating or updating an ASN at least one detail line must also be included in the message. After that, business-level validation on the input information will be performed. The tables below summarize these two types of validation.

ASN Header

Message ElementRequired?Notes
Schedule NumberOptionalNot used in Merchandising.
Auto ReceiveOptionalNot used in Merchandising.
Destination LocationOptionalContains the location that the shipment will be
delivered to. For purchase orders this will always be
either a store or a physical warehouse.
Destination Location TypeOptionalThis column contains the destination location type
of the destination location feld. Valid values are ‘S’ =
store, and ‘W’ = warehouse.
Destination Store TypeOptionalNot used in Merchandising
To Stockholding IndicatorOptionalNot used in Merchandising
Source LocationOptionalNot used in Merchandising
Source Location TypeOptionalNot used in Merchandising
Source Location Store
Type
OptionalNot used in Merchandising
From Stockholding
Indicator
OptionalNot used in Merchandising
Advance Shipment
Number
AlwaysThis column contains the advance shipping notice
number associated with the shipment.
Shipment TypeAlwaysThis column is used to determine the ship origin. If
it is C, that means it is a carton shipment and the
shipment origin in Merchandising is set to 6 (ASN
UCC-128). Otherwise, the Merchandising shipment
origin will be defaulted to 0 (ASN Shipment).
Container QuantityOptionalNot used in Merchandising.
Bill of Lading NumberOptionalThis column holds the bill of lading number
associated with a shipment from the PO receiving
process.
Shipment DateAlwaysThis column contains the date the PO was shipped.
Estimated Arrival DateOptionalThis feld contains the estimated arrival date of a
vendor PO shipment.
Ship Address 1OptionalNot used in Merchandising.
Ship Address 2OptionalNot used in Merchandising.
Message ElementRequired?Notes
Ship Address 3OptionalNot used in Merchandising.
Ship Address 4OptionalNot used in Merchandising.
Ship Address 5OptionalNot used in Merchandising.
Ship CityOptionalNot used in Merchandising.
Ship StateOptionalNot used in Merchandising.
Ship Postal CodeOptionalNot used in Merchandising.
Ship CountryOptionalNot used in Merchandising.
Trailer NumberOptionalNot used in Merchandising.
Seal NumberOptionalNot used in Merchandising.
Carrier CodeOptionalThis column contains a code that indicates the
carrier that is involved in the shipment.
Carrier Service CodeOptionalNot used in Merchandising.
Vendor NumberAlwaysThis column contains the supplier who will provide
the merchandise specifed in the order.
Ship payment methodOptionalThis column indicates the payment terms for freight
charges associated with the order. Valid values are
found in code type SHMT.
CommentsOptionalContains any comments about the shipment.

ASN PO

Message ElementRequired?Notes
Order NumberAlwaysIdentifes the order number which relates to the
goods delivered in the shipment.
Document TypeOptionalNot used in Merchandising.
Not After DateOptionalThis column contains the last date that delivery of
the order will be accepted.
CommentsOptionalThis column contains any comments about the
shipment.

ASN Carton Detail

This is an optional node inside the PO details. If the shipment type is C , then the carton details and the items within the carton are validated.

Message ElementRequired?Notes
Final LocationAlwaysThis will be the fnal destination of the carton. For a
cross-dock order this will be the allocation location,
otherwise it will be the direct to order location.
Container IDAlwaysThis column holds the UCC-128 carton number.
Container WeightOptionalNot used in Merchandising.
Container LengthOptionalNot used in Merchandising.
Container WidthOptionalNot used in Merchandising.
Container HeightOptionalNot used in Merchandising.
Message ElementRequired?Notes
Container CubeOptionalNot used in Merchandising.
Expedite FlagOptionalNot used in Merchandising.
In Store DateOptionalNot used in Merchandising.
Carrier Shipment NumberOptionalNot used in Merchandising.
Tracking NumberOptionalNot used in Merchandising.
Freight ChargeOptionalNot used in Merchandising.
Master Container IDOptionalNot used in Merchandising.

ASN Item Details

This is a mandatory node inside the PO and the optional Carton Node. For each message, the header, order, and item records are required. The carton portion of the record is optional. If a carton record is present, then that carton record must contain items in it.

Message ElementRequired?Notes
Final LocationConditionalThis column contains the fnal location for the
order. If it is a pre-allocated order that has been pre-
marked, then this is required and would contain the
allocation location.
Item NumberOptionalThis column contains unique identifer for the item.
Either VPN, item number, or reference item must be
specifed in the message.
Unit QuantityAlwaysThis column contains the quantity of the item that is
expected to be received.
Priority LevelOptionalNot used in Merchandising.
VPNOptionalThis column contains the vendor product number
used to fnd the item number. Either VPN, item
number, or reference item must be specifed in the
message.
Order Line NumberOptionalNot used in Merchandising
Lot NumberOptionalNot used in Merchandising.
Reference Item NumberOptionalThe column contains a bar code or reference item.
Either VPN, item number, or reference item must be
specifed in the message.
Distro NumberOptionalNot used in Merchandising.
Consumer Direct OrderOptionalNot used in Merchandising.
Customer Order NumberOptionalNot used in Merchandising.
Fulfll Order NumberOptionalNot used in Merchandising.
Distro Document TypeOptionalNot used in Merchandising.
Container QuantityOptionalNot used in Merchandising.
CommentsOptionalNot used in Merchandising.
Note

The Universal Identification Number (UIN) Details and Flex Attribute is not used by Merchandising.

Delete ASN

When deleting an ASN, Merchandising validates that the shipment is not in “Received” status. If the shipment is in a valid status, the shipment will be deleted. When deleting the ASN records, if Invoice Matching is integrated, it will populate the staging table for Invoice Matching to know which shipments have been purged.

Message ElementRequired?Notes
Destination LocationOptionalContains the location that the shipment will be
delivered to. For purchase orders this will always be
either a store or a physical warehouse.
Destination Location TypeOptionalThis column contains the destination location type
of the destination location feld. Valid values are ‘S’ =
store, and ‘W’ = warehouse.
Destination Store TypeOptionalNot used in Merchandising
To Stockholding IndicatorOptionalNot used in Merchandising
Source LocationOptionalNot used in Merchandising
Source Location TypeOptionalNot used in Merchandising
Source Store TypeOptionalNot used in Merchandising
Source Stockholding
Indicator
OptionalNot used in Merchandising
ASN NumberAlwaysThis column contains the advance shipping notice
number associated with the shipment. The delete
happens based on the ASN number where the origin
of shipping is through ASN shipment or through
ASN UCC-128.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
asnincreASN in CreateASNInDesc.xsd
asninmodASN in ModificationASNInDesc.xsd
Message TypesMessage Type DescriptionXML Schema Definition (XSD)
asnindelASN in DeleteASNInRef.xsd

Inventory Adjustment Subscription API

This section describes the Inventory Adjustment Subscription API.

Functional Area

Inventory

Business Overview

Merchandising receives requests for inventory adjustments from an integration subsystem through the Inventory Adjustment Subscription API. The requests contain information about the item and location whose inventory is being adjusted, the quantity to adjust, a from and to disposition code, and the reason for the adjustment. Merchandising uses information in these requests to:

  • Adjust overall quantities of stock on hand for an item at a location.

  • Adjust the availability of item-location quantities based on status.

After initial processing and validation, Merchandising performs the following tasks:

  • The item/location is ranged if it does not already exist.

  • For total stock on hand adjustments:

    • Stock on hand is updated for the item at the location, for total stock on hand adjustments.

    • Stock adjustment is recorded to the Merchandising transaction level stock ledger

  • For status-based adjustments:

    • Quantities by inventory status are adjusted for the item/location combination.

    • Non-sellable quantity is updated for the item/location.

  • For both types, an audit trail is created for the inventory adjustment by item, location, inventory status and reason.

Note

An adjustment can impact both total stock on hand and inventory status at the same time.

Inventory Adjustment Transaction Codes

Whenever the status or quantity of inventory changes, Merchandising writes transaction codes to adjust inventory values in the stock ledger. The types of inventory adjustment transaction codes are:

  • Tran code 22 - Adjustments where positive and negative adjustments are made to total stock on hand using a reason code with the COGS indicator = N. In this case, a transaction is inserted to the transaction level stock ledger for both the retail and cost value of the adjustment.

  • Tran code 23 - Adjustments where positive and negative adjustments are made to total stock on hand using a reason code with the COGS indicator = Y. In this case, a transaction is inserted to the transaction level stock ledger for both the retail and cost value of the adjustment.

  • Tran code 25 - Adjustments to inventory status, where inventory is moved to or from an unavailable or non-sellable status.

Other Notes

  • One or both of the to disposition and from disposition fields must have values. Both cannot be empty.

  • The item must be inventoried and approved.

  • If the item is a simple pack catch weight item, then the weight, weight UOM, and Weight Type should all be either defined or NULL. Weight UOM must be of the type Mass.

  • The item is a transaction-level or a reference item. When a reference item is passed in, its parent item (the transaction level item) has its inventory adjusted.

  • If adjusting a pack at a warehouse, the pack item must have its inventory tracked at the pack level (receive as type = Pack for the item/warehouse).

  • If the location is a warehouse, then either a virtual or physical warehouse can be supported. If it is a virtual warehouse, it must be a stockholding warehouse. If it is a physical warehouse, then the adjusted quantity is distributed among the virtual locations of the physical location.

The table below contains the details of the message as well as the validations.

Table 3-19 Inventory Adjustment Header

Message ElementRequired?Notes
Destination IDYesThis field contains the location where the inventory
adjustment is being made.
Inventory Adjustment DetailYesChild node

Table 3-20 Inventory Adjustment Detail

Message ElementRequired?Notes
ItemYesThis contains the item for which stock is being adjusted.
The item should be an approved inventory item.
Adjustment Reason CodeNoThis field contains the reason for inventory adjustment.
This field will only have a value for sellable inventory
types.

Table 3-20 (Cont.) Inventory Adjustment Detail

Message ElementRequired?Notes
Unit QuantityConditionalThis field contains the number of units to be added or
reduced. The value should not be 0 and should be a
whole number if the standard UOM of the item is EA.
The value should be null for Weight-only adjustments
which is applicable for Catch weight simple packs and
catch weight type 3 and 4 component items having
standard UOM as EA.
Transshipment NumberNoNot used
From DispositionConditionalFrom Disposition and To Disposition should both have
values or both should be NULL.
To DispositionConditionalFrom Disposition and To Disposition should both have
values or both should be NULL.
From Trouble CodeNoNot used
To Trouble CodeNoNot used
From WIP CodeNoNot used
To WIP CodeNoNot used
Transaction CodeNoNot used
User IDYesThis field contains the name of the user who created
the inventory adjustment.
Create Date TimeYesThis field contains the date and time the inventory
adjustment was made.
PO NumberNoThis field contains either a PO, Allocation, BOL or
Transfer number associated to the inventory adjustment
based on the doc_type. The value should exist in
Merchandising.
Document TypeNoThis field indicates the type of document where the
inventory adjustment originated from. Valid values are:

P - Purchase Order

T - Transfer

A - Allocation
Auxiliary Reason CodeNoNot used
WeightConditionalThis contains the weight of the catch-weight item.
Weight, Weight UOM and Weight Type should all have
values, or all should be NULL.
Weight UOMConditionalThis is the unit of measurement for weight. Weight,
Weight UOM and Weight Type should all have values,
or all should be NULL. This value should belong to the
uom_class, MASS.
Unit CostNoThis field contains the unit cost of the item.
Inventory Adjustment UINNoChild node
Weight TypeConditionalIndicates whether the weight is the Total weight (T) or
the Weight per unit (WPU). This field is applicable only
for Catch weight simple packs and catch weight type 3
and 4 component items having standard UOM as EA.
Weight Only AdjustmentConditionalIndicates whether the adjustment is only for the weight
(Y) or for both stock and weight (N).

Table 3-20 (Cont.) Inventory Adjustment Detail

Message ElementRequired?Notes
Inventory Identifier TypeOptionalThis field contains the inventory identifier type, which is
passed during inventory adjustment message. Valid
values are found under the Inventory Identifier Types
(IIDT) code type; for example, include Lot (L), Expiry
Date (E), Import Document (D).
Inventory IdOptionalThis fields contains the inventory identifier ID provided
on inventory adjustment transaction messages. It is a
free-form text ID field that will be interfaced and
displayed as a text field.
commentsOptionalHolds any comments associated with the inventory
adjustment.

Table 3-21 Inventory Adjustment UIN

Message ElementRequired?Notes
Unique IdentificationYesThis field contains the Universal Identification Number
Numberof the item at the location.
StatusYesThis field contains the status code of the UIN.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
invadjustcreInventory Adjustment Create MessageInvAdjustDesc.xsd

Inventory Request Subscription API

This section describes the inventory request subscription API.

Functional Area

Inventory Request Subscription

Business Overview

Merchandising receives requests for inventory using the Inventory Request API, which allows for items to be ordered by the store and fulfilled by the Merchandising. Unlike store order replenishment, Merchandising fulfills inventory requests from the store regardless of replenishment review cycles, delivery dates, and any other factors that may restrict a request from being fulfilled.

For item/store combinations that are on the Store Order type of replenishment in Merchandising, orders will be placed using this API and then the replenishment process builds the recommended order quantity (ROQ) based on the store’s requests. Requests that will not be reviewed prior to the date requested by the store are fulfilled through a one-off process (executed real-time through this API) that creates warehouse transfers and/or purchase orders to fulfill the requested quantities.

For item/location combinations that are currently using other methods of replenishment in Merchandising, the store requested quantities will be added on top of the calculated recommended order quantities to increase the overall replenishment. It can also be used for item/store combinations not on replenishment in Merchandising. In these cases, the one-off process described above will be used to create a POs or transfers utilizing attributes defined for the item/location.

Other validation notes:

  • Order quantities will be rounded using the store order multiple when an order is created for a warehouse or to the case size if ordering from the supplier.

  • Upcharges will always be applied to a transfer, when they can be defaulted.

  • Merchandising will validate that all items belong to the same department when department level ordering (supplier) or department level transfers (warehouse) are being used.

  • The store must be open for ordering.

Creating Inventory Requests

The table below summarizes these validations applicable for this API.

Message ElementRequired?Notes
ItemAlwaysThe item must be approved, orderable, and inventoried
item; it must also be ranged to the location in the
inventory request and must be active at that location.
Unit of purchaseAlwaysUnit of purchase must either be eaches (EA), case
(CA), or pallet (PA).
Need dateAlwaysThis is the date that the store needs the item by.
Need quantityAlwaysThis is the quantity being requested in standard UOM.
Delivery slotOptionalValid delivery slots are in the delivery_slot table.
StoreAlwaysThe store must exist as a valid stockholding store in
Merchandising.
Request typeOptionalStore order (SO) or Inventory Request (IR)
If the request type is SO or blank, then replenishment
method should be store order. If the request type is IR,
delivery slot should be provided.

Error Handling

If an error occurs in this procedure, a call will be placed to a function to build a complete error message. This message together with a status of E is returned to the external system. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database. This API supports non-fatal error processing. If an error is encountered in one inventory request detail, it will log and return the error to the RIB.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
InvReqCreInventory Request Create MessageInvReqDesc.xsd

Item Subscription API

This section describes the item subscription API.

Functional Area

Items

Business Overview

This API subscribes to items from external systems to create, update, or delete items in Merchandising. This subscription API provides a means to not only create, update, and delete items but also create, update, and delete other details of the item structure.

Item messages include the detail nodes for the supplier and supplier/country. If the item is not a non-sellable pack, the item/zone/price node is also required. Optional nodes can be included in the message for supplier/country, supplier/country/location, pack components, item/vat, dimension, UDA, season, image, translations, HTS, assessments, conditional tariff treatments, expenses, related items, required documents, and upcharges.

This API supports the insertion of data into the Item Induction staging tables based on the data sent through Oracle Retail Integration Bus (RIB), without requiring that the data sent to be functionally complete. If a complete set of item data is sent by the external system through this API, then it is possible to automatically trigger the upload of the data directly into Merchandising by setting a flag in the RIB message, such that item information is uploaded without further user interaction.

Items must be created and maintained following a logical hierarchy as outlined by the referential integrity of the item database tables: Item parents before child items; item components before items that are packs; items before item-suppliers; item/suppliers before item/supplier/countries; items before item/locations (a separate API), and so on. Failing to do so results in message failure.

The auto-creation of item children using differentiator records attached to an item parent, as currently occurs using RMS online processes, is not supported in this API.

These transactions are performed immediately upon message receipt so that success or failure can be communicated to the calling application.

Creating Items

When a new item is created, this API validates that all required fields are present in the message. After that, business-level validation on the input information is performed. If all the validations are met, the item in the message data is created in Merchandising. The tables below summarize these two types of validation.

Table 3-22 Header Level Validation

Message ElementRequired?Notes
ItemAlwaysThe unique identifer of the main item on the
message.
Item parentOptionalMust be an existing item in Merchandising.
Item grandparentOptionalMust be an existing item in Merchandising.
Pack indicatorOptionalValid values are Y and N. The value Y indicates
this item is a pack item.
Item levelOptionalValid values are 1 (single level or pack item), 2
(child item), and 3 (grandchild item).
Transaction levelOptionalValid values are 1, 2, and 3.
Differentiator 1OptionalMust be an existing differentiator or
differentiator group in Merchandising. If the
item on the message is a parent. this feld may
contain a differentiator group ID.
Differentiator 2Optionalsame as Differentiator 1.
Differentiator 3Optionalsame as Differentiator 1.
Differentiator 4Optionalsame as Differentiator 1.
DepartmentAlwaysMust be an existing department in
Merchandising.
ClassOptionalMust be an existing class in the dept in
Merchandising.
SubclassOptionalMust be an existing subclass in the dept/class
in Merchandising.
Item descriptionAlwaysContains the complete, long description for
the item being created.
Item supplier country location
hierarchy level
OptionalMust be a valid organization hierarchy level.
Valid values are:A - AreaAI - All Internal
FinishersAS - All StoresAW - All WarehousesD
- DistrictDW - Default WarehouseI - Internal
FinisherL - Location TraitPW - Physical
WarehouseR - RegionS - StoreT - Transfer
ZoneW - Warehouse
Item zone price hierarchy levelOptionalMust be a valid organization hierarchy level.
Valid values are chain (C), area (A), region (R),
district (D), store (S) or warehouse (W). Must
be null if the item is a non-sellable pack.

Table 3-22 (Cont.) Header Level Validation

Message ElementRequired?Notes
Short DescriptionOptionalContains a shortened description of the item
being created. Generally, this description
would be used by other systems where it is
problematic to display the full long
description (e.g. a POS system, or customer
receipt).
Cost zone group idOptionalMust be an existing cost zone in
Merchandising.Must be null if landed cost is
not being used in the system or the item is an
orderable buyer pack.
Standard UOMOptionalMust be a valid UOM.Defaulted to Eaches (EA),
if not populated in the message.
Store order multipleOptionalValid values are Cases (C), Inners (I), and
Eaches (E).
Forecast indicatorOptionalIndicates if this item will have a sales forecast
created for it by a forecasting module. Valid
values are Y and N.Must be N if the item is a
pack.
Simple pack indicatorConditionalValid values are Y and N.This feld is required
if the item is a pack.
Contains inner indicatorAlwaysValid values are Y and N.
This should be Y if the item is a pack and at
least one component item is a pack.
Otherwise, it should be N.
Sellable indicatorOptionalIndicates if this item will be made available
for sale to end consumers. Valid values are Y
and N.It should be Y for a non-pack item.
Orderable indicatorOptionalIndicates if this item will be orderable. Valid
values are Y and N. It should be Y for a non-
pack item.
Pack typeOptionalValid values are buyer (B) and vendor (V).
Must be Null for a non-pack item.
Order as typeOptionalMust be a valid code from code type PARC if
populated:
E - Eaches
P - Pack
Must be Null for a non-pack item.
CommentsOptionalFree form text
Create datetimeOptionalDate/time stamp of when the item was
created. This value is populated on insert with
SYSDATE and cannot be updated.
StatusOptionalValid values are worksheet (W), submitted (S),
approved (A) and deleted (D).
UOM conversion factorOptionalConversion factor between an Each and the
standard_uom when the standard_uom is not
in the quantity class.

Table 3-22 (Cont.) Header Level Validation

Message ElementRequired?Notes
Package sizeOptionalHolds the size of the product printed on any
packaging. Should be NULL for below
transaction level items.
Handling temperatureOptionalMust be a valid code from code type HTMP if
populated.
Handling sensitivityOptionalMust be a valid code from code type HSEN if
populated.
Manufacturer’s recommended
retail
OptionalManufacturers recommended retail price for
the item.
Waste typeOptionalMust contain either: SL - Sales Wastage SP -
Spoilage Wastage
Waste percentageOptionalMust be greater than 0 or less than 100 if
populated.
Item number typeOptionalMust be a valid code from code type UPCT if
populated (note: new codes for this code type
are not supported):EAN13 - EAN/
UCC-13EAN13S - EAN/UCC-13 with
SupplementEAN8 - EAN/UCC-8ISBN10 -
ISBN-10ISBN13 - ISBN-13ITEM - Oracle Retail
Item NumberMANL - ManualNDC - NDC/
NHRIC - National Drug CodePLU - PLUSSCC -
SSCC Shipper CartonUCC14 - EAN/UCC-14UPC-
A - UCC12UPC-AS - UCC12 with
SupplementUPC-E - UCC8UPC-ES - UCC8 with
SupplementVPLU - Variable Weight PLU
Catch weight indicatorOptionalIndicates if this item should be weighed upon
receipt. Valid values are Y and N.
Constant dimension indicatorOptionalValid values are Y and N.
Gift wrap indicatorOptionalValid values are Y and N.
Ship alone indicatorOptionalValid values are Y and N.
External source systemOptionalNot used by Merchandising.
Size group 1OptionalNot used by Merchandising.
Size group 2OptionalNot used by Merchandising.
Size 1OptionalNot used by Merchandising.
Size 2OptionalNot used by Merchandising.
ColorOptionalNot used by Merchandising.
System indicatorOptionalNot used by Merchandising.
UPC supplementOptionalNot used by Merchandising.
UPC typeOptionalNot used by Merchandising.
Primary UPC indicatorOptionalNot used by Merchandising.
Primary replenishment indicatorOptionalNot used by Merchandising.

Table 3-22 (Cont.) Header Level Validation

Message ElementRequired?Notes
Item aggregate indicatorOptionalUsed only for a parent level item. Used in
conjunction with the Diff 1-4 aggregate
indicators to defne which diff values should
be used in aggregations along with the parent
item, for example, to specify a style (parent
item) /color (diff) aggregation. Valid values are
Y and N.
Differentiator 1 aggregate
indicator
OptionalValid values are Y and N.
Differentiator 2 aggregate
indicator
OptionalValid values are Y and N.
Differentiator 3 aggregate
indicator
OptionalValid values are Y and N.
Differentiator 4 aggregate
indicator
OptionalValid values are Y and N.
Perishable indicatorOptionalValid values are Y and N.
Notional pack indicatorOptionalValid values are Y and N.
Stock on Hand inquiry at pack
indicator
OptionalValid values are Y and N.
AIP case typeOptionalMust be one of the following if populated:
F - Formal
I - Informal
Order typeOptionalMust be one of the following if populated:
F - Fixed Weight
V - Variable Weight
Sale typeOptionalMust be one of the following if populated:
L - Loose Weight
V - Variable Weight Each
Catch weight UOMOptionalUOM for Catchweight Items.
Deposit item typeOptionalValid values are:
E - Contents
A - Container
Z - Crate
T - Returned Item (Empty bottle)
Inventory indicatorOptionalIndicates if inventory will be managed for this
item. Valid values are Y and N.
Item transformation indicatorOptionalValid values are Y and N.
Container itemConditionalRequired if the Deposit item type is E.
Package UOMOptionalThe unit of measure associated with the
package size.
Format IDOptionalRequired for Variable PLU item types.
PrefxOptionalPrefx for variable weight UPCs.
BrandOptionalMust be an existing brand in Merchandising if
populated.

Table 3-22 (Cont.) Header Level Validation

Message ElementRequired?Notes
Product classifcationOptionalMust be a valid code from code type PCLA if
populated.
Item description secondaryOptionalSecondary descriptions of the item.
Description uppercaseOptionalAll uppercase description of the item (same as
upper(item_desc)).
Merchandise indicatorOptionalValid values are Y and N.
Original retailOptionalThe original retail price of the item per unit.
Retail label typeOptionalMust be a valid code from code type RTLT if
populated.
Retail label valueOptionalThe value associated with the retail label
type.
Default waste percentageAlwaysMust be NULL for below transactional level
items.Must be greater than 0 and less than
100, if populated.For transactional level or
above items, this feld must be populated if
wastage type is SP.
Item service levelOptionalHolds a value that restricts the type of
shipment methods that RCOM can select for
an item.
Check UDA indicatorOptionalValid values are Y and N.
Deposit in price per UOMOptionalRequired if deposit item type is E. Valid values
are:E - Exclusive of Deposit AmountI -
Inclusive of Deposit Amount
Attempt RMS loadAlwaysValid values are STG and RMS. The value STG
indicates the item will be loaded into
induction staging environment as an
incomplete item. The value RMS indicates the
item is complete and an attempt to create the
item in Merchandising will be made. In the
case of RMS, the item will be subject to all
validations for a completed item.
Long DescriptionOptionalContains a long description of the item being
created.

A pack item may be created by providing the component item information while creating the item. This detail is required if item is a pack item. Below are the validations:

Table 3-23 Pack Item Validation

Message ElementRequired?Notes
Component itemAlwaysMust be an existing item in Merchandising.
Pack quantityAlwaysMust be an integer if standard UOM is
’EA’.Must be greater than 0.

Additionally, item zone prices may be updated together with the creation of a new item. Below are the validations:

Table 3-24 Item Zone Price Validation

Message ElementRequired?Notes
Hierarchy IDAlways
Base retail IndicatorOptionalNot used by Merchandising.
Selling unit retailOptionalUnit retail price in the selling unit of
measure.
Selling UOMOptionalUnit of Measure for the selling unit
retail. UOM must be from either the
QTY, MASS, VOL, AREA or DIMEN class.
Multi selling UOMOptionalUnit of Measure for the multi-selling
units and retail. UOM must be from
either the QTY, MASS, VOL, AREA or
DIMEN class.
Country IDOptionalValid Country code.
Currency codeOptionalNot used by Merchandising.
Multi unitsOptionalMust be populated only if multi-unit
retail is populated.Must be greater than
1 if populated.
Multi-unit retailOptionalMust be greater than 0.

If the above validations pass, then the item is created with the status defined in the message. If the status in the message is approved, then the item is also subjected to a series of approval checks. For an item to be successfully approved, mandatory information, such as supplier, supplier country, component item information (if item is a pack), is required to be passed as part of the item message. If the item cannot be approved, it is not created.

You can also include following information for the item: expenses, conditional tariff treatments, HTS and assessments, tickets, UDA, VAT (for SVAT tax type), Upcharges, Images, Seasons, Related Items, Required documents, and Item supplier country locations. If included, these are created simultaneously with the creation of the item.

Updating Items

Updates can be made to the items that are in Worksheet, Submitted or Approved status. For the update messages, the API validates that the item number included in the message already exists in Merchandising.

Header Level Updates

Only header-level fields need to be provided for header level updates. Any item details included in the message are ignored for a header-level update message. There are certain fields that are not allowed to be updated at the header level, depending on the status and whether these are still provided in the message; appropriate error message will be returned.

Deleting Items

If you are deleting an item, the API will first validate that the item number is valid. The item number is the only required field for a header delete message. If the item does not exist in Merchandising a reject message is returned.

Optionally the item detail records can be deleted by integrating as part of the item delete message.

Table 3-25 Item Delete

Message ElementRequired?Notes
ItemAlwaysMust be an existing item in
Merchandising.
Hierarchy LevelOptionalNot used
Item CountryOptionalChild Node
Item SupplierOptionalChild Node
Item VATOptionalChild Node
Item ImageOptionalChild Node
Item SeasonOptionalChild Node
Item UDAOptionalChild Node
Item PackOptionalNot used.
System IndicatorOptionalNot used.
UPC SupplementOptionalNot used.
Item Header TranslationOptionalChild Node
Item HTSOptionalChild Node
Item ExpensesOptionalChild Node
Item TicketOptionalChild Node
Item Up-ChargesOptionalChild Node
Item Conditional Tariff TreatmentOptionalChild Node
Related ItemsOptionalChild Node
Required DocumentsOptionalChild Node

Creating an Item Supplier

An item supplier may be created together with the creation of a new item or added to an existing item. Below are the message details and validations:

Message ElementRequired?Notes
SupplierAlwaysMust be an existing supplier in
Merchandising.
Primary supp indicatorAlwaysIndicates if this supplier is the primary
supplier for the item. An item can only
have one primary supplier. Valid values
are Y and N.
VPNOptionalVendor Part/Product Number. Must not
contain the new line, pipe, linefeed or
semicolon characters.
Supplier labelOptionalThe supplier label for an item (Parent/
Child)
Consignment rateOptionalUsed only for consignment items, to
specifc the rate of consignment (the
percentage of the retail price that will
be remitted to the supplier).
Message ElementRequired?Notes
Supp discontinue dateOptionalMust be greater than or equal vdate.
Direct ship indicatorOptionalIndicates if this item can be directly
shipped to end consumers from this
supplier. Valid values are Y and N.
Pallet nameOptionalMust be a valid code from code type
PALN if populated:
FLA - Flat
PAL – Pallet
Additional codes can be added to the
code type.
Case nameOptionalMust be a valid code from code type
CASN if populated:
BA - Barrel
BBL - Barrel
BE - Bundle
BG - Bag
BI - Bin
BJ - Bucket
BK - Basket
BX - Box
CA - Can
CON - Container
CR - Crate
CS - Case
CT - Carton
PACK - Pack
PO – Pot
Additional codes can be added to the
code type.
Inner nameAlwaysMust be a valid code from code type
INRN if populated:
EA - Eaches
INR - Inner
SCS - Sub-Case
SPACK - Sub-Pack
Additional codes can be added to the
code type.
Primary case sizeConditionalRequired for an orderable item that has
been confgured for Informal (I) case
types.
Supplier differentiator 1OptionalThis feld contains the frst supplier
differentiator and/or description. This
feld may only contain a value for items
with an item_parent.
Supplier differentiator 2OptionalThis feld contains the second supplier
differentiator and/or description. This
feld may only contain a value for items
with an item_parent.
Message ElementRequired?Notes
Supplier differentiator 3OptionalThis feld contains the third supplier
differentiator and/or description. This
feld may only contain a value for items
with an item_parent.
Supplier differentiator 4OptionalThis feld contains the fourth supplier
differentiator and/or description. This
feld may only contain a value for items
with an item_parent.
Concession rateAlwaysRequired for items defned as
concession items.
Default expense profles indicatorOptionalValid values are Y or N. Indicates
whether expenses should be defaulted
from the Expense Profle or not.

Updating an Item Supplier

To update an item’s supplier information, the supplier must exist for the item in Merchandising; otherwise, an error will be returned. All fields identified in the create section above are updateable and will go through the same validation as in the creation of an item supplier.

Deleting an Item Supplier

To update an item’s supplier information, the supplier must exist for the item in Merchandising; otherwise, an error will be returned. All fields identified in the create section above are updateable and will go through the same validation as in the creation of an item supplier. Optionally, the item supplier detail records can be deleted by integrating as part of the item supplier delete message.

Table 3-26 Item Supplier Delete

Message ElementRequired?Notes
SupplierAlwaysMust be an existing supplier for the item
in Merchandising.
Delete Children IndicatorAlwaysIndicates whether the deletion should be
applied to all associated item/supplier
records below the item level of the item
specifed on the deletion message.
Valid values are Y and N.
Item Supplier CountryOptionalChild node.
Item Supplier Country of ManufactureOptionalChild node.
Item Supplier translationOptionalChild node.

Creating an Item Supplier Country

An item supplier country may be created together with the creation of a new item or added to an existing item supplier. Below are the validations:

Message ElementRequired?Notes
Origin country IDAlwaysMust be an existing country in
Merchandising.
Primary country indicatorAlwaysIndicates the primary origin country for
the item / supplier. An item/supplier can
only have one primary origin country.
Valid values are Y and N.
Unit costOptionalContains the unit cost for the item/
supplier/origin country. This must be
provided if the item is orderable.
Lead timeOptionalMust be between 0 and 9999.
Pickup lead timeOptionalMust be between 0 and 9999.
Minimum order quantityOptionalMust be greater than 0.
Maximum order quantityOptionalMust be greater than 0.
Supplier hierarchy level 1OptionalCan be used to identify the frst level of
a supplier hierarchy, such as the
manufacturer.
Supplier hierarchy level 2OptionalCan be used to identify the second level
of a supplier hierarchy, such as the
distributor.
Supplier hierarchy level 3OptionalCan be used to identify the third level of
a supplier hierarchy, such as the
wholesaler.
Default UOPAlwaysContains the default Unit of Purchase
for the item at the supplier/origin
country.
Supplier pack sizeAlwaysMust be greater than 0. Must not be a
decimal if Cost UOM class is Qty
Inner pack sizeAlwaysMust be less than supplier pack size and
supplier pack size must be a multiple of
inner pack size if populated. Must not
be decimal if Cost UOM class is Qty
TiAlwaysContain the number of cased in a tier on
a pallet. Must be greater than 0. The
pallet size for an item is the supplier
pack size x Ti x Hi.
HiAlwaysContains the number of tiers high for a
pallet. Must be greater than 0. The pallet
size for an item is the supplier pack size
x Ti x Hi.
Cost UOMAlwaysMust be an existing Unit of measure in
Merchandising.If the UOM Class is QTY,
inner pack size and supp pack size
cannot be a decimal.
Tolerance typeConditionalMust be one of the following:A - ActualP
- PercentageRequired for a variable
weight simple pack catchweight item.
Message ElementRequired?Notes
Minimum toleranceConditionalRequired if the item is a variable weight
simple pack catchweight item.Must be
greater than 0.Must be less than 100 for
Percentage tolerance type.Must be less
than net weight for Actual tolerance
type.Must be less than max tolerance.
Maximum toleranceOptionalRequired if the item is a variable weight
simple pack catchweight item.Must be
greater than 0.Must be less than 100 for
Percentage tolerance type.Must be
greater than net weight for Actual
tolerance type.Must be greater than
max tolerance.
Supplier hierarchy type 1OptionalUsed in conjunction with the Supplier
Hierarchy Level 1 to defne the type, for
example Manufacturer.
Supplier hierarchy type 2OptionalUsed in conjunction with the Supplier
Hierarchy Level 1 to defne the type, for
example Distributor.
Supplier hierarchy type 3OptionalUsed in conjunction with the Supplier
Hierarchy Level 1 to defne the type, for
example Wholesaler.
Round levelOptionalMust be one of the following:C - CaseCL -
Case/LayerCLP - Case/Layer/PalletL -
LayerLP - Layer/PalletP – Pallet
Used in conjunction with the rounding
percentages to determine when to
round up or down to the nearest inner,
case, layer, or pallet.
Round to inner percentageAlwaysMust be between 0 and 100.
Round to case percentageAlwaysMust be between 0 and 100.
Round to layer percentageAlwaysMust be between 0 and 100.
Round to pallet percentageAlwaysMust be between 0 and 100.
Packing methodOptionalMust be a valid code from code type
PKMT if populated:

FLAT - Flat

HANG - Hanging
Default expense profles indicatorOptionalValid values are Y or N. Indicates
whether expenses should be defaulted
from the Expense Profle or not.
Purchase typeConditionalRequired if consignment concession fag
is Y

.0 – Owned (default)

1 - Consignment

2 - Concession
Calculation basisConditionalRequired if consignment concession fag
is Y and purchase type is either 1 or 2.

C - Cost per Unit

P - Purchase Rate
Message ElementRequired?Notes
Purchase rateConditionalRequired if purchase type is either 1 or
2 and calculation basis is P. Must be
between 0 and 100.
Pricing ControlOptionalThis indicates whether the price for the
consignment/concession item will be
managed by supplier or by retailer
when supplier-controlled pricing for
Consignment/Concession ownership
model is used within the Merchandising
suite of solutions. Valid values are:

R - Retailer

S - Supplier
If no value is provided for consignment/
concession items, this will be defaulted
based on the default pricing control at
supplier site level.

Updating an Item Supplier Country

To update item supplier country information, the supplier country must exist for the item in Merchandising; otherwise, an error will be returned. All the updateable fields will go through the same validation as in the creation of an item supplier country.

Deleting an Item Supplier Country

To delete an item supplier country, the supplier country must exist for the item in Merchandising; otherwise, an error will be returned. Optionally, the item supplier country detail records can be deleted by integrating as part of the item supplier country delete message.

Table 3-27 Item Supplier Country Delete

Message ElementRequired?Notes
Origin Country IdAlwaysMust be an existing supplier country for
the item in Merchandising.
Item Supplier Country LocationOptionalChild Node
Item Supplier Country DimensionOptionalChild Node

Creating Item Supplier Manufacturing Country

An item supplier manufacturing country may be created together with the creation of a new item or added to an existing item supplier. Below are the validations:

Message ElementRequired?Notes
Manufacturer country IDAlwaysMust be an existing country in
Merchandising.
Primary manufacturer country
indicator
OptionalValid values are Y and N.

Updating Item Supplier Manufacturing Country

To update item supplier country information, the supplier manufacturing country must exist for the item in Merchandising; otherwise, an error will be returned. All the updateable fields will go through the same validation as in the creation of an item supplier manufacturing country.

Deleting Item Supplier Manufacturing Country

To delete an item supplier manufacturing country, the supplier manufacturing country must exist for the item in Merchandising; otherwise, an error will be returned.

Table 3-28 Item Supplier Country of Manufacture Delete

Message ElementRequired?Notes
Manufacturer Country IdAlwaysMust be an existing supplier
manufacturer country for the item in
Merchandising.

Creating Item Supplier Country Location

Item supplier country location can be created together with the creation of a new item or added to an existing item supplier country. Records are not required at this level for an item. If provided, the values override those defined at the item/supplier/country level for the specified location(s). Below are the validations:

Message ElementRequired?Notes
Hierarchy IDAlwaysMust be NULL when item-supplier-
country-location hierarchy level is
either All Stores (AS), All Warehouses
(AW) or All Internal Finishers
(AI).Required if item-supplier-country-
location hierarchy level is either Store
(S), Default Warehouse (DW),
Warehouse (W), Physical Warehouse
(PW), Internal Finisher (I), District (D),
Region (R), Area (A), Transfer Zone (T)
or Location Trait (L). Contains the
identifer for the specifed location
hierarchy level. For example, if the
location hierarchy level is S this will
contain a store ID.
Unit costOptionalRequired if item is an owned item or a
consignment/concession item with
calculation basis as C, when
consignment concession fag is set to Y.
Required if consignment concession fag
is set to either N or D. Must be blank for
buyer packs. Must be greater than 0 and
less than 9999999999999.9999 if
populated.
Negotiated item costOptionalThe supplier negotiated item cost based
on the location of the item.
Message ElementRequired?Notes
Primary location indicatorOptionalIndicates if the location is the primary
for the item/supplier/origin country.
Valid values are Y and N.
Pickup lead timeOptionalMust be between 0 and 9999.
Round levelOptionalMust be one of the following:C - CaseCL -
Case/LayerCLP - Case/Layer/PalletL -
LayerLP - Layer/PalletP – Pallet
Used in conjunction with the rounding
percentages to determine when to
round up or down to the nearest inner,
case, layer, or pallet.
Round to case percentageOptionalMust be between 0 and 100.
Round to layer percentageOptionalMust be between 0 and 100.
Round to pallet percentageOptionalMust be between 0 and 100.
Round to inner percentageOptionalMust be between 0 and 100.
Supplier hierarchy level 1OptionalCan be used to identify the frst level of
a supplier hierarchy, such as the
manufacturer.
Supplier hierarchy level 2OptionalCan be used to identify the second level
of a supplier hierarchy, such as the
distributor.
Supplier hierarchy level 3OptionalCan be used to identify the third level of
a supplier hierarchy, such as the
wholesaler.
Cost UOMAlwaysMust be an existing Unit of measure in
Merchandising.
Purchase typeConditionalMust be populated when consignment
concession fag is Y.

0 - Owned

1 - Consignment

2 - Concession
Calculation basisConditionalMust be provided when consignment
concession fag is Y and purchase type is
either 1 or 2. Must be one of the
following:

C - Cost per Unit

P - Purchase Rate
Purchase rateConditionalMust be provided if purchase type is
either 1 or 2 and calculation basis is P.
Must be between 0 and 100.
Message ElementRequired?Notes
Pricing ControlOptionalThis indicates whether the price for the
consignment/concession item will be
managed by supplier or by retailer
when supplier-controlled pricing for
Consignment/Concession ownership
model is used within the Merchandising
suite of solutions. Valid values are:

R - Retailer

S - Supplier
If no value is provided for consignment/
concession purchase types, this will be
defaulted from item/supplier/country of
sourcing if purchase type is
Consignment/Concession at item/
supplier/country of sourcing level. If
purchase type is Owned at item/
supplier/country of sourcing level, this
will be defaulted based on Default
Pricing Control at supplier site level.

Updating Item Supplier Country Locations

To update item supplier country location information, the supplier country location must exist for the item in Merchandising; otherwise, an error will be returned. All the updateable fields will go through the same validation as in the creation of an item supplier country location.

Deleting Item Supplier Country Locations

To delete an item supplier country location, the supplier country location must exist for the item in Merchandising; otherwise, an error will be returned.

Table 3-29 Item Supplier Country Location Delete

Message ElementRequired?Notes
Hierarchy IdAlwaysMust be an existing location for the item
supplier country in Merchandising.

Creating Item Supplier Country Dimensions

Item supplier country dimensions can be created together with the creation of a new item or added to an existing item supplier country. Dimensions are not required for an item. However, if non-standard units of measure will be used for the item there must be a case-type dimension provided. For example, for a selling unit retail to be defined in ounces there must be a dimension defined containing the liquid and volume to be used when converting between a unit and an ounce. Below are the validations:

Message ElementRequired?Notes
Dimension objectAlwaysMust be one of the following:CA -
CaseEA - EachIN - InnerPA - Pallet
Tare weightOptionalMust be greater than zero and less than
weight (gross weight).
Message ElementRequired?Notes
Tare typeOptionalMust be one of the following:D - DryW -
Wet
Length width and height UOMConditionalMust be a valid UOM of the UOM Class
DIMEN, if populated.
LengthOptionalMust be provided if dimension object is
populated and UOM class is
DIMEN.Must be greater than 0.
WidthOptionalMust be provided if dimension object is
populated and UOM class is
DIMEN.Must be greater than 0.
Dim heightOptionalHeight of dim_object measured in units
specifed in lwh_uom.
Liquid volumeOptionalRequired if dimension object is
populated and it’s UOM class is
LVOL.Must be greater than 0, if
populated.
Liquid volume UOMOptionalMust be a valid UOM of the UOM Class
LVOL, if populated.
Statistical cubeOptionalMust be greater than 0, if populated.
Weight UOMOptionalMust be a valid UOM of the UOM Class
MASS, if populated.
WeightOptionalRequired if tare type and net weight are
populated.Must be less than tare weight,
if populated.Must be greater than 0, if
populated.
Net weightOptionalMinimum tolerance value must be less
than net weight for an actual tolerance
type.Maximum tolerance value must be
greater than net weight.Must be greater
than 0, if populated.Must be less than or
equal to weight (gross weight).
Presentation methodOptionalMust be a valid code from code type
PCKT, if populated.

Updating Item Supplier Country Dimensions

To update item supplier country dimension information, the supplier country dimension must exist for the item in Merchandising, otherwise, an error will be returned. All the updateable fields will go through the same validation as in the creation of an item supplier country dimension.

Deleting Item Supplier Country Dimensions

To delete an item supplier country dimension, the supplier country dimension must exist for the item in Merchandising; otherwise, an error will be returned.

Table 3-30 Item Supplier Country Dimension Delete

Message ElementRequired?Notes
Dimension ObjectAlwaysMust be an existing supplier country
dimension for the item in
Merchandising.

Creating Item VAT

Item VAT (value added tax) may be created together with the creation of a new item or added to an existing item when default tax type for the system is SVAT (Simple VAT). If not populated, item VAT defaults to the corresponding department’s VAT information. Below are the validations:

Message ElementRequired?Notes
VAT TypeAlwaysValid values for are Cost (C), Retail (R)
and Both (B).
VAT RegionAlwaysMust be an existing VAT Region in
Merchandising, if populated
VAT CodeAlwaysMust be an existing VAT code in
Merchandising, if populated
Active DateAlwaysMust not be earlier than or equal to
vdate.
Reverse VAT IndicatorAlwaysValid values are Y and N.

Deleting Item VAT

In order to delete an item VAT, the VAT information must exist for the item in Merchandising; otherwise, an error will be returned.

Table 3-31 Item VAT Delete

Message ElementRequired?Notes
VAT TypeAlwaysMust be an existing VAT type for the VAT
Item in Merchandising.
VAT RegionAlwaysMust be an existing VAT region for the
VAT Item in Merchandising.
VAT CodeAlwaysMust be an existing VAT code for the VAT
Item in Merchandising.
Active DateAlwaysMust be an existing active date for the
VAT Item in Merchandising.

Creating Item UDA

Item UDA (user defined attribute) of type date/freeform text/list of value can be created together with the creation of a new item or added to an existing item. Below are the validations:

Message ElementRequired?Notes
UDA IDAlwaysMust be an existing UDA in
Merchandising for the given display
type.
Display typeAlwaysMust contain one of the following to
indicate the type of UDA:

DT – Date

LV – List of Values

FF – Free Form
UDA dateOptionalMust be populated for ‘DT’ display type.
UDA valueOptionalMust be populated for ‘LV’ display type.
UDA textOptionalMust be populated for ‘FF’ display type.
New UDA dateOptionalMust not already be present in
Merchandising for the given item UDA
combination.Must not be same as the
existing value for the given item UDA
combination.
New UDA valueOptionalMust not already be present in
Merchandising for the given item UDA
combination.Must not be same as the
existing value for the given item UDA
combination.
New UDA textOptionalMust not already be present in
Merchandising for the given item UDA
combination.Must not be same as the
existing value for the given item UDA
combination.
UDA Free Form Text TranslationsOptionalChild Node

Updating Item UDA

To update an item UDA of type date/freeform text/list of values, the UDA must exist for the item in Merchandising; otherwise, an error will be returned. All the updateable fields will go through the same validation as in the creation of an item UDA.

Deleting Item UDA

To delete an item UDA, the UDA must exist for the item in Merchandising; otherwise, an error will be returned.

Table 3-32 Item UDA Delete

Message ElementRequired?Notes
UDA IdAlwaysMust be an existing UDA for the Item in
Merchandising.
Display TypeAlwaysDisplay Type of the UDA. Valid values
are:
LV - List of Values
FF - Freeform
DT - Date

Table 3-32 (Cont.) Item UDA Delete

Message ElementRequired?Notes
UDA ValueOptionalThis can either be a UDA value (for LV
display type) or a UDA date (for DT
display type) or a freeform text (for FF
display type). This must an existing value
for the Item UDA in Merchandising.
UDA Free Form Text TranslationsOptionalChild Node

Creating Item Season

Item Seasons can be created together with the creation of a new item or added to an existing item. Below are the validations:

Message ElementRequired?Notes
Season IDAlwaysMust be an existing season in
Merchandising.
Phase IDAlwaysMust be an existing phase for the given
season in Merchandising.
Item season sequence numberOptionalUsed to ensure uniqueness. Each
season/phase combination for an item
should have a unique sequence number.
Diff IDOptionalCan be used to differentiate an item/
season by a diff, for example if the
season/phase applies to only a specifc
color for a style.
Create datetimeOptionalHolds the date time stamp the item/
season/phase was created.
Last update datetimeOptionalHolds the date time stamp of the most
recent update by the Last update ID.
Last update IDOptionalHolds the ID of the user who most
recently updated this record.
colorOptionalNot used by Merchandising.

Deleting Item Season

In order to delete an item season, the season-phase ID must exist for the item in Merchandising, otherwise, an error will be returned.

Table 3-33 Item Season Delete

Message ElementRequired?Notes
Season IDAlwaysMust be an existing season for the Item
in Merchandising.
Phase IDAlwaysThis must be an existing phase for the
item season in Merchandising.
Differentiator IDOptionalThis must be a valid group/differentiator
ID for the item in Merchandising.

Table 3-33 (Cont.) Item Season Delete

Message ElementRequired?Notes
ColorOptionalNot used.

Creating Item Images

Item images can be created together with the creation of a new item or added to an existing item. Below are the validations:

Message ElementRequired?Notes
Image nameAlwaysContains the image fle name (e.g.
image.jpg).
Image addressOptionalContains the image URL path. If not
provided the system default will be
used.
Image descriptionOptionalContains a name for the image that is
logical for a user to be able to identify
the image.
Create datetimeOptionalMay contain the date timestamp the
image was added for the item.
Last update datetimeOptionalMay contain the date timestamp for
when the image was last updated.
Last update IDOptionalMay contain the ID for the user that
made the last update.
Image typeAlwaysMust be a valid code from code type =
IITD if populated:

H - High

L - Low

M - Medium

T - Thumbnail
Primary indicatorAlwaysValid values are Y and N.
Display priorityAlwaysMust be greater than 0.

Updating Item Images

To update an item image, the image name must exist for the item in Merchandising; otherwise, an error will be returned. All the updateable fields will go through the same validation as in the creation of an item image.

Deleting Item Images

To delete an item image, the image must exist for the item in Merchandising; otherwise, an error will be returned.

Optionally the item image translation can be deleted by integrating as part of the item image delete message.

Table 3-34 Item Image Delete

Message ElementRequired?Notes
Image NameAlwaysMust be an existing image for the item in
Merchandising.
Image TranslationsOptionalChild Node

Creating HTS and Assessments

HTS and Assessments may be created together with the creation of a new item or added to an existing item. Below are the validations:

Table 3-35 HTS Validation

Message ElementRequired?Notes
HTSAlwaysContains the HTS code. The specifed code must
exist in Merchandising.
Import country IDAlwaysContains the country ID where the item is being
imported into and the HTS code applies.
Origin country IDAlwaysContains the country ID where the item
originated from.
Effect from DateAlwaysContains the frst date the HTS code is effective
for the item.
Effect to DateAlwaysContains the last date the HTS code is effective
for the item.
Clearing zone IDOptionalMust be an existing clearing zone in
Merchandising and the clearing zone must be
associated with the import country.
StatusOptionalValid values are worksheet (W) and approved
(A).

Table 3-36 HTS Assessment Validation

Message ElementRequired?Notes
Component IDAlwaysComponent ID must exist on the ELC components
table.
CVB codeOptionalRequired if the component rate calculation basis is
value (V), otherwise this will be defaulted to NULL.
Must be a valid CVB code in Merchandising.
Component rateOptionalMust be greater than or equal to 0 is populated.
Required if CVB Code is populated.
Per countOptionalRequired if CVB Code is populated. Defaulted to
NULL if calculation basis is V, else it must be greater
than or equal to 0.0001.
Per count UOMOptionalRequired if calculation basis is V - Value. Must be an
existing UOM in Merchandising.
Estimated assessment
Value
OptionalThe calculated value of the components.

Table 3-36 (Cont.) HTS Assessment Validation

Message ElementRequired?Notes
Nominal fag 1OptionalValid values are ’+’, ’-’ and ‘N’, if populated. Defaulted
to N if not populated.
Nominal fag 2OptionalValid values are ’+’, ’-’ and ‘N’, if populated. Defaulted
to N if not populated.
Nominal fag 3OptionalValid values are ’+’, ’-’ and ‘N’, if populated. Defaulted
to N if not populated.
Nominal fag 4OptionalValid values are ’+’, ’-’ and ‘N’, if populated. Defaulted
to N if not populated.
Nominal fag 5OptionalValid values are ’+’, ’-’ and ‘N’, if populated. Defaulted
to N if not populated.

Updating HTS and Assessments

To update HTS and assessments, the record to be updated must exist in Merchandising; otherwise, an error will be returned. Status and origin country ID can be updated at the HTS level. For assessments, all fields identified in the create section above except for component ID are updateable and will go through the same validation as in the creation of assessments.

Deleting HTS and Assessements

To delete HTS and assessments, the record to be deleted must exist in Merchandising; otherwise, an error will be returned.

Table 3-37 Item HTS Delete

Message ElementRequired?Notes
HTSAlwaysThe specifed HTS code must exist for the item in
Merchandising.
Import country IDAlwaysThe specifed import country Id must exist for
the item/HTS in Merchandising.
Origin country IDAlwaysThe specifed HTS import Id must exist for the
item/HTS in Merchandising.
Effect from DateAlwaysThe specifed effective from date must exist for
the item/HTS in Merchandising.
Effect to DateAlwaysThe specifed effective to date must exist for the
item/HTS in Merchandising.
Item HTS AssessmentsOptionalChild Node

Table 3-38 Item HTS Assessments Delete

Message ElementRequired?Notes
Component IdAlwaysThe specifed component must exist for the item
HTS assessment in Merchandising.

Creating Expenses

Expenses may be created together with the creation of a new item or added to an existing item that has suppliers defined. Below are the validations:

Message ElementRequired?Notes
SupplierAlwaysItem supplier relationship must exist in
Merchandising.
Component IDAlwaysComponent ID must exist on the ELC
components table of type Expense (E).
Discharge portAlwaysMust be an existing outside location of type
’DP’ in Merchandising, if populated.
Origin country IDOptionalMust be an existing country in
Merchandising, if populated.
Lading portOptionalMust be an existing outside location of type
’LP’ in Merchandising, if populated.
Zone IDOptionalMust be an existing cost zone in
Merchandising, if populated.
Zone group IDOptionalMust be an existing cost zone group in
Merchandising, if populated.
Base Expense IndicatorOptionalValid values are Y and N.
CVB codeOptionalMust be a valid CVB code in
Merchandising.
Component rateOptionalRequired if component ID is
populated.Must be greater than or equal to
0 if populated.
Per countOptionalRequired if calculation basis is S (Specifc).
Must be greater than 0, if
populated.Defaulted to NULL for Value
calculation basis.
Per count UOMOptionalRequired if calculation basis is Specifc (S).
Must be an existing UOM in
Merchandising, if populated.Defaulted to
NULL for Value (V) calculation basis.
Component currencyOptionalMust be an existing currency in
Merchandising if populated.
Update orders IndicatorOptionalValid values are Y and N, if populated.
Nominal fag 1OptionalValid values are ’+’, ’-’ and ‘N’, if populated.
Nominal fag 2OptionalValid values are ’+’, ’-’ and ‘N’, if populated.
Nominal fag 3OptionalValid values are ’+’, ’-’ and ‘N’, if populated.
Nominal fag 4OptionalValid values are ’+’, ’-’ and ‘N’, if populated.
Nominal fag 5OptionalValid values are ’+’, ’-’ and ‘N’, if populated.

Updating Expenses

To update expenses, the item/supplier/component ID must exist in Merchandising; otherwise, an error will be returned. All fields identified in the create section above except for supplier/ component ID are updateable and will go through the same validation as in the creation of expenses.

Deleting Expenses

To delete expenses, the item/supplier/component ID/discharge port must exist for the item in Merchandising; otherwise, an error will be returned.

Table 3-39 Item Expense Delete

Message ElementRequired?Notes
SupplierAlwaysMust be an existing supplier expense for
the item in Merchandising.
Component IdAlwaysMust be an existing component Id for the
item supplier expense in Merchandising.
Discharge portAlwaysMust be an existing discharge port location
for the item supplier expense in
Merchandising.
Origin country IDOptionalMust be an existing country for item
supplier expense in Merchandising, if
populated.
Lading portOptionalMust be an existing lading port location for
the item supplier expense in
Merchandising, if populated.
Zone IDOptionalMust be an existing cost zone for item
supplier expense in Merchandising, if
populated.

Creating Tickets

Tickets may be created together with the creation of a new item or added to an existing item. Below are the validations:

Message ElementRequired?Notes
Ticket type IDAlwaysMust be an existing ticket type in
Merchandising.
PO print typeOptionalMust be one of the following:

A - On Approval

R - On Receipt
This is used to indicate when ticket
requests will be created for the item.
Print on price change IndicatorAlwaysValid values are Y and N.
Ticket over percentageOptionalMust be greater than 0, if populated.

Updating Tickets

To update tickets, the item/ticket type ID must exist in Merchandising; otherwise, an error will be returned. All fields identified in the create section above except for ticket type ID are updateable and will go through the same validation as in the creation of item tickets.

Deleting Tickets

To delete item tickets, the item/ticket type ID must exist in Merchandising; otherwise, an error will be returned.

Table 3-40 Item Ticket Delete

Message ElementRequired?Notes
Ticket type IDAlwaysMust be an existing ticket type for the
item in Merchandising.

Creating Up-charges

Upcharges may be created together with the creation of a new item or added to an existing item. Below are the validations:

Table 3-41 Header Level Validation

Message ElementRequired?Notes
From location typeAlwaysValid values are store (S), warehouse (W),
physical warehouse (PW), area (A),
region (R), country (C).
From locationOptionalValid location or hierarchy ID.
To location typeAlwaysValid values are store (S), warehouse (W),
physical warehouse (PW), area (A),
region (R), country (C).
To locationOptionalValid location or hierarchy ID.

Table 3-42 Detail Level Validation

Message ElementRequired?Notes
Component IDAlwaysComponent ID must exist on the ELC
components table.
Component rateAlwaysPercentage rate to be applied for the
component.
Per countOptionalMust be greater than 0.
Per count UOMOptionalMust be an existing UOM in
Merchandising.
Up charge groupAlwaysMust be an existing Upcharge Group in
Merchandising.
Component currencyAlwaysMust be an existing currency in
Merchandising.
Transfer allocation default indicatorOptionalIndicator to specify if the component is to
be cascaded to transfers and allocations.
Computation Value BaseOptionalMust be an existing CVB code in
Merchandising.One and only one from
CVB and Cost basis must be provided, if
the component ID is of VALUE type

Table 3-42 (Cont.) Detail Level Validation

Message ElementRequired?Notes
Cost BasisOptionalMust be a valid code from code type
UCCB.One and only one from CVB and
Cost basis must be provided, if the
component ID is of VALUE type
Include in total upcharge indicatorAlwaysValid values are ‘Y’ and ‘N’.

Deleting Up-charges

To delete item upcharges, the upcharge or upcharge/component ID must exist for the item in Merchandising; otherwise, an error will be returned.

Table 3-43 Item Up-charges Header Delete

Message ElementRequired?Notes
From location typeAlwaysValid values are store (S), warehouse (W),
physical warehouse (PW), area (A),
region (R), country (C).
From locationOptionalLocation or hierarchy ID from which
upcharges are being deleted.
To location typeAlwaysValid values are store (S), warehouse (W),
physical warehouse (PW), area (A),
region (R), country (C).
To locationOptionalLocation or hierarchy ID to which
upcharges are being deleted.
Detail Up-chargesOptionalChild node

Table 3-44 Item Up-charges Header Delete

Message ElementRequired?Notes
Component IDAlwaysComponent ID must exist on the item up-
charges in Merchandising.
Transfer allocation default indicatorOptionalIndicator to specify if the component is to
be cascaded to transfers and allocations

Updating Up-charges Detail

To update an item upcharge detail, the upcharge/component ID must exist for the item in Merchandising; otherwise, an error will be returned.

Creating Conditional Tariff treatments

Conditional Tariff Treatments can be created with the creation of a new item or added to an existing item. Below are the validations:

Table 3-45 Conditional Tariff Treatment Validation

Message ElementRequired?Notes
Tariff TreatmentAlwaysUnique code representing a conditional tariff
treatment or special program used to determine
rates of duty to be paid when importing the
associated item. Valid values are present in the
Tariff Treatments table (TARIFF_TREATMENT)
with the conditional indicator set toY.
Recalculate OrdersOptionalThis would indicate whether orders need to be
recalculated or not when adding or removing
tariff treatments from an item.
Deleting Conditional Tariff Treatments

In order to delete Conditional tariff treatments, the record to be deleted need to exist in Merchandising, otherwise, no error will be returned.

Table 3-46 Conditional Tariff treatment Delete

Message ElementRequired?Notes
Tariff TreatmentAlwaysUnique code representing a conditional tariff
treatment or special program used to determine
rates of duty to be paid when importing the
associated item. Valid values are present in the
Tariff Treatments table (TARIFF_TREATMENT)
with the conditional indicator set to ‘Y’.
Recalculate OrdersOptionalThis would indicate whether orders need to be
recalculated or not when adding or removing
tariff treatments from an item.

Creating Item Country

For GTAX tax type, item country can be created together with the creation of a new item or added to an existing item. If not provided, country is set to the default value. Below are the validations:

Message ElementRequired?Notes
Country IDAlwaysMust be an existing country in
Merchandising.

Deleting Item Country

To delete an item country, the item country must exist in Merchandising; otherwise, an error will be returned.

Table 3-47 Item Country Delete

Message ElementRequired?Notes
Country IDAlwaysMust be an existing country for the item
in Merchandising.

Related Items may be added to the main Item, together with the creation of the item or added to an existing item. Below are the validations:

Table 3-48 Header Level Validation

Message ElementRequired?Notes
Relationship IDOptionalUnique identifer for each relationship
header.
Relationship NameAlwaysName given to the relationship.
Relationship TypeAlwaysDescribes the type of relationship. Values
are confgured in code_detail table under
code_type IREL.
Mandatory IndicatorOptionalIndicates whether the relationship is
mandatory.
Related Item TranslationOptionalChild node

Table 3-49 Detail Level Validation

Message ElementRequired?Notes
Related ItemAlwaysItem ID of the related item.
PriorityOptionalApplicable only with relationship type
SUBS. For multiple related substitute
items, this column could be used
(optionally) to defne relative priority.
Start DateOptionalFrom this date, related item can be used
on transactions.
End DateOptionalUntil this date, the related item can be
used on transactions. A value of null
means that it is effective forever.

In order to delete related Item, the relationship ID or relationship ID/related Item must exist for the item in Merchandising, otherwise, an error will be returned.

Table 3-50 Related Item Header Delete

Message ElementRequired?Notes
Relationship IDAlwaysMust exist in Merchandising.

Table 3-51 Related Item Detail Delete

Message ElementRequired?Notes
Relationship IDAlwaysMust exist in Merchandising.
Related ItemAlwaysMust exist in Merchandising under the
given relationship ID.

In order to update a related Item relationship, the relationship ID (for header update) or the relationship ID/related item combination (for detail update) must exist for the item in Merchandising; otherwise, an error will be returned. All the updateable fields will go through the same validation as in the creation of related item.

Creating Required Documents Items

Required documents of an Item may be added to the main Item, together with the creation of the item or added to an existing item. Below are the validations:

Table 3-52 Header Level Validation

Message ElementRequired?Notes
Document IDAlwaysUnique number used to distinguish the
different documents.

Deleting Required Documents Items

In order to delete required document of an Item, the required document and Item must exist for the item in Merchandising; otherwise, an error will be returned.

Table 3-53 Related Item Header Delete

Message ElementRequired?Notes
Document IdAlwaysMust exist in Merchandising.

Flex Attributes

If custom flex attributes (CFAS) have been defined for items, at item or item/supplier or item/ supplier/country or item/supplier/country/location level, then they can be integrated as part of this API. The node of the integration that supports this will accept the name of the attribute as it is defined in the group set level view and the value for the attribute. Flex attributes can only be added to or updated on an item at header and detail levels, but cannot be deleted.

Message ElementRequired?Notes
NameAlwaysHolds the name of the attribute.
ValueOptionalHolds the value of the attribute for non-date
attributes.
Value DateOptionalHolds the value of the attribute for date attributes.

Translated Language

If translations have been defined for items, at item or item/image or item/supplier level, then they can be integrated as part of this API. The node of the integration that supports this will accept the language and the description specified in the language. Translations can be added, updated or deleted.

Table 3-54 Item Header Translation Create or Update

Message ElementRequired?Notes
LanguageAlwaysContains the language in which the
translated text is maintained. Must be a
valid language in Merchandising.
Short DescriptionOptionalContains the translated text for the item
short description.
Item DescriptionAlwaysContains the translated text for the item
description.
Item Description SecondaryOptionalContains the translated text for the
secondary description of the item.
Long DescriptionOptionalContains a long description of the item
being created.

Table 3-55 Item Header Translation Delete

Message ElementRequired?Notes
LanguageAlwaysContains the language of the translated
text that needs to be deleted.

Table 3-56 Item Supplier Translation Create or Update

Message ElementRequired?Notes
LanguageAlwaysContains the language in which the
translated text is maintained. Must be a
valid language in Merchandising.
Supplier Differentiator 1OptionalContains the translated text for supplier
differentiator 1.
Supplier Differentiator 2OptionalContains the translated text for supplier
differentiator 2.
Supplier Differentiator 3OptionalContains the translated text for supplier
differentiator 3.
Supplier Differentiator 4OptionalContains the translated text for supplier
differentiator 4.
Supplier LabelOptionalContains the translated text for the
supplier label.

Table 3-57 Item Supplier Translation Delete

Message ElementRequired?Notes
LanguageAlwaysContains the language of the translated
text that needs to be deleted.

Table 3-58 Item Image Translation Create or Update

Message ElementRequired?Notes
LanguageAlwaysContains the language in which the
translated text is maintained. Must be a
valid language in Merchandising.
Image DescriptionAlwaysContains the translated text for the item
image description.

Table 3-59 Item Image Translation Delete

Message ElementRequired?Notes
LanguageAlwaysContains the language of the translated
text that needs to be deleted.

Table 3-60 Item UDA Free Form Text Translation Create or Update

Message ElementRequired?Notes
LanguageAlwaysThis feld represents the language in
which the translated text is maintained.
The language should be from the
installed language pack.
UDA Text DescAlwaysThis contains the translated value for the
UDA text in the selected language.

Table 3-61 Item UDA Free Form Text Translation Delete

Message ElementRequired?Notes
LanguageAlwaysContains the language of the translated
text that needs to be deleted.

Table 3-62 Related Item Translation Create or Update

Message ElementRequired?Notes
LanguageAlwaysContains the language in which the
translated text is maintained. The
language should be from the installed
language pack.
Relationship NameAlwaysContains the translated value for the
relationship name in the selected
language.

Table 3-63 Related Item Translation Delete

Message ElementRequired?Notes
LanguageAlwaysContains the language of the translated
text that needs to be deleted.

Table 3-63 (Cont.) Related Item Translation Delete

Message ElementRequired?Notes
Relationship NameOptionalContains the translated value for the
relationship name in the selected
language.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition
(XSD)
xitemcreItem Create MessageXItemDesc.xsd
xitemmodItem Modify MessageXItemDesc.xsd
xitemdelItem Delete MessageXItemRef.xsd
xitemsupcreItem/Supplier Create MessageXItemDesc.xsd
xitemsupmodItem/Supplier Modify MessageXItemDesc.xsd
xitemsupdelItem/Supplier Delete MessageXItemRef.xsd
xitemsupctycreItem/Supplier/Country Create MessageXItemDesc.xsd
xitemsupctymodItem/Supplier/Country Modify MessageXItemDesc.xsd
xitemsupctydelItem/Supplier/Country Delete MessageXItemRef.xsd
xiscmfrcreItem/Supplier/Country of Manufacture Create
Message
XItemDesc.xsd
xiscmfrmodItem/Supplier/ Country of Manufacture Modify
Message
XItemDesc.xsd
xiscmfrdelItem/Supplier/ Country of Manufacture Delete
Message
XItemRef.xsd
xiscdimcreItem/Supplier/Country/Dimension Create
Message
XItemDesc.xsd
xiscdimmodItem/Supplier/Country/Dimension Modify
Message
XItemDesc.xsd
xiscdimdelItem/Supplier/Country/Dimension Delete
Message
XItemRef.xsd
xitemvatcreItem/Vat Create MessageXItemDesc.xsd
xitemvatdelItem/Vat Delete MessageXItemRef.xsd
xitemctrycreItem/Country Create MessageXItemCtryDesc.xsd
Message TypesMessage Type DescriptionXML Schema Definition
(XSD)
xitemctrydelItem/Country Delete MessageXItemCtryRef.xsd
xitemudacreItem/UDA Create MessageXItemDesc.xsd
xitemudadelItem/UDA Delete MessageXItemRef.xsd
xitemimagecreItem/Image Create MessageXItemDesc.xsd
xitemimagemodItem/Image Modify MessageXItemDesc.xsd
xitemimagedelItem/Image Delete MessageXItemRef.xsd
xitemtlcreItem Master translated language Create
Message
XItemDesc.xsd
xitemtlmodItem Master translated language Modify
Message
XItemDesc.xsd
xitemtldelItem Master translated language Delete
Message
XItemRef.xsd
xitemsuptlcreItem/Supplier translated language Create
Message
XItemSupDesc.xsd
xitemsuptlmodItem/Supplier translated language Modify
Message
XItemSupDesc.xsd
xitemsuptldelItem/Supplier translated language Delete
Message
XItemSupRef.xsd
xitemimagetlcreItem/Image translated language Create MessageXItemImageDesc.xsd
xitemimagetlmodItem/Image translated language Modify MessageXItemImageDesc.xsd
xitemimagetldelItem/Image translated language Delete MessageXItemImageRef.xsd
xitemhtscreItem/HTS create messageXItemDesc.xsd
xitemhtsmodItem/HTS modify messageXItemDesc.xsd
xitemhtsdelItem/HTS delete messageXItemRef.xsd
xitemhtsassesscreItem/HTS assess create messageXItemDesc.xsd
xitemhtsassessmodItem/HTS assess modify messageXItemDesc.xsd
xitemhtsassessdelItem/HTS assess delete messageXItemRef.xsd
xitemexpensescreItem/Expenses create messageXItemDesc.xsd
xitemexpensesmodItem/Expenses modify messageXItemDesc.xsd
xitemexpensesdelItem/Expenses delete messageXItemRef.xsd
xitemticketcreItem/Ticket create messageXItemDesc.xsd
xitemticketmodItem/Ticket modify messageXItemDesc.xsd
xitemticketdelItem/Ticket delete messageXItemRef.xsd
xitemseasoncreItem/Seasons create messageXItemDesc.xsd
xitemseasondelItem/Seasons delete messageXItemRef.xsd
xitemchgcreItem up charge create messageXItemDesc.xsd
xitemchgdtlmodItem up charge detail modify messageXItemDesc.xsd
xitemchgdelItem up charge delete messageXItemRef.xsd
xitemcttcreItem Conditional Tariff treatment create messageXItemDesc.xsd
xitemcttdelItem Conditional Tariff treatment delete messageXItemRef.xsd
xritemscreRelated Items create messageXItemDesc.xsd
xritemsmodRelated Items modify messageXItemDesc.xsd
Message TypesMessage Type DescriptionXML Schema
(XSD)
xritemsdelRelated Items delete messageXItemRef.xsd
xitemudafftlcreItem UDA Free Form Text Translations Create
message
XItemDesc.xsd
xitemudafftlmodItem UDA Free Form Text Translations Update
message
XItemDesc.xsd
xitemudafftldelItem UDA Free Form Text Translations Delete
message
XItemRef.xsd
xitemreqdoccreItem required documents of an Item create
message
XItemDesc.xsd
xitemreqdocdelItem required documents of an Item delete
message
XItemRef.xsd
xritemtlcreRelated Item Translations Create messageXItemDesc.xsd
xritemtlmodRelated Item Translations Update messageXItemDesc.xsd
xritemtldelRelated Item Translations Delete messageXItemRef.xsd

XML Schema Definition (XSD)

Item Location Subscription API

This section describes the item location subscription API.

Functional Area

Items

Business Overview

This API subscribes to item location from external systems to create or modify item location combinations in Merchandising. Item/location relationships can be created for an item and a single location or using one of the levels of the organizational hierarchy.

Creating Locations

When a new item location is created, this API will first validate that all required fields are present in the message. Additionally, when creating a new item location at least one detail line must also be included in the message. After that, business level validation on the input information will be performed. The tables below summarize these two types of validation.

Updating Item Location

When updating an item location, this API will first validate that all required fields are present in the message. Additionally, when updating an item location at least one detail line must also be included in the message. After that, business level validation on the input information will be performed. The tables below summarize these two types of validation.

Table 3-64 Item Location Create and Update

Message ElementRequired?Notes
ItemYesMust be an existing item in Merchandising.

Table 3-64 (Cont.) Item Location Create and Update

Message ElementRequired?Notes
Hier LevelYesMust be a valid organization hierarchy level. Valid values
are chain (CH), area (AR), region (RE), district (DI),
store (S) or warehouse (W).

Table 3-65 Item Location Detail Create and Update

Message ElementRequired?Notes
Hier ValueYesMust be valid ID for a chain, area, region, district, store
or warehouse given the Hier Level.
StatusYesFor new item/location relationships, this must be active
(A), inactive (I), discontinued (C). If it is an update to an
existing item/location, valid values are active (A), inactive
(I), discontinued (C), or delete (D).
Store Ord MultYesThis contains the multiple in which the item needs to be
shipped from a warehouse to the location. Valid values
are found in ORML.
Source MethodConditionalThis field determines the primary sourcing for this item/
location. Valid values are Supplier (S) or Warehouse
(W). Must either be supplier site or virtual warehouse.
Additionally, valid value is dependent on the Hier Level:
For Hier Level of store (S):

Source Method is required to be warehouse (W) for
wholesale or franchise stores.
For Hier Level of warehouse (W)

Source Method is required to be supplier (S)
Source Method must be W if the Source Warehouse is
populated.
Source WarehouseConditionalThis determines which warehouse is the sourcing
location for this item/location. This value is required if the
sourcing method is Warehouse. Must be a valid virtual
warehouse. Additionally, item should already be ranged
to the Source Warehouse.
Receive as TypeConditionalThis determines whether the stock on hand for a pack
component item or the buyer pack itself will be updated
when a buyer pack is received at a warehouse. Valid
values are Each (E) or Pack (P). Must be blank if Item is
not a pack or Hier Level is not warehouse. Must be
eaches (E), when Hier Level is warehouse and Hier
Value is an internal finisher. Must be pack (P), when
Item is a vendor pack. Must be pack (P), when Item
order as type is pack and warehouse break pack
indicator is N.
Taxable IndicatorNoThis field determines if the item is taxable at the location.
Valid values are Yes (Y) or No (N).
UIN TypeNoThis contains the type of unique identification number
(UIN) used to identify the instances of the item at the
location. Valid values are found in code type UINT.

Table 3-65 (Cont.) Item Location Detail Create and Update

Message ElementRequired?Notes
UIN LabelConditionalThis contains the label for the unique identification
number (UIN) when displayed. Valid values are found in
code type ULBL. UIN Label is required if UIN Type is
populated.
Ext UIN IndicatorNoThis indicates if unique identification number (UIN) is
being generated in the external system. Valid values are
Yes (Y) or No (N).
Primary SupplierNoThis contains the primary supplier site for the item/
location.
Primary CountryNoThis contains the primary country of sourcing for the
item/location.
Local Item DescriptionNoCould be used to have an alternate description for the
item at this language, such as in another language.
TiNoThis determines the number of shipping units (cases)
that make up one tier of a pallet. Multiply TI x HI to get
total number of cases for a pallet.
HiNoThis determines the number of tiers that make up a
complete pallet (height). Multiply TI x HI to get total
number of cases for a pallet.
Daily Waste PercentNoThis defines the average percentage lost from inventory
on a daily basis due to natural wastage.
Local Short DescriptionNoCould be used to provide an alternative short description
for the item at this location, such as in another language.
UIN TypeNoThis contains the type unique identification number
(UIN) used to identify the instances of the item at the
location. Valid values are found in code type UINT.
UIN LabelNoThis contains the label for the unique identification
number (UIN) when displayed. Valid values are found in
code type ULBL.
Capture TimeNoThis determines when the unique identification number
(UIN) should be captured for an item during transaction
processing. Valid values are found in code type CPTM.
Unit CostNoThis contains the current unit cost of the item based on
the primary supplier/country for the location in local
currency.
Cost UOMNoThis is used to allow costs to be managed in a different
UOM than the standard UOM.
Purchase TypeNoThis defines whether the item is owned, consignment
stock, or a concession item at the location. Valid values
are:

0 - Owned

1 - Consignment

2 - Concession
Calculation BasisNoThis determines if the cost for the consignment/
concession item will be managed either based on cost
per unit or as a percentage of retail. Valid values are:

C - Cost per Unit

P - Purchase Rate

Table 3-65 (Cont.) Item Location Detail Create and Update

Message ElementRequired?Notes
Purchase RateNoThis contains the percentage of the retail price which will
determine the cost paid to the supplier for a
consignment or concession item, if the calculation basis
for the item/location is Purchase Rate.
Promotable IndicatorNoThis determines whether the retailer is allowed to specify
if the item is promotable or not. Valid values are Yes (Y)
or No (N).
Pricing ControlNoThis indicates whether the price for the consignment/
concession item will be managed by supplier or by
retailer when supplier-controlled pricing for
Consignment/Concession ownership model is used
within the Merchandising suite of solutions. Valid values
are:

R - Retailer

S - Supplier
If no value is provided for consignment/concession
purchase types, this will be defaulted from item/supplier/
country of sourcing/location if purchase type is
Consignment/Concession at item/supplier/country of
sourcing/location level. If purchase type is Owned at
item/supplier/country of sourcing/location level, then this
will be defaulted from item/supplier/country of sourcing if
purchase type is Consignment/Concession at item/
supplier/country of sourcing level. If purchase type is
Owned at item/supplier/country of sourcing level, then
this will be defaulted based on Default Pricing Control at
supplier site level.
Selling Phase Start DateNoUsed to determine the timing of the generation of
markdown recommendation, which will occur x weeks
after the start of this phase.
Update Sell Date on Store
Order Receipt
NoThis indicates whether or not to update the Selling
Phase Start Date for the item/location when a purchase
order of this item is received at the store.
Update Sell Date on
Warehouse to Store Receipt
NoThis indicates whether or not to update the Selling
Phase Start Date for the item/location when a
warehouse to store transfer/allocation of this item is
received at the store.
Update Sell Date on Store
to Store Receipt
NoThis indicates whether or not to update the Selling
Phase Start Date for the item/location when a store-to-
store transfer of this item is received at the store.
Minimum Units for Sell Date
Reset
NoThis field contains the minimum shipped quantity of an
item on a transfer/allocation that will trigger the resetting
of the Selling Phase Start Date. This value is only used if
either of the Set Selling Start Date upon Receipt of a
Warehouse to Store Transfer/Allocation or Set Selling
Start Date upon Receipt of a Store to Store Transfer are
set to Yes (Y).
Manufacturer Suggested
Retail Tax Inclusive
NoThis field holds the tax-inclusive Manufacturer
Suggested Retail in local currency and in an item’s
standard UOM. It is used whendefault_tax_typeis
GTSorSVAT.

Table 3-65 (Cont.) Item Location Detail Create and Update

Message ElementRequired?Notes
Manufacturer SuggestedNoThis field holds the tax-exclusive Manufacturer
Retail Tax ExclusiveSuggested Retail in local currency and in an item’s
standard UOM. It is used whendefault_tax_typeis
SALES.

Table 3-66 Item Location Trait Create or Update

Message ElementRequired?Notes
Launch DateNoThis holds the date when the item is initially sold at the
location.
Quantity Key OptionsNoThis field determines whether the quantity key on a POS
can be used for this item at the location. Valid values are
found in code type RPO.
Manual Price EntryNoThis field determines whether the price for the item/
location can be entered manually on POS. Valid values
are found in code type RPO.
Deposit CodeNoThis determines whether a deposit is associated with
this item at the location. Valid values are found in code
DEPO.
Food StampNoThis determines whether the item is approved for food
stamps at the location. Valid values are Yes (Y) or No
(N).
WICNoThis determines whether the item is approved for WIC at
the location. Valid values are Yes (Y) or No (N).
Proportional Tare PercentNoThis is the proportion of the total weight of a unit of an
item that is the packaging. For example, if the tare item
is bulk candy, this is the proportional of the total weight
of one piece of candy that is the candy wrapper.
Fixed Tare ValueNoThis is the tare of the packaging. For example, if the tare
item is bulk candy, this is weight of the bag and twist tie.
Fixed Tare UOMNoThis contains the unit of measure value associated with
the tare value.
Reward EligibleNoThis determines whether the item is legally valid for
various types of bonus point/award programs at the
location. Valid values are Yes (Y) or No (N).
National Brand Competitor
Item
NoThis contains the nationally branded item to which it will
be compared to. Will contain a valid item ID.
Return PolicyNoThis determines the return policy for the item at the
location. Valid values are found in code type RETP.
Stop SaleNoThis defines if the sale of the item should be stopped
immediately at the location (i.e., in case of recall etc.).
Valid values are Yes (Y) or No (N).
Electronic Market ClubsNoThis contains the code that represents the marketing
clubs to which the item belongs to at the location. Valid
values are found in code type MKTC.
Report CodeNoThis determines to which reports the location should
run. Valid values are found in code type REPC.

Table 3-66 (Cont.) Item Location Trait Create or Update

Message ElementRequired?Notes
Shelf Life on SelectionNoThis contains the required shelf life for an item on
selection in days.
Shelf Life on ReceiptNoThis contains the required shelf life for an item on receipt
in days.
Investment Buy Shelf LifeNoIndicates the shelf life in days for this item at this
location, which is used by the Investment Buy
replenishment processing.
Store ReorderableNoThis determines whether the store may re-order the
item. Valid values are Yes (Y) or No (N).
Rack SizeNoThis determines the rack size that should be used for the
item.
Full Pallet ItemNoThis determines whether a store must reorder an item in
full pallets only. Valid values are Yes (Y) or No (N).
In Store Market BasketNoThis contains the in-store market basket code for the
item/location combination. Valid values are found in code
type STMB.
Storage LocationNoThis contains the current storage location or bin number
for the item at the location.
Alternate Storage LocationNoThis contains the preferred alternate storage location or
bin number for the item at the location.
ReturnableNoThis determines if the item can be returned at this
location. Valid values are Y or N.
RefundableNoThis determines if the item is refundable at the location
or not. Valid values are Yes (Y) or No (N).
Back OrderNoThis determines if the item can be back ordered to the
location. Valid values are Yes (Y) or No (N).

Table 3-67 Flex Attributes

Message ElementRequired?Notes
NameYesHold the attribute name.
ValueNoHolds the value of the attribute for number and character
type attributes
Value DateNoHolds the date for date type attributes.

Flex Attributes

Table 3-68 Flex Attributes

Message ElementRequired?Notes
NameYesHolds the attribute name.
ValueNoHolds the value of the attribute for number and
character type attributes
Value DateNoHolds the date for date type attributes.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status (S) is returned to the external system, indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypeMessage Type DescriptionXML Schema Definition
(XSD)
xitemloccreExternal item locations createXItemlocDesc.xsd
xitemlocmodExternal item locations modificationXItemlocDesc.xsd

Item Reclassification Subscription API

This section describes the item reclassification subscription API.

Functional Area

Merchandise Hierarchy

Business Overview

Merchandising subscribes to item reclassification messages, which update the department, class, and/or subclass for the item, that are published by an external system. This subscription is necessary in order to keep Merchandising in sync with the external system. This API allows external systems to create and delete item reclassification events within Merchandising.

Only the following item types can be interfaced using this API:

  • Transaction level items without a parent

  • Parent items, whose child items are the transaction level, such as with a fashion style (parent) and its SKUs (children)

  • Complex pack items - but the reclassification cannot include the component items in the pack

The following item types cannot be reclassified:

  • Child items with a parent - these are reclassified when the parent is updated

  • Reference items - these below transaction level items are automatically reclassified with the transaction level item or its parent, whichever applies

  • Simple Packs - these are reclassified when the component item is reclassified

This API allows a reclassification event to be created for a department/class/subclass combination that does not yet exist. This is valid as long as the merchandise hierarchy is scheduled to be created on or prior to the reclassification taking effect.

New/Updated Reclassifications

When a reclassification is created, both a reclassification header and detail are required. For an update, either to update the header or add a detail, all fields in both header and detail nodes are required.

Reclassification Header

Message ElementRequired?Notes
Reclass NumberAlwaysThis is the unique number
which identifes the
reclassifcation event. For a
detail create message, the
reclassifcation number should
already exist in Merchandising.
Reclass DescriptionAlwaysThis is the description of the
reclassifcation event.
Reclass DateAlwaysThe date on which the
reclassifcation event is
scheduled to take place. The
date must be at least a day
after the current business day.
To DepartmentAlwaysThe department to which the
item will belong after the
reclassifcation event. The
dept/class/subclass
combination must already
exist or will be created before
the reclassifcation date.
To ClassAlwaysThe class to which the item will
belong after the reclassifcation
event. The dept/class/subclass
combination must already
exist or will be created before
the reclassifcation date.
To SubclassAlwaysThe subclass to which the item
will belong after the
reclassifcation event. The
dept/class/subclass
combination must already
exist or will be created before
the reclassifcation date.
Item Reclassifcation DetailAlwaysChild node

Reclassification Detail

Message ElementRequired?Notes
ItemAlwaysThis is the item that will be
reclassifed. Following are the
validations that will be done
on upload:
Must be a level 1 item
If the item is a pack, it should
not be a simple pack.
Must not be on any approved
order
Must not be an orderable
buyer pack that can be
received as component items.
Must not be on an existing
reclassifcation

Deleting Reclassifications

Reclassifications can be deleted by:
  • Deleting a single reclassification event

  • Deleting specific items on a reclassification event

  • Deleting all reclassification events on a particular event date

  • Deleting all reclassification events

Reclassification Header

Message ElementRequired?Notes
Reclass NumberConditionalThe reclassifcation event that
will be deleted. If this is
populated in a header delete
message, then the specifc
reclassifcation event will be
deleted. This is required in a
header delete message if
Reclass Date is NULL and the
Purge All indicator is N or
NULL. If Reclass Number is
provided, Reclass Date should
be NULL.
Message ElementRequired?Notes
Reclass DateConditionalThe date of the reclassifcation
events to be deleted. If this is
populated in a header delete
message, then all
reclassifcation events
occurring on the given date
will be deleted. This is required
in a header delete message if
the Reclass Number is NULL
and the Purge All indicator is N
or NULL. If Reclass Date is
provided, Reclass Number
should be NULL.
Purge AllConditionalIf this feld is Y in a header
delete message, then all item
reclassifcation events will be
deleted. When the purge
indicator is Y, both Reclass
Number and Reclass date
should be NULL. If the Purge
All indicator is NULL or N, only
the Reclass Number or the
Reclass date should contain a
value.
Reclassifcation DetailOptionalChild Node
Detail
Message Element
Required?Notes
ItemConditionalThis is the item within a
reclassifcation event that will
be deleted. This is the only feld
required for detail delete
messages as an item can only
exist in one reclassifcation
event. The entire
reclassifcation event will be
deleted when no item detail
exists after detail deletion.

Reclassification Detail

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypeMessage Type DescriptionXML Schema Definition (XSD)
xitemrclscreExternal item reclassification createXItemRclsDesc.xsd
xitemrclsdtlcreExternal item reclassification detail
create
XItemRclsDesc.xsd
XitemrclsdelExternal item reclassification deleteXitemRclsRef.xsd
XitemrclsdtldelExternal item reclassification detail
delete
XItemRclsRef.xsd

Location Trait Subscription API

This section describes the location trait subscription API.

Functional Area

Foundation Data

Business Overview

The Location Trait Subscription API processes incoming data from an external system to create, edit and delete location traits in Merchandising. This data is processed immediately upon message receipt so success or failure can be communicated to the external application.

The table below contains the details of the message as well as the validations.

Table 3-69 Location Traits

Message ElementRequired?Notes
Trait IDYesThis field contains the unique id number of the location
trait.
Trait DescriptionYesThis field contains the description of the location trait.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypeMessage Type DescriptionXML Schema Definition (XSD)
xloctrtcreExternal Location Trait CreateXLocTrtDesc.xsd
xloctrtdelExternal Location Trait DeleteXLocTrtRef.xsd
xloctrtmodExternal Location Trait
Modification
XLocTrtDesc.xsd

Required fields are shown in RIB documentation.

Merchandise Hierarchy Reclassification Subscription API

This section describes the merchandise hierarchy reclassification subscription API.

Functional Area

Merchandise Hierarchy

Business Overview

This API allows Merchandising to subscribe merchandise hierarchy reclassification messages, that are published by an external system. It is intended to be used by retailers who manage their hierarchies in a system outside Merchandising. This API allows for pending merchandise hierarchy reclassification events to be created, modified or deleted. A separate batch process will read the information off the pending merchandise hierarchy table and creates or modifies the merchandise hierarchy information in Merchandising once the effective date arrives.

Creating Merchandise Hierarchy Reclassifications

When a new merchandise hierarchy reclassification is created, the API will first validate that all required fields are present in the message. Certain of the fields are required regardless of hierarchy level, while others are dependent on other hierarchy configurations. After that, business level validation on the input information will be performed. The tables below summarize the validation.

Table 3-70 Header Level Validation

Message ElementRequired?Notes
Merchandise Hierarchy LevelAlwaysIndicates the level of merchandise hierarchy. Valid
values are V (division), G (group), D (department), C
(class), and S (subclass).
Merchandise Hierarchy IDAlwaysHolds the merchandise hierarchy ID, of the
merchandise hierarchy component being created or
updated.

Table 3-70 (Cont.) Header Level Validation

Message ElementRequired?Notes
Merchandise Hierarchy parent
ID
AlwaysThis field will hold the parent of the hierarchy
identified in the Merchandise Hierarchy ID field. This
column will only be populated if the Merchandise
Hierarchy level is class or subclass.
Merchandise Hierarchy
Grandparent ID
ConditionalThis field will hold the grandparent ID of the
hierarchy identified in the Merchandise Hierarchy ID
field. This column will only be populated if the
Merchandise Hierarchy Level is subclass.
Merchandise Hierarchy NameAlwaysThe name of the hierarchy value.
Effective DateAlwaysThe date the hierarchy change will become effective.
The effective date must be greater than or equal to
the current date.
Action TypeConditionalIndicates if this field is an addition (A) or modification
(M). It is required on a create message and should
not be populated on a modify message.
BuyerConditional,
Optional
The number of the buyer associated with the entity.
This value must be predefined in Merchandising.
This field should only hold a value if the hierarchy
level indicates division, group, or department.
Purchase TypeConditionalThe code indicates whether items in the department
will be created by default as normal merchandise (0),
consignment (1), or concession (2). This field is
required if the hierarchy level indicates department,
otherwise it should be null. Additionally, if the
Consignment/Concession system option is set to N,
this should always be 0.
Total Market AmountOptionalThis field stores total market amount that is expected
for the entity. This field will only be used if the
hierarchy value indicates division or department.
MerchandiserConditional,
Optional
This field indicates the number of the merchandiser
associated with the entity. This value must be
predefined in Merchandising. This field should hold a
value only if the hierarchy level indicates division,
group, or department.
Budgeted Markup PercentageConditionalThis field stores the markup percent of cost.
Budgeted Markup Percentage or Budgeted Intake
Percentage cannot be both null or both have values.
This field is required if the hierarchy level indicates
department, otherwise it should be null.
Profit Calculation TypeConditionalIndicates whether profit will be calculated by direct
cost (1) or retail inventory (2). This field is required
for a new department, otherwise it should be null. A
Department cannot be set up as profit calculation
type of Direct Cost and purchase type of
Consignment Stock.
Markup Calculation TypeConditionalIndicates how markup is calculated in the
department. Valid values are for a new department,
otherwise it should be null.

Table 3-70 (Cont.) Header Level Validation

Message ElementRequired?Notes
OTB Calculation TypeConditionalIndicates how open to buy is calculated in the
department. Valid values are cost (C) and retail (R).
This field is required for a new department, otherwise
it should be null.
Maximum Average CounterConditionalThe maximum count of days with acceptable data to
include in an average for items with the department.
This field is required for a new department, otherwise
it should be null. The value cannot be a negative.
Average Tolerance PercentageConditionalThe tolerance percentage value used in averaging
for items within a department. This field will only be
used for a new department. The value cannot be a
negative.
Budgeted Intake PercentageConditionalIndicates the markup percent of retail to use as a
default for the department. Budgeted Markup
Percentage or Budgeted Intake Percentage cannot
be both null or both have values. This field is
required for a new department, otherwise it should
be null.
Department VAT Inclusive
Indicator
ConditionalIndicates the default value for the class VAT indicator.
When classes are initially set up, they will inherit this
value. This field will only be populated when the
hierarchy level indicates department.
Class VAT IndicatorConditionalIndicates whether retail is displayed and held with or
without VAT for items within a class. Valid values are
Y (yes) and N (no). This field is required if the
hierarchy level indicates department and you are
configured for Simple VAT or Global Tax and must be
set to Y in those cases. If you are configured for US
Sales Tax, then it must be N.

Updating Merchandise Hierarchy Reclassifications

For updating a previously created reclassification, the hierarchy type must be already present in Merchandising. For updates, the validation is similar to that described above for creating a new reclassification. If updating the effective date of a reclassification that has an Add action type, there should not be any child hierarchy with earlier effective date. For example, if you are adding a department, there cannot be a reclassification for adding a class in the department with an earlier effective date.

Deleting Merchandise Hierarchy Reclassifications

To delete a previously created reclassification event, the below validations will be executed to ensure there are no conflicts, along with checks for the existence of child reclassification records, before deleting the record.

Message ElementRequired?Notes
Merchandise Hierarchy LevelAlwaysIndicates the level of merchandise hierarchy. Valid
values are V (division), G (group), D (department), C
(class), and S (subclass).
Message ElementRequired?Notes
Merchandise Hierarchy IDAlwaysHolds the merchandise hierarchy ID for the selected
level.
Merchandise Hierarchy parent
ID
OptionalThis field will hold the parent of the hierarchy
identified in the Merchandise Hierarchy ID field. This
column will only be populated if the Merchandise
Hierarchy Level is class or subclass.
Merchandise Hierarchy
Grandparent ID
OptionalThis field will hold the grandparent ID of the
hierarchy identified in the Merchandise Hierarchy ID
field. This column will only be populated if the
Merchandise Hierarchy Level is subclass.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
xmrchhrclscreCreate Merchandise Hierarchy
Reclassification
XMrchHrRclsDesc.xsd
xmrchhrclsmodModify Merchandise Hierarchy
Reclassification
XMrchHrRclsDesc.xsd
xmrchhrclsdelDelete Merchandise Hierarchy
Reclassification
XMrchHrRclsRef.xsd

Merchandise Hierarchy Subscription API

This section describes the merchandise hierarchy subscription API.

Functional Area

Merchandise Hierarchy

Business Overview

The merchandise hierarchy allows the retailer to create the relationships that are necessary to support the product management structure of a company. This hierarchy reflects a classification of merchandise into multi-level descriptive categorizations to facilitate the planning, tracking, reporting, and management of merchandise within the company. If Merchandising is not the system of record for merchandise hierarchy information, then this API

may be used to create, update or delete elements of the merchandise hierarchy, including division, group, department, class, and subclass, based on an external system.

Deleting a division or group will process immediately upon receipt of the message, assuming there are no dependent levels below them. However, departments, classes, and subclasses will not actually be deleted from the system upon receipt of the message. Instead, they will be added to a table, where a background process (Daily Purge of Foundation Data) will occur to ensure the records can be deleted as part of the delete process. For more on this batch process, see the Retail Merchandising System Operations Guide, Volume 1 - Batch Overviews and Designs .

If you are implementing Merchandising with Simple VAT as the default tax type, then department-level VAT records can be created and edited within the department message (VAT records are not deleted). VAT creates can be passed in with a department create message, or they can be passed in with their own specific message type. VAT region and VAT codes records must exist prior to creating department VAT records. Also, when passing in a new VAT region to an existing department with attached items, the VAT information will default to all items.

The merchandise hierarchy must be created from the highest level down. Conversely, the hierarchy must be deleted from the lowest level up. Each lower level references a parent level. This means a department is associated with a group; a class is associated with a department; and a subclass is associated with department/class combination because classes are not unique across departments.

Creating a Company

When a new company is created, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed, which checks that the company doesn’t already exist. If the validation is met, the company in the message data is created. Only one company can exist in Merchandising.

Updating a Company

When a company is updated, this API will first validate that all required fields are present in the message. Business level validation on the input information will be performed, which verifies if the company ID to be updated already exists. If the company already exists, the company’s details in the message data are updated.

The format and validation for creating and updating the company is shown in the table below:

Table 3-71 Company

Message ElementRequired?Notes
CompanyYesThis field contains the unique number which identifies
the company for which the system is running.
Company NameYesThis field contains the name of the company for which
the system is running.
Add_1YesThis value contains the first line of the company
headquarters address.
Add_2NoThis value contains the second line of the company
headquarters address.
Add_3NoThis value contains the third line of the company
headquarters address.
CityYesThis field contains the city of the company headquarters.

Table 3-71 (Cont.) Company

Message ElementRequired?Notes
StateNoThis field contains the state code of the company
headquarters. This value must be a valid state in
Merchandising.
Country CodeYesThis field contains the country code of the company
headquarters. This value must be a valid country in
Merchandising.
Postal CodeNoThis field contains the postal code of the company
headquarters.

Creating Divisions

When a new division is created, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed. The business validation:

  • Verifies division is not already present.

  • Verifies that, if total market amount is received, then it should be at least 1000.

If all the validations are met, the division in the message data is created.

Updating Divisions

When a division is updated, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed. The business validation:

  • Verifies division is present.

  • Verifies that, if total market amount is received, then it should be at least 1000.

If all the validations are met, the division’s details are updated.

The format and validation for creating and updating divisions is shown in the table below:

Table 3-72 Division

Message ElementRequired?Notes
DivisionYesThis field contains the unique identifier of the division.
Division NameYesThis field contains the name of the division.
MerchantNoThis field contains the number of the merchant
associated with the division. This value must be a valid
merchant in Merchandising.
BuyerNoThis field contains the number of the buyer associated
with the division. This value must be a valid buyer in
Merchandising.
Total Market AmountNoThis field contains the total market amount that is
expected for the division. If this field is not null it must be
at least 1000.

Deleting Divisions

When a division is deleted, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed to:

  • Verify the division already exists.

  • Verify the division is not associated to a diff group.

  • Verify the division is not associated to a season id.

  • Verify the division is not associated to a ticket type.

  • Verify the division is not associated to a UDA.

If the information passes these validations, the division will be added to a purging staging table for processing in the Daily Purge of Foundation Data process.

The format and validation for deleting division is shown in the table below:

Table 3-73 Division

Message ElementRequired?Notes
DivisionYesThis field contains the unique identifier of the division
being deleted.

Creating Groups

When a new group is created, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed, which checks whether the group already exists. If it does not exist, the group in the message data is created.

Updating Groups

When a group is updated, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed, which verifies whether the group to be updated already exists. If group already exists, the group details are updated.

The format and validation for creating and updating divisions is shown in the table below:

Table 3-74 Groups

Message ElementRequired?Notes
Group NumberYesThis field contains the number which uniquely identifies
the group.
Group NameYesThis field contains the name of the group.
DivisionYesThis field contains the identifier of the division of which
the group is a member. This value must be a valid
division in Merchandising.
MerchantNoThis field contains the number of the merchant
associated with the division. This value must be a valid
merchant in Merchandising.

Table 3-74 (Cont.) Groups

Message ElementRequired?Notes
BuyerNoThis field contains the number of the buyer associated
with the division. This value must be a valid buyer in
Merchandising.

Deleting Groups

When a group is deleted, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed to:

  • Verify the group already exists.

  • Verify the group is not associated to a diff group.

  • Verify the group is not associated to a season id.

  • Verify the group is not associated to a ticket type.

  • Verify the group is not associated to a UDA.

If the information passes these validations, the group will be added to a purging staging table for processing in the Daily Purge of Foundation Data process.

The format and validation for deleting groups is shown in the table below:

Table 3-75 Groups

Message ElementRequired?Notes
Group NumberYesThis field contains the unique identifier of the group
being deleted.

Creating Departments

When a new department is created, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed. The business validation:

  • Verifies the department is not already present.

  • Verifies if total market amount is received then it should be at least 1000.

  • Verifies the child messages, if included, have their required fields present. The child messages contain the VAT and upcharge details for a department.

If all the validations are met, the department in the message data is created. Custom flex attributes can also be created for the department through this API, if they are active for the department.

Updating Departments

When a department is updated, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed. The business validation:

  • Verifies if the department is present.

  • Verifies if total market amount is received then it should be at least 1000.

  • Verifies the child messages, if included, contain all required fields. The child messages contain VAT and upcharge details for a department.

If all the validations are met, the department in the message data is created. Like with create, custom flex attributes can also be updated for the department, if active.

The format and validation for creating and updating departments is shown in the table below:

Table 3-76 Department

Message ElementRequired?Notes
DepartmentYesThis contains the number which uniquely identifies the
department.
Department NameYesThis contains the name of the department being created
or updated.
BuyerNoThis field contains the number of the buyer associated to
the department. This value must be a valid buyer in
Merchandising.
Purchase TypeYesThis field contains the code which indicates whether
items in this department are normal merchandise (0)
consignment stock (1) and concession stock (2).
Total Market AmountNoThis field contains the total market amount that is
expected for the department. This value cannot be less
than 1000.
MerchandiserNoThis field contains the number of the merchandiser that
is associated to the department. This value must be a
valid merchant in Merchandising.
Group NumberYesThis field contains the number of the group to which the
department belongs. This value must be a valid group in
Merchandising
Budgeted MarkupNoThis field contains the budgeted markup percentage, the
markup percent of cost. If this value is not populated on
the message, it will be calculated to be the inverse of the
budgeted intake percentage. This column will hold 70%
as 70, not .70.
This field must have a value if Budgeted Intake is NULL.
Profit Calc TypeYesThis field contains the number which indicates whether
profit will be calculated by direct cost (1) or retail
inventory (2). It determines the accounting method to be
used in the stock ledger for this department.
Markup Calc TypeYesThis field contains the code that indicates how markup is
calculated in this department. Valid values are cost (C)
and retail (R).
OTB Calc TypeYesThis field contains the code which indicates how open to
buy (OTB) is calculated for this department. Valid values
are cost (C) and retail (R).
Maximum Average CounterYesThis field contains the maximum count of days with
acceptable data to include in an average for items within
the department. The value should be greater than zero.
Average Tolerance
Percentage
YesThis field contains the tolerance percentage value used
in averaging for items within this value. This column will
hold 70% as 70, not .70. The value should be greater
than zero.

Table 3-76 (Cont.) Department

Message ElementRequired?Notes
Budgeted IntakeNoThis field contains the budgeted intake percentage,
which is the percent of the total take that is income. If
this field is not populated on the message, it will be
calculated as the inverse of the budgeted markup
percentage. This column will hold 70% as 70, not .70.
This field must have a value if Budgeted Markup is
NULL.
Department VATNoChild node
Custom Flex AttributesNoChild node
Department Up-ChargesNoChild node
Inventory Layer IdentifierNoThis field contains the type of identifier that will be used
Typeacross systems to manage and identify inventory layers
at department level.
Apply Inventory Identifier
Type
NoThis field will determine if the values at the class level
should be overwritten with department-level values.

Deleting Departments

When a department is deleted, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed to:

  • Verify the department already exists.

  • Verify the department is not associated to a diff group.

  • Verify the department is not associated to a season id.

  • Verify the department is not associated to a ticket type.

  • Verify the department is not associated to a UDA.

If the information passes these validations, the department will be added to a purging staging table for processing in the Daily Purge of Foundation Data process. Flex attributes are deleted when the department is deleted.

The format and validation for deleting departments is shown in the table below:

Table 3-77 Department

Message ElementRequired?Notes
DepartmentYesThis contains the number of the department being
deleted.
Department Up-ChargesNoChild node

Creating VAT Information for Departments

If you are configured to run Merchandising using Simple VAT (SVAT) for your default tax type, then you can set the VAT rates by region for the department using this API. If included, this API will check for all required fields in the message and create the VAT record for a department. When adding new VAT region to an existing department with attached items, the VAT information will default to all items.

Updating VAT Information for Departments

If you are configured to run Merchandising using Simple VAT (SVAT) for your default tax type, then you can update the VAT rates by region for the department using this API. This API will check for all required fields in the message and updates the VAT information for a department. When updating VAT details for a department with attached items, the VAT information will default to all items.

The format and validation for creating and updating VAT information is shown below:

Table 3-78 Department VAT

Message ElementRequired?Notes
VAT RegionYesThis contains the number of the VAT region to which this
department is associated. This value must be a valid
VAT Region in Merchandising.
VAT CodeYesThis field contains the alphanumeric identifier of the VAT
code. This value must be a valid VAT Code in
Merchandising.
VAT TypeYesThis field indicates if the VAT rate is used for purchasing
(C), selling (R), or both (B).
Reverse VAT IndicatorNoThis field indicates if items in the department are subject
to reverse charge VAT at the region. Valid values are Yes
(Y) and No (N).

Creating Up-charges for Departments

When a message contains up-charge details, first it validates for the required fields, including “from” locations and “to” locations in the message. If no up-charge record is found, this message creates the up-charge for a department and from/to location combination. As part of the addition, you can indicate in the message if you want to have the up-charges added to existing items or only added for new items. Similarly, there is a flag in the message to indicate whether the new upcharges will be cascaded to transfers and allocations which are unshipped and not in closed or deleted status. The department upcharges will be created as soon as the message is consumed, however the new upcharges will be cascaded to items, transfers, and allocations via batches which runs at the end of every day.

Updating Up-charges for Departments

When a message contains up-charge details, first it validates for the required field in the message. If an up-charge record exists for a department and the from/to location combination in the message, then the up-charge details are updated for the department. As part of the update there is also an option to have the up-charges updated for items in the department, or unshipped transfers and allocations for items in the department. The department upcharges will be updated as soon as the message is consumed, however the updates will be cascaded to items, transfers, and allocations through batches which runs at the end of every day.

The format and validation for creating and updating up-charge information is shown in the table below:

Table 3-79 Department Up-Charge Header

Message ElementRequired?Notes
From LocationConditionalThis field contains the source location from which goods
will be transferred. This column can contain Country/
Area/Region IDs when From Location Type is Country
(C), Area (A), or Region (R). It will be a store, virtual
warehouse, or physical warehouse when To Location
Type is ‘S’, ‘W’ or ‘PW’. Otherwise, it should be left blank
when To Location Type is either All Stores (AS) or All
Warehouses (AW).
To LocationConditionalThis field contains the destination location to which
goods will be transferred. This column can contain
Country/Area/Region IDs when To Location Type is
Country (C), Area (A), or Region (R). It will be a store,
virtual warehouse, or physical warehouse when To
Location Type is ‘S’, ‘W’ or ‘PW’. Otherwise, it should be
left blank when To Location Type is either All Stores (AS)
or All Warehouses (AW).
From Location TypeYesThis field contains the type of source location from which
goods will be transferred. Valid values are:

C - Country

A - Area

R - Region

S - store

W - Virtual Warehouse

PW - Physical Warehouse

AS - All Stores

AW - All Warehouses
To Location TypeYesThis field contains the type of destination location to
which goods will be transferred. Valid values are:

C - Country

A - Area

R - Region

S - store

W - Virtual Warehouse

PW - Physical Warehouse

AS - All Stores

AW - All Warehouses
Department Up-Charge
Detail
NoChild node

Table 3-80 Department Up-Charge Detail

Message ElementRequired?Notes
Component IDYesThis field contains the unique identifier of the Up Charge
component. This should be a valid cost component in
merchandising.
Component RateYesThis field contains the rate to be charged against the
cost of the Item/To Location combinations within the
department.

Table 3-80 (Cont.) Department Up-Charge Detail

Message ElementRequired?Notes
Per CountYesThis field contains a count indicating the amount of the
Per Count Unit of Measure to which the rate applies.
Per Count UOMYesThis field contains the unit of measure in which the Per
Count is specified. This should be a valid unit of
measure in merchandising.
Up-Charge GroupYesThis field contains the group to which the component ID
belongs. Valid values can be found on the codes table.
Component CurrencyYesThis field contains the currency of the Up Charge
component. This must be a valid currency in
Merchandising.
Effective DateNoThis field contains the date from which the new values
are effective in the system.
Item Default IndicatorNoThis field indicates if component rate information is
updated or not for existing items under the department.
Valid values are Yes (Y) and No (No).
Transfer Allocation Default
Indicator
NoThis field indicates if component rate information is
updated or not for existing transfers and allocations
under the department. Valid values are Yes (Y) and No
(N).
Computation Value Base
(CVB)
NoThis field contains the Computation Value Basis for the
Up Charge component at department level.
Cost BasisNoThis field contains the basis the Up Charge will be
calculated against. Valid values are defined in code type
UCCB (Up Charge Cost Basis) with values: Weighted
Average Cost (W), Supplier Cost (S) and Off-Invoice Net
Cost (N).
Include in Total Up Charge
Indicator
NoThis field contains the value of the individual up charge
component is used to calculate the total up charge (Y) or
if it is only used as the basis of calculating another up
charge (N). This column will default to the value in the
ELC_COMP table but can be updated at the department
level. Valid values are Y or N.

Deleting Up-charges for Departments

When a message contains an up-charge, first it validates for the required field in the message. If up-charge record exists for a department, this message deletes the upcharge details for a department. Deleting up-charges from a department does not automatically remove them from the items or transfers and allocations for items in the department.

The format and validation for deleting up charges is shown in the table below:

Table 3-81 Department Up-Charge Detail

Message ElementRequired?Notes
Component IDYesThis field contains the unique identifier of the Up Charge
component being deleted.

Creating Classes

When a new class is created, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed, which checks whether the class already exists. If the class does not exist, the class in the message data is created. Custom flex attributes can also be created for the class through this API, if they are active for the class.

Updating Classes

When a class is updated, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed, which verifies if the class to be updated already exists. If class already exists, the class details are updated. Like with create, custom flex attributes can also be updated for the class, if active.

The format and validation for creating and updating classes is shown in the table below:

Table 3-82 Class

Message ElementRequired?Notes
ClassYesThis field contains the unique number of the class.
Class NameYesThis field contains the name of the class.
Class VAT IndicatorYesThis field indicates whether retail is displayed and held
with or without VAT for items within the class. This field is
available when VAT is on in the system and defined at
the class level. This field is always defaulted to No (N).
DepartmentYesThis field contains the number of the department which
contains the class. This value must be a valid
department in Merchandising.
Custom Flex AttributesNoChild node
Inventory Layer Identifier
Type
NoThis field contains the type of identifier that will be used
across systems to manage and identify inventory layers
at class level.

Deleting Classes

When a class is deleted, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed to verify:

  • The class exists.

  • It is not associated to a diff group.

  • It is not associated to a season.

  • It is not associated to a ticket type.

  • It is not associated to a UDA.

If these validations pass, the class will be added to a purging staging table for processing in the Daily Purge of Foundation Data process. Flex attributes are deleted when the class is deleted.

The format and validation for deleting classes is shown in the table below:

Table 3-83 Class

Message ElementRequired?Notes
ClassYesThis field contains the unique number of the class.
DepartmentYesThe number of the department which contains the class.
This value must be a valid department in Merchandising.

Creating Subclasses

When a new subclass is created, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed, which checks whether the subclass already exists. If the subclass does not exist, then it is created. Custom flex attributes can also be created for the subclass through this API, if they are active for the subclass. Item Location Selling Phase Attributes like - Selling Phase Start Date, Direct to Store Orders, Warehouse to Store Transfers / Allocations, Store to Store Transfers, Minimum Transfer / Allocation Units for Update can also be created for the subclass.

Updating Subclasses

When a subclass is updated, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed which verifies if the subclass to be updated already exists. If subclass already exists, it is updated. Like with create, custom flex attributes can also be updated for the subclass, if active. Item Location Selling Phase Attributes like - Selling Phase Start Date, Direct to Store Orders, Warehouse to Store Transfers / Allocations, Store to Store Transfers, Minimum Transfer / Allocation Units for Update can also be updated for the subclass.

The format and validation for creating and updating subclasses is shown in the table below:

Table 3-84 Subclass

Message ElementRequired?Notes
SubclassYesThis field contains the unique number of the subclass.
Subclass NameYesThis field contains the name of the subclass.
ClassYesThis field contains the number of the class which
contains the subclass. This value must be a valid class
in Merchandising.
DepartmentYesThis field contains the number of the department which
contains the class. This value must be a valid
department in Merchandising.
Custom Flex AttributesNoChild node
Default Intercompany
Transfer Price
YesMust be a valid code from code type ICTP for subclass
under a department having cost based accounting. Must
be ‘R’ for subclass under a department having retail
based accounting.
Update Sell Date on Store
Order Receipt
NoThis indicates whether or not to update the Selling
Phase Start Date for the item/loc when a purchase order
of this item is received at the store.

Table 3-84 (Cont.) Subclass

Message ElementRequired?Notes
Update Sell Date on
Warehouse to Store Receipt
NoThis indicates whether or not to update the Selling
Phase Start Date for the item/loc when a warehouse to
store transfer/allocation of this item is received at the
store.
Update Sell Date on Store
to Store Receipt
NoThis indicates whether or not to update the Selling
Phase Start Date for the item/loc when a store to store
transfer of this item is received at the store.
Minimum Units for Sell Date
Reset
NoThis field contains the minimum shipped quantity of an
item on a transfer/allocation that will trigger
the resetting of the Selling Phase Start Date. This value
is only used if either of the Set Selling Start Date upon
Receipt of a Warehouse to Store Transfer/Allocation or
Set Selling Start Date upon Receipt of a Store to Store
Transfer are set to Yes (Y).

Deleting Subclasses

When a subclass is deleted, this API will first validate that all required fields are present in the message. Business-level validation on the input information will be performed to:

  • Verify the subclass already exists.

  • Verify the subclass is not associated to a diff group.

  • Verify the subclass is not associated to a season id.

  • Verify the subclass is not associated to a ticket type.

  • Verify the subclass is not associated to a UDA.

If these validations pass, the subclass will be added to a purging staging table for processing in the Daily Purge of Foundation Data process. Flex attributes are deleted when the subclass is deleted.

The format and validation for deleting classes is shown in the table below:

Table 3-85 Subclass

Message ElementRequired?Notes
SubclassYesThis field contains the unique number of the subclass
being deleted
ClassYesThis field contains the unique number of the class.
DepartmentYesThe number of the department which contains the class/
subclass. This value must be a valid department in
Merchandising.

Flex Attributes

If any custom flex attributes (CFAS) for the department, class, or subclass were added or modified, it will trigger an update message. The node of the integration that supports this will contain the name of the attribute as it is defined in the group set level view, the value of the

custom attribute. If it is a date attribute, the date value is in a separate field. Flex attributes can only be added to or updated; they cannot be deleted.

Table 3-86 Flex Attributes

Message ElementRequired?Notes
NameYesHolds the attribute name.
ValueNoHolds the value of the attribute for number and
character type attributes
Value DateNoHolds the date for date type attributes.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message Types Message Type Description xmrchhrcompcre External Create Company xmrchhrcompmod External Modify Company xmrchhrdivcre External Create Division xmrchhrdivmod External Modify Division xmrchhrdivdel External Delete Division xmrchhrgrpcre External Create Group xmrchhrgrpmod External Modify Group xmrchhrgrpdel External Delete Group xmrchhrdeptcre External Create Department xmrchhrdeptmod External Modify Department xmrchhrdeptdel External Delete Department Xmrchhrvatcre External Merch Hierarchy VAT create xmrchhrvatmod External Merch Hierarchy VAT modify xmrchhrdeptchrgcre External Merch Hier Dept Up-Charge create xmrchhrdeptchrgmod External Merch Hier Dept Up-Charge modify xmrchhrdeptchrgdel External Merch Hier Dept Up-Charge delete xmrchhrclscre External Create Class xmrchhrclsmod External Modify Class xmrchhrclsdel External Delete Class

XML Schema Definition (XSD)

XMrchHrCompDesc.xsd XMrchHrCompDesc.xsd XMrchHrDivDesc.xsd XMrchHrDivDesc.xsd XMrchHrDivRef.xsd XMrchHrGrpDesc.xsd XMrchHrGrpDesc.xsd XMrchHrGrpRef.xsd XMrchHrDeptDesc.xsd XMrchHrDeptDesc.xsd XMrchHrDeptRef.xsd XMrchHrDeptDesc.xsd XMrchHrDeptDesc.xsd XMrchHrDeptDesc.xsd XMrchHrDeptDesc.xsd XMrchHrDeptRef.xsd XMrchHrClsDesc.xsd XMrchHrClsDesc.xsd XMrchHrClsRef.xsd

Message TypesMessage Type DescriptionXML Schema Definition
(XSD)
xmrchhrsclsdelExternal Create SubclassXMrchHrSclsDesc.xsd
xmrchhrsclsmodExternal Modify SubclassXMrchHrSclsDesc.xsd
xmrchhrsclsdelExternal Delete SubclassXMrchHrSclsRef.xsd

Order Subscription API

This section describes the PO subscription API.

Functional Area

Purchase Orders

Business Overview

This subscription API is used to keep Merchandising in sync with an external system that is responsible for maintaining purchase orders. It is assumed that the source of orders sent in this API is not the supplier, as vendor managed inventory (VMI) POs can be sent using the Upload Purchase Order and Purchase Order Change Acknowledgements from Suppliers to Merchandising (ediupack) batch upload. It also does not support creating customer order POs or contract POs. Customer order POs are assumed to be sent using the Customer Order Fulfillment Subscription API and contract orders are created using replenishment processes in Merchandising or manually using the UI.

POs can be created, modified or deleted at the header or the detail level. This API also creates, edits, and deletes other data associated with a purchase order, including letter of credit, expenses, harmonized tariff schedules (HTS) and assessments, and custom flex attributes (CFAS). It also will apply rounding rules, default inventory management parameters, apply bracket costs, update open to buy buckets, and insert a record into the deals queue for deals to be applied to the order, if applicable. These transactions are performed immediately upon receipt of the message so that success or failure can be sent back to the calling application.

If the location on a purchase order is a franchise store, a corresponding franchise order is also created along with the PO.

Creating Purchase Orders

New purchase order messages pass through a series of validations such as required field and valid value validations for each field as well as business validations. The tables below summarize these validations.

Table 3-87 Header Level Validation

Message ElementRequired?Notes
Order NumberAlwaysMust be a unique order number not used by any existing
purchase orders in Merchandising.

Table 3-87 (Cont.) Header Level Validation

Message ElementRequired?Notes
SupplierAlwaysMust be a valid, active supplier in Merchandising. The
supplier and locations on the order must belong to the
same org unit. If the EDI PO indicator is set toY, the
supplier of the order must also be an EDI supplier.
Currency CodeOptionalMust be a valid currency code.
If not provided, this defaults to the currency code used
by the supplier.
TermsOptionalMust be a valid payment terms in Merchandising. If
terms is not provided in the message, the API will
default this to supplier terms.
Not Before DateOptionalMust be equal to or after the current date and before the
Not After Date, if provided. If the date is not provided,
the API will default the value to the current date + default
supplier lead time if there are not items attached to the
order. If items are already added to the order, it will be
defaulted to current date + minimum lead time +
minimum pickup lead time among all items in the order.
Not After DateOptionalMust be equal to or after the current date and after the
Not Before Date, if provided. If the date is not provided,
the API will default the value to the current date + default
supplier lead time if there are not items attached to the
order. If items are already added to the order, it will be
defaulted to current date + maximum lead time +
maximum pickup lead time among all items in the order.
OTB End of Week DateOptionalMust be a valid end of week date and equal to or after
the current date. If the date is not provided, the API will
default the value to the last day of the week that the not
after date value falls in.
DepartmentOptionalMust be a valid department in Merchandising. The
department field should not be populated if items
belonging to different departments are present in the
order. Department is required if the Department Level
PO system option is Y.
StatusOptionalValid statuses are Worksheet (W), Submitted (S), or
Approved. If not provided, the status will be defaulted to
W. A status of closed (C) is also allowed, but only for
order updates.
Exchange RateOptionalThe exchange rate should be greater than zero. If not
provided, and the currency code is provided, the
exchange rate will be based on the given currency code
and primary currency. If the currency code is not
provided, then the exchange rate will default based on
the supplier’s currency code and primary currency.
Include On Order IndicatorOptionalValid values areYandN. If not provided in the message,
it will be defaulted toY.
Written DateOptionalIf not provided in the message, it will be defaulted to the
current date.

Table 3-87 (Cont.) Header Level Validation

Message ElementRequired?Notes
Origin IndicatorOptionalValid values for origin indicator are:
0– Merchandising generated PO (from replenishment)
1– Other system generated PO
2– Manual purchase order
3– Buyer worksheet PO
4– Consignment sales generated PO
5– Vendor generated PO
6– AIP generated PO
7– SIM generated PO
8– Allocation generated PO
9– Consignment transfer generated PO
10– Consignment ownership change generated PO
11- Consignment Inventory Adjustment
12- Consignment Vendor Order
The expected values for this field in purchase order
subscription are1,2,6,7,8, and12.
If it is not provided in the message, it will be defaulted to
2.
EDI PO IndicatorOptionalValid values areYandN. If not provided in the message,
it will be defaulted to the supplier’s EDI PO indicator.
Pre Mark IndicatorOptionalValid values areYandN. If not provided in the message,
it will be defaulted toN. IfY, then the order must be pre-
allocated before it is approved.
User IDOptionalIf not passed into the message, then a value will be
defaulted for auditing purposes.
CommentOptional
Attempt RMS LoadOptionalIf not passed into the message, then it will be defaulted
toRMS, which means that the information will persist to
the Merchandising tables as opposed to the staging
tables. Valid values areRMSandSTG.
Master PO numberOptionalThis is can be used for linking multiple orders together
for multiple delivery date orders.
Lading PortOptionalIf not provided, this will be defaulted based on supplier
import attributes. If provided, it should be a valid lading
port in Merchandising.
Discharge PortOptionalIf not provided, this will be defaulted based on supplier
import attributes. If provided, it should be a valid
discharge port in Merchandising.
FactoryOptionalIf not provided, this will be defaulted based on supplier
import attributes. If provided, it should be a valid, active
factory in Merchandising.
AgentOptionalIf not provided, this will be defaulted based on supplier
import attributes. If provided, it should be a valid, active
agent in Merchandising.

Table 3-87 (Cont.) Header Level Validation

Message ElementRequired?Notes
Ship MethodOptionalIf not provided, this will be defaulted based on supplier
attributes. This must be a valid ship method in
Merchandising, which are stored in the codes table
under the code typeSHPM.
Partner Type 1OptionalThis should be provided if partner 1 is given. Valid
values areS1,S2andS3. These are stored under the
codes table under the code typeSUHL.
Partner 1OptionalIf not provided, this will be defaulted based on supplier
import attributes. If provided, it should be a valid, active
partner in Merchandising for the given partner type.
Partner and partner type should be provided, or both
should be null.
Partner Type 2OptionalThis should be provided if partner 2 is given. Valid
values areS1,S2andS3. These are stored under the
codes table under the code typeSUHL.
Partner 2OptionalIf not provided, this will be defaulted based on supplier
import attributes. If provided, it should be a valid, active
partner in Merchandising for the given partner type.
Partner and partner type should be provided, or both
should be null.
Partner Type 3OptionalThis should be provided if partner 3 is given. Valid
values areS1,S2andS3. These are stored under the
codes table under the code typeSUHL.
Partner 3OptionalIf not provided, this will be defaulted based on supplier
import attributes. If provided, it should be a valid, active
partner in Merchandising for the given partner type.
Partner and partner type should be provided, or both
should be null.
Payment MethodOptionalValid values are stored under the code typePYMTin the
codes table. If not provided, this will default to the
supplier payment method.
Purchase TypeOptionalValid values are stored under the code typePURTin the
codes table. If not provided, this will default to the
purchase type defined at the supplier inventory
management level.
FOB Title PassOptionalThis is required for import orders with payment method
of Letter of Credit. Valid values are stored under the
code typeFOBTin the codes table.
FOB Title Pass DescOptionalThis is required for import orders with payment method
of Letter of Credit.
PO TypeOptionalThis should be a valid PO Type in Merchandising. Valid
PO Types are found in thePO_TYPEtable.
Import Country IDOptionalThis is required for import orders. The value should be a
valid country in Merchandising. If the value is not
provided in the message, it will default to the country ID
of the primary address of the location in the order.
Order TypeOptionalIndicates the type of order and which Open To Buy
bucket will be updated. Valid values are found against
code typeORDO

Table 3-87 (Cont.) Header Level Validation

Message ElementRequired?Notes
BuyerOptionalThis field contains the ID of the buyer associated with
the PO. Validation is performed against the Buyer table.
Location TypeOptionalThis field contains the type of location in the location
field. Valid values areS(Store) orW(Warehouse).
LocationOptionalThis field contains the location where all items on the
order will be delivered to. If populated, it will mean a
single location order.
PromotionOptionalContains the RPCS offer ID associated with the order to
provide a link between the order dialog and the
promotions dialog.
QC IndicatorOptionalDetermines whether or not quality control will be
required when items for this order are received. Valid
values areYandN.
Freight TermsOptionalThis refers to the freight terms related to the PO.
Backhaul TypeOptionalThis field contains the type of backhaul allowance that
will be applied to the order.
Backhaul AllowanceOptionalThis field will contain the backhaul allowance value.
Ship Pay MethodOptionalThis indicates the payment terms for freight charges
associated with the order. The code typeSHMTholds the
valid values.
FOB Trans ResponsibilityOptionalContains the code indicating the type of the location that
is responsible for the transportation of the order.
FOB Trans Responsibility
Description
OptionalThis field describes the code for the location responsible
for the transportation of the order.
Vendor Order NoOptionalThis field contains the vendor’s unique identifying
number for an order. These orders may have originated
by the vendor through the EDI process or this number
can be associated to an Oracle Retail order when the
order is created on-line.
Freight Contract NoOptionalThis field contains the number of the contract with a
shipper that will give specific freight rates.
Pickup LocationOptionalThis field contains the location at which the order will be
picked up, if the order is a Pickup order.
Pickup NoOptionalThis field contains the reference number of the Pickup
order.
Pickup DateOptionalThis field contains the date when the order can be
picked up from the Supplier. This field is only required if
the Purchase Type of the order is Pickup.
Appointment Date/TimeOptionalThis column will hold the date and time of the receiving
appointment at the warehouse.
Import TypeOptionalThis is the default importer/exporter assigned to the
supplier of the Purchase order. Valid values are stored
against code typeBTLT.
Invoice LocationOptionalThis identifies the importer/exporter assigned to the
supplier. It should reference theWH.WHcolumn.
Clearing ZoneOptionalThis column will hold the clearing zone ID.

Table 3-87 (Cont.) Header Level Validation

Message ElementRequired?Notes
Routing LocationOptionalThis is the default routing location for the import order. It
refers theOUTLOC.OUTLOC_IDcolumn.
Master PO NoOptionalThis field holds the Master Order Number.
Re-ApproveOptionalThis field indicates that the update to the corresponding
purchase order needs to be performed, and then it
should be approved again.
Earliest Ship DateOptionalThe date before which the items on the purchase order
cannot be shipped by the supplier. Represents the
earliest earliest ship date of all the items on the order.
Latest Ship DateOptionalThe date after which the items on the purchase order
cannot be shipped by the supplier. Represents the
greatest latest ship date of all the items on the order.
File IDOptionalIn order to support supplier pooling via the buyer
worksheet, the recommended order quantities for the
individual suppliers are linked together for logistical
purposes while generating orders from the worksheet
based on this identifier.

Table 3-88 Detail Level Validation

Message ElementRequired?Notes
Item NumberRequiredMust be an approved, orderable transaction level item in
Merchandising supplied by the supplier indicated in the
message. The Item Number should not be in the
process of being deleted and must be active at the
location specified in the message.
LocationRequiredMust be a valid stockholding store or virtual warehouse
in Merchandising.
Location TypeRequiredValid values are store (S) and warehouse (W).
Unit CostOptionalMust be greater than or equal to zero. If more than one
virtual warehouse for the same physical warehouse are
included in the details for the order, then the unit cost
must be the same for those item/warehouses.
Reference ItemOptionalMust be a valid, approved reference item of the item
being ordered and should not be in the process of being
deleted. The Reference Item should be supplied by the
supplier in the message.
Origin Country IDOptionalMust exist as a valid country for the supplier/item
provided in the message. If the country is not provided in
the message, the value is defaulted to the item’s primary
country of sourcing.
Supplier Pack SizeOptionalMust be greater than zero. If there are several order
lines with the same item in the message, the supplier
pack size and origin country of these records should all
be the same. If not provided in the message, the API will
default the value based on the supplier/country for the
item.
Quantity OrderedRequiredMust be greater than zero.

Table 3-88 (Cont.) Detail Level Validation

Message ElementRequired?Notes
Cancel IndicatorOptionalThis is used for purchase order detail modification only.
Reinstate IndicatorOptionalThis is used for purchase order detail modification only.
Delivery DateOptionalThe date by which goods are to be delivered.
Qty CancelledOptionalThis field contains the cancelled quantity for the item in
the order.
Cancel CodeOptionalThis field contains the reason that the line item was
cancelled. This field is required if a line item is cancelled.
Estimated In Stock DateOptionalDate that the item on the PO is expected to be available
to ship from the PO location to another location.
Earliest Ship DateOptionalThe date before which the item cannot be shipped by
the supplier.
It will be validated to be a valid date equal to or greater
than the business date
Latest Ship DateOptionalThe date after which the item cannot be shipped by the
supplier.
It will be validated to be a valid date equal to or greater
than the business date.

If the above validation passes, then the purchase order and details will be created with the status set in the message. If the status in the message is approved, then the order will also be subjected to a series of approval checks. If the order cannot be approved, it will not be created.

You can also include information on the order - letter of credit (if the payment method is letter of credit), landed cost expenses, and for import orders you can include HTS and assessments. If included, these will be created simultaneously with the creation of the order.

Updating Purchase Orders

Updates can be made either at header level or at detail level for orders that are in Worksheet, Approved or Closed status. For both kinds of update messages, the API will validate that the order number included in the message already exists in Merchandising while item number and location will be also validated for existence in detail level updates.

Header Level Updates

Only header level fields need to be provided for header-level updates. Any order details included in the message will be ignored for a header-level update message. There are certain fields that are not allowed to be updated at header level depending on the status, and if these are still provided in the message, no error message will be returned. The values will simply be ignored. However, modifying the following header level fields is allowed made while the order is submitted or approved, without having to set the order in worksheet status:

  • status

  • not before date

  • not after date

  • terms

  • include on-order indicator

  • comments

Detail Level Updates

Order details can be updated for orders in Approved, Worksheet, Submitted or Closed status. The only information needed at the header level is the order number, which if not provided, will cause the message to be rejected. All other details provided at the header level will be ignored. Modifying order quantity, as well as supplier pack size or unit cost on an approved or submitted order will in effect set the order status to worksheet and subject it for automatic re-approval. When modifying order quantities, the full amount should be provided, not just the difference in the old and new values. Validations are also done on quantity changes, such as the ordered quantity should not go below the allocated quantity or replenishment quantity, quantity ordered cannot not be less than quantity received.

Fields that can be modified in worksheet, submitted and approved status:

  • Supplier Pack Size

  • Unit Cost - for items with no received quantities

  • Quantity Ordered

Fields that cannot be modified in statuses other than worksheet:

  • Origin Country ID

  • Location

Fields that can be modified only in approved status:

  • Quantity Cancelled

  • Cancel Code

Reinstating Order Lines

To reinstate orders, the reinstate indicator should be set to Y. In effect, this will set the cancelled quantities of the line items to 0 and reinstate the ordered quantities. This will set the status of the reinstated order to Worksheet.

Cancelling a Line Item in an Approved Order

In order to cancel a line item on the order, you can set the cancel indicator at the detail level to Y and at the same time, the quantity ordered for that line item must be set to 0. For partial cancellations, either reduce the quantity of an approved order or populate the quantity cancelled field making sure the cancel indicator is blank or set to N. This will allow for the automatic re-approval of the entire order, if there are line items still on the order once processed by the API. The cancel indicator and reinstate indicator cannot be set to Y at the same time.

Deleting Purchase Orders

If you are deleting a line item on the purchase order or deleting the whole purchase order, the API will first validate that the order number is valid. The order number is the only required field for a header delete message. All other fields will be ignored. For detail delete messages, you must provide the item as well and optionally, the location. These should exist in Merchandising, or else a reject message will be returned.

Deleting the Entire Order

In order to delete an entire order, you must send a header delete message. This will in effect set the status of the order at the header level to D. Only worksheet orders can be deleted. Deleting the purchase order cannot be done if the order is submitted, approved or has been approved, or if allocations exist for the order. Delete messages will still be processed, however it will be treated as an update of cancelled quantity and the quantity ordered will be reduced to the quantity available to be cancelled. If this results in all line items being cancelled or if the delete is made at header level, the status of the order will become Closed.

If an order is still in worksheet status, the entire order will be deleted. If the order involves any franchise stores, then any franchise order or return created with the order will also be cancelled or deleted.

Deleting a Line Item

If an order is still in worksheet status, line items will be deleted from the order. If all line items are deleted, the order header will also be deleted. For orders that are not in worksheet status, when a detail delete is requested, it will update the quantities to cancelled quantities and will be subject for re-approval.

Table 3-89 Header Level Validation

Message ElementRequired?Notes
Order NumberAlwaysMust be an existing order number in Merchandising.
Order DetailOptionalChild node
Attempt RMS LoadOptionalThis field indicates if the message will persist in RMS or
the staging tables. Valid values are RMS or STG. If not
defined, the default is STG.
Location ExpenseOptionalChild node
Item HTSOptionalChild node

Table 3-90 Detail Validation

Message ElementRequired?Notes
ItemOptionalThis field contains the item number that will be deleted in
the order.
LocationAlwaysThis field contains the location the item is ordered to.
Reference ItemOptionalThe ID of a reference item which can be used instead of
using the item field. If the item field is not populated this
field is required.

Creating a Purchase Order Letter of Credit

A letter of credit may be created together with the creation of a new order or added to an existing order with a payment method of Letter of Credit. In order to create/edit/delete a letter of credit, the order should be in worksheet status. Below are the validations:

Message ElementRequired?Notes
Letter of Credit Reference
ID
OptionalThe reference ID must be exist in Merchandising for the
given beneficiary and applicant. The Free on Board title
pass description and purchase type in the letter of credit
table must match that of the values in the order.
Letter of Credit Group IDOptionalIf included, must be a valid value in Merchandising.
ApplicantAlwaysThe applicant must be an active partner in
Merchandising.
BeneficiaryAlwaysMust be a valid active supplier who can be a beneficiary.
Merchandise descriptionAlwaysA description of the merchandise being imported for
customs purposes.
Transshipment IndicatorAlwaysValid values are Y or N.
Letter of credit indicatorAlwaysValid values are Y or N.

Updating a Purchase Order Letter of Credit

In order to update an order letter of credit, the letter of credit must exist for the order in Merchandising, otherwise, an error will be returned. All fields identified in the create section above are updateable and will go through the same validation as in the creation of a letter of credit.

Deleting a Purchase Order Letter of Credit

In order to delete an order letter of credit, the letter of credit must exist for the order in Merchandising, otherwise, an error will be returned.

Creating Expenses

Expenses may be created together with the creation of a new order or added to an existing order that has location records defined. In order to create/edit/delete expenses, the order should be in worksheet status. Below are the validations:

Message ElementRequired?Notes
ItemAlwaysThe item/location/location type combination must be
present in the order. For buyer packs with an order as
type of Pack, this should be a component item in the
pack and the item on the order should be present in the
pack item field.
Pack itemOptionalIf provided, the item/pack item/location/location type
combination must be present in the order. This is
required if the item on the order is a buyer pack with an
order as type of Pack.
LocationAlwaysThe item/location/location type combination must be
present in the order.
Location typeAlwaysThe item/location/location type combination must be
present in the order. Valid values are S or W.
Component IDAlwaysMust be a valid expense component in Merchandising.
This should be present in ELC_COMP.
Message ElementRequired?Notes
CVB codeConditionalRequired if the component rate calculation basis is value
(V), otherwise this will be defaulted to NULL. Must be a
valid CVB code in Merchandising.
Cost basisOptionalValid values are supplier (S) or order (O). If CVB code is
provided, then this should be null.
Component rateOptionalThis will be defaulted based on the component if not
provided.
Component currencyOptionalThis will be defaulted based on the component if not
provided. If it is present in the message, this must be a
valid currency code.
Exchange rateOptionalThis should be the exchange rate used in relation to the
location on the order. If this is not provided in the
message, the API defaults it, depending on the order
exchange indicator set at system level. If the indicator is
Y, it defaults based on the component currency. If the
component currency of the component is the same as
that of the location, then exchange rate should be 1. If
the system level indicator is set to N, the exchange rate
will be based on the location currency .
Per countOptionalIf the component rate calculation basis is specific (S), it
is defaulted based on the expensed component if not
provided in the message.
Per count UOMOptionalIf the component rate calculation basis is specific (S), it
is defaulted based on the expense component if not
provided in the message.
This must be a valid unit of measure.
Nominal flag 1OptionalThis will be defaulted based on the expense component
if not provided. If it is present in the message, this must
be N,+, or -.
Nominal flag 2OptionalThis will be defaulted based on the expense component
if not provided. If it is present in the message, this must
be N,+, or -.
Nominal flag 3OptionalThis will be defaulted based on the expense component
if not provided. If it is present in the message, this must
be N, +, or -.
Nominal flag 4OptionalThis will be defaulted based on the expense component
if not provided. If it is present in the message, this must
be N, +, or -.
Nominal flag 5OptionalThis will be defaulted based on the expense component
if not provided. If it is present in the message, this must
be N,+, or -.

Updating Expenses

In order to update expenses, the order/item/location/component ID must exist for the order in Merchandising, otherwise, an error will be returned. All fields identified in the create section above except for order/item/pack item/location/component id are updateable and will go through the same validation as in the creation of expenses.

Deleting Expenses

In order to delete expenses, the order/item/location/component ID must exist for the order in Merchandising, otherwise, an error will be returned.

Table 3-91 Order Expense Deletion

Message ElementRequired?Notes
ItemAlwaysThis field contains the item number that will be deleted in
the order.
Pack ItemOptionalIf provided, the item/pack item/location combination
must be present in the order.
LocationAlwaysThis field contains the location that the item was ordered
to. The item/location combination must be present in the
order.
Component IDAlwaysMust be a valid expense component in Merchandising.
This should be present in ELC_COMP.

Creating HTS and Assessments

HTS and Assessment may be created together with the creation of a new import order or added to an existing order that has location records defined. In order to create/edit/delete HTS and assessments, the order should be in worksheet status. Below are the validations:

Table 3-92 HTS Validation Message Elements

Message ElementRequired?Notes
ItemAlwaysThe item must exist on the order. For buyer packs
with an order as type of Pack, this should be a
component item in the pack and the item on the
order should be present in the pack item field.
Pack itemConditionalThe item must exist on the order. This is required if
the item on the order is a buyer pack with an order
as type of Pack.
HTSAlwaysMust be a valid HTS code for the supplier’s import
country in Merchandising
StatusAlwaysValid values are Worksheet (W) or Approved (A).
Origin Country IDOptionalMust be a valid country in Merchandising. If the HTS
tracking level based on country of manufacture, this
should be a valid country of manufacture for the
item/supplier. If it is not provided, it will default to the
item’s primary manufacturing country. If the HTS
tracking level is country of sourcing, it will default to
the primary sourcing country for the item/supplier.
Import Country IDOptionalMust be a valid country in Merchandising. If not
provided, this will default to the import country ID at
the order level.

Table 3-93 HTS Assessment Validation

Message ElementRequired?Notes
Component IDAlwaysMust be a valid assessment component ID in
Merchandising.
Component rateOptionalThis will be defaulted based on the component if not
provided.
Per countOptionalThis is defaulted to the component when the calculation
basis is specific (S), otherwise this will be defaulted to
NULL.
Per count UOMOptionalThis is defaulted to the component when the calculation
basis is specific (S), otherwise this will be defaulted to
NULL.
CVB codeOptionalThis is defaulted to the component when the calculation
basis is value (V), otherwise this will be defaulted to
NULL.
Nominal flag 1OptionalThis will be defaulted based on the assessment
component if not provided. If it is present in the
message, this must be N, +, or -.
Nominal flag 2OptionalThis will be defaulted based on the assessment
component if not provided. If it is present in the
message, this must be N, +, or -.
Nominal flag 3OptionalThis will be defaulted based on the assessment
component if not provided. If it is present in the
message, this must be N,+, or -.
Nominal flag 4OptionalThis will be defaulted based on the assessment
component if not provided. If it is present in the
message, this must be N, +, or -.
Nominal flag 5OptionalThis will be defaulted based on the assessment
component if not provided. If it is present in the
message, this must be N, +, or -.

Updating HTS and Assessments

In order to update HTS and assessments, the record to be updated must exist in Merchandising, otherwise, an error will be returned. Status and origin country ID can be updated at the HTS level. For assessments, all fields identified in the create section above except for component ID are updateable and will go through the same validation as in the creation of assessments.

Deleting HTS and Assessments

In order to delete HTS and assessments, expenses, the record to be deleted must exist in Merchandising, otherwise, an error will be returned.

Table 3-94 Order HTS

Message ElementRequired?Notes
ItemAlwaysThis field contains the item number that will be deleted in
the order.

Table 3-94 (Cont.) Order HTS

Message ElementRequired?Notes
Pack ItemOptionalIf provided, the item/pack item combination must be
present in the order.
HTSAlwaysThis field contains the unique identifier for the
Harmonized Tariff Schedule code. The item/pack
item/HTS must be present in the order.
HTS AssessmentsOptionalChild node

Table 3-95 Order HTS Assessments

Message ElementRequired?Notes
Component IDAlwaysThis field contains the assessment component ID. The
item/pack item/HTS/component ID must be present in
the order.

Publishing Updates

Purchase orders will be published back to the RIB if approved or previously approved, such that system responsible for managing the purchase orders are notified.

Flex Attributes

If custom flex attributes (CFAS) have been defined for purchase orders, or at the order/item or order/item/location level, then they can be integrated as part of this API. The node of the integration that supports this will accept the name of the attribute as it is defined in the group set level view and the value for the attribute. Flex attributes can only be added to or updated on a purchase order at header and detail levels but cannot be deleted.

Table 3-96 Flex Attributes

Message ElementRequired?Notes
NameYesHolds the attribute name.
ValueNoHolds the value of the attribute for number and character
type attributes
Value DateNoHolds the date for date type attributes.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition
(XSD)
XorderCreOrder Create MessageXOrderDesc.xsd
XorderCre
(CustFlexAttriVo)
Order Flex Attribute Create Message for the
Order Header
XOrderDesc.xsd
XorderDtlCreOrder Detail Create MessageXOrderDesc.xsd
XorderDtlCre
(CustFlexAttriVo)
Order Detail Flex Attribute Create message
XorderLCCreOrder LC Create MessageXOrderDesc.xsd
XorderLocExpCreOrder Location Expense Create MessageXOrderDesc.xsd
XorderSkuHtsCreOrder SKU HTS Create MessageXOrderDesc.xsd
XorderSkuHtsAssessCreOrder SKU HTS Assess Create MessageXOrderDesc.xsd
XorderModOrder Modify MessageXOrderDesc.xsd
XorderMod
(CustFlexAttriVo)
Order Flex Attribute Modify Message for the
order header
XOrderDesc.xsd
XorderDtlModOrder Detail Modify MessageXOrderDesc.xsd
XorderDtlMod
(CustFlexAttriVo)
Order Detail Flex Attribute Modify MessageXOrderDesc.xsd
XorderLCModOrder LC Modify MessageXOrderDesc.xsd
XorderLocExpModOrder Location Expense Modify MessageXOrderDesc.xsd
XorderSkuHtsModOrder SKU HTS Modify MessageXOrderDesc.xsd
XorderSkuHtsAssessModOrder SKU HTS Assess Modify MessageXOrderDesc.xsd
XorderDelOrder Delete MessageXOrderRef.xsd
XorderDtlDelOrder Detail Delete MessageXOrderRef.xsd
XorderLCDelOrder LC Delete MessageXOrderRef.xsd
XorderLocExpDelOrder Location Expense Delete MessageXOrderRef.xsd
XorderSkuHtsDelOrder SKU HTS Delete MessageXOrderRef.xsd
XorderSkuHtsAssessDelOrder SKU HTS Assess Delete MessageXOrderRef.xsd

Organizational Hierarchy Subscription API

This section describes the organizational hierarchy subscription API.

Functional Area

Organizational Hierarchy

Business Overview

If Merchandising is not the system of record for organizational hierarchy information for an implementation, then this API may be used to create, update or delete elements of the hierarchy based on an external system. The organization hierarchy subscription also assigns existing location traits to, or deletes them from the stores in the given organization hierarchy level.

The following organizational hierarchy elements can be created, modified, or deleted using this API: chain, area, region, or district. The organizational hierarchy must be created from the highest level down. Conversely, the hierarchy must be deleted from the lowest level up.

The following validation is applicable for the data sent in this API:

Message ElementRequired?Notes
Hierarchy ValueAlwaysIndicates the ID of the hierarchy component being
added, modified, or deleted. It is validated based
on the hierarchy level attribute included.
Hierarchy DescriptionConditionalIndicates the description for the hierarchy
component. This is required for create only. For
modifications, it is optional. For delete, it is ignored.
Hierarchy LevelAlwaysIndicates the level of the hierarchy being created,
updated, or deleted. Valid values are CH (chain),
AR (area), RE (region) and DI (district).
ParentConditionalIdentifies the parent level of the hierarchy for this
component. For example, if the hierarchy level is
district, this would be the ID of the region for the
district.
Manager NameOptionalName of the manager for this hierarchy component.
Currency CodeOptionalThe code that identifies the currency under which
the hierarchy component operations.

Other Notes:

  • Location trait records must exist prior to attaching them to any hierarchy.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypeMessage Type DescriptionXML Schema Definition (XSD)
XOrgHrCreExternal Create Organizational
Hierarchy
XOrgHrDesc.xsd
XOrgHrLocTrtCreExternal Create Location TraitXOrgHrDesc.xsd
XOrgHrDelExternal Delete Organizational
Hierarchy
XOrgHrRef.xsd
XOrgHrLocTrtDelExternal Delete Location TraitXOrgHrRef.xsd
XOrgHrModExternal Modify Organizational
Hierarchy
XOrgHrDesc.xsd

Payment Terms Subscription API

This section describes the payment terms subscription API.

Functional Area

Payment Terms

Business Overview

Payment terms are supplier-related financial arrangement information that can be subscribed to by Merchandising from a financial system. Payment terms are the terms established for paying a supplier (for example, 2.5% for 30 days) for purchase orders. After confirming the validity of the records enclosed within the message, Merchandising updates its tables with the information.

Creating Payment Terms

When a new payment term is subscribed to by Merchandising, it will first validate that all required fields are present in the message. Payment terms details should also be present when creating a new payment term, and when creating and updating a new payment term detail. After that, business level validation on the input information will be performed. The tables below summarize these two types of validations.

Table 3-97 Header Level Validation

Message ElementsRequired?Notes
termsAlwaysThis represents the unique ID to track this payment
term in Merchandising.
terms codeAlwaysThis is value is intended to hold the code in the
financial system.
terms descAlwaysDescription of the supplier terms
rankAlwaysUnique number to rate invoice payment terms against
purchase order terms

Table 3-98 Message Elements

Message ElementsRequired?Notes
due max amountAlwaysThis is the maximum amount due by a certain date
percentAlwaysPercentage discount if payment is made within the
time frame
terms sequenceOptionalThe order in which to apply the discount percent
due daysConditionalThis is the number of days until payment is due. The
following due days data combinations are valid:
1.
Due days, due day of month and due months
forward should all be provided
2.
Due days, due day of month and due months
forward are all NULL
3.
Due days should be provided and both due day of
month and due months forward are provided.
due day of monthConditionalDay of month used to calculate due date of invoice
payment line.
The following due days data combinations are valid:
1.
Due days, due day of month and due months
forward should all be provided
2.
Due days, due day of month and due months
forward are all NULL
3.
Due days should be provided and both due day of
month and due months forward are provided.
due months forwardConditionalNumber of months ahead used to calculate due date
of invoice payment line.
The following due days data combinations are valid:
1.
Due days, due day of month and due months
forward should all be provided
2.
Due days, due day of month and due months
forward are all NULL
3.
Due days should be provided and both due day of
month and due months forward are provided.
discount daysConditionalThis is the number of days in which payment must be
made in order to receive the discount.
The following discount days data combinations are
valid:
1.
Discount days, discount day of month and
discount months forward should all be provided
2.
Discount days, discount day of month and
discount months forward are all NULL
3.
Discount days should be provided and both
discount day of month and discount months
forward are provided.
4.
Discount days is NULL and both discount day of
month and discount months forward are provided.

Table 3-98 (Cont.) Message Elements

Message ElementsRequired?Notes
discount day of monthConditionalDay of month used to calculate discount date for
invoice payment line
The following discount days data combinations are
valid:
1.
Discount days, discount day of month and
discount months forward should all be provided
2.
Discount days, discount day of month and
discount months forward are all NULL
3.
Discount days should be provided and both
discount day of month and discount months
forward are provided.
4.
Discount days is NULL and both discount day of
month and discount months forward are provided.
discount months forwardConditionalNumber of months ahead to calculate discount date for
invoice payment line.
The following discount days data combinations are
valid:
1.
Discount days, discount day of month and
discount months forward should all be provided
2.
Discount days, discount day of month and
discount months forward are all NULL
3.
Discount days should be provided and both
discount day of month and discount months
forward are provided.
4.
Discount days is NULL and both discount day of
month and discount months forward are provided.
fixed dateOptionalThis is the fixed due date
enabled flagAlwaysThis flag should be ‘Y’ if the start active date is less
than or equal to the current date and the end date is
greater than or equal to the current date. Otherwise,
the enabled flag should be ‘N’.
start active dateOptionalStart active date must be less than end active date.
end active dateOptionalEnd date should be greater than start active date.
cutoff dayOptionalThis is the last day before payment is scheduled

Payment term details sent via the detail message can also be added when a payment term already exists in Merchandising. If the terms detail being added already exists, an error is raised.

After the message passes all validations, the payment terms are inserted into the Merchandising tables.

Updating Payment Terms

Payment terms can be updated at header or detail level. When updating at the header level, the payment term details for the term being updated should already exist in Merchandising. When updating payment term details, the term header and detail must already exist.

After the message passes all validations, the payment terms in Merchandising are updated. Rank, terms, code, and terms description are the values that can be updated at header level. At the detail level, due days, due max amount, due months forward, discount days, percent, discount day of month, discount months forward, fixed date, enabled flag, start active date, end active date and cutoff day may be updated.

Error Handling

If an error occurs in this procedure, a call will be placed to a function to build a complete error message. This message together with a status of E is returned to the external system. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
PayTermCrePayment Terms Create MessagePayTermDesc.xsd
PayTermDtlCrePayment Terms Detail Create
Message
PayTermDesc.xsd
PayTermModPayment Terms Modify MessagePayTermDesc.xsd
PayTermDtlModPayment Terms Detail Modify
Message
PayTermDesc.xsd

Receiving Subscription API

This section describes the receiving subscription API.

Functional Area

Receiving

Business Overview

This API processes receipts that Merchandising receives against purchase orders, transfers, and allocations received at a store, warehouse or finisher. Purchase orders can be received at the item level only using this message. Transfers and allocations, collectively referred to as stock orders, may be received at the bill of lading (BOL) level, where the entire shipment is received without including details, carton level, or item level.

When a transfer, PO or allocation is received at a location, Merchandising will update the appropriate tables, including the shipment, the transfer, allocation, or purchase order, stock on hand, as well as other inventory buckets (for example, in-transit). A record of the receipt is also made in the transaction-level stock ledger.

Receiving Exceptions

Merchandising has the ability to automatically resolve several common exceptions that can occur during the receiving process. Here are some of the exceptions that can be supported:

Additionally, the following exceptions are automatically processed when a stock order is received through this API:

Receipt Against the Wrong BOL

In this case, the receiving location should send a carton status of Dummy ( D ) or Overage ( O ), indicating that a dummy BOL number was used. But, even if that status is not used, this exception processing can still take place. Merchandising will attempt to match the contents of the receipt to a valid BOL as follows:

  • If the carton belongs to a valid BOL at the given location, Merchandising receives the carton against the intended BOL at the given location.

  • If the carton belongs to a valid BOL at a related walk-through store , Merchandising receives the carton against the intended BOL at the intended location.

  • If the carton belongs to a valid BOL at an unrelated location, Merchandising uses the wrong store receiving process.

Walk-through Store Receiving

If you have configured two or more stores as “walk-through” locations, through attribution on the store table in Merchandising then, if the BOL was intended to be received at the walkthrough location instead of the location on the message, Merchandising will automatically adjust the receipt and process against the correct location.

Misdirected Container

Misdirected containers, or wrong store receiving, is when one or more containers on a receipt are identified as having been originally shipped to a different location (Location A) than the location that sent the receipt message (Location B). Whether or not misdirected container receiving is supported in Merchandising is controlled by a system option called Wrong Store Receipt Exception Handling. If this option is unchecked (N), then the receipt at the Location B will raise an error in this API. If set to checked (Y), then the shipment at Location A will be backed out, including in-transit updates, WAC adjustments, and stock ledger postings, and reapplied to Location B, prior to processing the receipt into Location B.

In order to correctly manage this processing, Merchandising must receive the original carton number on the receipt. In some cases, such as when integrating with Store Inventory and Operations Cloud Service (SIOCS), the carton ID is reassigned by the receiving location. In that case, the reference carton field in the Receipt Detail node of the message must be populated to trigger this process.

In the event of a carton number being available in the container ID field, the shipment at Location A will be backed out prior to processing the receipt into Location B. If a container ID is not populated, then it will be treated as an unexpected line item on the receipt and a new line item will be inserted against the shipment. The original item line will be corrected only when the original ASN is received (while using the auto-close option) or when the transfer is closed.

Note

Wrong location receiving is supported only for item-level transfer/allocation receipts.

Unwanded Cartons

An unwanded carton is a situation where Merchandising never received notification of the original shipment, only the receipt. In this case, if receiving is done at the item level, Merchandising will process both the shipment and receipt together. If item level details are not included for the carton, an error will be raised, as Merchandising will not be able to determine the contents of the carton, having never received the initial shipment details.

Zero Receipts

This type of exception occurs when a location indicates to Merchandising that nothing was received for the item at the location by sending a receipt of zero and indicating that the carton is closed. Merchandising will reconcile the original ship-to location based on system option settings to determine where to write off the lost items.

If a zero receipt occurs for an item that is part of a misdirected container, then some slightly different processing will occur. If the zero receipt is sent after a misdirected container reconciliation, then no further updates will be made, as the line would have been previously reconciled. If a zero receipt occurs before misdirected container processing, then the misdirected container processing at the actual receiving location will be treated as an overage, as the original location would have already been reconciled.

Other Key Notes

  • Externally generated warehouse-to-warehouse transfers are not supported in Merchandising, where the transfer is created in Merchandising at the physical warehouse level for both locations. For example, a warehouse-to-warehouse transfer created in WMS. This includes the receipt of such a transfer using this API.

  • Wrong store receiving is not supported for franchise transactions.

  • Merchandising doesn’t process the top level of this message (ReceiptDesc) or the UIN level details.

Receipt

This node contains the receipt level details to be processed by Merchandising.

Table 3-99 Receipt

Message ElementRequired?Notes
DC Destination IDAlwaysIndicates the location that has processed the receipt.
For stores, this will be the store ID. For warehouses,
this will be the physical warehouse ID.
PO NumberAlwaysIndicates the transaction that the receipt is for. This
must be a valid allocation, transfer or PO number
Customer Order NumberOptionalNot used in Merchandising
Fulfllment Order
Number
OptionalNot used in Merchandising

Table 3-99 (Cont.) Receipt

Message ElementRequired?Notes
Document TypeAlwaysSpecifes whether the receipt is for an allocation (A),
purchase order (P), or transfer (T, D, or V).
Reference Document
Number
OptionalContains a reference number for a document
associated to the shipment (e.g., Fiscal Document ID
for Brazilian based transactions).
ASN NumberConditionalUsed to relate the receipt message to the previous
ASN message. This feld is required for transfers and
allocations.
Receipt TypeOptionalThis feld is used in receiving transfers or allocations
to determine if the receipt is at the BOL level (BL) or
SKU level (SK). If not provided, the value will be
defaulted to SK. It is not used for a PO receipt.
From LocationOptionalThis feld contains the source location of the
shipment.
From Location TypeOptionalThis feld contains the source location type of the
shipment. Valid values are:

SU - supplier

ST - store

WH - warehouse
StatusOptionalIndicates the status of the ASN received. This feld is
used only for stock order receiving. A status of C
indicates that the entire ASN is will be set to closed.

Child Nodes

  • Receipt Detail

  • Receipt Carton Detail

Receipt Detail

This is a required child node to the receipt level only for item level stock order receipts. For carton level receipts, this should not be populated.

Table 3-100 Receipt Detail

Message ElementRequired?Notes
Item IDAlwaysSpecifes the item on the allocation, purchase order,
or transfer that has been received.
Unit QuantityAlwaysContains the quantity received for the allocation,
purchase order, or transfer in the standard unit of
measure.
Receipt Transaction TypeAlwaysSpecifes whether the receipt detail line item is for a
Receipt (R), Transshipment (T), or Adjustment (A).
Receipt DateOptionalIdentifes the date on which the transaction was
received.

Table 3-100 (Cont.) Receipt Detail

Message ElementRequired?Notes
Receipt NumberOptionalAn externally generated numerical identifer
corresponding to the receipt of the item
at the location.
Destination IDOptionalOnly used for purchase order receipt, when the
purchase order has an allocation attached to it. This
element specifes the location to which the
allocation is being sent.
Container IDOptionalIdentifes the carton number for the item being
received.
Reference Container IDOptionalIdentifes the original carton number the item was
shipped under, if it was being received at the wrong
destination. This is required by Merchandising to
process the updates correctly, as SIOCS reassigns the
container ID at the receiving location.
Distro NumberOptionalOnly used for purchase order receipts, when the
purchase order has an allocation attached to it. This
element contains the allocation id.
Distro Document TypeOptionalOnly used for purchase orders, when the purchase
order has an allocation attached to it. When
populated, this value should always be A to specify
an allocation.
From DispositionOptionalThis value is used to determine inventory
availability. Valid values are in the
INV_STATUS_CODES table. The from disposition is
used when the to disposition is not provided.
To DispositionOptionalThis value is used to determine if the inventory is
available or unavailable, based on the code’s
INV_STATUS value on the INV_STATUS_CODES table.
To WIPOptionalNot used in Merchandising
From WIPOptionalNot used in Merchandising
To TroubleOptionalNot used in Merchandising
From TroubleOptionalNot used in Merchandising
User IDOptionalNot used in Merchandising
Dummy CartonOptionalIndicates if this carton is a dummy carton. This feld
is only used for transfer receipts. Valid values are
yes (Y) or no (N).
Tampered CartonOptionalIndicates if the carton was tampered. This feld is
only used for transfer receipts. Valid values are yes
(Y) or no (N).
Unit CostOptionalUsed for purchase order receipts when confgured
for Global Tax (GTS) where the location’s country is
localized. Otherwise, it will be ignored except in
scenarios where there is an unexpected item on the
receipt, in which case it can be optionally included
to indicate the receipt cost of the item. If not
included for unexpected receipts, the default
supplier cost will be used. Cost is converted to the
order’s currency before insert/update.

Table 3-100 (Cont.) Receipt Detail

Message ElementRequired?Notes
Shipped QuantityOptionalOnly used for purchase order receipts. Updates the
number of items expected to be received, originally
set by the ASN process.
WeightOptionalContains the actual weight of the item received for
the shipment. This will be included for some catch
weight items.
Weight UOMOptionalContains the unit of measure of the received weight
(e.g., pounds, kilograms) where UOM class is of type
MASS. Weight and Weight UOM must both be
populated, or both must be NULL.
Gross CostOptionalContains the Unit cost and Expenses incurred on an
item in a particular transaction.
Item Line NumberOptionalThis feld indicates the item line number from
customer orders. This must be populated for
systems with OMS_IND = Y and
RESV_CO_ON_RECEIPT = Y.
Inventory Identifer TypeOptionalThis felds contains the inventory identifer type
feld which is passed during receipt message. Valid
values are found under the Inventory Identifer
Types (IIDT) code type; for example, include Lot (L),
Expiry Date (E), Import Document (D).
Inventory IdOptionalThis felds contains the inventory identifer ID
provided on receipt transaction messages. It is a
free-form text ID feld that will be interfaced and
displayed as a text feld.

Receipt Carton Detail

This node is only used for stock order receiving as an alternative to the item level node.

Table 3-101 Receipt Carton Detail

Message ElementRequired?Notes
Carton StatusConditionalIndicates the status of the carton being received.
Valid values are:

Actual (A) – this is used for normal carton
receiving at the correct location

Overage (O) – this should be used if the carton
doesn’t belong to the BOL/location being
received. In this case, Merchandising will
attempt to match the container to the correct
BOL. See receiving exceptions above.

Dummy BOL (D) – this should be used if the BOL
used in the receipt is not valid for the carton/
location. In this case, Merchandising will
attempt to match the container to the correct
BOL. See receiving exceptions above.

Closed (C) – indicates that the carton is closed
and no more receipts are expected. In this case,
Merchandising will reconcile any outstanding
quantity for the carton immediately.
Container IDConditionalIndicates the container being received. This must be
populated for carton level receiving.
Reference Container IDOptionalNot being used in Merchandising.
Destination IDOptionalIdentifes the location to which the stock order is
received.
Receipt Transaction TypeRequiredSpecifes whether the carton receipt is for a Receipt
(R), Transshipment (T), or Adjustment (A).
Receipt DateOptionalThis feld contains the date when the carton is
received.
Receipt NumberOptionalThis feld holds the externally generated number
when the shipment is received at the location.
User IDOptionalNot used by Merchandising.
To DispositionOptionalThis value is used to determine inventory
availability of the received quantity. Valid values are
in the INV_STATUS_CODES table.
WeightOptionalContains the actual weight of the item received for
the carton. This is used for catch weight containers.
Weight UOMOptionalContains the unit of measure of the received weight
(e.g., pounds, kilograms) where UOM class is of type
MASS. Weight and Weight UOM must both be
populated, or both must be NULL.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
receiptcreReceipt Create MessageReceiptDesc.xsd
receiptordcreReceipt Create Message for Customer OrdersReceiptDesc.xsd
receiptmodReceipt Modify (Adjustment) MessageReceiptDesc.xsd

RTV Subscription API

This section describes the RTV subscription API.

Functional Area

Returns to Vendor

Business Overview

Merchandising subscribes to return-to-vendor (RTV) messages when an RTV is shipped out from a warehouse or store. This shipment could be for an RTV that was initially created in Merchandising or one initiated in the store or warehouse. The RTV information is sent from a warehouse management system (WMS), such as Oracle WMS Cloud, or the store inventory solutions, such as Oracle Retail Store Inventory and Operations Cloud Service (SIOCS) when the RTV is shipped out of the location.

Note

Unlike other RIB messages, both new and updates sent through this message use the RTVCre message type.

New RTVs

If the message contains a new RTV generated in the store or warehouse, then it must contain both header and detail information. RTV create messages can only be sent in Approved or Shipped status.

Updated RTVs

If this is an update to an RTV, it can be performed through this API. To update an RTV, you can send either the header information only or both header and detail information. The most common update is to ship a previously created RTV. Approved RTVs can be Shipped if the RTV is created in Merchandising or SIOCS.

It is assumed that RTVs from the warehouse are always created in Shipped status.

Note

Once RTVs are shipped, they cannot be changed back to Approved. Alternatively, approved RTVs can also be set to Cancelled status, if for some reason they cannot be shipped.

RTV Header

Message ElementRequiredNotes
Destination IDAlwaysContains the location shipping
the RTV - either the store ID or
the physical warehouse ID.
RTV IDAlwaysThis contains the external
reference number for RTVs
created outside of
Merchandising.
Return Authorization NumberOptionalContains the number that the
supplier provides when the
decision is made that the
merchandise may be returned.
This will be required
depending on the
confguration of the supplier
site in Merchandising.
Vendor NumberAlwaysContains the supplier site ID to
which the merchandise is
being returned. The site must
be confgured in
Merchandising to allow
returns.
Address 1OptionalContains the frst line of the
supplier’s address for returns.
If not provided, the address for
an externally created RTV will
be pulled from the supplier
address information in
Merchandising. This applies
for all of the below address
felds as well.
Address 2OptionalContains the second line of the
supplier’s address for returns.
Address 3OptionalContains the third line of the
supplier’s address for returns.
StateOptionalContains the state of the
supplier’s address for returns.
The state and country
combination must be valid.
CityOptionalContains the city of the
supplier’s address for returns.
Postal CodeOptionalContains the postal code of the
supplier’s address for returns.
Message ElementRequiredNotes
CountryOptionalContains the country ID of the
supplier’s address for returns.
The state and country
combination must be valid.
Creation Time StampOptionalContains the date the vendor
return was created. This
defaults to current date if not
specifed for an externally
generated RTV.
CommentsOptionalContains any comments
associated with the return.
RTV Order NumberOptionalThis contains the RTV ID
generated by Merchandising
when the event was created.
For externally generated RTVs,
this should be NULL.
StatusOptionalThis value is used to determine
the current status of an
externally generated RTV. Valid
values are Approved (A) or
Shipped (S). If this is Approved,
Merchandising will create the
RTV and set it to an In Progress
status. If this is Shipped or null,
it will be set to Shipped status
when created or updated.
Consignment Vendor RTVOptionalThis value is used to determine
whether the RTV is a
consignment vendor RTV or
not.
Valid values are:YandN. If it is
set toY, then the RTV is a
consignment vendor RTV and
the origin is set toCONVEN. If it
isN, then the RTV is not a
consignment vendor RTV.

Child Node

  • RTV Details

  • Flex Attribute

RTV Details

Message ElementRequiredNotes
Item IDAlwaysUnique identifer for the item
on the RTV. The item must be a
transaction level inventory
item or reference item.
Message ElementRequiredNotes
Unit QuantityAlwaysContains the quantity of the
item being returned to the
supplier under this RTV
number. A quantity less than
zero indicates a quantity
cancellation. If the RTV is
already in progress, the
quantity in the message must
not be zero.
Container QuantityOptionalNot used in Merchandising
From DispositionOptionalThis value is used to determine
if the inventory is available or
unavailable. Valid values are
based on the INV_STATUS
values in the
INV_STATUS_CODES table.
To DispositionOptionalNot used in Merchandising
Unit CostOptionalContains the cost per unit for
the SKU being returned. This
feld is stored in the supplier’s
currency. If not provided, then
value will be defaulted based
on the system option RTV Unit
Cost Source setting - either the
from location’s weighted
average cost, last received cost,
or standard cost.
ReasonOptionalIdentifes the reason for the
return. Valid values are for this
feld are held in the
Merchandising codes tables
under code type RTVR. By
default, the values are:
Q - QC Failed
U - Unavailable Inventory.
W - Externally Initiated RTV
If the reason is not provided
for an externally generated
RTV, it will be defaulted to W.
WeightOptionalActual weight shipped for the
item on the RTV, which is used
for some catch weight items. It
is expected that either both
weight and weight UOM have a
value or neither have a value.
Weight UOMOptionalIndicates the unit of measure
represented for the provided
weight (for example, pounds,
kilograms) where UOM class is
of type MASS. It is expected
that either both weight and
weight UOM have a value or
neither have a value.
Message ElementRequiredNotes
Gross CostOptionalContains the unit cost and
expenses incurred on an item
in a particular transaction.
This is used for Brazil
processing only. For all
implementations not using the
Brazil Localization
confguration, this should be
NULL.
RTV Detail UINOptionalNot used in Merchandising
Inventory Identifer TypeOptionalThis feld contains the
inventory identifer type feld,
which is passed during return
to vendor message. Valid
values are found under the
Inventory Identifer Types
(IIDT) code type; for example,
Lot (L), Expiry Date (E), Import
Document (D).
Inventory IdOptionalThis felds contains the
inventory identifer ID
provided on return to vendor
transaction messages. It is a
free-form text ID feld that will
be interfaced and displayed as
a text feld.

Flex Attributes

If flex attributes have been defined for an RTV they can be included in this node of the message.

Message ElementRequiredNotes
NameAlwaysThe fex attribute name
defned by the business
ValueOptionalThe value of the fex attribute
defned by the business for
alphanumeric or number
attributes.
Value DateOptionalThe date value of the fex
attribute, if the fex attribute is
defned as a date.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
rtvcreRTV Create MessageRTVDesc.xsd

Stock Count Schedule Subscription API

This section describes the stock count schedule subscription API.

Functional Area

Inventory

Business Overview

Stock count schedule messages are published to the RIB by an inventory sub-system, such as Oracle Retail Store Inventory and Operations Cloud Service (SIOCS), to communicate unit and value stock count schedules to Merchandising. Merchandising uses stock count schedule data to help synchronize the inventories of the integrated system and Merchandising. The integrated system then performs a physical inventory count and uploads the results, and Merchandising compares the discrepancies.

This API allows the external systems to create, update, and delete Unit and Value stock count requests within Merchandising. The count is assumed to be for the full location, unless department, class and subclass data are included.

Creating/Updating Stock Count Requests

When a new stock count request is created or an existing stock count request is modified, this API will validate all the required fields are present in the message. Required information for the stock count includes a description, date, type (always B), location type, and locations. Optionally the merchandise hierarchy information can also be included, but, if not included, it will be assumed the entire location will be counted. After the required field and business validations, the stock counts will be created or updated in Merchandising.

The format used when creating or modifying a stock count is shown below.

Table 3-102 Stock Count Header

Message ElementRequired?Notes
Cycle CountYesThis field contains the number which uniquely identifies
the stock or cycle count.
Cycle Count DescriptionYesThis field contains a description of the cycle or stock
count which, along with the cycle count number,
identifies the cycle or stock count.

Table 3-102 (Cont.) Stock Count Header

Message ElementRequired?Notes
Location TypeYesThis field contains an indicator which identifies whether
the cycle count will be for Stores or Warehouses. Valid
values are Store (S) and Warehouse (W).
Stocktake DateYesThis field contains the date on which the stock or cycle
count will take place. This date should be greater or
equal to the current date plus the stake lockout days
defined at system level.
Stocktake TypeYesThis field contains a value which indicates the stock take
type. Valid values are Both Unit and Dollar (B) and Unit
only (U). However, the RIB interface only allows
modification of Unit and Dollar stock take types.
Stock Count Schedule
Products
NoChild node
Stock Count Schedule
Locations
NoChild node

Table 3-103 Stock Count Schedule Products

Message ElementRequired?Notes
DepartmentYesThis field contains the department number where the
cycle count will occur. If the value = -1, the stock count
will apply to all departments. The dept/class/subclass
hierarchy must be a valid hierarchy in Merchandising.
ClassNoThis field contains the class number where the cycle
count will occur. The dept/class/subclass hierarchy must
be a valid hierarchy in Merchandising.
SubclassNoThis field contains the subclass number where the cycle
count will occur. The dept/class/subclass hierarchy must
be a valid hierarchy in Merchandising.

Table 3-104 Stock Count Schedule Locations

Message ElementRequired?Notes
LocationYesThis field contains the store or warehouse number on
the cycle count. This must be a valid store or a
stockholding warehouse in Merchandising.

Deleting Stock Count Requests

When an existing stock count request is deleted, this API will validate all the required fields are present in the message. After required field and business validation, the stock counts will be removed in Merchandising. This API also supports deleting a location from the count. The count and locations can only be deleted through this API if no results have been processed for the location on the count. If the last location is deleted from the count, then the count itself will be deleted.

The format used when deleting a stock count is shown below.

Table 3-105 Stock Count Header

Message ElementRequired?Notes
Cycle CountYesThis field contains the number which uniquely identifies
the stock or cycle count being deleted.
Stock Count Schedule
Locations
NoChild node

Table 3-106 Stock Count Schedule Locations

Message ElementRequired?Notes
LocationYesThis field contains the store or warehouse being deleted
on the cycle count.

Error Handling

If an error occurs in this procedure, a call will be placed to a function to build a complete error message. This message together with a status of E is returned to the external system. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the RIB documentation for each message type in order to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
stkcountschcreStock Count Schedule Create
Message
StkCountSchDesc.xsd
stkcountschmodStock Count Schedule Modify
Message
StkCountSchDesc.xsd
stkcountschdelStock Count Schedule Delete
Message
StkCountSchRef.xsd
stkcountschtldelStock Count Schedule Delete
Message for a Location
StkCountSchRef.xsd

Stock Order Status Subscription API

Functional Area

Inventory Movement

Business Overview

A stock order is an outbound merchandise request from a warehouse or store. In Merchandising, a stock order takes the form of either a transfer or allocation. Merchandising subscribes to stock order status messages published by an external application, such as a store system (SIOCS, for example) or a warehouse management system (Oracle WMS Cloud, for example) to communicate the status of a specific stock order.

Stock Order Statuses

The following tables describe the stock order statuses for both transfers and allocation document types and what occurs in Merchandising after receiving the respective status. Statuses other than listed below are ignored by Merchandising.

Document types of T, D, and S all refer to transfers and indicate whether the transfer is initiated in Merchandising, a warehouse system, or a store system, respectively.

Table 3-107 Statuses for Document Types T, D, and S

Stock Order StatusWhat Merchandising does
SI (Stock Increased)Insert or increase transfer quantity and increase item/location
transfer reserve quantity for the source location and transfer
expected quantity for the destination location.
SD (Stock Decreased)Delete or decrease the transfer quantity for the transfer/item
combination. Transfer quantity for the transfer/item
combination will be deleted if the transfer has been created
but has not been shipped. Additionally, the item/location
transfer reserved quantity for the source location and the
transfer expected quantity for the destination location will be
decreased.
DS (Details Selected)Increase the selected quantity for the transfer/item
combination.
DU (Details Un-selected)Decrease the selected quantity for the transfer/item
combination.
NI (WMS Line Cancellation)Decrease selected and transfer quantity for the transfer/item
by the quantity on the message and increase the cancelled
quantity. Additionally, it will decrease the reserved quantity
for the source location and decrease the expected quantity for
the destination location by the lesser of the quantity on the
message and transfer - shipped quantity. The transfer will also
be added to the document close queue if transfer status is not
closed. Document Close batch program will then determine if
the transfer should be closed based on certain conditions.
Transfers with outstanding appointments are not closed.
PP (Distributed)Decreases the selected quantity and increases the distro
quantity for the transfer/item.
PU (Un-Distribute)Decreases the distro quantity for the transfer/item.
RS (Return to Stock)Decreases distro quantity and transfer quantity for the
transfer/item; the cancelled quantity for the transfer/item is
increased. Additionally, transfer reserved is decreased for the
item/source location and transfer expected is decreased for the
item/destination location for the lesser of the quantity in the
message and the transfer - shipped quantity if the transfer
status is not closed.

Table 3-107 (Cont.) Statuses for Document Types T, D, and S

Stock Order StatusWhat Merchandising does
EX (Expired)Decreases transfer quantity for the transfer/item; the cancelled
quantity for the transfer/item is increased. Additionally,
transfer reserved is decreased for the item/source location and
transfer expected is decreased for the item/destination location
for the lesser of the quantity in the message and the transfer -
shipped quantity if the transfer status is not closed. The
transfer will also be added to the document close queue if
transfer status is not closed. Document Close batch program
will then determine if the transfer should be closed based on
certain conditions. Transfers with outstanding appointments
are not closed.
SR (Store Reassign)Updates the distro quantity for the transfer/item. This can
either increase or decrease the value, depending on whether a
positive or negative value is sent.

Document type A is always used for Allocations.

Table 3-108 Statuses for Document Type A

Stock Order StatusWhat Merchandising does
SI (Stock Increased)Insert or increase allocated quantity and increase item/
location transfer reserve quantity for the source location and
transfer expected quantity for the destination location.
SD (Stock Decreased)Decrease the allocated quantity for the allocation/item
combination. Additionally, the item/location transfer reserved
quantity for the source location and the transfer expected
quantity for the destination location will be decreased.
DS (Details Selected)Increase the selected quantity for the allocation/item
combination.
DU (Details Un-Selected)Decrease the selected quantity for the allocation/item
combination.
NI (WMS Line Cancellation)Decrease selected and allocation quantity for the allocation/
item by the quantity on the message and increase the cancelled
quantity. Additionally, it will decrease the reserved quantity
for the source location and decrease the expected quantity for
the destination location by the lesser of the quantity on the
message and allocation - shipped quantity if the allocation is
not closed. The allocation will also be added to the document
close queue if allocation status is not closed. Document Close
batch program will then determine if the allocation should be
closed based on certain conditions. Allocations with
outstanding appointments are not closed.
PP (Distributed)Decreases the selected quantity and increases the distro
quantity for the allocation/item.
PU (Un-Distribute)Decreases the distro quantity for the allocation/item.

Table 3-108 (Cont.) Statuses for Document Type A

Stock Order StatusWhat Merchandising does
RS (Return to Stock)Decreases distro quantity and allocation quantity for the
allocation/item; the cancelled quantity for the allocation/item
is increased. Additionally, transfer reserved is decreased for
the item/source location and transfer expected is decreased for
the item/destination location for the lesser of the quantity in
the message and the allocation - shipped quantity if the
allocation status is not closed.
EX (Expired)Decreases allocation quantity for the allocation/item; the
cancelled quantity for the allocation/item is increased.
Additionally, transfer reserved is decreased for the item/source
location and transfer expected is decreased for the item/
destination location for the lesser of the quantity in the
message and the allocation - shipped quantity if the allocation
status is not closed. The allocation will also be added to the
document close queue if allocation status is not closed.
Document Close batch program will then determine if the
allocation should be closed based on certain conditions.
Allocations with outstanding appointments are not closed.
SR (Store Reassign)Updates the distro quantity for the allocation/item. This can
either increase or decrease the value, depending on whether a
positive or negative value is sent.

For customer orders, Merchandising assumes it will receive updates from an OMS for customer-order-related stock orders. Therefore, to avoid duplicate processing, Merchandising will ignore No Inventory, Expired, Stock Decreased, and Stock Increased statuses received for a customer order transfer.

Stock Order Status Message Details

The table below summarizes the elements applicable for this API.

Table 3-109 Stock Order Status Header

Message ElementRequired?Notes
DC Destination IDAlwaysThis feld contains the location number of the stock
order source location.
Location TypeAlwaysThis feld contains the type of location in the DC
Destination ID feld. Valid values are:

S - Store

W - Warehouse

E - Finisher
Store TypeOptionalThis feld indicates the store type of the DC
Destination ID if it is a store. Valid values are:

C - company store

F - franchise store
Stockholding IndicatorOptionalThis feld indicates if the DC Destination ID is
stockholding or not. Only populated if location type
is ‘S’. Valid values are Yes (Y) and No (N).

Table 3-109 (Cont.) Stock Order Status Header

Message ElementRequired?Notes
Distro NumberOptionalThis feld contains the stock order number. This is
either the transfer or allocation number in
Merchandising.
Distro Document TypeAlwaysThis feld specifes whether the stock order status
pertains to an allocation (A) or transfer (T) that is
already existing in Merchandising. Created Stock
Order (D), Customer Order (C), and Virtual Distro (V)
are also valid document types but will be ignored by
Merchandising.
Context TypeOptionalThis feld holds the functional area code to which
the transfer relates to. Valid values are Promotion
(PROM) and Repairing (REPAIR).
Context ValueOptionalThis feld holds the value relating to the context type
like promotion number.
Inventory TypeOptionalThis feld indicates if a transfer is made from the
available (A) or unavailable (U) inventory.
Customer Order NumberOptionalThis feld holds the master customer order number
for a stock order associated with a customer order.
Fulfllment Order
Number
OptionalThis feld holds the number related to the fulfllment
details for a stock order associated with a customer
order. One or more fulfllment orders could relate
back to a single customer order.
System CodeOptionalNot used by Merchandising
From Location Virtual
WH
OptionalThis feld contains the virtual warehouse number of
the stock order source location.
Stock Order Status DetailsOptionalChild node
Custom Flex AttributesOptionalChild node – not used by Merchandising

Table 3-110 Stock Order Status Detail

Message ElementRequired?Notes
Destination IDAlwaysThis feld contains the location number of the stock
order receiving location.
Location TypeAlwaysThis feld contains the type of location in the
Destination ID feld. Valid values are:

S - Store

W – Warehouse

E - Finisher
Store TypeOptionalThis feld indicates the store type of the Destination
ID, if a store. Valid values are:

C - Company Store

F – Franchise Store
Stockholding IndicatorOptionalThis feld indicates if the Destination ID is
stockholding. Only populated if location type is ‘S’.
Valid values are: Yes (Y) and No (N).
ItemAlwaysThis feld contains the unique identifer for the item.

Table 3-110 (Cont.) Stock Order Status Detail

Message ElementRequired?Notes
Original ItemOptionalThis feld contains the ID of the item being replaced.
Populated only when this record is for a substitute
item on a customer order.
Order Line NumberOptionalThis feld is used to carry the customer order line
number value for customer orders. It is a derived
value for non-customer orders.
Unit QuantityOptionalThis feld contains the difference between the
number of item units shipped versus the receiving
count for the given item. This is subtracted from the
document-line-item-unit-count to yield an over/
under variance between what a supplier said was
shipped and what was counted and received at by
the store’s staff.
StatusOptionalThis feld contains the status of the stock order. Valid
values are: Accepted (SI), Rejected (SD), Distributed
(PP), Un-Distributed (PU), Details Selected (DS),
Details Un-selected (DU), WMS Line Cancellation
(NI), Return To Stock (RS), Expired (EX), and Store
Reassign (SR). Statuses other than listed are ignored
by Merchandising. For stock order status
explanations, please refer to the
Business Overview
section.
User IDOptionalThis feld contains the user ID of the user who
created the stock order status.
Updated DateOptionalThis feld contains the date the stock order status
was updated.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition
(XSD)
sostatuscreStock Order Status Create MessageSOStatusDesc.xsd
CustFlexAttriVoStock Order Status Flex Attribute CreateSOStatusDesc.xsd

Store Subscription API

This section describes the store subscription API.

Functional Area

Foundation Data

Business Overview

The Store Subscription API provides the ability to keep store data in Merchandising in sync with an external system if Merchandising is not being used as the system of record for organizational hierarchy information. The store data handled by the API includes basic store data in addition to addresses, store hours, location traits, up-charges, and walk-through stores. Walkthrough stores are used in Merchandising as part of the transfer reconciliation process and are used to indicate two or more stores that have a ‘walk through’ connection between them - on the sales floor and/or the backroom.

Create or Update Stores

When creating a new store in Merchandising through this API, the data is validated and placed onto a staging table STORE_ADD . The store creation in Merchandising reads from this table and creates the store in Merchandising in an asynchronous mode. When updating an existing store in Merchandising, the API performs the update immediately upon message receipt.

Delete Stores

The API also handles store delete messages. But, like the store creation message subscription process, stores will not actually be deleted from the system upon receipt of the message. After the data has been validated, the store is added to the DAILY_PURGE table for processing through a batch process.

Other Store Attributes

Location traits, walkthrough stores, department-level up-charges, store hours, address data and CFAs must be processed separately as they each have their own distinct message types for creation and deletion.

Location traits and walkthrough store attributes cannot be sent in a store create message; the store create batch must first process the store before it can have these attributes attached to it. Up-charges, store hours, and addresses can be included for new stores.

The store subscription message also supports the ability to import custom flex attributes from an external system.

Other Notes

  • Location traits must already exist prior to being added to the store.

  • Stores and warehouses in Merchandising cannot have the same unique identifier.

  • Location trait and walkthrough store data cannot be sent in a store create message.

Store Message Details

The table below summarizes the elements applicable for this API.

Table 3-111 Store Create or Update
Message ElementRequired?Notes
StoreAlwaysThis feld contains the unique identifer of the store.
Store NameAlwaysThis feld contains the name of the store.
Store TypeOptionalIndicates the type of store. Valid values are:
company store (C), franchise store (F).
Store Name (10)OptionalThis feld contains the ten-character abbreviation of
the store name.
Store Name (3)OptionalThis feld contains the three-character abbreviation
of the store name
Store ClassAlwaysThis feld contains code of the class of which the
store is a member. Valid values are A through E.
Store Manager NameAlwaysThis feld holds the name of the store manager.
Store Open DateAlwaysThis feld holds the date on which the store opened.
Store Close DateOptionalThis feld holds the date on which the store closed.
Acquired DateOptionalThis feld holds the date on which the store was
acquired.
Remodel DateOptionalThis feld holds the date on which the store was
remodeled.
Fax NumberOptionalThis feld contains the fax number for the store.
Phone NumberOptionalThis feld contains the phone number for the store.
EmailOptionalThis feld contains the email address of the store.
Total Square FeetOptionalThis feld contains the total square footage of the
store.
Selling Square FeetOptionalThis feld contains the total square footage of the
store’s selling area.
Linear DistanceOptionalThis feld contains the total merchandise space of
the store.
Stockholding IndicatorAlwaysThis feld indicates if the store can hold stock. Valid
values are yes (Y) or no (N). This feld cannot be
modifed.
Channel IDAlwaysThis feld contains the identifer of the channel. This
value must be predefned on the CHANNELS table.
Store FormatOptionalThis feld contains the code of the store format of the
store. This value must be predefned on the
STORE_FORMAT table.
Mall NameOptionalThis feld contains the name of the mall in which the
store is located.
DistrictAlwaysThis feld contains the number of the district of
which the store is a member. This value must be
predefned on the DISTRICT table.
Promo ZoneOptionalNot used by Merchandising.

Table 3-111 (Cont.) Store Create or Update

Message ElementRequired?Notes
Transfer ZoneAlwaysThis feld contains the transfer zone in which the
store is located. This value must be predefned on
the TSFZONE table.
Default WHOptionalThis feld contains the default warehouse for the
store. This value must be a virtual warehouse
predefned on the WH table.
Stop Order DaysOptionalThis feld contains the number of days before the
store close date that the store will stop accepting
orders.
Start Order DaysAlwaysThis feld contains the number of days before the
store open date that the store will begin accepting
orders.
Currency CodeAlwaysThis feld contains the currency code under which
the store operates. This value must be predefned on
the CURRENCIES table. It cannot be modifed.
LanguageOptionalThis feld contains the code of the language used at
the store. This value must be predefned on the
LANG table. Either ISO code or Lang should not be
null. If this feld is null, ISO Code will be used for
looking up the language to be used.
ISO CodeOptionalThis feld contains the International Organization
for Standards (ISO) character code corresponding to
the language used at the store. Either ISO code or
Lang should not be null.
Integrated POS IndicatorAlwaysThis feld indicates whether Sales Audit should
expect fles from this store for processing. Valid
values are Yes (Y) or No (N).
DUNS NumberOptionalThis feld holds the Dun and Bradstreet number to
identify the store.
DUNS LocationOptionalThis feld holds the Dun and Bradstreet number to
identify the location.
Copy Delivery IndicatorConditionalThis feld indicates if the like store’s delivery
schedule information should be copied to the new
store. This value cannot be modifed. It will only be
used on a store create message.
Copy Activity IndicatorConditionalThis feld indicates if the like store’s closing date
schedule should be copied to the new store. This
value cannot be modifed. It will only be used on a
store create message.
Price StoreConditionalThis feld contains the store from which pricing
information will be copied to the new store. The
pricing store does not need the same currency as the
new store.
Cost LocationConditionalThis feld contains the location from which to copy
cost information to the new store. This feld should
only be included on store create messages. This
value must be existing store or virtual warehouse.
VAT Include IndicatorOptionalThis feld contains whether tax will be included in
the retail prices for the store. Valid values are Yes (Y)
or No (N).

Table 3-111 (Cont.) Store Create or Update

Message ElementRequired?Notes
VAT RegionConditionalThis feld contains the ID of the tax region the store
is associated with. This value must be predefned on
the VAT_REGION table. It is required if
Merchandising is confgured for Simple VAT or
Global Tax.
Like StoreConditionalThis feld holds the store from which the new store
will have item/locations copied. This value must be
predefned on the STORE table. It cannot be
modifed and will only be used in a create message.
Copy Replenishment
Indicator
ConditionalThis feld indicates whether replenishment
information should be copied from the like store to
the new store. This feld cannot be modifed. It will
only be populated on a store create message.
Transfer EntityConditionalThis feld contains the transfer entity of which the
store is a part. This value must be predefned on the
TSF_ENTITY table. If the system allows
intercompany transfers this feld is required.
Sister StoreOptionalThis feld contains the store which will be used to
relate historical data to the new store in Allocation.
This value must be predefned on the STORE table.
Transaction Number
Generated
AlwaysThis feld holds the level at which unique POS
transaction numbers are generated. Valid values are
Store (S) and Register (R).
CountyOptionalThis feld contains the county in which the store is
located.
Time Zone NameOptionalThis feld contains the Time Zone name.
WF Customer IDOptionalThis feld contains the ID associated with a franchise
customer for a franchise store. This is required for a
franchise store type and should be null for a
company store.
Org Unit IDOptionalThis feld contains the organizational unit ID value
of the store.
Secondary Store NameConditionalThis feld contains the secondary name of the store.
Customer Order Location
Indicator
OptionalIndicates that the store can be used to source or
fulfll customer orders. Valid values are yes (Y) or no
(N).
Gift Wrapping IndicatorOptionalThis feld indicates whether gift wrapping is
required.
Customer Order Ship
Indicator
OptionalThis feld indicates whether the customer order has
been shipped from Warehouse.
Tax IdOptionalContains the unique tax identifcation number of the
store.
Online Store IndicatorOptionalThis feld indicates how store day will be managed
by ReSA. If the indicator is Y then ReSA will
automatically open and close the store day.
Store Location TraitOptionalChild node
Walkthrough StoreOptionalChild node
Store AddressOptionalChild node

Table 3-111 (Cont.) Store Create or Update

Message ElementRequired?Notes
Store HoursOptionalChild node
Store Department Up-
charge
OptionalChild node
Custom Flex AttributesOptionalChild node

Table 3-112 Store Location Trait Create

Message ElementRequired?Notes
Location TraitConditionalThe identifer of the location trait. Though the node
is optional, this feld is required if the node is
included. The node cannot be populated in the store
create message.

Table 3-113 Walkthrough Store Create

Message ElementRequired?Notes
Walkthrough StoreConditionalA walk-through store of the store being modifed.
Though the node is optional if it is included this feld
is required. This node cannot be populated in a store
create message.

Table 3-114 Store Address Create or Update

Message ElementRequired?Notes
City IDOptionalThis feld contains the city ID or code.
State NameOptionalThis feld contains the state name.
Country NameOptionalThis feld contains the country name.
AddressAlwaysThis feld holds the unique address ID from the
source system.
Address TypeAlwaysThis feld indicates the type for the address. Valid
values are in the ADD_TYPE table. Mandatory
address types for a new store are Business (01) and
Postal (02).
Primary Address
Indicator
AlwaysThis feld indicates whether this address is the
primary address for this address type. At least one
address must be designated as primary for each
type.
Address 1AlwaysThis feld contains the frst line of the address.
Address 2OptionalThis feld contains the second line of the address.
Address 3OptionalThis feld contains the third line of the address.
CityAlwaysThis feld contains the name of the city that is
associated with the address.
StateOptionalThis feld contains the abbreviation for the state in
which the store is located.

Table 3-114 (Cont.) Store Address Create or Update

Message ElementRequired?Notes
Country IDAlwaysThis feld contains the country code where the
address exists.
PostOptionalThis feld contains the postal code for the address.
Contact NameOptionalThis feld contains the name of the contact for the
supplier at this address.
Contact PhoneOptionalThis feld contains the phone number of the contact
person at this address.
Contact TelexOptionalThis feld contains the telex number of the store’s
representative contact.
Contact FaxOptionalThis feld contains the fax number of the contact
person at this address.
Contact EmailOptionalThis feld contains the email address of the store’s
representative contact.
Oracle Vendor Site IDConditionalThis feld contains the unique identifer of this
address in the Oracle Financials, if used.
CountyOptionalThis feld contains the county name for the location.
Jurisdiction CodeOptionalThis feld contains the ID associated to the tax
jurisdiction of the country-state relationship.
Custom Flex AttributesOptionalChild node

Table 3-115 Store Hours Create or Update

Message ElementRequired?Notes
Store IDAlwaysThis feld contains the unique ID of the store.
Day NumberAlwaysThis feld indicates the day of the week for which
store timing is being stored. Valid values are from 1
(Sunday) through 7 (Saturday).
Store Open TimeOptionalThis feld contains the open time for the store. Open
time should be in 12-hour format (HH:MI AM or
HH:MI).
Store Close TimeOptionalThis feld contains the close time for the store. Close
time should be in 12-hour format (HH:MI AM or
HH:MI).

Table 3-116 Store Department Up-charge Header Create or Update

Message ElementRequired?Notes
Hierarchy LevelAlwaysThe hierarchy level for which the up charges are
being added or updated. Valid values are Division
(DI), Group (GR), Department (DE), and All
Departments (AD).
HierarchyOptionalThe value of the hierarchy based on the level. If the
level is division, group, or department, then this
should contain a valid ID of that type. If All
Departments is the hierarchy level, then this should
be left blank.

Table 3-116 (Cont.) Store Department Up-charge Header Create or Update

Message ElementRequired?Notes
From LocationOptionalContains the source location for which the up
changes for the hierarchy will apply. Valid values
are a country, area, region, store, virtual warehouse,
or physical warehouse ID, depending on the from
location type included. If the from location type sent
is AS or AW, this should be left null.
To LocationOptionalContains the destination location for which the up
changes for the hierarchy will apply. Valid values
are a country, area, region, store, virtual warehouse,
or physical warehouse ID, depending on the from
location type included. If the from location type sent
is AS or AW, this should be left null.
From Location TypeAlwaysIndicates the type of location included as the From
Location. Valid values are Country (C), Area (A),
Region (R), Store (S), Virtual Warehouse (W),
Physical Warehouse (PW), All Stores (AS), or All
Warehouses (AW).
To Location TypeAlwaysContains the type of location included as the To
Location. Valid values are Country (C), Area (A),
Region (R), Store (S), Virtual Warehouse (W),
Physical Warehouse (PW), All Stores (AS), or All
Warehouses (AW).
Store Department Up-
charge Details
OptionalChild node

Table 3-117 Store Department Up-charge Details Create or Update

Message ElementRequired?Notes
Component IDAlwaysThis feld contains the unique identifer of the up-
charge component.
Component RateAlwaysThis feld contains the rate to be charged based on
the transfer/allocation cost for items in the
hierarchy and between from and to locations
defned in the up-charge header.
Per CountOptionalIf the component was defned with a calculation
basis of Specifc, then this feld is used to determine
how the rate is applied to the items on a transfer or
allocation. If the component is defned as Value, this
should be blank.
Per Count UOMOptionalIndicates the unit of measure in which the Per Count
is specifed.
Up-charge GroupAlwaysThis feld contains the group to which the
component ID belongs. Valid values can be found on
the codes table with a code type of UCHG.
Component CurrencyAlwaysThis feld contains the currency of the Up Charge
component.
Effective DateOptionalThe date from which the new values are effective in
the system.

Table 3-117 (Cont.) Store Department Up-charge Details Create or Update

Message ElementRequired?Notes
Item Default IndicatorOptionalBy default, up-charges defned will be defaulted for
new items created in the hierarchy designated at the
header level. But this indicator allows you to add the
new or updated upcharge to an existing item in the
hierarchy. Valid values are Y or N.
Transfer Allocation
Default Indicator
OptionalIndicates if component information should be
applied to any unshipped transfers or allocations
with items and locations that qualify. Valid values
are Y or N.
Computation Value Base
(CVB)
NoThis feld contains the Computation Value Basis for
the Up Charge component at department level.
Cost BasisNoThis feld contains the basis the Up Charge will be
calculated against. Valid values are defned in code
type UCCB (Up Charge Cost Basis) with values:
Weighted Average Cost (W), Supplier Cost (S) and
Off-Invoice Net Cost (N).
Include in Total Up
Charge Indicator
NoThis feld contains the value of the individual up
charge component is used to calculate the total up
charge (Y) or if it is only used as the basis of
calculating another up charge (N). This column will
default to the value in the ELC_COMP table but can
be updated at the department level. Valid values are
Y or N.

Table 3-118 Store Delete

Message ElementRequired?Notes
StoreAlwaysThe store number being deleted, or for which a
location trait or walk through store is being
disassociated.
Store Location TraitOptionalChild node
Walkthrough StoreOptionalChild node
Store AddressOptionalChild node
Store HoursOptionalChild node
Store Department Up-
charge
OptionalChild node

Table 3-119 Store Location Trait Delete

Message ElementRequired?Notes
Location TraitConditionalThe identifer of the location trait. Though the node
is optional, this feld is required if the node is
included. The node cannot be populated in the store
create message.

Table 3-120 Walkthrough Store Delete

Message ElementRequired?Notes
Walkthrough StoreConditionalA walk-through store of the store being modifed.
Though the node is optional if it is included this feld
is required. This node cannot be populated in a store
create message.

Table 3-121 Store Address Delete

Message ElementRequired?Notes
AddressAlwaysThe unique identifer of the address being deleted.
Table 3-122 Store Hours Delete
Message ElementRequired?Notes
Store IDAlwaysThis feld contains the unique ID of the store.
Day NumberAlwaysThis feld indicates the day of the week for which
store timing is being stored. Valid values are from 1
(Sunday) though 7 (Saturday).

Table 3-123 Store Department Up-charge Header Delete

Message ElementRequired?Notes
Hierarchy LevelAlwaysThe hierarchy level for which the up charges are
being deleted. Valid values are Division (DI), Group
(GR), Department (DE), All Departments (AD).
HierarchyOptionalThe value of the hierarchy.
From LocationOptionalContains the source location from which goods will
be transferred. This column can contain Country/
Area/Region IDs when From Location Type is ‘C’, ‘A’,
or ‘R’. It will be a store, virtual warehouse, or
physical warehouse when From Location Type is ‘S’,
‘W’ or ‘PW’. Otherwise, it should be left blank when
From Location Type is either ‘AS’ or ‘AW’.
To LocationOptionalContains the destination location to which goods
will be transferred. This column can contain
Country/Area/Region IDs when To Location Type is
’C’, ‘A’, or ‘R’. It will be a store, virtual warehouse or
physical warehouse when To Location Type is ‘S’, ‘W’
or ‘PW’. Otherwise, it should be left blank when To
Location Type is either ‘AS’ or ‘AW’.
From Location TypeAlwaysContains the type of source location from which
goods will be transferred. Valid values are Country
(C), Area (A), Region (R), Store (S), Virtual Warehouse
(W), Physical Warehouse (PW), All Stores (AS), or All
Warehouses (AW).

Table 3-123 (Cont.) Store Department Up-charge Header Delete

Message ElementRequired?Notes
To Location TypeAlwaysContains the type of destination location to which
goods will be transferred. Valid values are Country
(C), Area (A), Region (R), Store (S), Virtual Warehouse
(W), Physical Warehouse (PW), All Stores (AS), or All
Warehouses (AW).
Store Department Up-
charge Details
OptionalChild node

Table 3-124 Store Department Up-charge Details Delete

Message ElementRequired?Notes
Component IDOptionalThis feld contains the unique identifer of the up-
charge component.
Item Default IndicatorOptionalIndicates if component rate information is deleted
or not for existing items under the department.
Transfer Allocation
Default Indicator
OptionalIndicates if component rate information is deleted
or not for existing transfers and allocations under
the department.

Flex Attributes

If you have defined any custom flex attributes (CFAs) for stores or store addresses, then they can be integrated as part of this API. The node of the integration that supports this will accept the name of the attribute as it is defined in the group set level view and the value for the attribute.

Table 3-125 Custom Flex Attributes

Message ElementRequired?Notes
NameAlwaysIndicates the name of the column defned in the
group set view for fex attributes defned for the
store.
ValueAlwaysIndicates the value of the attribute for the store if
the attribute is a character or number.
Value DateAlwaysIndicates the value of the attribute for the store if
the attribute is a date.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition
(XSD)
XStoreCreExternal Store CreateXStoreDesc.xsd
XStoreLocTrtCreExternal Store Location Trait CreateXStoreDesc.xsd
XStoreWTCreExternal Walk-Through Store CreateXStoreDesc.xsd
XStoreDeptChrgCreExternal Department Up-Charge CreateXStoreDesc.xsd
XStoreAddrCreExternal Store Address CreateXStoreDesc.xsd
XStoreHrCreExternal Store Hours CreateXStoreDesc.xsd
CustFlexAttriVOExternal Store Flex Attribute CreateXStoreDesc.xsd
XStoreModExternal Store ModificationXStoreDesc.xsd
XStoreDeptChrgModExternal Department Up-Charge ModifyXStoreDesc.xsd
XStoreAddrModExternal Store Address ModifyXStoreDesc.xsd
XStoreHrModExternal Store Hours ModifyXStoreDesc.xsd
CustFlexAttriVOExternal Store Flex Attribute ModifyXStoreDesc.xsd
XStoreDelExternal Store DeleteXStoreRef.xsd
XStoreLocTrtDelExternal Store Location Trait DeleteXStoreRef.xsd
XStoreWTDelExternal Walk-Through Store DeleteXStoreRef.xsd
XStoreDeptChrgDelExternal Department Up-Charge DeleteXStoreRef.xsd
XStoreAddrDelExternal Store Address CreateXStoreRef.xsd
XStoreHrDelExternal Store Hours DeleteXStoreRef.xsd

Transfer Subscription API

This section describes the transfer subscription API.

Functional Area

Transfers

Business Overview

This API subscribes to transfers from external systems to create, update or delete transfers in Merchandising. Within Oracle Retail solutions, this API is also leveraged by Advanced Inventory Planning (AIP) to create standalone transfers generated out of its replenishment processing. AIP does not use this API to update or delete previously created transfers.

Creating Transfers

When a new transfer is created, this API will first validate that all required fields are present in the message. Certain of the fields are required regardless of transfer type and system

configuration, while others are dependent on other Merchandising configurations. Additionally, when creating a new transfer at least one detail line must also be included in the message. After that, business level validation on the input information will be performed. The tables below summarize these two types of validation.

Table 3-126 Header Level Validation

Message ElementRequired?Notes
Transfer NumberYesMust be a unique transfer number not used by any existing
transfers in Merchandising.
From Location TypeYesMust be either a store (S) or a warehouse (W).
From LocationYesSee below.
To Location TypeYesMust be either a store (S), warehouse (W), or external
finisher (E). For more on transfers with finishing, see below.
To LocationYesSee below.
Delivery DateConditionalWhen AIP is part of your implementation, this is required for
all transfer types, except RAC, EG, and SIM transfers. If
included in the message, this must be today or a future date.
DepartmentConditionalA system option determines whether or not the department is
required for transfers. If the system option is set to require a
department, then this must be included in the message. If the
system option is set to not require the department, then the
department must be null in this message unless the transfer
type is SIM, AIP, or EG.
Routing CodeNoValid values are 1, 2, or 3. The descriptions for these three
options are held in the Codes table under code TRRC and
can be configured as needed for your business.
Freight CodeNoIf this is included in the message, it must have a value of
normal (N), hold (H), or expedite (E). If no value is provided,
it will default to normal.
Transfer TypeNoThe following types of transfers can be created in this API:

Administrative (AD)

AIP Generated (AIP)

Book (BT)

Confirmation (CF)

Externally Generated (EG)

Intercompany (IC)

Manual Requisition (MR)

Reallocation (RAC)

Return to Vendor (RV)

SIM Generated (SIM)
If the transfer type is not specified for the new transfer, then it
will be defaulted to either Manual Requisition or
Intercompany, depending on the legal entities of the locations
on the transfer. See below for more details on transfer types.
StatusNoTransfers can be created in Input (I) or Approved (A) status in
this API. See below for more on transfer status validation.
Create IDNoIf not passed into the message, then a value will be defaulted
for auditing purposes.
CommentsNoCan support up to 2000 characters of text.
Context TypeNoValid values for this field are found in the Codes table under
code type CNTX.

Table 3-126 (Cont.) Header Level Validation

Message ElementRequired?Notes
Context ValueNoThis may be used to provide additional information about the
context of the transfer. For example, if the context type is
promotion, this may indicate the promotion number or a
description.
Custom Flex AttributeNoChild node

Table 3-127 Detail Level Validation

Message ElementRequired?Notes
ItemYesAn item must be a transaction-level, inventoried, and
approved in order to be included on a transfer. If the transfer
is from a store, then it cannot be a pack item, unless the
transfer is of type AIP, SIM, or EG. Also, packs can also only
be transferred from a warehouse if they have a receive as
type of Pack, so that inventory exists at that level.
If a department has been included in the transfer message at
the header level, then all items must belong to that
department.
Transfer QuantityYesIf the item has a standard unit of measure in the quantity
class, then the quantity for the transfer must be an integer.
Supplier Pack SizeNoIf included, this must be greater than zero. If not included,
this will default to the primary supplier’s pack size for the item
at the from location, if an orderable item. If not orderable, this
will default to 1.
Inventory StatusNoAll items on a transfer must either be from available status or
from unavailable status. A single transfer cannot mix
available and unavailable statuses. Available inventory
transfers should use a -1 or a null value in this field in the
message. Unavailable inventory transfers should include a
valid status from the Inventory Status Types configured in
your environment.
Unit CostNoThis is not used by Merchandising.
Adjustment TypeConditionalThis field, along with the adjustment value, is used to
calculate the transfer price for intercompany transfers. It will
be ignored for all other transfers. If the adjustment value is
provided, then the type must also be specified. The valid
values for this field are:

IA - Increase by Amount

IP - Increase by Percent

DA - Decrease by Amount

DP - Decrease by Percent

S - Set Price
IA and IP can only be used if you have your system options
set to allow the transfer price to exceed weighted average
cost.
Adjustment ValueConditionalIf the adjustment type is provided, then the value must also
be specified. This must always be a positive amount.

Location Validation

The from and to locations passed into the message must be valid stores or warehouses in Merchandising; but they cannot be the same. If both locations are stores, then they must both exist in the same transfer zone. Additionally, if the to location is a store, then it must be open. This is determined based on whether there is a close date defined for the store and the stop order days.

If either location is a warehouse, then it can be either a physical warehouse or a virtual warehouse, depending on transfer type. A physical warehouse is only allowed as the from location type for an EG type of transfer. Additionally, only Book type transfers are allowed between two warehouses in the same physical warehouse.

If either the from or to location is a franchise store, then the other location cannot be a finisher. If the franchise store is a non-stockholding location, then the other location on the transfer must be a warehouse.

Validation is also done at the item level based on the locations on the transfer. Each item on the transfer must be in active, inactive, or discontinued status at the from location. It also must have been ranged to the from location in Merchandising, when that location is a warehouse. However, if the from location is a store, there is an exception where the transfer can still be created even though it is not yet ranged, which also bypasses inventory validation. This is to support a specific function in Oracle Retail Store Inventory Management (SIM). See the section on SIM Generated transfers below for more details.

If the item is not already ranged to the to location, then ranging will occur when the transfer is created, regardless of status. The ranging that occurs will flag the item/location as unintentionally ranged for all transfer types except AIP.

If the to location is an external finisher, see the section below on transfers with finishing.

Inventory Validation

Another part of the validation that is applicable for all transfers created is that inventory is available for transfer if the status passed through the integration is approve (A), with a few exceptions. First, EG type transfers do not have inventory validated as it is assumed that this type of transfer is generated in the store or warehouse and the inventory availability check has been done in that solution as part of the shipping of the inventory. Additionally, if the system option titled Validate External Warehouse Availability is set to No (unchecked), then warehouse inventory will not be validated for any transfers initiated in this API regardless of type. Store inventory availability is never validated by this API because of support for the process where the item does not need to be ranged to the shipping store.

Status Validation

Transfers can be created in a status of Input (I) or Approved (A) using this API. Transfers in input status are not subject to inventory validation, but all other validations are applicable. Book type transfers can only be created in Input status using this API, as there isn’t really a concept of an “approved” book transfer - as soon as it is approved it is executed. Additionally, transfers of type Reallocation (RAC) and Return to Vendor (RV) can also only be created in Input status. Conversely, transfers of type AIP, SIM, and EG must always be created in Approved status. If any validation fails when processing the new transfer that results in it not being able to be approved, the transfer will be created but will remain in input status. The exception to this is for transfers of type AIP, SIM, and EG, as they must always be created in approved status. If they are not able to be approved, the transfer is not created or updated.

Transfer Type Specific Validation

Most of the validation defined above is relevant regardless of transfer type, except where noted. However, there are also some other validations done as part of this API’s processing that are specific to a type of transfer.

Administration (AD)
  • See Manual Requisition
AIP Generated (AIP)

This type of transfer is expected only to be sent from AIP as an output of the replenishment process. As such, Merchandising assumes certain validations have been done by AIP in advance of receiving the transfer and slightly different validation is enforced. The following special validations apply for this transfer type using this API:

  • Must be created in Approved status

  • Can only be to stockholding locations

  • Supports transferring packs from stores

  • Allows the department number to be passed even when the system option is N

  • Item/location ranging to the to location will result in the Ranged flag being set to Yes as it is assumed this an intentional ranging.

  • Can be an intercompany transfer

Book (BT)

Book transfers processed through this API can be created for two virtual warehouses in the same physical warehouse only. This is usually used for inventory rebalancing between virtual locations. The following special validations apply for this transfer type using this API:

  • Can only be created in Input status

  • Can only be created for virtual warehouses in the same physical warehouse

  • Warehouses must be in the same legal entity

Confirmation (CF)
  • See Manual Requisition
Externally Generated (EG)

Externally Generated transfers are assumed to be created in the store or warehouse. Further, it is assumed that once they get to Merchandising, the transfer is already in process at that location. As such, there are certain validations that are managed differently for this transfer type in this API:

  • Must be created in Approved status

  • Supports transferring packs from stores

  • Allows the department number to be passed even when the system option is N

  • Can be an intercompany transfer

  • Uses the physical warehouse number, not a virtual warehouse number, if warehouses are involved

Intercompany (IC)

An intercompany transfer is a type of business to business transaction that sells product from one legal entity and purchases it into another. Legal entities in Merchandising are determined based on the setting of the Intercompany Basis system option, which indicates whether the transfer entity or the set of books of a location should be used. This transfer type is used when either it is explicitly passed into the API or if the transfer type is NULL in the inbound message and the locations are in different legal entities. Other transfer types may also be intercompany, as well, but the below rules apply for those flagged as intercompany type explicitly:

  • The legal entity of the from and to locations must be different.

  • If an adjustment type or value is passed into the message, that will be used to calculate the “selling” price between entities. Otherwise, the from location’s weighted average cost is used.

Manual Requisition (MR)

This is the most basic type of transfer in Merchandising, so it is used as a default transfer type when either it is explicitly passed into the API or if the transfer type is NULL in the inbound message and the locations are in the same legal entity. The behavior for this transfer type is the same as that for AD and CF types of transfers - those could be used as different reasons for a transfer. For this transfer type the following validation rules are enforced:

  • Locations must be in the same legal entity
Reallocation (RAC)

A reallocation transfer is assumed to be used to pull back inventory from stores or warehouses to a single warehouse for re-allocation to other stores or other warehouses. This is the type of transfer that is created when a mass-return transfer is created, for example. Because it has unique rules tied to it related to MRTs, some additional validations are followed:

  • Can only be created in Input status in this API

  • Locations must be in the same legal entity

Return to Vendor (RV)

A return to vendor type of transfer is similar to a reallocation type, in that it is assumed to be pulling inventory back to a warehouse from stores or other warehouses, but in this case, for the purpose of returning the merchandise to the supplier. This is the type of transfer that is created when a mass-return transfer is created, for example. Because it has some unique rules tied to it related to MRTs, some additional validations are followed:

  • Can only be created in Input status in this API

  • Locations must be in the same legal entity

SIM Generated (SIM)

SIM generated transfers are created only by the store orders process in SIM. This functionality is not available in SIOCS. Because of this, they have special rules applied, including the ability to create the transfer even though no item/store relationship exists for the originating location in Merchandising. The rules that apply for this type of transfer include:

  • Must be created in Approved status

  • Supports transferring packs from stores

  • Allows the department number to be passed even when the Merchandising system option is No

  • Can be an intercompany transfer

All Transfer Types

For all of the above transfer types, if all validation described above passes, then the transfer will be created. If the transfer is created in Approved status, then in addition to the transfer itself, other details may also be created based on the items and locations involved.

  • Inventory will be updated to reflect the reserved quantity at the from location and expected quantity at the to location.

  • Upcharges will be applied, if configured, for transfers that do not include a physical warehouse location. For transfers with a physical warehouse, the records for upcharges are added when the transfer is shipped.

  • An associated franchise order or return will be created if the transfer involves a franchise location.

Transfers with Finishing

Transfers with finishing are sometimes referred to as a two-legged transfer, as they generate two transfers in Merchandising. One from the originating store or warehouse to the finisher and one from the finisher back to a store or warehouse. This API supports the creation of a transfer with finishing only through an external finisher, a type of partner, and back to the originating location. Transfers to an internal finisher are not supported via this integration. To do this, when sending the transfer details in the message, you will indicate the external finisher as the “to” location. Then when the transfer is created, it will automatically generate the second leg.

When creating transfers in this way, it does not generate any work order activities to send to the finisher with the transfer - these will either need to be added manually in the Merchandising screens, or sent separately to the finisher.

Updating Transfers

For updates, the transfer number included in the message must already exist in Merchandising. Changes can be sent for header level updates or detail level updates. If the changes are at the header level, then the all the required header level information need to be included in the update, similar to that described above for creating a new transfer. However, the transfer details should not be included in a header level update. Fields that can be updated at the header level using this API include:

  • Delivery Date - must always be a date today or later.

  • Freight Code

  • Status - to move from Input or Submitted to Approved only. Transfers cannot be moved back to Input status using this API.

  • Comments

  • Context Type

  • Context Value

If the update is at the detail level - to add or update a line item - only the transfer number is required in the header record, the other details are ignored. If not included, then the message

will be rejected. Adding a new item to the transfer will use similar validation to that described above when creating the transfer.

If modifying an existing transfer line item, the full transfer quantity should be sent with the update, not the difference from the original quantity. This will be compared to the previous transfer quantity to determine how to update the transfer. For example, if the transfer is in approved or submitted status, a reduction in quantity would update the cancelled quantity on the transfer. It will also be validated to ensure that the quantity change doesn’t result in the total transfer quantity being lower than what has already been shipped or what is expected to be picked based on updates to the selected or distro quantities on the transfer. For increases in transfer quantity, if the transfer is in submitted or approved status, then inventory will be validated based on the changed quantity (depending on system option settings) to validate that the additional units are available. The inventory status for the item cannot be modified.

Deleting Transfers

If you are deleting a line item on the transfer or deleting the whole transfer, then the API will validate that the transfer number is valid and that the transfer or transfer line was not already shipped or received, at least partially, or is not in process at the shipping warehouse or store. If you are deleting the whole transfer, then no details should be included in the message. If you are deleting a line on the transfer, then validation will be done to ensure that the item exists on the transfer.

Transfers are not actually deleted via this API, rather they are updated to a deleted status and a secondary process does the actual removal. Transfers can be deleted in any status, other than those already in a closed or deleted status, using this API. If the transfer involved an external finisher, then both legs on the transfer will be marked for delete. Deleting the last line on the transfer will also result in the transfer being flagged for delete.

If the transfer is in a status other than input, moving it to a deleted status or deleting a line will also update inventory to release the reserved inventory at the from location and decrease expected quantity at the to location. As well, if the transfer involves any franchise stores, then any franchise order or return created with the transfer will also be cancelled.

Table 3-128 Transfer Header Delete

Message ElementRequired?Notes
Transfer NumberAlwaysMust be an existing transfer in Merchandising.
Transfer DetailOptionalChild node.

Table 3-129 Transfer Detail Delete

Message ElementRequired?Notes
ItemAlwaysMust be an item on an existing transfer in
Merchandising.

Publishing Updates

Because these transfers that can be created, updated, or deleted using this API are managed in an external system, there are some cases where it is not published back out by Merchandising after it is processed to avoid the source system from receiving unneeded updates. This applies for transfers of type EG only. All other transfers will be published back to the RIB if approved or previously approved, such that the store and warehouse solutions responsible for executing the transfers are notified.

Flex Attributes

If you have defined any custom flex attributes (CFAS) for transfers, then they can be integrated as part of this API. The node of the integration that supports this will accept the name of the attribute as it is defined in the group set level view and the value for the attribute. Flex attributes can only be added or updated to a transfer, they cannot be deleted. Additionally, for transfers with finishing, flex attributes can only be added to the first leg of the transfer.

Table 3-130 Flex Attributes

Message ElementRequired?Notes
NameYesHolds the attribute name.
ValueNoHolds the value of the attribute for number and character
type attributes
Value DateNoHolds the date for date type attributes.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status (S), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
XtsfcreTransfer CreateXTsfDesc.xsd
XtsfdtlcreTransfer Detail CreateXTsfDesc.xsd
CustFlexAttriVOTransfer Flex Attribute CreateXTsfDesc.xsd
XtsfmodTransfer ModifyXTsfDesc.xsd
XtsfdtlmodTransfer Detail ModifyXTsfDesc.xsd
XtsfdtlmodTransfer Flex Attribute ModifyXTsfDesc.xsd
XtsfdelTransfer DeleteXTsfDesc.xsd
XtsfdtldelTransfer Detail DeleteXTsfRef.xsd

Vendor Subscription API

This section describes the vendor subscription API.

Functional Area

Foundation Data

Business Overview

Merchandising subscribes to vendor information that is published from an external financial application; however, this API is not used by Oracle Retail Financial Integration (RFI). Vendor can refer to either a partner or a supplier. Any partners loaded in this API must be created in Merchandising manually using the same ID as is sent in this API, to facilitate integration back to financials. Supplier information subscribed to by this API includes supplier addresses, org unit, and any flex attributes defined at the supplier or address levels.

Vendor Create and Update

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. If the supplier information sent is for an ID that does not already exist, then this API will create a new supplier or site. If the ID already exists, then this API will update the existing supplier or site. For supplier sites, all addresses are expected to be the same, regardless of type. If a mandatory address type is not included in the message, it will be sent to the default value, based on the provided address. One or more org units can be associated with a supplier site using this API, if applicable.

Table 3-131 Vendor Create and Update

Message ElementRequired?Notes
Vendor HeaderAlwaysChild node
Vendor AddressOptionalChild node
Vendor Org UnitOptionalChild node

Table 3-132 Vendor Header Create and Update

Message ElementRequired?Notes
SupplierAlwaysUnique identifying number for a supplier site within
the system.
Supplier NameAlwaysThis feld contains the supplier site name.
Supplier Name SecondaryOptionalThis type can hold secondary name for the supplier
site with a max length of 240 characters.
Contact NameAlwaysThis feld contains the name of the supplier
representative contact for this site.
Contact PhoneAlwaysThis feld contains a telephone number for the
supplier’s representative contact.
Contact FaxOptionalThis feld contains a fax number for the supplier’s
representative contact.
Contact PagerOptionalThis feld contains a pager number for the supplier’s
representative contact.
Supplier StatusAlwaysThis feld contains the status of the supplier site.
Valid values are:

A - Active

I - Inactive
QC IndAlwaysThis feld determines whether orders from this
supplier will require quality control.

Table 3-132 (Cont.) Vendor Header Create and Update

Message ElementRequired?Notes
QC PercentageOptionalThis feld contains the percentage of items per
receipt that will be marked for quality checking.
QC FrequencyOptionalThis feld contains the frequency for which items
per receipt will be marked for quality checking.
VC IndAlwaysThis feld determines whether orders from this
supplier will require vendor control.
VC PercentageOptionalThis feld contains percentage of items per receipt
that will be marked for vendor checking.
VC FrequencyOptionalThis feld contains the frequency for which items
per receipt that will be marked for vendor checking.
Currency CodeAlwaysThis feld contains code identifying the currency the
supplier site uses for business transactions.
LanguageOptionalThis feld contains the supplier’s preferred language.
TermsAlwaysThis feld 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.
Freight TermsAlwaysThis feld contains code indicating what freight
terms will default when an order is created for the
supplier site.
Return Allow IndicatorAlwaysThis feld indicates whether the supplier site will
accept returns. Valid values are Yes (Y) or No (N).
Return Authorization
Required
AlwaysThis feld indicates if returns must be accompanied
by an authorization number when sent back to the
vendor.
Returns Minimum
Amount
OptionalThis feld 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 feld is stored in the supplier’s currency.
Return CourierOptionalThis feld contains the name of the courier that
should be used for returns to the supplier site.
Handling PercentageOptionalThis feld contains the default percent to be
multiplied by the return’s total cost to determine the
handling cost for the return.
EDI PO IndAlwaysThis feld indicates whether purchase orders will be
sent to the supplier via EDI.
EDI PO ChangeAlwaysThis feld indicates whether purchase order changes
will be sent to the supplier via EDI.
EDI PO ConfrmationAlwaysThis feld indicates whether acknowledgements of
purchase orders will be sent from the supplier via
EDI.
EDI ASNAlwaysThis feld indicates whether the supplier will send
Advance Shipment Notifcations electronically.
EDI Sales Report
Frequency
OptionalThis feld contains the EDI sales report frequency for
the supplier. Valid values are weekly (W) or daily
(D).

Table 3-132 (Cont.) Vendor Header Create and Update

Message ElementRequired?Notes
EDI Supplier Availability
Indicator
AlwaysThis feld indicates whether the supplier will send
availability via EDI.
EDI Contract IndicatorAlwaysThis feld indicates whether the supplier site
supports contract ordering sent via EDI.
EDI Invoice IndicatorAlwaysThis feld indicates whether invoices, debit memos,
and credit note requests will be sent to/from the
supplier via EDI.
Cost Change Percentage
Variance
OptionalThis feld 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.
Cost Change Amount
Variance
OptionalThis feld 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.
Replenishment Approval
Indicator
AlwaysThis feld indicates whether contract orders created
via replenishment should be created in Approved
status.
Ship MethodOptionalThis feld 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.
Payment MethodOptionalThis feld indicates the default method for how
purchase orders for this site will be paid. Valid
options are:

LC - Letter of Credit

WT - Wire Transfer

OA - Open Account
Contact TelexOptionalThis feld contains a telex number for the supplier’s
representative contact.
Contact EmailOptionalThis feld contains an email address for the
supplier’s representative contact.
Settlement CodeAlwaysThis feld indicates which payment process method
is used for the supplier. Valid values are N/A (N) or
Evaluated Receipts Settlement (E).
Pre-Mark IndicatorAlwaysThis feld indicates whether the supplier site
supports pre-marking containers for cross dock
orders.
Auto Approved Invoice
Indicator
AlwaysThis feld indicates whether the supplier’s invoices
can be automatically approved for payment.
Debit Memo CodeOptionalThis feld 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

N - if debit memos are never sent
Freight Charge IndicatorAlwaysThis feld indicates whether a supplier site can
charge freight costs.

Table 3-132 (Cont.) Vendor Header Create and Update

Message ElementRequired?Notes
Auto Approve Debit
Memo Indicator
AlwaysThis feld indicates whether debit memos sent to the
supplier site can be automatically approved on
creation.
Inventory Management
Level
OptionalThis feld 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.
Backorder IndicatorAlwaysThis feld indicates if backorders or partial
shipments will be accepted.
VAT RegionOptionalThis feld contains the unique identifying number
for the VAT region applicable for this site.
Prepay Invoice IndicatorAlwaysThis feld indicates whether all invoices for the
supplier can be pre-paid.
Service Performed
Required Indicator
AlwaysThis feld indicates if the supplier’s services must be
confrmed as performed before paying an invoice
from that supplier site.
Invoice Payment LocationOptionalThis feld indicates where invoices from this
supplier site are paid - at the store (S) or centrally
through corporate accounting (C).
Invoice Received LocationOptionalThis feld indicates where invoices from this
supplier site are received - at the store (S) or
centrally through corporate accounting (C).
Invoice AtOptionalThis feld indicates if the supplier site invoice lists
items at gross cost (G) or net cost (N).
Delivery PolicyAlwaysThis feld contains the default delivery policy of the
supplier site. Valid values come from the DLVY code
type.
CommentsOptionalThis feld contains any miscellaneous comments
associated with the supplier.
Default Item Lead TimeOptionalThis feld 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.
DUNS NumberOptionalThe Dun and Bradstreet number of the supplier.
DUNS LocationOptionalThe Dun and Bradstreet number of the location of
the supplier.
Bracket Costing IndicatorAlwaysThis feld will determine if the supplier site supports
bracket costing pricing structures.
VMI Order StatusOptionalThis feld 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.
End Active DateOptionalNot used by Merchandising.

Table 3-132 (Cont.) Vendor Header Create and Update

Message ElementRequired?Notes
DSD Supplier IndicatorAlwaysThis feld specifes whether the vendor supports
DSD ordering, where the supplier replenishes the
store directly, creating the PO and receipt at the
same time.
Supplier Quantity LevelAlwaysThis feld indicates the supplier site order quantity
level. Valid values are cases (CA) or eaches (EA).
Supplier ParentOptionalThis is the supplier number for the supplier sites.
Store Delivery
Discrepancy
OptionalNot used by Merchandising
Final Destination
Indicator
AlwaysThis feld indicates whether the supplier site can
ship to fnal destination or not. Valid values are Yes
(Y) or No (N).
Custom Flex AttributesOptionalChild Node
External Reference
Indicator
OptionalThis column holds the ID for the supplier used in the
external fnancial system.
Deal Upload StatusNoThis feld indicates the status in which the deal will
be created when uploaded. The valid values are:

W - Worksheet

S - Submitted

A - Approved
Tax IDNoThis feld contains the unique tax identifcation
number of the supplier site.
Default Pricing ControlNoIndicates 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
Generate Consignment
Order
NoThis feld will allow specifcation 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.
Generate Self InvoicingNoThis feld specifes 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.

Table 3-133 Vendor Address Create or Update

Message ElementRequired?Notes
ModuleAlwaysThis feld indicates the data type that the address is
attached to. In this case, it will always be ‘SUPP’.
Key Value 1AlwaysThis feld holds the ID the address is attached to. In
this case, it will be the supplier number.
Key Value 2OptionalThis is not used.

Table 3-133 (Cont.) Vendor Address Create or Update

Message ElementRequired?Notes
Sequence NumberAlwaysNumber indicating the sequence that addresses
within the same type were entered.
Address TypeAlwaysThis feld contains the address type. Valid address
types are:

Business (01)

Postal (02)

Returns (03)

Order (04)

Invoice (05)

Remittance (06)
If any address types have been fagged as
mandatory and are not included when the supplier
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 frst
address sent is used.
Primary Address
Indicator
AlwaysThis feld indicates whether the address is the
primary address for the address type.
Address 1AlwaysThis feld contains the frst line of the address.
Address 2OptionalThis feld contains the second line of the address.
Address 3OptionalThis feld contains the third line of the address.
CityAlwaysThis feld contains the name of the city that is
associated with the address.
StateOptionalThis feld contains the state abbreviation for the
address.
Country IDAlwaysThis feld contains the country where the address
exists.
Jurisdiction CodeOptionalThis feld contains the ID associated to the tax
jurisdiction of the country-state relationship.
PostOptionalThis feld contains the zip code for the address.
Contact NameOptionalThis feld contains the name of the contact for the
supplier at this address.
Contact PhoneOptionalThis feld contains the phone number of the contact
person at this address.
Contact TelexOptionalThis feld contains the telex number of the contact
person at this address.
Contact FaxOptionalThis feld contains the fax number of the contact
person at this address.
Contact EmailOptionalThis feld contains the email address of the supplier
site’s contact person.
Custom Flex AttributesOptionalChild Node

Table 3-134 Vendor Org Unit Create

Message ElementRequired?Notes
Org Unit IDAlwaysThis feld contains org unit ID added or updated for
the supplier site.
Primary Pay Site IndicatorAlwaysThis feld contains the primary pay site indicator.

Flex Attributes

If custom flex attributes (CFAS) have been defined for suppliers or addresses, then they can be integrated as part of this API. The node of the integration that supports this will accept the name of the attribute as it is defined in the group-set-level view and the value for the attribute. Flex attributes can only be added to or updated for a supplier and supplier address but cannot be deleted.

Message ElementRequired?Notes
NameAlwaysHolds the name of the attribute.
ValueOptionalHolds the value of the attribute for non-date
attributes.
Value DateOptionalHolds the value of the attribute for date attributes.

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Below are the filenames that correspond with each message type. Please consult the Oracle Retail Integration Guide for each message type for the details on the composition of each message.

Message TypesMessage Type DescriptionXML Schema
Definition (XSD)
vendorcreVendor CreateVendorDesc.xsd

Work Order Status Subscription API

This section describes the work order status subscription API.

Functional Area

Transfers

Business Overview

For transfers with finishing, Merchandising subscribes to work order status messages sent from internal finishers indicating that the work order activities are complete. This message is used for internal finishers located in the same physical warehouse as the final destination for the transfer, as there is no physical shipment of goods. Other finishing scenarios exist in which the finisher is not a virtual warehouse that shares a physical warehouse with the transfer’s final receiving location. In these instances, Work Order Status messages are not necessary, and Merchandising will disregard Work Order Status messages sent in these scenarios.

Work order status messages contain the items for which the activities have been completed, along with the quantity that was completed. All items on transfers that pass through an internal finisher must have at least one work order activity associated with them. When work order status messages are received for a particular item/quantity, it is assumed that all activities on the work order associated with the item/quantity have been completed. If work order activities involve item transformation or repacking, the work order status messages are always created in terms of the resultant item or pack.

On processing the work order status update, a book transfer is executed between the internal finisher (which is held as a virtual warehouse) and the final receiving location (also a virtual warehouse). If the internal finisher belongs to the sending location’s transfer entity, intercompany out and intercompany in transactions are recorded. Quantities on hand, reserved quantities, and weighted average costs are adjusted to accurately reflect the status of the stock.

It is possible to receive multiple Work Order Status messages for a particular item/transfer. Work order completion of partial quantities addresses the following scenarios:

1. 1.Work order activities could not be performed for the entire quantity of a particular item at one time.

2. 2.A given quantity of the particular item was damaged while work order activities were performed.

Work Order Example

Assume that a quantity of 20 of item 100 (White XL T-shirt) are sent to an internal finisher at the receiving physical warehouse, where they will be dyed black, thereby transforming them into item 101 (Black XL T-shirt). If all finishing activities were successfully completed in this example, Merchandising could expect to receive a Work Order Status message containing item 101 with a quantity of 20.

Work Order Status Creation

While consuming the Work Order Status message, Merchandising validates that the finisher and the transfer’s final receiving location are in the same physical warehouse. If not, processing is halted. If the message contains an item, work order complete processing will be called for that item. Otherwise, said processing will be called for all items on the transfer. If the entire transfer is processed, the child transfer (that is, the second leg) will be set to Shipped status. Note that work orders are always associated with the second leg of multi-leg transfers. Whether processing is performed at the item or transfer level, transfer closing logic will be used to determine if the entire multi-leg transfer can be closed.

Table 3-135 Work Order Status

Message ElementRequired?Notes
Work Order IDYesThis field contains the work order number under which
the finishing activities were performed.
Distro NumberYesThis field contains the transfer number containing the
work order. This is the 2nd leg transfer number.
Distro Doc TypeYesThis should always be transfer (T).
Distro Parent NumberNoThis is the first leg transfer number. If this field must be
the same as the tsf_parent_no of the distro number in
the tsfhead table in Merchandising.
Distro Parent TypeNoNot used
ItemConditionalThis contains the item on which the work order has been
completed. If an item transformation occurred, this
should be the resultant item.
If the completed quantity field has a value, then this field
is required.
WarehouseYesNot used, but required as input
Location TypeYesThis field contains the destination location type where
the finished goods are sent.
Not used, but required as input
LocationYesThis field contains the destination location where the
finished goods are sent. This is the final location of the
2-legged transfer.
Sequence NumberYesNot used, but required as input
Work In Process CodeYesNot used, but required as input
InstructionsYesNot used, but required as input
Complete DateYesThis field contains the date when the work order was
completed.
Completed QuantityConditionalThis contains the number of items that resulted from the
work order activity. If the item field has a value, then this
field is required.
Completed IndicatorYesNot used
Work Order StatusNoChild node
Inventory AdjustmentNot used

Table 3-136 Work Order Status Inventory Adjustment

Message ElementRequired?Notes
From DispositionNoNot used
To DispositionNoNot used
Unit QuantityNoNot used

Error Handling

If any errors are encountered in the validations described above or any of the message structure validations, a status of E is returned to the external system along with the appropriate

error message. If the message has been successfully persisted, a success status ( S ), is returned to the external system indicating that the message has been successfully received and persisted to the Merchandising database.

Message XSD

Here are the filenames that correspond with each message type. Please consult RIB documentation for each message type to get a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
wostatuscreWork Order Status Create MessageWOStatusDesc.xsd

In this guide

  • 2 RIB Publication DesignsInbound and Outbound Integration Guide · shares INV_STATUS, INV_STATUS_CODES, PO_TYPE
  • 5 ReSTful Web ServicesInbound and Outbound Integration Guide · shares DAILY_PURGE, ELC_COMP, FIF_GL_ACCT, INV_STATUS
  • G Appendix: Tables ListMerchandising Cloud Services Data Conversion Implementation Guide · shares ELC_COMP, FIF_GL_ACCT, INV_STATUS_CODES, STORE_ADD