4.4.1. Data Types

Depending on what you are going to do – generate demand and procurement plans, perform revenue forecasting, or optimize your inventory, Streamline needs different data to be imported. In this article, we describe the data types required for each case.

Streamline imports a wide range of data types. All of them are logically divided into the following data pieces:

Transactions. This represents frequently changed data that consist of sales transactions or even all of your inventory movements. These are historical transactions, i.e. represent data of closed or archived documents.

Item info. This is typically static and rarely changed data that characterize each planning item using a set of properties. Typically it refers to item master data.

Channel info. These data types allow assigning channels for those items that have not been sold yet, i.e. are not represented in the sales history.

Orders to receive. Data types of this group describe products that are on open manufacturing, transfer, and purchase orders. These include items that are being delivered or built currently.

Orders to ship. This data describe items that are to leave your system, i.e. products on open sales orders or back-orders, components on open manufacturing orders that will be consumed, items that should leave the source location based on the open transfer orders, and others.

Bill of materials. The data types of this piece describe the structure of your bill of materials as well as restrictions of the manufacturing process. These are required for material requirements planning.

Promotions. This data allows Streamline to take into account future promotions when it generates the forecasts. Provide this data if you frequently use promotions for selling products and demand significantly depends on the promotion's discounts.

Substitutions. If you have kitted items in your inventory but want to forecast and plan only by their components, Streamline can automatically disassemble them and take into account this information. Data types of this group describe the information required for the disassembling.

Batch expiration. This data is typically imported when you deal with perishable products. It allows Streamline to account for the product expiration date when it generates the replenishment plan.

Inventory parameters. This piece of data allows Streamline to take into account future changes in supply chain parameters, like Max lot.

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;

revenue forecasting;

inventory KPIs.

Demand Planning

The basic data types for demand planning 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.

Providing Data for Importing Categories

Consider several examples. The table below shows the raw data used to import channel categories into Streamline. Categories for items or locations can be imported similarly.

Date	Item	Location	Channel category	Channel sub-category	Channel	Qty sold
12/30/2023	Item 1	Location 1	E-commerce	us.website1	us_w1_customer1	100
11/10/2023	Item 2	Location 1	E-commerce	us.website1	us_w1_customer2	110
12/30/2023	Item 1	Location 1	E-commerce	ca.website1	ca_w1_customer1	100
11/10/2023	Item 2	Location 1	E-commerce	ca.website1	ca_w1_customer2	110
12/30/2023	Item 1	Location 1	E-commerce	us.website2	us_w2_customer1	130
11/10/2023	Item 2	Location 1	E-commerce	us.website2	us_w2_customer2	300
12/30/2023	Item 1	Location 1	E-commerce	ca.website2	ca_w2_customer1	130
11/10/2023	Item 2	Location 1	E-commerce	ca.website2	ca_w2_customer2	300
10/11/2023	Item 1	Location 1	Physical distributor	US distributor	US main customers	200
9/11/2023	Item 2	Location 1	Physical distributor	US distributor	US other customers	233
10/11/2023	Item 1	Location 1	Physical distributor	Canada distributor	Canada main customers	543
9/11/2023	Item 2	Location 1	Physical distributor	Canada distributor	Canada other customers	252
Each triple Item, Location, Channel must be unique. Otherwise, Streamline chooses a subset of unique records from the provided set randomly.

In Streamline this will create a hierarchy depicted in the figure below.

Empty categories at the end of the hierarchy are perfectly possible: Category1 > Category2 > ⌀ > ⌀ means that the item will be put into the Category2. The symbol ⌀ means an empty category.

Empty category within the hierarchy

Empty categories anywhere else in the hierarchy are also allowed but discouraged. For example, Category1 > ⌀ > Category3. In this case, Streamline creates a subcategory with an empty name.

Consider an example of Item Info table that illustrates the above statement. In this case, we use item categories (see table below).

