The presentation profile import lets you create and update presentation profiles in bulk by uploading a CSV file.
You can also create and edit profiles manually in Settings > Data Management > Presentation Profiles. See Presentation Profiles for an overview of how profiles work and how they are applied in allocation and assortment planning.
Use Cases
Use the import when:
Setting up profiles for the first time across many sizes and stores
Updating min/max values seasonally without editing each profile manually in the UI
Migrating presentation standards from an external system or spreadsheet
File Format
The column schema is fixed by Toolio -- only the fields listed below are recognized. Any additional columns in the import file are ignored.
Each row represents one size (and optionally one location) within a profile. Rows that share the same Presentation Profile Name are grouped and processed together as a single profile.
Supported Fields
Field | Type | Required | Purpose |
| String | Yes | Name of the profile. Maximum 100 characters. |
| String | Yes (if no Size) | External ID of a variant. The size is derived from the variant's size attribute. Case-insensitive. |
| String | Yes (if no SKU) | A size option value (e.g., |
| String | No | External ID of a store. When provided, the row is store-level. When absent, the row applies to all locations. All rows in a profile must be consistent -- see below. |
| Integer | No | Minimum presentation units for this size/location. Must be a whole number of 0 or greater. |
| Integer | No | Maximum presentation units for this size/location. Must be a whole number of 0 or greater, and not less than Min when both are provided. |
At least one of SKU or Size is required on every row. If both are provided, they must resolve to the same size -- the importer validates this and rejects the row if they conflict.
File Naming
The importer recognizes files whose name contains any of the following (case-insensitive):
presentation_profilepresentation-profilepresentationprofile
Examples: acme_presentation_profile_spring2026.csv, presentation-profile-q1.csv
Example
Presentation Profile Name | SKU | Size | Location | Min | Max |
Standard Profile | JACKET-BLK-M | 2 | 4 | ||
Standard Profile | XL | 3 | 6 | ||
NYC Flagships | S | NYC-001 | 1 | 3 | |
NYC Flagships | M | NYC-001 | 2 | 5 | |
NYC Flagships | L | NYC-001 | 2 | 5 |
[Screenshot: Example CSV open in a spreadsheet showing Presentation Profile Name, SKU, Size, Location, Min, and Max columns with sample rows]
Import Modes
The presentation profile import supports two modes, selected when running the import: Incremental (the default) and Full Replace. The right mode depends on whether you want to update part of a profile or replace it entirely.
[Screenshot: Import dialog showing the mode selector with Incremental and Full Replace options]
Incremental
Incremental mode upserts rows -- each row is created if it does not exist or updated if it does. Rows not included in the file are left unchanged in Toolio.
Use Incremental when:
Adding new sizes or stores to an existing profile
Updating
MinorMaxvalues for specific size/location combinationsMaking targeted changes without affecting the rest of the profile
Partial updates: You can include only Min or only Max in a row to update a single value. This is only permitted on rows that already exist in Toolio -- a new mapping with only one of Min or Max is rejected. When updating one value, the result must not invert the range (e.g., updating Min to a value that exceeds the existing Max is rejected).
Full Replace
Full Replace overwrites the entire profile with the contents of the file. After import, any size/location combination that exists in the profile but does not appear in the file is zeroed out -- its Min and Max are set to 0.
Use Full Replace when:
The uploaded file is the single source of truth for the profile
You want to ensure no stale sizes or stores carry over from a previous import
Both Min and Max are required on every row in a Full Replace import. Rows missing either value are rejected.
Only profiles that appear in the uploaded file are affected. All other profiles in Toolio are untouched.
Store-Level vs. System-Wide Profiles
Whether a profile is store-level or system-wide is determined by the presence of a Location value:
System-wide: No rows include a
Location. The profile applies to all stores.Store-level: Every row includes a
Location. The profile defines min/max per store.
All rows in a profile must be consistent -- mixing rows with and without a Location within the same profile name causes the entire profile to be rejected.
Errors and Skipped Profiles
Profiles are processed all or nothing. If any row in a profile is invalid, the entire profile is skipped and an error is reported for every affected row -- including rows that were individually valid but skipped because a sibling row failed.
Row-Level Errors
Error | Cause |
Name required |
|
Name too long | Profile name exceeds 100 characters |
Neither SKU nor Size provided | Both fields are blank |
SKU not found |
|
Size not found |
|
Size mismatch | Both |
Location not found |
|
Invalid Min or Max | Value is not a whole number of 0 or greater |
Min greater than Max | Both values are present and |
Profile-Level Errors
Error | Cause |
Inconsistent store-level | Some rows in the profile have a |
New mapping with partial Min/Max | Incremental mode: a row has only |
Partial update would invert range | Incremental mode: adding only |
Full Replace requires explicit Min and Max | Full Replace mode: a row is missing |
FAQs
Does the import create new profiles or only update existing ones?
Both. If a profile name in the file does not yet exist in Toolio, the import creates it. If it already exists, rows are merged in (Incremental) or the profile is replaced entirely (Full Replace).
My file mixes rows with and without a Location for the same profile. What happens?
The entire profile is rejected. All rows for a profile must either all include a Location (store-level) or all omit it (system-wide). Mixing the two within one profile name is not supported.
I used Full Replace but some sizes still show old values. Why?
Full Replace zeroes out sizes not in the file -- it sets Min and Max to 0 but does not remove the size entries from the profile. If you need to remove a size entirely, edit the profile manually in the UI after import.
What SKU format should I use?
Use the External ID as it appears in your Product & Variant feed. SKU matching is case-insensitive.
Can I include multiple profiles in one file?
Yes. A single file can contain rows for any number of profiles. Each profile is identified by its name and processed independently -- an error in one profile does not affect others.