Asset Import
Bulk create or update assets (coolers, freezers, equipment) in CoolR. Existing assets are matched by Serial Number and updated in place.
See Overview for authentication, file formats, response structure, and import order.
Endpoint
POST https://portal.coolrgroup.com/Controllers/Import.ashx?type=Asset
UI access
- Playbook App: Master Data → Assets → Manage Data → Import
Columns
Formats: .csv, .xlsx / .xls, .json — Download template
| Column | Alias | Required | Type / Max Length | Validation | Notes |
|---|---|---|---|---|---|
| General Information | |||||
Serial Number | SerialNumber | Yes | String, max 250 | Must be non-empty | Unique asset identifier; used to match existing records |
Asset Type | AssetType | Yes | String, max 250 | Must match an existing Asset Type | Asset Type must be created first |
Parent Asset Serial Number | ParentAssetSerialNumber | No | String, max 250 | Must match an existing asset | For child / nested assets |
Outlet Code | LocationCode | No | String, max 240 | Must match an existing outlet | — |
Notes | AssetNotes | No | String, max 500 | — | Asset comments |
| Asset Tracking | |||||
Tag Number | TagNumber | No | String, max 250 | — | Asset tag identifier |
Category | AssetCategory | No | String, max 200 | — | Asset category |
In Store Location | InStoreLocation | No | String, max 200 | — | Position within the store |
Point of Sale | PointOfSale | No | String, max 200 | — | POS identifier |
| Location Data | |||||
Latitude | — | No | Decimal, -90 to 90 | -90 to 90 | GPS coordinate |
Longitude | — | No | Decimal, -180 to 180 | -180 to 180 | GPS coordinate |
Displacement Threshold | DisplacementThreshold | No | Decimal, ≥ 0 | ≥ 0 | Distance in metres before a displacement alert is triggered |
| Configuration | |||||
Planogram | PlanogramName | No | String, max 250 | — | Planogram name |
| Lifecycle & Status | |||||
Manufacturing Date | ManufacturingDate | No | Date | — | — |
Asset Delivered by Date | CoolerDeliveryDate | No | Date | — | Expected delivery date |
Asset Delivered Date | DateDelivered | No | Date | — | Actual delivery date |
Installation Status | InstallationStatus | No | String, max 200 | — | e.g., Installed, Pending |
| Integration | |||||
External Code | ExternalAssetCode | No | String, max 150 | — | Your internal system's identifier for this asset. Used as an alternative match key — see Overview |
Examples
CSV
Serial Number,Asset Type,Parent Asset Serial Number,Outlet Code,Planogram,External Code,Tag Number,Notes,Category,In Store Location,Manufacturing Date,Latitude,Longitude,Displacement Threshold,Asset Delivered by Date,Asset Delivered Date,Installation Status
SN123456789,Vertical Cooler,SN987654321,NYC-001,Summer 2026,EXT-12345,TAG-001,Front entrance cooler,Beverage,Front Entrance,2025-01-15,40.7128,-74.0060,100,2026-02-01,2026-02-05,Installed
SN123456790,Horizontal Freezer,,NYC-002,,,,,,,,,,,,2026-03-01,,Pending
JSON
{
"data": [
{
"SerialNumber": "SN123456789",
"AssetType": "Vertical Cooler",
"ParentAssetSerialNumber": "SN987654321",
"LocationCode": "NYC-001",
"PlanogramName": "Summer 2026",
"ExternalAssetCode": "EXT-12345",
"TagNumber": "TAG-001",
"AssetNotes": "Front entrance cooler",
"AssetCategory": "Beverage",
"InStoreLocation": "Front Entrance",
"PointOfSale": "POS-01",
"ManufacturingDate": "2025-01-15",
"Latitude": 40.7128,
"Longitude": -74.0060,
"DisplacementThreshold": 100,
"CoolerDeliveryDate": "2026-02-01",
"DateDelivered": "2026-02-05",
"InstallationStatus": "Installed"
},
{
"SerialNumber": "SN123456790",
"AssetType": "Horizontal Freezer",
"LocationCode": "NYC-002",
"TagNumber": "TAG-002",
"CoolerDeliveryDate": "2026-03-01",
"InstallationStatus": "Pending"
}
]
}
API import
curl -X POST 'https://portal.coolrgroup.com/Controllers/Import.ashx?type=Asset' \
-H 'Cookie: .ASPXAUTH=your-auth-token' \
-F 'file=@assets.csv'
Replace assets.csv with assets.xlsx or assets.json as needed.
Response
See Overview - Response format for response structure and error handling.
Common errors
| Error | Cause | Fix |
|---|---|---|
Missing required field: Serial Number | Empty serial number | Fill in Serial Number for every row |
Missing required field: Asset Type | Empty asset type | Fill in Asset Type for every row |
Asset Type '[name]' not found in system | Asset Type doesn't exist | Create the Asset Type first via Asset Type Import |
Parent Asset '[serial]' not found | Parent serial doesn't exist | Import parent assets before child assets |
Outlet Code '[code]' not found | Outlet doesn't exist | Create the outlet first via Outlet Import |
For support, contact support@coolrgroup.com