Item	Location	Country	State	City	On hand
Item 1	Shop 1	US	New Jersey	Trenton	100
Item 2	Shop 2	US	California	San Diego	200
Item 1	Boutique 1	Monaco	Monaco	300

The imported data hierarchy is depicted in the figure below.

Empty category at the beginning of the hierarchy

Assume, we have a hierarchy of categories for items, however, there is an item that does not belong to any category. In this case, Streamline puts this item at the first category level. Below is an illustration using the Item Info table.

item	Item category 1	Location	On-hand
Item 1	Item category1	Shop 1	100
Item 2	Item category1	Shop 2	200
Item 3	Boutique 1	300

The result of the import is shown in the figure below.

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 basic data types should be extended with one of the types shown in the table below.

Data name	Description	Datatype
Sales price/unit	The price of one unit of an item 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.
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

Item Information

The primary goal of the Item information piece is to provide Streamline with the on-hand quantity for every planning item. Thus, it must include a planning item identifier. If you do not use locations, the identifier is the Item code, otherwise, it is a pair Item code, Location. Data types for importing on-hand quantity through the Item information is described in the previous section.

Besides the on-hand level, this piece of data imports data types for:

planning demand at a category level;

inventory planning in general; and

inventory planning in particular:

accounting for constraints in the inventory optimization;

two-echelon planning with several DCs.

planning intersite transfers within given regions;

planning products with a shelf life.

Demand Planning

Streamline allows you to plan your demand at a category level. It means that you are able to set specific forecasting options and make manual forecast overrides at a particular level of the category tree. To be able to do this, you should provide Streamline with the data types shown in the table below.

Data name	Description	Datatype	Is not given
Default	Provided
Item category, Item sub-category	Used to forecast by item categories.	String	Category with empty name	NULL or empty string
Location category, Location sub-category	Used to forecast by location categories.
Empty categories at the end of the hierarchy are perfectly possible: Category1 > Category2 > ⌀ > ⌀ means that the item will be put into the Category2. The symbol ⌀ means an empty category.
Empty categories anywhere else in the hierarchy are also allowed but discouraged. For example, Category1 > ⌀ > Category3. In this case Streamline creates a subcategory with an empty name.

You can import as many categories as you need.

In addition to the Item code and Location, you can import data types displayed in the table below.

Data name	Description	Datatype	Is not given
Default	Provided
Item description	A description of the item. It is used to better understand what a particular item code means.	String	Empty string	NULL or empty string
Location description	A description of the location. It is used to better understand what a particular location code means.
Info field	Any additional characteristic of the item (e.g., color, size, texture). You can import an unlimited number of such fields.

Inventory Planning

If your data source contains the relevant lead time and order cycle, Streamline gives you the ability to import them through data types indicated in the table below.

Data name	Description	Given in	Datatype	Default
Lead time	If the planning item is sourced from a supplier, this is the average supplier lead time; if it is sourced from a distribution center (DC), this is the average lead time to deliver ordered items from the DC to the Location. These lead times are interpreted by Streamline as the interval of time between purchase/transfer order placement and its receipt.	Days	Integer	30
Order cycle	If the planning item is sourced from a supplier, this is the frequency you order from this supplier; if it is sourced from a DC, it is the frequency you replenish from the DC.	Data aggregation periods (weeks or month), days, or the Lead times.	1 data aggregation period
By default, Streamline considers that a planning item is sourced from a supplier. To set it to be supplied from a DC, the DC name data type is used. Be aware of that, when providing Lead time and Order cycle for each planning item.

To get accurate inventory replenishment plans along with the Lead time, Order cycle, and Transaction data, we strongly recommend that you provide Streamline with the Orders-to-receive information and Orders-to-ship information.

The accuracy of inventory reports can be improved, if you additionally provide the Lead time variance (see table below).

Data name	Description	Given in	Datatype
Lead time variance	The variance of the Lead time.	Lead time units	Float

