Import Locations
Bulk create or update warehouse locations via CSV.
Create or update warehouse locations with a CSV import job.
CSV Columns
| Column | Required | Description |
|---|---|---|
id | No | Existing location ID. If provided, updates the location. If empty, creates a new one. |
name | Yes | Location name (e.g., "A-01-01") |
barcode | No | Unique barcode. Auto-generated if omitted. |
warehouse | Yes | Warehouse name (must match exactly) |
location_type | No | Location type name (must match exactly) |
location_kind | No | Static or LPN |
priority | No | Pick priority (higher = picked first). Use 0 if not specified. |
pickable | Yes | true or false |
sellable | Yes | true or false |
_lock (Do not modify) | No | Keep the exported value unchanged when editing a record. |
Location Kind
Static— Fixed locations (shelves, bins, zones)LPN— Relocatable locations (pallets, carts, mobile racks)
TOTE locations cannot be imported via this process. Use the dedicated tote import instead.
Conflict Protection
Export current records as your starting template. When an export includes _lock (Do not modify), keep its value and the existing row's id unchanged while editing other fields.
- Unchanged rows and edits already matching the saved record are skipped.
- If both the CSV and saved record changed since export, a conflicting edit is rejected. Export the latest data, review the other changes, and reapply your edit.
- A locked row without its original ID is rejected.
- For a new record, leave both the ID and lock empty.
- Omitting a lock on an existing record removes conflict protection; it does not force an otherwise invalid edit to succeed.
Adding New Entries
To add new locations, add rows with both the id and _lock (Do not modify) columns left empty. The system creates new location records.
Bulk delete is not supported. To remove locations, delete them individually through the UI or API.
Example CSV
id,name,barcode,warehouse,location_type,location_kind,priority,pickable,sellable
,A-01-01,LOC-A0101,Main Warehouse,Shelf,Static,10,true,true
,PALLET-001,,Main Warehouse,Pallet,LPN,5,true,true
abc123-def456,B-02-01,,Main Warehouse,Bin,Static,8,true,trueHow to Import
- Navigate to ShipOS → Inventory → Locations (opens the Cybership dashboard in a new tab)
- Click Import
- Upload your CSV
- Wait for processing to complete
Wait for the job to finish and inspect created, updated, skipped, and failed rows. A row-based import can partly succeed. Correct failed rows before retrying; do not assume the whole file was rolled back or that repeating new rows is harmless.
Export existing locations first to use as a template. See Export Locations.
Validation Rules
- Warehouse and location type names must match existing records exactly
- Location names and barcodes must be unique per warehouse
- Non-sellable locations must be non-pickable