User Tools

Site Tools


Go to GMDH home page

Video Tutorials

User Guide

1. Streamline Client

2.Streamline Server

3. Starting Up

4. Connecting data

5. Demand and Sales Forecasting

6. Inventory Planning

7. Reference


4.2.1. Transactions

An ERP system operates and stores a vast variety of transactions. Streamline is interested only in those that relate to changes in your inventory. In other words, Streamline needs transactions that represent a sale or, generally, an inventory movement. A transaction is usually described by its origin, and what, where, when, and how much was sold (or changed the inventory level).

On the other hand, all transactions in the ERP system can be divided into closed and open. In terms of Streamline:

  • Closed transaction is a transaction that has already changed the inventory level. For example, a sales order that was shipped from your warehouse to the customer or fulfilled. Typically, a paid invoice also indicates about fulfilled or closed sales order in the ERP system.
  • Open transaction is a transaction that has not changed the inventory level yet but is about to change it. This could be open sales or purchase order that is registered in the ERP but not yet fulfilled/received.
Transactions that should be provided Streamline in this piece of data should represent the closed transactions. Typically, those are historical or archived transactions of the ERP.

The main aim of this data piece is to import sales history and on-hand history into Streamline. Typically, sales history is represented by sales (sales order or invoice) and return (credit memo or customer return document) transactions. To import on-hand history you should provide all the transactions that affected on-hand in the past. Those could include:

  • invoice/sale order;
  • customer return;
  • supplier return;
  • purchase order;
  • transfer order;
  • write-off;
  • inventory adjustment;
  • inventory stock-take;
  • manufacturing/work/build order;
  • others.

Despite it is not easy, and sometimes not possible, to collect and provide all the inventory transactions, this is not obligatory for Streamline to work. To create forecasts and calculate procurement plans, it needs only sales history to be imported.

However, on-hand history allows Streamline to:

  • calculate the inventory turnover;
  • compute the stockout days;
  • determine whether lost sales are caused by a stock-out or zero demand automatically; this disposes you of the difficulty to set Zeros are lost sales option manually.
In order to decrease the amount of data provided in this data piece, it is better to aggregate transactions by day on the data source side, since, day is the shortest time period in Streamline.

Below, we describe the required and optional data types which you should provide for:

Demand Planning

The required data types for this data piece and for demand planning in particular are shown in the table below.

Data name Description Datatype
Date The transaction date. Date or DateTime
Quantity sold The item amount that was sold in the transaction in the base units of measure. Integer
Item code The item identifier. String
Genearally, Streamline allows importing sales history in fractional numbers. This is important when the base UOM is much larger than the selling UOM. For example, you store rope in rolls of 1000 yards, however, sell it in yards. Despite that, the forecasts and procurement plans are still rounded to integers in Streamline.

If you need to plan your demand by location (store, warehouse, or region) and by channel, additionally provide the data types represented in the table below.

Data name Description Datatype Is not given
Default Provided
Location A code of the location where the Item code is sold. It is used to forecast the consumption of each Item code in each location. String Empty string NULL or empty string
Channel It represents a channel by which an item is sold. For example, e-commerce, direct sales, distributors, or a single customer.
Channel category, Channel sub-category, … Used to plan your demand by channel categories. You can import as many categories as you need.
The Is not given section in the tables means that gaps are allowed in the provided data. The Provided column shows the values that you can provide in order to Streamline can recognize a gap in the data. A NULL value can also be used if you import data through the Database connection. The Default column shows the substitution (or the default value) that Streamline uses to fill in the gap.

An empty string for Location or Channel means that there is no location or channel set for this transaction.

Besides the automatic determination of outliers, there is an ability to mark a period as an outlier when providing transactional data. To do this, provide the data type shown in the table below.

Data name Description Given in Datatype
Outlier Used to mark the data aggregation period this transaction belongs to as an outlier. Provide 1 or 'true', or 'yes' to put this setting in action, or 0, 'false', or 'no', to ignore it. Integer or String

After importing the data, the marked periods will have checked checkboxes in the Ignore actual sales row of the table on the Demand tab.

Revenue Forecasting

To forecast revenue, the required data types should be extended with one of the types shown in the table below.

Data name Description Datatype
Sales price/unit The item price of one unit in the base UOM in the sale or customer return transaction. Float
Transaction revenue The amount of the sale or customer return transaction. Typically it equals to Sales price/unit multiplied by Quantity sold.

The currency that Sales price/unit or Transaction revenue is given in is taken as the project's base currency. You can set up the symbol used to indicate the base currency in the project Settings.

This information is also used to perform revenue-based ABC analysis and calculate selling price-dependent KPIs such as annual revenue, revenue next year, gross margin, and turn-earn index.

Inventory KPIs

As we mentioned above, providing on-hand history to Streamline allows for calculating several KPIs, such as inventory turnover and stockout days. There are two data types that can be used to import on-hand history into Streamline. You can choose one of them. They are shown in the table below.

Data name Description Datatype
On hand The on-hand remaining after the transaction. Integer
On hand change How much on-hand quantity has changed due to the transaction.
These data types as well as the current On hand should be given in the base UOM.
When providing on-hand history, set the Quantity sold to zero for the transactions that are not sales.

You can provide Streamline with the profit obtained from each transaction by importing the data type shown in the table below. This allows Streamline to calculate the total gross profit for each aggregation period and also over the last 12 months.

Data name Description Datatype
Transaction profit The profit obtained from the transaction. Float

Next: Item Information

Download PDF

imported-data-transactions.txt · Last modified: 2023/05/19 12:41 by admin