To optimize the inventory, Streamline uses a lot of inputs such as Last on hand, Lead time, Order cycle, and other. Safety stock can be also considered as an input because it is used to determine the optimal ordering plan.

There two basic methods that Streamline uses to calculate safety stock. The first one is a well-known method based on service level. Streamline implements it and allows you to import service level for each planning item from a database. Another method is based on the future demand. Streamline allows you to set up the number of future periods of which demand is taken as the safety stock for a planning item.

A description of these data types is given in the table below.

Data name	Description	Given in	Datatype
Service level	It is the probability of product availability in stock. It reflects the ability to sell the product to a customer.	Fractional number in the semi-open interval [0, 1)	Float
# of periods for safety stock	The number of future periods of which demand is used as the safety stock.	Data aggregation periods

Streamline allows importing settings on how each item should be planned right from the data source. The table below shows which settings are available to set up.

Setting	Description	Given in	Datatype
Inactive	Automatically sets the inactive model type to the imported item.	You can provide 1 or 'true', or 'yes' to put this setting in action, or 0, 'false', or 'no' - to ignore it.	Integer or String
Termination	Automatically sets the Auto & termination model type to the imported item.
Purchase for BOM	By default, if an item has a BOM, Streamline automatically treats this item as a manufactured one and builds a material procurement plan for its components. But, in the case, you want to purchase it, not manufacture, this setting tells Streamline to treat it as a regular item that is purchased. It also sets the material procurement setting to the Purchase for the imported item.

Data Types for Inventory KPIs

Streamline can calculate key inventory indicators (KPI) such as expected stockout and overstock values, gross margin, and other metrics. To enable the calculations, you should provide one of the data types shown in the table below.

Data name	Description	Datatype
Inventory value/unit	The balance value of one unit of the item in stock. It should be given in the base currency. It is preferable than the Item purchase price described below.	Float
Purchase price/unit	The last purchase price of the item in the supplier's currency.
Sales price/unit	The current sales price of the item.

The Purchase price/unit is also used to calculate the value of purchase orders' lines recommended by Streamline. You need to import either Sales price/unit or Transaction revenue for some of the KPIs (for example, the annual revenue, revenue next year, etc.).

Sales price/unit given through the Item information data piece has a higher priority than the last sales price determined from the Transactions.
If supplier's currency is not given, Streamline implies that Item purchase price is given in the base currency.

Supplier's Information

Streamline allows you to import supplier information shown in the table below.

Data name	Description	Datatype
Supplier code	The identifier of the supplier.	String
Supplier’s currency	The currency in which purchase orders are placed.
Supplier's item code	Item code in supplier's stock-list that corresponds to your Item code. It allows Streamline to create purchase orders in supplier's item codes.
If Item value/unit is not given, Item purchase price and Supplier's currency are given, then gross-margin and turn-earn index will not be calculated.

Accounting for Constraints in Optimization

Streamline allows you to account for constraints when optimizes inventory. There are two types of constraints, constraints on the item quantity that is ordered and constraints on the purchase order as a whole. Data types for the constraints are given in the table below.

Data name	Description	Datatype
Display qty	The minimum number of units a shelf to display. This parameter typically arises in the retail business. You can control how this amount is used when final safety stock is calculated.	Integer
Constraints on item quantity ordered
Min lot and Max lot	Defines optional constraints on how few or how many of the planning item you can replenish from the supplier or DC with one order.	Integer
Rounding	This parameter rounds up the Net order quantity calculated by Streamline. This allows Streamline to take into account how many items are included in a carton, allowing the application to suggest exactly the right amount of the item to order.
Constraints on purchase order
Group ID	Identifies a group of items on which minimum order constraints such as Group min/qty/weight/volume/cost are applied. If Supplier code is imported, it is automatically assigned to Group ID.	String
Group min. qty	The minimal quantity/weight/volume/cost for the item group required in order to replenishment/purchase order can be accepted.	Integer
Group min. weight/volume/cost	Float
Weight/unit	The weight of one unit of an item.
Volume/unit	The volume of one unit of an item.
Container ID	An identifier that indicates to which container family the Item code belongs.	String
Container load weight/ volume/qty	Container characteristics such as maximal weight, volume, or quantity of items you can load into a container of the same Container ID.	Integer
Max containers	Defines how many containers of the same Container ID you can order at a time.	Integer

