Skip to main content

Order History

Endless Commerce Historical Operations (ECHO) prepares order history for analysis. It reduces detailed orders and shipments into daily records that are easy to review, chart, export, and use in other analytical tools.

Why Order History Exists

Commerce systems store useful order information across orders, line items, sales channels, fulfillments, and shipments. Answering a question such as “How many units of this SKU were ordered each week?” normally requires extracting those records, joining them, and aggregating the result.

ECHO performs that preparation and keeps the result in a predictable format. You can:

  • analyze the history in Endless
  • import history from systems you used before Endless
  • let Endless add new operational data automatically
  • inspect and maintain the prepared records
  • export the data for spreadsheets, business intelligence tools, or AI tools

ECHO’s analytical history remains separate from operational Sales Orders and Shipments. Updating an ECHO record changes the prepared history used for analysis. It does not change the original order or shipment.

The Order History Model

Order History contains two datasets:

DatasetDate usedOne record representsMain quantity
Ordered DataOrder dateOne date, SKU, sales channel, and sourceUnits ordered
Shipped DataShipment dateOne date, SKU, sales channel, and sourceUnits shipped

For example, five orders placed on the same day through the same sales channel contain a combined 14 units of TEE-BLACK-M. ECHO prepares one Ordered Data record with that date, SKU, channel, 14 units ordered, and an order count of 5.

The same SKU on another date or sales channel produces another record. Shipped Data follows the same structure, using the date and quantity that goods shipped.

Understanding Order And Shipment Counts

order_count and shipment_count describe the orders or shipments represented by one daily SKU record.

An order containing three different SKUs contributes to the count on each of its three SKU records. Adding order_count across several SKUs can therefore count the same order more than once. The same rule applies to shipments containing several SKUs.

Use these counts to understand the activity behind a SKU record. Use the operational Orders area when you need a distinct list of individual orders.

Comparing Ordered And Shipped Data

Ordered Data and Shipped Data describe activity during the selected dates. They do not connect an order to the shipment that fulfilled it.

An order placed near the end of one period may appear in Ordered Data during that period and in Shipped Data during the next. Shipped units can exceed ordered units for a selected range, and the difference between ordered and shipped can be negative.

Use the comparison to understand whether shipping activity is keeping pace with ordering activity over time. It is not a per-order fill rate or lead-time calculation.

How ECHO Gets Order History

Each record has a source:

SourceHow it is created
AutomaticPrepared from operational data already in Endless
ManualAdded through a CSV import
AdjustmentAdded by a person in ECHO

All included sources contribute to totals. An Automatic record and a Manual record can exist for the same date, SKU, and sales channel. ECHO adds both unless you filter by source.

Automatic Ordered Data

Endless prepares Ordered Data from active, non-canceled orders. Canceled orders, canceled order states, archived line items, and line items without a SKU are excluded.

For each date, SKU, and sales channel, ECHO calculates:

  • the total item quantity as units ordered
  • the number of distinct orders containing that SKU as the order count
  • item price multiplied by quantity, less item discounts, as ordered revenue

Tax and shipping charges are not included in ordered revenue.

Automatic Shipped Data

Endless prepares Shipped Data from recorded shipments. For each shipment date, SKU, and sales channel, ECHO calculates:

  • the total shipped item quantity as units shipped
  • the number of distinct shipments containing that SKU as the shipment count
  • the product revenue associated with the shipped units, after allocating item discounts

Tax and shipping charges are not included in shipped revenue. Archived shipments, shipment items, fulfillment items, and order items are excluded where applicable.

Endless prepares new daily records automatically and recalculates affected dates when relevant operational order or shipment data changes.

Adding Historical Data

Import historical data when you want ECHO to cover time before your orders and shipments were managed in Endless. The source can be another commerce platform, an ERP, a warehouse system, or an existing reporting dataset.

  1. Choose the earliest date you want to analyze.
  2. Choose a cutoff date between imported history and data prepared automatically from Endless.
  3. Export order and shipment detail from the previous system.
  4. Aggregate the source data into one row per date, SKU, and sales channel.
  5. Download the relevant ECHO template and map the aggregated data into it.
  6. Import a short date range and compare its totals with the source system.
  7. Import the remaining history after the sample reconciles.

Avoid importing dates that ECHO already prepares automatically. Manual and Automatic records remain separate and are both included in totals.

Use the same SKU and sales channel values in Ordered Data and Shipped Data. A difference in spelling or capitalization creates a separate reporting group.

Preparing Ordered Data

Each row represents one date, SKU, and sales channel.

Ordered Data Columns

