The allocation strategy import lets you create new strategies in bulk by uploading a file — including store assignments and start and end dates. This is useful when migrating an existing allocation setup into Toolio or when strategies are being created outside of Assortment Plan seeding.
Important: The import creates new strategies only. It will not update or overwrite strategies that already exist in Toolio. Any changes after creation must be made in the UI.
File Format
Use this sample import file as a reference for the required columns and format.
The column schema is fixed by Toolio — only the fields listed below are recognized. Any additional columns in the import file are ignored. Customization beyond these fields is handled through allocation defaults, not by extending the file format.
Each row represents a choiceId and (optionally) a store. When multiple rows share the same choiceId, they are grouped into a single strategy:
Strategy-level fields are taken from the last row in the group.
Each row with a
locationIdcreates a per-location override for that store. Per-location fields are:startDate,endDate,phaseOutDate,safetyStock,orderCycle, andsizeRange.Rows without a
locationIdcontribute only to strategy-level values.
Required Fields
choiceIdis the only field required by the file format. Without it, the row is rejected.locationIdis required on any row that defines a per-location override. A row withoutlocationIdonly contributes to strategy-level fields.
All other fields are optional. When omitted, Toolio applies the matching allocation default if one exists, or the system-level default for that field.
Supported Fields
Field | Type | Purpose |
| String | The choice being allocated. Required. |
| String | A specific store to include in the strategy. Required on rows that define per-location overrides. |
| String | Existing location list to associate with the strategy. Defaults to a system-managed list if omitted. |
| Date | Date allocation should begin. |
| Date | Date allocation should stop. |
| Date | Date after which no further allocations are made. |
| Enum | How demand is calculated. Must match an allowed value. |
| Number | Demand value (used with certain |
| String | Name of the sales curve to apply. |
| String | Name of the size curve to apply. |
| String | Name of the size range to apply. |
| Integer | Safety stock level. |
| Integer | Order cycle in weeks. |
| Number | Holdback percentage to retain at the source. |
| Boolean | Whether to push all available inventory. |
| Enum | Method used to prioritize allocation. Must match an allowed value. |
| String | Name of the location curve to apply. |
| String | Name of the launch curve to apply. |
| String | Name of the presentation profile. |
| String | Name of the return profile. |
| Enum | ROS rank value. Must match an allowed value. |
| String | ROS model definition (JSON). |
| Boolean | Whether the strategy is active. Defaults to |
| Boolean | Whether retrending is disabled at the choice level. |
How Store Inclusion Works
Stores listed for a given choiceId are included in the strategy; any store not listed is excluded. There is no need to configure store lists manually after import.
Stores must be members of the associated location list. Including a store that isn't in the location list won't be flagged as an error, but the strategy may not behave as expected.
Location Lists
You can optionally specify a locationListName to associate the strategy with an existing location list in Toolio.
If no locationListName is provided, the system automatically assigns a system-managed default list.
If a locationListName is provided but does not exist in Toolio, the strategy for that choiceId will be skipped and an error will be returned — the import does not create new location lists.
How Allocation Defaults Are Applied
Allocation defaults are merged into each strategy during import, before the strategy is created. For any field not included in the import file, Toolio checks whether a matching allocation default exists and fills in the missing value.
Imported values always take precedence. If a field is present in the import file, the default for that field is ignored — even if a matching allocation default exists.
Fields that can be filled from allocation defaults include: Safety Stock, Order Cycle, Holdback %, Push All, Prioritization Method, Sales Curve, Size Curve, Location Curve, Location List, Presentation Profile, and Return Profile.
Example: Your allocation default sets Safety Stock = 2 and Sales Curve = "Standard Fall". Your import file includes a Safety Stock value of 5 for a choiceId but does not specify a Sales Curve. The resulting strategy will have Safety Stock = 5 (from the import) and Sales Curve = "Standard Fall" (from the default).
For per-location overrides, the same logic applies to Safety Stock and Order Cycle — if a value is provided in the import for a specific store, it is used; otherwise the strategy-level default is inherited.
Errors and Skipped Rows
There are two distinct outcomes when a row or strategy cannot be processed: errors and skips. Both are reported after the import completes.
Errors — Row Rejected, Strategy Not Created
An error is reported when a row contains invalid data. The strategy for that choiceId is not created. Errors fall into two categories:
Schema or format errors are caught before the import is saved. A row is rejected immediately if:
choiceIdis missing (the only required field)A field has the wrong data type (e.g. a non-date value in
startDate, a non-integer insafetyStock)An invalid value is used for an enum field —
demandType,prioritizationMethod, orrosRankmust match one of the allowed values listed in the sample import file
Reference errors are caught during finalization. A strategy is skipped if any name in the file cannot be resolved to an existing record in Toolio:
Store (
locationId) not foundLocation list (
locationListName) not foundSize curve, sales curve, location curve, launch curve, size range, presentation profile, or return profile name not found
In both cases, the row number and field name are included in the error report so you can correct and re-import.
Skipped — Strategy Already Exists
If a strategy already exists in Toolio for a given choiceId, all rows for that choiceId are skipped. The count of skipped rows is included in the import summary. The import will never overwrite an existing strategy.
FAQs
Can I add my own columns to the import file?
No. The schema is fixed by Toolio, and any columns outside the supported list are ignored. To customize values that aren't in the file, configure allocation defaults — they are merged into the strategy at import time for any field not provided.
Can I update an existing strategy through the import?
No. The import is create-only. If a strategy already exists for a choiceId, it will be skipped. All changes to existing strategies must be made in the UI.
What happens if I don't specify a location list?
The system assigns a system-managed default location list. You can update the location list on the strategy in the UI after import if needed.
What happens if one row in a choiceId group has an invalid reference?
The entire strategy for that choiceId is skipped — no partial strategies are created. Fix the invalid row and re-import to create the strategy.