Constrains on the purchase order are tied to the Supplier code. If no supplier code is given they are attached to an empty supplier. If a planning item is supplied from a DC and has Supplier code and some of these constraints given, Streamline neglects these constraints.

Sometimes Min lot, Max lot, and Rounding constraints depend on the source the item is supplied from. For example, these parameters may be different whether you replenish a planning item from a DC or a supplier.
If Min lot is greater than Max lot, Streamline neglects Min lot and uses Max lot in the optimization.
Order constraints such as Supplier’s min. weight or Supplier’s min. volume should be given to Streamline along with the Weight/unit and Volume/unit relatively.
Constraints on a purchase order are incompatible with the product shelf life limitation. It means that Streamline's purchase order recommendations come from the given purchase order constraints, not the shelf life limitation if both are given.

Two-echelon Planning

Streamline allows performing two-echelon planning.

If you have only one distribution center (DC), Streamline does not require you to provide any additional data, and you can set up all DC's options in the DC settings. In this case, however, there is no ability to account for the case when a location is supplied by the supplier directly (skipping the DC).

If you have several DCs, you can import and set up them using the Database connection. In this case:

you should provide additional information (described below);

distribution center is always enebled and the Location control is disabled in the Settings;

a location can be supplied by the supplier directly skipping the DCs;

the options set in the DC settings are applied to all your DCs at once.

You can import any number of DCs and set up which locations are supplied by a particular DC on an item basis. It means you should set up a triple (Location, DC name, Item code). For example, the triple (West, DC west, Dark chocolate) means that DC west supplies West location with Dark chocolate.

There are two limitations on the DC-location relation:

Two (or more) DCs can’s supply the same item to the same location.

A DC can’t supply another DC, that is, only DC-to-location relations are allowed.

To set up the relations, the DC name data type should be returned with the Item info query (see table below). It indicates the name of the DC in the triple.

Data name	Description	Datatype
DC name	The name of the distribution center that supplies the Item code to the Location	String

Now, we describe the data types that the Item info query should return in order to Streamline set the relations properly.

As we explained previously, to set up a triple, the Item info query should return the following data columns: Location, DC name, and Item code. The table below shows an example of records that should be returned by the query in order to set up a DC-location-item relation.

Location	DC name	Item code
A	DC1	Item1
DC1	NULL	Item1

As you see, we need two records to be returned for each DC-location-item relation. The first one links location A to DC1, meaning that Item1 will be supplied by DC1 to location A. The second one declares DC1 as a location that stores Item1.

To set up a situation when an item is supplied to a location by the supplier directly (no DC involved), the query should return the record shown in the table below. The table shows example data.

Location	DC name	Item code
B	NULL	Item1

Let's consider an example shown in the figure below.

In this case, the query should return the data shown in the table below.

Location	DC name	Item code
A	NULL	Item1
B	DC1	Item2
C	DC1	Item3
C	DC2	Item4
DC1	NULL	Item2
DC1	NULL	Item3
DC2	NULL	Item4

Intersite Optimization

Streamline can generate suggestions on inventory transfers between your stores if there is an overstock at least at one of them. By default, Streamline spends this overstock to fulfill current orders going up from the smallest to the largest, maximizing the number of replenished stores.

Additionally, Streamline allows you to put constraints on this rule by introducing the regions where the transfers are allowed. This is done using a data type that should be set for each location belonging to a region (see table below).

Data name	Description	Datatype
Transfer region	The region the location belongs to	String

Locations belonging to different regions can't have transfers. At the same time, transfers between locations of the same region are allowed.

