Item Sales Movement (ISM) report
In this section, the following information about the ISM (Item Sales Movement) report's data is presented:
- ISM Settings in CStoreOffice®
- ISM Data Mapping Table
- XML Example with ISM Data
- ISM Data Export via the Business Documents API
This information becomes accessible through the Business Documents API after shifts are accepted in CStoreOffice®.
ISM Settings in CStoreOffice®
ISM data contains itemized sales data for shift. In CStoreOffice®, ISM data can be found in the following forms:
These forms can be opened from the CStoreOffice® main page > select a location > Pending shifts > select a shift. For more information, see Understanding Shift Reports.
ISM Data Mapping Table
ISM data from the above forms is converted to XML data according to the ISM Data Mapping Table which is presented below.
XML Path |
Description |
---|---|
NAXML-MovementReport/ TransmissionHeader/ StoreLocationID |
CSO Location ID. |
NAXML-MovementReport/ TransmissionHeader/ VendorName |
Name of employee who accepted or rejected shift report. |
NAXML-MovementReport/ TransmissionHeader/ VendorModelVersion |
XML version NXML3.4.5. |
NAXML-MovementReport/ ItemSalesMovement/ ReportSequenceNumber |
Unique ShiftId as shown in CSO form. |
NAXML-MovementReport/ ItemSalesMovement/ MovementHeader/ PrimaryReportPeriod |
Primary report period ordinary number, always passed as zero. |
NAXML-MovementReport/ ItemSalesMovement/ MovementHeader/ SecondaryReportPeriod |
Secondary report period ordinary number, always passed as zero. |
NAXML-MovementReport/ ItemSalesMovement/ MovementHeader/ BusinessDate |
The Shift Date field's value. |
NAXML-MovementReport/ ItemSalesMovement/ MovementHeader/ BeginDate |
The Date part of the Date From field's value from the Shift form. Indicates the beginning of shift as reported by POS. |
NAXML-MovementReport/ ItemSalesMovement/ MovementHeader/ BeginTime |
The Time part of the Date From field's value from the Shift form. Indicates the beginning of shift as reported by POS. |
NAXML-MovementReport/ ItemSalesMovement/ MovementHeader/ EndDate |
The Date part of the Date To field's value from the Shift form. Indicates the end of shift as reported by POS. |
NAXML-MovementReport/ ItemSalesMovement/ MovementHeader/EndTime |
The Time part of the Date To field's value from the Shift form. Indicates the end of shift as reported by POS. |
NAXML-MovementReport/ ItemSalesMovement/ MovementHeader/ Extension/RecordAction/@type |
Type of action:
|
NAXML-MovementReport/ ItemSalesMovement/ISMDetail |
Block represents each line of source report, represents single items. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode |
Block contains item codes. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/POSCodeFormat/ @format |
Item code format, possible values can be found in XSD schema. For COGS (Item Sales by Tags report) always equals to values gtin. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/POSCode |
GTIN code created from the UPC column's value from itemized sale indicated in the Shift report. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/POSCodeModifier |
POS Code modifier number if any. For this report is always sent as zero (0). |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/POSCodeModifier/ @name |
Modifier name if any. For this report is always empty. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/InventoryItemID |
Inventory item Id, but for shift report is not passed. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ItemID |
GTIN code created from the UPC column's value from itemized sale indicated in the Shift report. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/Description |
The Item Description column's value from itemized sale indicated in the Shift report. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/MerchandiseCode |
CR Department ID assigned for item in Price Book and reported in the Shift report |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/SellingUnits |
Units quantity for sold item. Field makes sense only for weighted products, in shift report is always passed as 1. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary |
Contains detailed information about item. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ActualSalesPrice |
Sale price for item as saved in shift report. Value of the Retail Price column from itemized sale indicated in the Shift report. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals |
Contains summarized sales data for report period. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals/SalesQuantity |
Count of item sales. Value of QTY column from itemized sale indicated in the Shift report. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals/SalesAmount |
Summary of all item sales including discounts. Value of the Retail Ext column from itemized sale indicated in the Shift report. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals/DiscountAmount |
Total amount of discounts and promotions applied for item. Value of Amount from the Price change section of the Shift report. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals/DiscountCount |
Total quantity of discounts and promotions applied for item. Value of Quantity from the Price change section of the Shift report |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals/PromotionAmount |
Total amount of promotions applied for item. Not reported and always passed as 0. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals/PromotionCount |
Total quantity of promotions applied for item. Not reported and always passed as 0. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals/RefundAmount |
Refunds total amount for item. Value of Refunds Value column form itemized refunds section of the Shift report. For all QwickServe ingredients always passed as 0. |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ ISMSalesTotals/RefundCount |
Refunds total quantity for item. Value of Refunds Quantity column form the itemized refunds section of the Shift report. For all QwickServe ingredients always passed as 0 |
NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ ItemCode/ISMSellPriceSummary/ TransactionCount |
Total quantity of transactions that contain item. Not passed in report and always equals 0. |
/NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ Extension/any@other |
Additional parameter used to specify value passed in the extension section. Contains FullDescription indicating that full description being passed. |
/NAXML-MovementReport/ ItemSalesMovement/ISMDetail/ Extension/any |
Contains item's full description from Price book, works only in pair with other attributes equal to FullDescription. |
To learn more about CStoreOffice® forms and entities mentioned in the Description column, use the ISM Settings in CStoreOffice® section or Petrosoft University Portal.
XML Example with ISM Data
The XML example below shows several items from the shift report that were used in the images from the Description column of the ISM Data Mapping Table. Other items are omitted.
The example below is taken from the testing environment with testing data. No association with any real company, product, event, or data is intended or should be inferred.
<?xml version="1.0"?>
<NAXML-MovementReport version="3.5">
<TransmissionHeader>
<StoreLocationID>2213</StoreLocationID>
<VendorName>Ashley F.</VendorName>
<VendorModelVersion>NXML3.4.5</VendorModelVersion>
</TransmissionHeader>
<ItemSalesMovement>
<MovementHeader>
<ReportSequenceNumber>3000029</ReportSequenceNumber>
<PrimaryReportPeriod>1</PrimaryReportPeriod>
<SecondaryReportPeriod>0</SecondaryReportPeriod>
<BusinessDate>2021-08-13</BusinessDate>
<BeginDate>2021-08-13</BeginDate>
<BeginTime>05:48:52</BeginTime>
<EndDate>2021-08-13</EndDate>
<EndTime>13:50:45</EndTime>
<Extension>
<RecordAction type="create"/>
</Extension>
</MovementHeader>
<ISMDetail>
<ItemCode>
<POSCodeFormat format="gtin"/>
<POSCode>00012300000932</POSCode>
<POSCodeModifier name="">0</POSCodeModifier>
<InventoryItemID/>
</ItemCode>
<ItemID>00012300000932</ItemID>
<Description>CAMEL MENTHOL BX KG FSC</Description>
<MerchandiseCode>201</MerchandiseCode>
<SellingUnits>1</SellingUnits>
<ISMSellPriceSummary>
<ActualSalesPrice>5.91</ActualSalesPrice>
<ISMSalesTotals>
<SalesQuantity>2</SalesQuantity>
<SalesAmount>11.81</SalesAmount>
<DiscountAmount>-0.01</DiscountAmount>
<DiscountCount>1</DiscountCount>
<PromotionAmount>0.00</PromotionAmount>
<PromotionCount>0</PromotionCount>
<RefundAmount>0</RefundAmount>
<RefundCount>0</RefundCount>
<TransactionCount>0</TransactionCount>
</ISMSalesTotals>
</ISMSellPriceSummary>
<Extension>
<any other="FullDescription">CAMEL MENTHOL BX KG FSC</any>
</Extension>
</ISMDetail>
<ISMDetail>
<ItemCode>
<POSCodeFormat format="gtin"/>
<POSCode>00012300197410</POSCode>
<POSCodeModifier name="">0</POSCodeModifier>
<InventoryItemID/>
</ItemCode>
<ItemID>00012300197410</ItemID>
<Description>CAMEL CRUSH 83 BOX KG FSC</Description>
<MerchandiseCode>201</MerchandiseCode>
<SellingUnits>1</SellingUnits>
<ISMSellPriceSummary>
<ActualSalesPrice>6.36</ActualSalesPrice>
<ISMSalesTotals>
<SalesQuantity>2</SalesQuantity>
<SalesAmount>12.71</SalesAmount>
<DiscountAmount>-0.01</DiscountAmount>
<DiscountCount>1</DiscountCount>
<PromotionAmount>0.00</PromotionAmount>
<PromotionCount>0</PromotionCount>
<RefundAmount>0</RefundAmount>
<RefundCount>0</RefundCount>
<TransactionCount>0</TransactionCount>
</ISMSalesTotals>
</ISMSellPriceSummary>
<Extension>
<any other="FullDescription">CAMEL CRUSH 83 BOX KG FSC</any>
</Extension>
</ISMDetail>
<ISMDetail>
<ItemCode>
<POSCodeFormat format="gtin"/>
<POSCode>00012300707992</POSCode>
<POSCodeModifier name="">0</POSCodeModifier>
<InventoryItemID/>
</ItemCode>
<ItemID>00012300707992</ItemID>
<Description>CAMEL WIDE FILTER FSC</Description>
<MerchandiseCode>201</MerchandiseCode>
<SellingUnits>1</SellingUnits>
<ISMSellPriceSummary>
<ActualSalesPrice>6.91</ActualSalesPrice>
<ISMSalesTotals>
<SalesQuantity>2</SalesQuantity>
<SalesAmount>13.82</SalesAmount>
<DiscountAmount>-0.5</DiscountAmount>
<DiscountCount>1</DiscountCount>
<PromotionAmount>0.00</PromotionAmount>
<PromotionCount>0</PromotionCount>
<RefundAmount>14.32</RefundAmount>
<RefundCount>2</RefundCount>
<TransactionCount>0</TransactionCount>
</ISMSalesTotals>
</ISMSellPriceSummary>
<Extension>
<any other="FullDescription">CAMEL WIDE FILTER FSC</any>
</Extension>
</ISMDetail>
</ItemSalesMovement>
</NAXML-MovementReport>
To download the XML Example with ISM Data XML file, click here.
ISM Data Export via the Business Documents API
To export the XML files with the Item Sales Movement (ISM) report via the Business Documents API:
- Prepare the location (station) or company identifier as the input data.
- Start calling the API from the
/business-unit-level-resources
endpoint. - Use shift_item-sales-movement as the Document type identifier value.
For more information, see Calling the Business Documents API at the Business Unit Level.