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 Image

Required Fields

Only three fields are required to upload inventory data:

FieldDescriptionExample
manufacturerThe manufacturer or brand of the assetNVIDIA, FORTINET, HPE
partNumberThe manufacturer's part number for the product modelN2-DGX-A100-640GB
serialNumberThe unique serial number of the individual asset1574220000581

Optional Data Object Fields

These fields describe the file/document being linked to the inventory item:

FieldDescriptionExample
Data object IDURL reference to the data object. Can be an IPFS URL (CID will be auto-extracted) or a file linkhttps://ipfs.io/ipfs/QmVz...
hash-data-objectHash of the data object (typically auto-generated, leave blank)-
dataObjectTypeThe type of file/document being linked (see types below)assetDescription

Data Object Types

assetDescription

General asset information and descriptions

complianceDocument

Compliance certifications and regulatory documents

ownershipRecord

Ownership history and transfer records

characteristics

Technical specifications and product characteristics

functionalityReport

Performance data and functionality testing results

esgReport

Environmental, Social, and Governance reports

image

Visual documentation (photos, diagrams, etc.)

Optional Identity Fields

These fields support ISO 20435 compliance for decentralized asset identification:

FieldDescriptionBehavior
didDecentralized IdentifierProvide for validation or leave blank for auto-generation
usnUniversal Serial NumberProvide 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.

attribute1Name

Name of the first attribute

e.g., "Item Number"

attribute1Value

Value of the first attribute

e.g., "5728174"

attribute2Name

Name of the second attribute

e.g., "Location"

attribute2Value

Value 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,1574220000581

2. 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-SERIALISED

3. 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,PZDVH0ABIJA0QF

CSV Structure

Complete Header Example

Data object ID,hash-data-object,dataObjectType,manufacturer,partNumber,serialNumber,did,usn,attribute1Name,attribute1Value,attribute2Name,attribute2Value

Minimal Header Example

manufacturer,partNumber,serialNumber

Best Practices

  • Yes
    Use consistent manufacturer names

    Use the same spelling and capitalization throughout (e.g., always use "NVIDIA" not "Nvidia" or "nvidia")

  • Yes
    Provide data object URLs when available

    Link to IPFS CIDs or file locations to provide verifiable documentation

  • Yes
    Specify data object types

    Use the appropriate dataObjectType to categorize your documents for better organization

  • Yes
    Let the system generate DIDs and USNs

    Unless you have specific existing identifiers to validate, leave did and usn blank for automatic generation

  • Yes
    Use 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