These constraints are optional, thus, Transfer region data type can have gaps, meaning that the locations do not take part in any intersite transfers.

Planning Products with Shelf Life

Streamline allows you to plan products having a limited shelf life. Product shelf life can be given in two units of measure (see table below).

Data name	Description	Given in	Datatype
Shelf life, periods	It is the desired time you want the product to be sold for.	Data aggregation periods	Float
Shelf life, days	Days

The Shelf life parameter is used as a constraint in the inventory optimization. It is the maximal limit on the current order quantity derived from the given shelf-life period and generated demand forecasts.

Orders-to-receive Information

This information includes items that are on:

open purchase orders,

open sales orders that are customer returns,

open transfer orders and

open manufacturing orders.

Items that are on open transfer or manufacturing order should be added into the list if creating the corresponding open order does not change the physical on-hand, but changes the available on-hand -- the amount of inventory available for future inventory movements (e.g., sale, transfer, and so on).

The data types, describing a line in these orders, are shown in the table below.

Data name	Description	Datatype
Item code	The item identifier, also known as SKU.	String
Qty to receive	The quantity of the item to receive.	Integer
Delivery date	(Optional if Sendout date is given) Expected delivery date of the item.	Date or DateTime
Sendout date	(Optional if Delivery date is given) The date when the order was placed. Sendout date allows Streamline to calculate the Next order date once your data is imported.
Location	(Optional) The location the item is being delivered to. It should be given if locations are used.	String
Lot cost	(Optional) The cost of the purchase order line.	Float
Order number	(Optional) The number of the order this transaction belongs to. This information is used only for display purposes in the Planned orders preview dialog.	String
Order type	(Optional) This data type is used to tell Streamline which order type the current transaction belongs to. There are three types of incoming orders that Streamline understands: purchase, transfer, and manufacturing. If the Delivery date is not given, Streamline determines it based on the Order type.
Source from	(Optional) Indicates the source the item is coming from. This can be a distribution center, supplier, or a location (store). Since this data type is only used for display purposes in the In transition details dialog, it's up to you how to define the source. However, we recommend using the: Supplier code for a supplier; Location code for a store or a warehouse; and Distribution center name in the case of DC. This data type is usually linked to the Order type. For instance, transfer orders are typically sourced from a distribution center or a store.
You must provide either Delivery date or Sendout date. The former is preferable.

The table below describes how Streamline determines the expected Delivery date for an order line depending on the Order type.

Order type	Location	Condition	Delivery date
Purchase	Store/DC	Sendout date + supplier Lead time
Transfer	Store	The store is linked to a DC	Sendout date + Lead time from DC to store
The store is not linked to a DC	Sendout date + 1 day
Manufacturing	Store/DC	Sendout date + 0 days

As you see from the table:

If we import an intersite transfer and the planning item is usually supplied from a DC, Streamline takes into account the Lead time from the DC to the store to calculate the expected delivery date for this transfer.

If we import an intersite transfer and the planning item is not supplied from any DC, Streamline considers the delivery time to be as 1 day, implying that the stores are located in one day distance.

Streamline does not account for the manufacture lead time. It means that the imported quantity is added to the On hand and this corrected on hand is used as an input to calculate the outcomes.

Orders-to-ship Information

To calculate future on-hand inventory more accurately, Streamline can account for information on orders to be shipped to the customers. It describes the items that are on open sales orders or back-orders.

The data types, describing a line in these orders, are shown in the table below.

Data name	Description	Datatype
Item code	The item identifier, also known as SKU.	String
Qty to ship	The item amount that should be shipped to the customer.	Integer
Shipment date	The date when the item should be shipped to a customer. In the case of backorders, this can be some promised date.	Date or DateTime
Location	(Optional). The location where the shipment has been done (or will be done) from. It should be given if you use locations.	String
If the Shipment date is not given, Streamline treats that as if the sales order has been already sent out to the customer and deducts the Qty to ship from the On hand quantity when calculates the ordering plan. If the On hand amount is not enough, Streamline will order the difference.