ColumnRequiredDescription
dateYesThe date the order was placed. Use YYYY-MM-DD when possible.
skuYesThe product SKU. The import template accepts up to 40 characters.
sales_channelYesA stable sales channel value. Use the Endless sales channel handle where one exists.
quantity_orderedYesTotal units ordered. Enter a whole number greater than zero.
order_countNoDistinct orders represented by this date, SKU, and channel row. Enter a whole number of zero or more.
revenueNoProduct revenue represented by the row, in the company’s currency. Do not include a currency symbol.
noteNoContext about the record or its source.

Preparing The Source Data

  1. Exclude canceled orders and canceled or removed line items.
  2. Use the order date as date.
  3. Group line items by date, SKU, and sales channel.
  4. Sum item quantity for quantity_ordered.
  5. Count distinct orders within each group for order_count.
  6. Sum product revenue after item discounts for revenue.

Keep the revenue definition consistent throughout the imported period. Exclude tax and shipping charges if you want imported revenue to match data prepared automatically by Endless.

Ordered Data Example

date,sku,sales_channel,quantity_ordered,order_count,revenue,note
2026-01-05,TEE-BLACK-M,shopify-dtc,14,5,420.00,Imported from Shopify
2026-01-05,TEE-BLACK-M,amazon,8,7,240.00,Imported from Amazon
2026-01-06,TEE-BLACK-M,shopify-dtc,3,2,90.00,Imported from Shopify

Preparing Shipped Data

Each row represents one shipment date, SKU, and sales channel. Use the date the goods shipped rather than the original order date.

Shipped Data Columns

ColumnRequiredDescription
dateYesThe date the goods shipped. Use YYYY-MM-DD when possible.
skuYesThe product SKU. The import template accepts up to 40 characters.
sales_channelYesA stable sales channel value. Use the Endless sales channel handle where one exists.
quantity_shippedYesTotal units shipped. Enter a whole number greater than zero.
shipment_countNoDistinct shipments represented by this date, SKU, and channel row. Enter a whole number of zero or more.
revenueNoProduct revenue associated with the shipped units, in the company’s currency. Do not include a currency symbol.
noteNoContext about the record or its source.

Preparing The Source Data

  1. Use the shipment date as date.
  2. Group shipped item lines by date, SKU, and sales channel.
  3. Sum shipped item quantity for quantity_shipped.
  4. Count distinct shipments within each group for shipment_count.
  5. Sum the product revenue associated with the shipped units for revenue.

Shipped quantity describes goods that left the fulfillment operation. Do not use a return quantity or the current fulfillment status of the original order.

Keep the revenue definition consistent throughout the imported period. Apply item discounts and exclude tax and shipping charges if you want imported revenue to match data prepared automatically by Endless.

Order count, shipment count, and revenue are optional. Leave them blank when the source cannot calculate them reliably. Blank values contribute no count or revenue to those ECHO metrics.

Shipped Data Example

date,sku,sales_channel,quantity_shipped,shipment_count,revenue,note
2026-01-07,TEE-BLACK-M,shopify-dtc,10,4,300.00,Imported from 3PL
2026-01-07,TEE-BLACK-M,amazon,8,7,240.00,Imported from 3PL
2026-01-08,TEE-BLACK-M,shopify-dtc,7,3,210.00,Imported from 3PL

Import Behavior

Imported records have the Manual source. A source value in an uploaded file does not change this.

ECHO identifies an imported record by:

  • date
  • SKU
  • sales channel
  • Manual source

Importing the same combination again replaces the existing Manual record for that combination. It does not replace an Automatic or Adjustment record. Include one row per combination in the file so the intended value is clear.

ECHO skips rows with an invalid date, missing SKU, missing sales channel, or invalid quantity. Other valid rows continue processing, and the import result reports how many rows were written and skipped.

Accepted dates include YYYY-MM-DD, US slash-separated dates such as MM/DD/YYYY, and equivalent hyphen-separated dates. YYYY-MM-DD is recommended because its meaning is unambiguous.

An imported SKU can remain in ECHO when it no longer exists in the current product catalog. Matching the current SKU allows ECHO to display the product’s current name and image with the historical record.

Correcting Prepared History

Automatic records are recalculated from operational data and cannot be edited or deleted in ECHO.

To correct every value on a Manual record, update the CSV row and import the same date, SKU, and sales channel again. You can also edit its quantity and note or delete the record directly in ECHO.

Adding a record directly in ECHO creates an Adjustment record. Adjustment records remain separate from Automatic and Manual records, and their values are added to the totals. For example, an adjustment of 5 units adds 5 units to the prepared history for that date, SKU, and sales channel.

Exporting Order History

Use the export action to download the records in the current filtered view. The export uses the same core columns as the import template and includes each record’s source.

Exports are useful for:

  • reviewing how a total was assembled
  • keeping an external copy of prepared history
  • analyzing ECHO data in another tool
  • preparing changes to Manual records

Every reimported row becomes a Manual record. Remove Automatic and Adjustment rows from an exported file before reimporting unless you intend to copy their values into the Manual source.