Skip to main content

How do I upload Events with a CSV file?

Bulk-upload supply-chain Events with a CSV: format, supported types, rules, and what happens after upload.

You can bulk-upload supply-chain Events into OriginsNext using a structured CSV file. This lets you record many Events at once instead of creating them one by one. A downloadable sample template is available with one example row per Event type, which also works as a worked example.


Download the sample CSV

The quickest way to build your file is to start from the sample Event CSV. It has the exact column headers the upload expects, and one example row for each supported Event type, so it doubles as a worked example. Keep the header row, replace the example rows with your own Events, and save the file as a .csv.


File and format basics

Your upload must meet these format rules before the platform will accept it.

  • The file must be a .csv file and under 20 MB.

  • Identifiers everywhere use a Type.Value format, for example GLN.WAREHOUSE-A. To put more than one identifier in a single cell, separate them with a pipe character ( | ).

  • The file has one wide set of columns that covers every Event type. Which columns matter depends on the Event's Type. Columns are grouped as shown in the next section.


Column groups

All Event types share the same columns. You only fill in the columns relevant to the Type you are recording.

Column group

What it covers

Event-level

Id, Type, Organisation, Name, Location, Time, Permission, Data Qualifier and Accurate Timestamp.

Input side

The Products or units going into the Event, including their owner, logistics and origin or destination Locations, quantity, count, and any input IoT device IDs.

Output side

The Products produced or moved out of the Event, including the output SKU and batch, owner and logistics Organisation, quantity and count, the transferable IDs assigned to them, and whether to increment the product generation.

Order links

Links to a Purchase Order, Sales Order, or consignment.

Value and cost

Value or cost fields (product value, additional cost and logistics cost), each paired with a currency.

Metadata

Free-form columns named Metadata.<key> for your own extra fields.

Note: The Permission column sets each Event's visibility. Enter Private for Private, or MyProductPartners for My Product Partners. This controls who can see the Event. To understand the difference, see Why can't I see all the Events in a Product's journey?


Supported Event types

The Type column must be one of the supported Event types below. Any other value is rejected. For what each one means and an example, see What are the supported Event Types?

Event type

Event type

Commission

Decommission

Object

Transformation

Ownership Change

Aggregation

Disaggregation

Received

Dispatched

Transportation Started

Transportation Ended

Storage Started

Storage Ended

Bulk Receival

Bulk Outturn


Key rules

Follow these rules when filling in the file, because the upload is validated against all of them before anything is created.

  • Id and Type are always required on every row.

  • Rows that share the same Id are merged into one Event. This is how a single Event can list several inputs: you add one row per input, all using the same Id. For example, a Received Event with three input Products uses three rows that share one Id.

  • Timestamps must be full ISO format with a timezone, in the form YYYY-MM-DDTHH:MM:SS.ZZZ TZ (for example 2026-01-01T08:00:00.000Z, where Z means UTC).

  • Quantities must be numeric, counts must be whole numbers, and any value field must be paired with a currency.

  • Each Event type has its own required fields. For example, a Commission Event needs an output SKU and output Product identifiers.


How to upload your file

To upload your completed Event CSV:

  1. Navigate to Product Traceability > Events from the side menu to open the Events List.

  2. Click + Add Events in the top-right corner.

  3. In the upload form, either drag and drop your completed CSV file into the shaded area, or click in the shaded area to browse and select your file.

  4. Click Upload to begin processing.


What happens after you upload

The whole file is validated up front before anything is created, and successful Events are then processed in the background rather than instantly.

Important: Uploads are all-or-nothing. If any row or Event fails validation, the entire upload is rejected with a combined list of the errors, and nothing is created. Fix every listed error and upload the file again.

When the file passes validation, the Events are queued and processed in the background. They are not created instantly and they are not saved as drafts. You can track each Event's progress on the upload-details page, where it moves through the states below.

Status

What it means

Pending

The Event is queued and waiting to be processed.

In Progress

The Event is being processed now.

Completed

The Event was created successfully.

Failed

The Event could not be created.

Once processed, uploaded Events appear in the Events List and in the Journey view for each relevant Product.

Did this answer your question?