Excel File Format
Overview
- This document explains the input columns for each Excel sheet.
Column: Excel header name.Type: Expected value type.Values: Possible values for enum types.-indicates a scalar type.Required: Yes means required, No means optional, Conditional means required only under specific conditions.Default: Applied when a default value is defined;-means no default.Description: Meaning of the column and how to use it.- System-managed fields such as
idandversionIdare not input columns. - A sample Excel file is available for download.
Column Specifications
1. Periods
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
name | String | - | Yes | - | Identifier for the planning period (e.g., 2026Q1) |
start | DateTime | - | Yes | - | Start date/time of the period |
end | DateTime | - | Yes | - | End date/time of the period |
Input Constraints:
start ≤ endis required.
2. Products
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
name | String | - | Yes | - | Product name (uniquely identifies the product) |
type | ProductType | Individual Group | Yes | - | Product type. Use Group for representative products defined in Product Groups; use Individual for all others |
3. Locations
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
name | String | - | Yes | - | Location name (used as a reference key in other sheets) |
type | LocationType | Customer Facility Supplier | Yes | - | Location type. It must be consistent with the corresponding sheet (Customers / Facilities / Suppliers) |
address | String | - | No | - | Address (for geocoding purposes) |
city | String | - | No | - | City |
region | String | - | No | - | State or prefecture |
country | String | - | No | - | Country name |
latitude | Float | - | No | - | Latitude |
longitude | Float | - | No | - | Longitude |
zipCode | String | - | No | - | Postal code |
Input Constraints (OR condition): Either both
latitudeandlongitude, or at least one ofaddress/city/country/zipCodemust be provided. When address fields are given, geocoding is used to resolve coordinates. Omitting all of these fields results in a validation error. Note thatregionalone does not satisfy the address condition.
4. Customers
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
name | String | - | Yes | - | Customer name (corresponds to Locations.name) |
include | CustomerInclude | Include Exclude | Yes | - | Policy for including customer demand in optimization |
5. Facilities
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
name | String | - | Yes | - | Facility name (corresponds to Locations.name) |
type | FacilityType | DC Port Mfg | Yes | - | Facility type |
open | Open | Open Closed | Yes | - | Initial status (open/closed) |
include | Include | Consider Include Exclude | Yes | - | Policy for including the facility in optimization |
fixedCO2Emissions | Float | - | No | 0 | Fixed CO2 emissions associated with the facility |
fixedStartingCost | Float | - | No | 0 | Fixed cost at opening |
fixedOperatingCost | Float | - | No | 0 | Fixed cost during operation |
fixedClosingCost | Float | - | No | 0 | Fixed cost at closing |
currency | Currency | JPY USD | No | USD | Currency for fixed costs |
6. BoMs
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
productName | String | - | Yes | - | Name of the product being manufactured (Products.name) |
partProductName | String | - | Yes | - | Name of the component product used (Products.name) |
unit | ProductUnit | pcs m3 | Yes | - | Unit of the output product (productName). Interpreted as: "Manufacturing productName in unit requires quantity quantityUnit of partProductName" |
quantity | Float | - | Yes | - | Amount of the component (partProductName) required to manufacture one unit of the product |
quantityUnit | ProductUnit | pcs m3 | Yes | - | Unit of the component quantity (quantity) |
7. BoM Assignments
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
productName | String | - | Yes | - | Name of the product being manufactured (Products.name) |
partProductName | String | - | Yes | - | Name of the component product used (Products.name). The combination must exist in the BoMs sheet |
facilityName | String | - | Yes | - | Facility where this BoM is applied (Facilities.name) |
8. Suppliers
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
name | String | - | Yes | - | Supplier name (corresponds to Locations.name) |
include | Include | Consider Include Exclude | Yes | - | Policy for including the supplier in optimization |
9. Product Groups
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
groupProductName | String | - | Yes | - | Representative product name that acts as the group (Products.name) |
memberProductName | String | - | Yes | - | Name of the product belonging to the group (Products.name) |
10. Product Individuals
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
productName | String | - | Yes | - | Product name for which attributes are defined (Products.name) |
unit | ProductBaseUnit | pcs | Yes | - | Base unit for product quantity |
sellingPrice | Float | - | Yes | - | Unit selling price of the product |
value | Float | - | No | - | Assessed value of the product |
currency | Currency | JPY USD | Yes | - | Currency used for monetary fields |
include | IncludeExclude | Include Exclude | Yes | - | Policy for including the product in optimization |
volume | Float | - | Yes | - | Volume per unit of the product (must be greater than 0) |
volumeUnit | VolumeUnit | m3 | Yes | - | Unit of volume |
weight | Float | - | Yes | - | Weight per unit of the product (must be greater than 0) |
weightUnit | WeightUnit | kg | No | kg | Unit of weight |
11. Demands
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
customerName | String | - | Yes | - | Customer with demand (Customers.name) |
productName | String | - | Yes | - | Product for which demand exists (Products.name) |
quantity | Float | - | Yes | - | Demand quantity |
quantityUnit | ProductBaseUnit | pcs | Yes | - | Unit of demand quantity |
periodName | String | - | Yes | - | Period in which the demand occurs (Periods.name) |
12. Paths
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
fromName | String | - | Yes | - | Origin location name (Locations.name) |
toName | String | - | Yes | - | Destination location name (Locations.name) |
distance | Float | - | No | - | Distance between locations |
distanceUnit | DistanceUnit | km mile | No | - | Unit of distance |
13. Sourcing Policies
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
productName | String | - | Yes | - | Target product name (use the group representative product name to target a group) |
fromName | String | - | Yes | - | Source location name |
toName | String | - | Yes | - | Destination location name |
fixedSourcingCost | Float | - | No | 0 | Fixed sourcing cost |
variableSourcingCost | Float | - | No | 0 | Variable sourcing cost (per unit) |
variableSourcingCostProductUnit | ProductUnit | pcs m3 | No | pcs | Quantity unit for variable sourcing cost |
currency | Currency | JPY USD | No | USD | Currency for sourcing costs |
periodName | String | - | Yes | - | Applicable period name |
Input Constraints: The
(fromName, toName)combination must be registered in thePathssheet.
14. Transportation Constraints
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
fromName | String | - | Yes | - | Origin location name |
toName | String | - | Yes | - | Destination location name |
productName | String | - | Yes | - | Product subject to constraint (use the group representative product name to target a group) |
periodName | String | - | Yes | - | Applicable period name |
modeName | String | - | Yes | - | Transportation mode name (Transportation Modes) |
minThroughput | Float | - | No | - | Minimum throughput |
maxThroughput | Float | - | No | - | Maximum throughput |
throughputUnit | ProductUnit | pcs m3 | Conditional | - | Unit of throughput. Required when minThroughput or maxThroughput is specified |
Input Constraints:
- The
(fromName, toName)combination must be registered in thePathssheet.- When both
minThroughputandmaxThroughputare specified,maxThroughput ≥ minThroughputis required.
15. Supplier Constraints
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
supplierName | String | - | Yes | - | Supplier name (Suppliers.name) |
productName | String | - | Yes | - | Product to be supplied (Products.name) |
supplyCapacity | Int | - | No | - | Maximum supply quantity |
supplyCapacityUnit | ProductUnit | pcs m3 | No | - | Unit of supply capacity |
periodName | String | - | Yes | - | Applicable period name |
16. Facility Processing Times
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
facilityName | String | - | Yes | - | Facility name (Facilities.name) |
productName | String | - | No | - | Product being processed |
unit | ProductUnit | pcs m3 | Yes | - | Unit of processing quantity |
time | Int | - | Yes | - | Processing time value |
timeUnit | FacilityProcessingTimeUnit | Hour Day Week | Yes | - | Unit of processing time |
17. Facility Constraints
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
facilityName | String | - | Yes | - | Facility name (Facilities.name) |
productName | String | - | Yes | - | Product subject to constraint (use the group representative product name to target a group) |
productNameGroupBehavior | ProductNameGroupBehavior | Aggregate Enumerate | No | - | Behavior when the product is a group representative (Aggregate = sum across members, Enumerate = apply individually) |
initialStorage | Float | - | No | - | Initial inventory at start of period |
storageCapacity | Float | - | No | - | Maximum storage capacity |
storageUnit | ProductUnit | pcs m3 | No | - | Unit for inventory and storage |
minThroughput | Float | - | No | - | Minimum throughput |
maxThroughput | Float | - | No | - | Maximum throughput |
throughputUnit | ProductUnit | pcs m3 | Conditional | - | Unit of throughput. Required when minThroughput or maxThroughput is specified |
periodName | String | - | Yes | - | Applicable period name |
Input Constraints:
- When both
initialStorageandstorageCapacityare specified,initialStorage ≤ storageCapacityis required.- When both
minThroughputandmaxThroughputare specified,maxThroughput ≥ minThroughputis required.
18. Facility Policies
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
facilityName | String | - | Yes | - | Facility name (Facilities.name) |
productName | String | - | Yes | - | Target product name (Products.name) |
periodName | String | - | Yes | - | Applicable period name |
currency | Currency | JPY USD | Yes | - | Currency for costs |
variableOperatingCost | Float | - | Yes | - | Variable operating cost (per unit) |
variableOperatingCostProductUnit | ProductUnit | pcs m3 | Yes | - | Quantity unit for variable cost |
19. Transportation Modes
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
name | String | - | Yes | - | Transportation mode name (e.g., Truck, Vessel) |
speed | Float | - | Yes | - | Transportation speed |
speedUnit | SpeedUnit | kph mph | Yes | - | Unit of speed |
20. Transportation Policies
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
fromName | String | - | Yes | - | Origin location name |
toName | String | - | Yes | - | Destination location name |
periodName | String | - | Yes | - | Applicable period name |
productName | String | - | Yes | - | Target product name (use the group representative product name to target a group) |
modeName | String | - | Yes | - | Transportation mode name (Transportation Modes.name) |
cost | Float | - | Yes | - | Transportation cost value |
dutyRate | Float | - | No | - | Duty rate (e.g., 0.1 = 10%) |
currency | Currency | JPY USD | Yes | - | Currency for cost |
costRule | CostRule | UnitCost FixedCostTreatAsFull | Yes | - | Cost calculation rule |
unit | ProductUnit | pcs m3 | Conditional | - | Quantity unit. Required when costRule=UnitCost |
averageShipmentSize | Float | - | Conditional | - | Average shipment size per delivery. Required when costRule=FixedCostTreatAsFull |
averageShipmentSizeUnit | ProductUnit | pcs m3 | Conditional | - | Unit for average shipment size. Required when costRule=FixedCostTreatAsFull |
deliveryFrequency | Int | - | No | - | Number of deliveries per period (only applicable when costRule=FixedCostTreatAsFull) |
inventoryCarryingCostPercentage | Float | - | No | 0.2 | Inventory carrying cost rate |
Input Constraints: The
(fromName, toName)combination must be registered in thePathssheet.
21. Inventory Policies
| Column | Type | Values | Required | Default | Description |
|---|---|---|---|---|---|
facilityName | String | - | Yes | - | Facility name (Facilities.name) |
productName | String | - | Yes | - | Target product name (use the group representative product name to target a group) |
carryingCostPercentage | Float | - | No | 0.12 | Inventory carrying cost rate |
inventoryTurns | Float | - | No | 1 | Inventory turns |
Notes
DateTimefields (start,end) should be provided in a parseable datetime format (e.g., ISO 8601).Product Groupscorresponds to the internal modelProductGroupMembership, andProduct Individualscorresponds toProductIndividual.Product Individualsmust not includeProduct Groups.groupProductName(group representative products).- In
Products,typemust be consistent withProduct Groups(Groupfor representative products,Individualfor non-representative products). - In
Locations,typemust be consistent withCustomers/Facilities/Suppliers. - For products defined in
Products, all non-group-representative products must have rows inProduct Individuals. - Runtime validations in importers/validators can impose additional rules.