Column reference by upload type
This page is the build-a-file-from-scratch reference for the File Upload wizard. Each section lists the accepted column names, value formats, and quirks for one upload type, in the same order the wizard presents them.
How to read this page
Column names are exact and case-sensitive. Any column name the wizard does not recognise for the selected upload type is treated as an extended-property name on the chosen template or SKU. Truly unrecognised names — those that do not match any extended property either — are silently ignored.
Boolean cells must be True or False. Using 1 or 0 causes a format error.
Date cells must use ISO 8601 — yyyy-MM-dd for a date, or a full timestamp (for example 2026-07-21T09:30:00Z). Values in any other format are rejected with a per-row format error. Times without an explicit offset are treated as UTC.
De-duplicate your file on the unique field before uploading. If two rows in the same file share the same unique-field value, both rows are processed without warning. On update operations, the second row's values overwrite the first.
Items
Unique fields: TagNumber · AssetNumber · Name
Required to create: Name, a place (via a mapped Place column or the Reference Field Mapping panel), and a SKU (via the SKU picker tile on the mapping step, or via a per-row Sku column when Allow Multiple SKUs is ticked).
Supported columns
| Column | Sets | Value format / notes |
|---|---|---|
Name | Item name | Text |
Description | Item description | Text |
TagType | Tag type | PassiveRfid, ActiveRfid, Barcode, Bluetooth — omitting defaults to PassiveRfid |
TagNumber | RFID or barcode tag number | Text — leave blank on an update to unlink the tag |
AssetNumber | Asset number | Text |
Multiplier | Item multiplier | Decimal |
Quantity | Item quantity | Decimal |
UnitCost | Per-item unit cost | Decimal |
Person | Assigned person | Reference (see Reference columns below) |
Place | Current place | Reference (see Reference columns below) |
AssignedPlace | Assigned (target) place | Reference (see Reference columns below) |
Department | Department | Reference — resolved by name |
ParentItem | Parent item (hierarchical items) | Reference (see Reference columns below) — create only; ignored on update |
Sku | SKU for this row | Reference (see Reference columns below) — only when Allow Multiple SKUs is ticked |
Any column whose name matches an extended property on the chosen SKU's item-level properties sets that property's value.
Reference columns
| Reference | Resolve by |
|---|---|
| Place, AssignedPlace | Name · PlaceCode · GLN · TagNumber |
| Person | Email · Name · TagNumber |
| ParentItem | TagNumber · AssetNumber · Name |
| Sku (Allow Multiple SKUs) | SkuNumber · BarcodeNumber · Name |
Quirks
Creating an item requires both a place and a SKU. Provide the place via a mapped Place column (or the Reference Field Mapping panel) and the SKU via the picker tile on the mapping step. When Allow Multiple SKUs is ticked, include a Sku column in your file instead of using the picker tile.
ParentItem is a create-only column. It is silently ignored when updating an existing item.
SKUs
Unique fields: BarcodeNumber · SkuNumber · Name
Required to create: Name
A template is applied via the Template picker tile on the mapping step. The Template column in your file is stripped automatically — its value comes from the picker, not from the file.
Supported columns
| Column | Sets | Value format / notes |
|---|---|---|
Name | SKU name | Text |
Description | SKU description | Text |
SkuNumber | SKU number | Text |
BarcodeNumber | Primary barcode number | Text |
ExternalRef | External reference | Text |
CompanyPrefix | GS1 company prefix | Text |
ItemReference | GS1 item reference | Text |
CustomPrefix | Custom GS1 prefix | Text |
SkuType | SKU type | Standard, Kanban, VariablePercent, VariableQuantity |
EncodingType | Barcode encoding type | Sgtin, CustomPrefix, None, Grai |
InnerQuantity | Units per inner SKU | Decimal |
LowerBound | Quantity lower bound | Decimal |
UpperBound | Quantity upper bound | Decimal |
ItemCode | Item code | Text |
UnitCost | Unit cost (supplier cost) | Decimal |
SkuLevelCost | Track cost at SKU level | True / False |
AutoCreate | Auto-create setting | True / False |
AdditionalBarcode1, AdditionalBarcode2, … | Additional barcodes | Text — see Additional barcodes below |
Any column whose name matches an extended property on the chosen template sets that property's value.
Inner SKU columns
All of the columns above are also accepted with an InnerSku. prefix to set the corresponding field on the SKU's nested inner SKU. An inner SKU is only created or updated when InnerSku.SkuNumber is present and non-empty in the row.
| Column | Sets |
|---|---|
InnerSku.SkuNumber | Inner SKU number — required to write any inner SKU field |
InnerSku.Name | Inner SKU name |
InnerSku.Description | Inner SKU description |
InnerSku.BarcodeNumber | Inner SKU primary barcode |
InnerSku.ExternalRef | Inner SKU external reference |
InnerSku.CompanyPrefix | Inner SKU GS1 company prefix |
InnerSku.ItemReference | Inner SKU GS1 item reference |
InnerSku.CustomPrefix | Inner SKU custom GS1 prefix |
InnerSku.SkuType | Inner SKU type (Standard, Kanban, VariablePercent, VariableQuantity) |
InnerSku.EncodingType | Inner SKU encoding type (Sgtin, CustomPrefix, None, Grai) |
InnerSku.InnerQuantity | Inner SKU inner quantity |
InnerSku.LowerBound | Inner SKU lower bound |
InnerSku.UpperBound | Inner SKU upper bound |
InnerSku.UnitCost | Inner SKU unit cost |
InnerSku.SkuLevelCost | Inner SKU SKU-level cost (True / False) |
InnerSku.AutoCreate | Inner SKU auto-create (True / False) |
InnerSku.AdditionalBarcode1, InnerSku.AdditionalBarcode2, … | Inner SKU additional barcodes — same suffix rules as outer SKU |
Additional barcodes
Use columns with the AdditionalBarcode prefix followed by any suffix (e.g. AdditionalBarcode1, AdditionalBarcode2) to add or remove extra barcodes. Each such column adds or removes one barcode per row. Append |Add (the default) to explicitly mark an add, or |Remove to remove that barcode instead. Empty cells are ignored.
Name,SkuNumber,AdditionalBarcode1,AdditionalBarcode2|Remove
Makita 18V Drill,MAK-DRL-18V,9310000000017,9310000000024
In this example, AdditionalBarcode1 adds barcode 9310000000017 and AdditionalBarcode2|Remove removes barcode 9310000000024.
The same pattern applies to inner SKU barcodes: InnerSku.AdditionalBarcode1|Add adds a barcode, InnerSku.AdditionalBarcode1|Remove removes one.
Duplicate barcodes across different SKUs are rejected: "Duplicate barcode already exists for another SKU."
Extended property columns
A column whose name exactly matches an extended property on the chosen template sets that property's value. For inner SKU extended properties, prefix the column name with InnerSku. (e.g. InnerSku.Voltage).
To move a property between SKU-level and item-level ownership, append |IsSkuLevel to the column header in your file and supply True (SKU-level) or False (item-level) as the cell value. For example, a column headed Voltage|IsSkuLevel with cell value True makes the Voltage property SKU-level. The same |IsSkuLevel suffix applies to inner SKU extended properties: InnerSku.Voltage|IsSkuLevel.
Places
Unique fields: TagNumber · PlaceCode · GLN · Name
Required to create: Name
A template is applied via the Template picker tile on the mapping step. The template value is applied on create only and is silently ignored on update.
Supported columns
| Column | Sets | Value format / notes |
|---|---|---|
Name | Place name | Text |
Description | Place description | Text |
PlaceCode | Place code | Text |
ExternalRef | External reference | Text |
TagType | Tag type | PassiveRfid, ActiveRfid, Barcode, Bluetooth |
TagNumber | RFID or barcode tag number | Text — leave blank on an update to unlink the tag |
ParentPlace | Parent place | Reference (see Reference columns below) |
Priority | Geo-zone priority | Integer |
ZoneColour | Geo-zone colour | Text (colour value) |
Gln | GS1 Global Location Number | Text |
CurrentItemCount | Item count | Integer |
Any column whose name matches an extended property on the chosen template sets that property's value.
Reference columns
| Reference | Resolve by |
|---|---|
| ParentPlace | Name · PlaceCode · GLN · TagNumber |
Quirks
When no ParentPlace value is supplied, new places are created directly under the organisation's root place.
The template chosen via the picker tile is applied on create only. A Template column in your file is stripped from the mapping table regardless of operation.
Persons
Unique fields: Email · TagNumber · Name (matches the combined "GivenName Surname" string)
Required to create: GivenName, Surname
A template is applied via the Template picker tile on the mapping step.
Supported columns
| Column | Sets | Value format / notes |
|---|---|---|
GivenName | First name | Text — required to create |
Surname | Last name | Text — required to create |
TagType | Tag type | PassiveRfid, ActiveRfid, Barcode, Bluetooth |
TagNumber | RFID or barcode tag number | Text — leave blank on an update to unlink the tag |
Email | Email address | Text |
Place | Current place | Reference (see Reference columns below) |
AssignedPlace | Assigned (target) place | Reference (see Reference columns below) |
Department | Department | Reference — resolved by name |
Any column whose name matches an extended property on the chosen template sets that property's value.
Reference columns
| Reference | Resolve by |
|---|---|
| Place, AssignedPlace | Name · PlaceCode · GLN · TagNumber |
Collections
Unique fields: Name
Required to create: Name
A template is applied via the Template picker tile on the mapping step. Reference-type extended properties on the chosen template accept Item, Place, Person, or Collection values resolved by the resolve-by field you choose on the mapping step.
Supported columns
| Column | Sets | Value format / notes |
|---|---|---|
Name | Collection name | Text |
Description | Collection description | Text |
Active | Active status | True / False — see Quirks |
Any column whose name matches an extended property on the chosen template sets that property's value.
Quirks
Active is ignored on create — every new collection starts active. Setting Active=False on an update completes the collection by setting its end date. A completed collection cannot be re-opened by upload.
The collection's start date is always set to the time of import. There is no column to override it.
Orders
Unique fields: OrderNumber
Required to create: OrderNumber; at least one of Sku or Item; and the place columns required by the order type (see Place requirements below).
How rows are grouped
Each CSV row is one order line. Rows that share the same OrderNumber are assembled into a single order. Header and settings columns (such as OrderType, FromPlace, and ToPlace) are read from each row in the group — keep them consistent across all rows for the same order.
OrderNumber,OrderType,FromPlace,ToPlace,Sku,OrderQty
ORD-001,Transfer,Warehouse A,Service Area,MAK-DRL-18V,5
ORD-001,Transfer,Warehouse A,Service Area,MAK-IMP-18V,3
The two rows above produce one Transfer order containing two line items.
When a row includes both a Sku value and an Item value, Sku takes precedence and Item is ignored for that row.
Header columns
| Column | Sets | Value format / notes |
|---|---|---|
OrderNumber | Order number | Text — required |
ExternalRef | External reference | Text |
OrderType | Order type | Inbound, Outbound, Transfer, Replenishment, Return, Loan |
FromPlace | Source place | Reference — resolved by Name · PlaceCode · GLN · TagNumber |
ToPlace | Destination place | Reference — resolved by Name · PlaceCode · GLN · TagNumber |
DeliverTo | Deliver-to recipient | Text |
Comments | Free-text comments | Text |
Line columns
| Column | Sets | Value format / notes |
|---|---|---|
Sku | SKU for this line | Reference — resolved by SkuNumber · BarcodeNumber · Name |
Item | Specific item for this line | Reference — resolved by TagNumber · AssetNumber · Name; overridden by Sku if both present |
OrderQty | Ordered quantity | Whole number |
PickSequence | Pick sequence | Whole number |
PackSequence | Pack sequence | Whole number |
Settings columns
| Column | Sets | Value format / notes |
|---|---|---|
EnableOrderFromPlaceConstraint | Enable from-place constraint | True / False |
IncludeOrderFromPlaceChildren | Include child places in constraint | True / False |
OrderReceiptConstraint | Receipt constraint | Strict, Any |
OrderFromPlaceAction | Action when from-place constraint fails | ErrorOut, Ignore |
OrderQtyConstraintAction | Quantity constraint action | Exact, OverOnly, UnderOnly, All |
EnableCustomPropertyConstraint | Enable custom property constraint | True / False |
AutoReceiptOrder | Auto-receipt on completion | True / False |
Place requirements by order type
| Order type | FromPlace | ToPlace |
|---|---|---|
| Inbound | — | Required |
| Outbound | Required | — |
| Transfer | Required | Required |
| Replenishment | — | Required |
| Return | — | Required |
| Loan | Required | Required |
Custom property constraint columns
To set a custom property constraint on an order line, add two columns whose names are based on the extended property name:
- A column named after the extended property (e.g.
Voltage) sets the constraint value for that line. - A column named with a
.Operatorsuffix (e.g.Voltage.Operator) sets the comparison operator:EQ,NEQ,LT,LTE,GT,GTE. When omitted, the operator defaults toEQ.
Quirks
Orders cannot be deleted by upload. If you select the Delete operation with Upload Type set to Orders, every row in the file reports "Operation not supported" and no orders are deleted. Use the portal's Orders pages to delete orders individually.
De-duplicate your file on OrderNumber before uploading. Rows with the same OrderNumber are grouped into one order — if you intend separate orders, each must have a distinct OrderNumber.
Service Records
Unique fields: ServiceNumber
Required to create: ServiceMaster (resolved by ServiceCode)
Service records use org-wide extended properties rather than a per-record template. There is no Template picker tile on the mapping step for this upload type.
Supported columns
| Column | Sets | Value format / notes |
|---|---|---|
ServiceNumber | Service number | Text |
Notes | Notes | Text |
RequestedQty | Requested quantity | Integer |
AdjustedQty | Adjusted quantity | Integer |
ManualQty | Manual quantity | Integer |
CompletedOn | Completion date | Date — setting this value completes the service record at import time |
MoveItemsOnComplete | Move items on completion | True / False |
Attribute1 | Free-text attribute 1 | Text |
Attribute2 | Free-text attribute 2 | Text |
Attribute3 | Free-text attribute 3 | Text |
ServiceMaster | Service master | Reference — resolved by ServiceCode — required to create |
FromPlace | Source place | Reference (see Reference columns below) |
ToPlace | Destination place | Reference (see Reference columns below) |
Reason | Reason | Reference (see Reference columns below) |
Any column whose name matches an org-wide service extended property sets that property's value.
Reference columns
| Reference | Resolve by |
|---|---|
| FromPlace, ToPlace | Name · PlaceCode · GLN · TagNumber |
| ServiceMaster | ServiceCode |
| Reason | Name |
A Reason column that you leave as a plain column (no reference mapping) is matched by its reason code instead.
Quirks
When updating existing service records, always include a Notes column in your file. Set the cell value to the notes you want the record to carry after the update — even if you do not intend to change the notes, supply the current value to preserve it.
Setting a non-empty CompletedOn value completes the service record at import time. An invalid CompletedOn date fails that row with a format error. An empty cell means the record is not supplied with a completion date and is not completed.
Completed or cancelled service records are silently skipped by the Delete operation. No error is reported and the record is not deleted.
Related concepts:
- Templates & extended properties — how templates define the extended-property schema items, SKUs, and places inherit.
- SKUs & the product catalogue — what a SKU is and how it relates to items.
- Places & the location hierarchy — the tree of locations items and people move between.
- Items & item states — the lifecycle states an item moves through.
- Orders at a glance — order types and the flow of order-driven movements.
Related guides:
- Upload a file — choose a file, configure import settings, and run the upload.
- Map columns & required fields — rename columns, satisfy required fields, and set resolve-by options.
- Save & reuse import templates — save your column mapping as a template to reload on future imports.