Summary
File Upload creates shipments and orders in Perform.AI from a CSV file, either dropped into Shipment Overview in the portal or placed in an SFTP folder that Perform.AI processes on a schedule. Every processed file comes back as a status report that tells you, row by row, what was accepted, rejected or accepted with warnings.Who it’s for
Operations and customer service teams who need to get shipments into Perform.AI without an API integration: a daily export from a warehouse system, a one-off backfill, or a handful of parcels added by hand.Key benefits
- Bulk creation without code. Export shipments from your own system into the Perform.AI CSV template and upload the file. Each row becomes a shipment, with its order, events and documents if you include them.
- Scheduled processing over SFTP. Drop files into your SFTP folder and Perform.AI pulls and processes them on a defined schedule. Perform.AI can parse your own file format and map its fields to the standard schema, so you do not have to change your export.
- A status report for every file. Each upload produces a processed file report that mirrors your file and adds the outcome and the error or warning message for every row.
- Single and multi-parcel entry for small volumes. Add one parcel with its details, or paste or scan a list of tracking numbers, directly in the portal.
How it works
Ways to create shipments in the portal
The CSV template
The template defines the fields a shipment, order, event or document can carry. Download it from Create Shipment Template in the upload dialog, or build your own file with the same column headers, then fill one row per shipment. You only need the columns you use, as long as the required ones are present and the values follow the validation rules in the field guide. Every row needs at least:shipment[shipment_id]shipment[tracking_number]
Validation rules that reject a row
SFTP upload
For recurring files, Perform.AI provides an SFTP or FTP folder. You drop files there and Perform.AI pulls and processes them on a defined schedule. The SFTP integration can parse your own file format and map its fields to the Perform.AI schema, so the file does not have to be in the portal template. Request SFTP access from your account team.The File Upload Status Report
Each time a CSV file is processed, whether it came through SFTP or the portal, Perform.AI generates a processed file report and places it in theprocessed_file_report/ folder of your SFTP folder. The report mirrors your original file with two extra columns.
Set up in the portal
Go to Shipment Overview and select Add Parcels.- Choose File Upload.
- Select Create Shipment Template to download the CSV template, or prepare your own file with the same column headers.
- Fill one row per shipment. Include at least
shipment[shipment_id]andshipment[tracking_number], and the carrier reference. - Save the file in CSV format.
- Drop the file into the upload box and select Confirm.
FAQ
Which fields are required?
At leastshipment[shipment_id] and shipment[tracking_number]. Everything else is optional, but some fields need a companion: an order[order_reference] only works together with order[order_id].
Can I upload my own file format instead of the template?
In the portal, no: the file must use the template’s column headers. Over SFTP, yes: Perform.AI can parse your format and map it to its schema as part of setting up the SFTP integration.Where do I see what went wrong with a row?
In the File Upload Status Report in theprocessed_file_report/ folder of your SFTP folder. The Errors/Warnings column names the problem for each rejected or warned row.
What is the difference between Rejected and Warning?
A Rejected row has at least one validation error and was not created. A Warning row was created, but something in it needs attention, such as a value that could not be used.Do I need to set up carriers first?
Yes. Acarrier_reference in the file must already exist under Settings > Carriers, otherwise the row is rejected.