Bill of Materials

The bill of materials information describes the components of finished products. Components can be considered as sub-assemblies (at the intermediate levels of the production process) or as raw materials (at the lowest level of the process). You can import an unlimited number of assembly levels.

Streamline also supports material requirements planning for batches. I.e. when a BOM describes ingredients that are used to produce several finished products.

To get a material requirements plan, you should provide Streamline with the data types shown in the table below.

Data name	Description	Datatype
Finished good's code	The code of a finished product or a sub-assembled item.	String
Material's code	The material's or component's code.
Material qty/batch	(Optional) The quantity of a material or component that is required to produce the batch of the Finished good's code. If it is not given, it equals 1 by default.	Integer
Batch rounding	(Optional) The batch size multiple, an integer that defines the quantity to which the quantity to manufacture is rounded up. The modified quantity is then divisible by the Batch rounding. For example, if Streamline determines to manufacture 120 units of a finished good, and Batch rounding is 50, the final quantity to manufacture will be 150. If Batch rounding is not given, it is 1 by default.
Manufacturing lead time	(Optional) The time required to manufacture the Finished good's code of the quantity determined using the Batch rounding parameter. It should be given in days. If it is not given, it equals 0 days by default, and the manufacturing process is instantaneous.
Min batch	(Optional) The minimal quantity of the Finished good's code to manufacture. For example, if Streamline determines quantity to manufacture as 5 and Min batch is 10, then the final quantity to order will be 10. If it is not given or equal to 0, this constraint is not applied.

Promotions Information

Streamline allows you to account for given promotions for a product automatically when it generates the forecasting model. To do this, you should provide the data types shown in the table below.

Data name	Description	Datatype
Item code	The item identifier, also known as SKU.	String
Location	(Optional) The location where your promotion is carried out.
Channel	(Optional) The channel by which the promoted item is distributed or sold.
Start date	The date the promotion starts.	Date or DateTime
End date	The date the promotion ends.
Discount	The promotion discount for the item. It should be given as a fractional number. For example, if a discount is 30%, you should provide 0.3.	Float

To Streamline be able to account for the future promotional discounts for a product, you must also provide the history of the past promo discounts for this product in the same format as for the future discounts (see an example).

If you need to account for an item promotion that is carried out for all your locations at once, provide an empty string for the Location column.

Substitutions Information

If you have kitted items in your inventory but want to forecast and plan only by their components, Streamline can automatically disassemble them and take into account this information. In this case, you should provide the data types indicated in the table below.

Data name	Description	Datatype
Target code	The code of the item that is a component of the kitted item; the substitution item code.	String
Item description	(optional) The description of the component item.	String
Multiplier	(optional) The quantity of the component required for the kit. If it is not given, the default value is 1.	Double
Item code	The code of the kitted item; the substituted item code.	String
Substitution date	(optional) The starting date the substitution is being executed from. If the date is not given or it is less or equal to today's date, the substitution is executed immediately and on a continuing basis.	Date or DateTime

Batches Information

Tracking product expiration date is crucial in some industries (for example, pharmaceutics). Streamline is able to produce a replenishment plan for such products based on the FEFO rule. Streamline also generates the projected write-offs report for the products that will expire before they can be sold, based on the forecasts. To enable this feature, you should provide Streamline with the data types shown in the table below.

Data name	Description	Datatype
Item code	The item identifier, also known as SKU	String
Location	(Optional) The location where the item is sold
Batch code	The code of the batch the planning item belongs to
Expiration date	The date the batch expires	Date or DateTime
On hand	The number of items in the batch that is currently on-hand	Integer

In this case, Streamline tracks the saleability of each single planning item by the given Batch code and Expiration date.

Next: Importing Data

Download PDF Download PDF

Tracedump:

newBaseSize: 16pt
newBaseSizeInPt: 16