ISO 20435-Compliant CSV Upload Format
Suggested CSV format for uploading inventory data to the Tradeloop Blockchain Inventory API
Overview
Each row in the CSV represents a single file (data object) related to an item such as a GPU, parent device, or child component. An individual physical asset may have multiple rows in the CSV file, with each row representing a different document type.
Example: A single NVIDIA GPU
Row 1: Asset Description
Row 2: Compliance Document
Row 3: Ownership Record
Row 4: Product ImageRequired Fields
Only three fields are required to upload inventory data:
| Field | Description | Example |
|---|---|---|
| manufacturer | The manufacturer or brand of the asset | NVIDIA, FORTINET, HPE |
| partNumber | The manufacturer's part number for the product model | N2-DGX-A100-640GB |
| serialNumber | The unique serial number of the individual asset | 1574220000581 |
Optional Data Object Fields
These fields describe the file/document being linked to the inventory item:
| Field | Description | Example |
|---|---|---|
| Data object ID | URL reference to the data object. Can be an IPFS URL (CID will be auto-extracted) or a file link | https://ipfs.io/ipfs/QmVz... |
| hash-data-object | Hash of the data object (typically auto-generated, leave blank) | - |
| dataObjectType | The type of file/document being linked (see types below) | assetDescription |
Data Object Types
assetDescriptionGeneral asset information and descriptions
complianceDocumentCompliance certifications and regulatory documents
ownershipRecordOwnership history and transfer records
characteristicsTechnical specifications and product characteristics
functionalityReportPerformance data and functionality testing results
esgReportEnvironmental, Social, and Governance reports
imageVisual documentation (photos, diagrams, etc.)
Optional Identity Fields
These fields support ISO 20435 compliance for decentralized asset identification:
| Field | Description | Behavior |
|---|---|---|
| did | Decentralized Identifier | Provide for validation or leave blank for auto-generation |
| usn | Universal Serial Number | Provide for validation or leave blank for auto-generation |
Optional Attribute Fields
The CSV format supports extensible attribute pairs for additional metadata. These are completely optional and can be used to attach custom information to each data object.
attribute1NameName of the first attribute
e.g., "Item Number"
attribute1ValueValue of the first attribute
e.g., "5728174"
attribute2NameName of the second attribute
e.g., "Location"
attribute2ValueValue of the second attribute
e.g., "Warehouse A"
You can extend this pattern with additional attribute columns as needed (attribute3Name/Value, attribute4Name/Value, etc.). All attributes will be appended to a metadata field in the blockchain record.
Common Use Cases
1. Single Item with Multiple Documents
A single physical asset (e.g., NVIDIA GPU with serial number 1574220000581) can have multiple rows:
Data object ID,dataObjectType,manufacturer,partNumber,serialNumber
https://ipfs.io/ipfs/Qm...,assetDescription,NVIDIA,N2-DGX-A100-640GB,1574220000581
https://localhost/compliance.pdf,complianceDocument,NVIDIA,N2-DGX-A100-640GB,1574220000581
https://localhost/ownership.pdf,ownershipRecord,NVIDIA,N2-DGX-A100-640GB,1574220000581
https://localhost/photo.jpg,image,NVIDIA,N2-DGX-A100-640GB,15742200005812. Non-Serialized Items
For items without individual serial numbers (like cables):
Data object ID,dataObjectType,manufacturer,partNumber,serialNumber
https://localhost/cable-spec.pdf,characteristics,CL,CL-CABLE,NON-SERIALISED
https://localhost/cable-image.jpg,image,CL,CL-CABLE,NON-SERIALISED3. Minimal Upload
The absolute minimum required data:
manufacturer,partNumber,serialNumber
NVIDIA,N2-DGX-A100-640GB,1574220000581
FORTINET,F0-FN-TRAN-LX,ND1BL2L
HPE,HE-P47952-001,PZDVH0ABIJA0QFCSV Structure
Complete Header Example
Data object ID,hash-data-object,dataObjectType,manufacturer,partNumber,serialNumber,did,usn,attribute1Name,attribute1Value,attribute2Name,attribute2ValueMinimal Header Example
manufacturer,partNumber,serialNumberBest Practices
- YesUse consistent manufacturer names
Use the same spelling and capitalization throughout (e.g., always use "NVIDIA" not "Nvidia" or "nvidia")
- YesProvide data object URLs when available
Link to IPFS CIDs or file locations to provide verifiable documentation
- YesSpecify data object types
Use the appropriate dataObjectType to categorize your documents for better organization
- YesLet the system generate DIDs and USNs
Unless you have specific existing identifiers to validate, leave did and usn blank for automatic generation
- YesUse attributes for internal tracking
Store internal identifiers (like item numbers) in the attribute fields rather than in required fields
API Integration
Upload your CSV file to the Tradeloop Blockchain Inventory API endpoint. The system will:
- 1.Validate the required fields (manufacturer, partNumber, serialNumber)
- 2.Extract CIDs from IPFS URLs if provided
- 3.Validate or generate DIDs and USNs as needed
- 4.Create blockchain records for each row
- 5.Link multiple data objects to the same physical asset based on matching identification fields
- 6.Store attributes in the metadata field
Download Example
Download a complete working example CSV file to use as a template:
Download Example CSV