Integration Guide For Carriers
Integration Guide For Carriers

CSV Format

This guide covers the CSV implementation of MachShip’s generic carrier integration format (V3). For detailed field definitions and requirements, see the Generic Data Fields guide.

Overview

The CSV manifest format represents freight consignment data as comma-separated values. Each row represents one item from one consignment, with consignment-level data repeated across multiple rows when a consignment has multiple items.

Row Structure

CSV format uses one row per item per consignment:

  • A consignment with 3 items = 3 CSV rows
  • A manifest with 2 consignments (2 items each) = 4 CSV rows
  • Consignment-level fields are repeated on each item row
  • Manifest-level fields are repeated on all rows

CSV Example

Example showing two consignments with multiple items (header row + 4 data rows):

account,payingAccount,despatchDateTime,pickupRequired,dgsDeclaration,pickupAddressName,pickupAddressContact,pickupAddressPhone,pickupAddressEmail,pickupAddressAddressLine1,pickupAddressAddressLine2,pickupAddressSuburb,pickupAddressPostcode,pickupAddressState,pickupAddressStateCode,pickupDateTime,pickupClosingDateTime,timeSlot,specialInstructions,reference,carrierConsignmentReference,service,customerReference,customerReference2,toLocationName,toLocationContact,toLocationPhone,toLocationEmail,toLocationAddressLine1,toLocationAddressLine2,toLocationSuburb,toLocationPostcode,toLocationState,toLocationStateCode,totalWeight,totalVolume,totalCubic,quantity,itemType,name,sku,height,length,width,weight,volume,cubic,carrierItemTypeName,carrierItemTypeAbbreviation,Barcode,palletCHEP,palletLOSCAM,palletPLAIN,dgClassType,subDgClassTypes,unNumber,packingGroup,containerType,aggregateQuantity,isAggregateQuantityWeight,numberOfContainers,isMarinePollutant,isTemperatureControlled,isEmptyDgContainer,technicalOrChemicalGroupNames,hazchem,flashpoint,ProperShippingName
ACMEFRT,ACMEFRT,2025-11-15,true,true,ACME Manufacturing Pty Ltd,Sarah Mitchell,03 9876 5432,dispatch@acmemanufacturing.com.au,142 Manufacturing Drive,Unit 7,DANDENONG SOUTH,3175,Victoria,VIC,2025-11-15T09:30:00,2025-11-15T16:00:00,9am-12pm,Forklift access required. DG consignments present.,ACME0034521,ACME0034521,PEXP,PO-2025-8847,INV-98234,Brisbane Distribution Centre,James Wong,07 3344 7788,receiving@brisbanedistribution.com.au,88 Industrial Circuit,,STAPYLTON,4178,Queensland,QLD,1530,1.728,1.728,2,Pallet,Industrial Pumps - Model XR500,PUMP-XR500-A,120,120,100,680,1.44,1.44,Standard Pallet,SPAL,ACME0034521001 | ACME0034521002,2,0,0,,,,,,,,,,,,,,
ACMEFRT,ACMEFRT,2025-11-15,true,true,ACME Manufacturing Pty Ltd,Sarah Mitchell,03 9876 5432,dispatch@acmemanufacturing.com.au,142 Manufacturing Drive,Unit 7,DANDENONG SOUTH,3175,Victoria,VIC,2025-11-15T09:30:00,2025-11-15T16:00:00,9am-12pm,Forklift access required. DG consignments present.,ACME0034521,ACME0034521,PEXP,PO-2025-8847,INV-98234,Brisbane Distribution Centre,James Wong,07 3344 7788,receiving@brisbanedistribution.com.au,88 Industrial Circuit,,STAPYLTON,4178,Queensland,QLD,1530,1.728,1.728,1,Pallet,Industrial Paint - Epoxy Coating,PAINT-EP-200L,110,120,120,850,1.584,1.584,,,ACME0034521003,2,0,0,3,8,1263,II,Drum,200,false,4,false,false,false,Epoxy resin mixture,3YE,23.5,PAINT (including paint lacquer enamel stain shellac varnish polish liquid filler and liquid lacquer base)
ACMEFRT,ACMEFRT,2025-11-15,true,true,ACME Manufacturing Pty Ltd,Sarah Mitchell,03 9876 5432,dispatch@acmemanufacturing.com.au,142 Manufacturing Drive,Unit 7,DANDENONG SOUTH,3175,Victoria,VIC,2025-11-15T09:30:00,2025-11-15T16:00:00,9am-12pm,Forklift access required. DG consignments present.,ACME0034523,ACME0034523,PEXP,PO-2025-8851,INV-98238,Perth Storage Solutions,Robert Taylor,08 9234 5678,warehouse@perthstorage.com.au,234 Logistics Way,,WELSHPOOL,6106,Western Australia,WA,920,1.296,1.296,1,Pallet,Office Furniture - Desks,DESK-EXEC-OAK,100,120,120,450,1.44,1.44,Standard Pallet,SPAL,ACME0034523001,1,1,0,,,,,,,,,,,,,,
ACMEFRT,ACMEFRT,2025-11-15,true,true,ACME Manufacturing Pty Ltd,Sarah Mitchell,03 9876 5432,dispatch@acmemanufacturing.com.au,142 Manufacturing Drive,Unit 7,DANDENONG SOUTH,3175,Victoria,VIC,2025-11-15T09:30:00,2025-11-15T16:00:00,9am-12pm,Forklift access required. DG consignments present.,ACME0034523,ACME0034523,PEXP,PO-2025-8851,INV-98238,Perth Storage Solutions,Robert Taylor,08 9234 5678,warehouse@perthstorage.com.au,234 Logistics Way,,WELSHPOOL,6106,Western Australia,WA,920,1.296,1.296,1,Pallet,Office Furniture - Chairs,CHAIR-EXEC-BLK,90,100,100,470,0.9,0.9,Standard Pallet,SPAL,ACME0034523002,1,1,0,,,,,,,,,,,,,,

Column Definitions

For complete field definitions, data types, requirements, and business rules, see the Generic Data Fields guide.

The following sections describe CSV-specific column naming conventions. Column names are derived from the JSON field structure using camelCase concatenation.

Manifest Level Columns

account, payingAccount, despatchDateTime, pickupRequired, dgsDeclaration, pickupDateTime, pickupClosingDateTime, timeSlot, specialInstructions

Pickup Address Columns

pickupAddressName, pickupAddressContact, pickupAddressPhone, pickupAddressEmail, pickupAddressAddressLine1, pickupAddressAddressLine2, pickupAddressSuburb, pickupAddressPostcode, pickupAddressState, pickupAddressStateCode

Consignment Level Columns

reference, carrierConsignmentReference, service, customerReference, customerReference2, totalWeight, totalVolume, totalCubic

Delivery Address Columns

toLocationName, toLocationContact, toLocationPhone, toLocationEmail, toLocationAddressLine1, toLocationAddressLine2, toLocationSuburb, toLocationPostcode, toLocationState, toLocationStateCode

Item Level Columns

quantity, itemType, name, sku, height, length, width, weight, volume, cubic, carrierItemTypeName, carrierItemTypeAbbreviation, Barcode

Pallet Exchange Columns

palletCHEP, palletLOSCAM, palletPLAIN

Note: These values are at consignment level and will repeat across all item rows for the same consignment.

Dangerous Goods Columns

dgClassType, subDgClassTypes, unNumber, packingGroup, containerType, aggregateQuantity, isAggregateQuantityWeight, numberOfContainers, isMarinePollutant, isTemperatureControlled, isEmptyDgContainer, technicalOrChemicalGroupNames, hazchem, flashpoint, ProperShippingName

Note: When an item has multiple DG items, these fields use pipe-delimited values ( | with spaces). See Pipe-Delimited Fields section below.

CSV-Specific Field Notes

Column CSV-Specific Behavior
totalWeight Calculated field: sum of all item weights in the consignment. Repeated on each item row.
totalVolume Calculated field: sum of all item volumes in the consignment. Repeated on each item row.
totalCubic Calculated field: sum of all item cubic measurements in the consignment. Repeated on each item row.
Barcode Pipe-delimited barcode numbers matching item quantity. Example: ABC001 | ABC002 for quantity=2
palletCHEP, palletLOSCAM, palletPLAIN Consignment-level values repeated on each item row within the same consignment
DG columns Pipe-delimited when item has multiple DG items. Empty for non-DG items.

CSV Format Notes

Syntax Requirements

  • Comma-separated values (CSV standard)
  • Include header row with exact column names as listed above
  • Enclose values containing commas in double quotes
  • Empty values represented as empty string (no quotes or double commas: ,,)
  • Boolean values use lowercase true and false
  • Date/time values use ISO 8601 format: 2025-11-15T09:30:00
  • UTF-8 encoding recommended

Data Repetition Pattern

Because CSV uses one row per item, consignment and manifest-level data repeats:

account,reference,service,name,quantity
ACMEFRT,ACME0034521,PEXP,Pumps,2        ← Consignment 1, Item 1
ACMEFRT,ACME0034521,PEXP,Paint,1        ← Consignment 1, Item 2 (account, reference, service repeated)
ACMEFRT,ACME0034522,PEXP,Desks,1        ← Consignment 2, Item 1 (new consignment)
ACMEFRT,ACME0034522,PEXP,Chairs,1       ← Consignment 2, Item 2

Pipe-Delimited Fields

When an item has multiple DG items, certain fields use pipe delimiter ( | with spaces):

dgClassType,unNumber,packingGroup
3 | 8,1263 | 1760,II | III

This represents two DG items on the same physical item.

Barcode Format

Barcodes are pipe-delimited and must match the quantity:

quantity,Barcode
2,ABC001 | ABC002
1,ABC003

Pallet Exchange Values

Pallet exchange counts are at consignment level and repeat for each item row in that consignment:

reference,name,palletCHEP,palletLOSCAM,palletPLAIN
ACME001,Pumps,2,0,0      ← Consignment has 2 CHEP pallets
ACME001,Paint,2,0,0      ← Same consignment, same pallet counts
ACME002,Desks,1,1,0      ← Different consignment, different counts
ACME002,Chairs,1,1,0     ← Same consignment, same pallet counts

Empty vs Missing Fields

  • Optional fields: Leave empty (no quotes)
  • Non-DG items: Leave all DG columns empty
  • Zero values: Use 0 for numeric fields (don’t leave empty)
  • Blank addresses: Use empty string for addressLine2 if not provided

Validation Tips

  • Verify header row matches exact column names (case-sensitive)
  • Check barcode count matches quantity for each row
  • Ensure DG fields are populated when item contains dangerous goods
  • Validate date/time formats are ISO 8601 compliant
  • Confirm all required address fields are present
  • Verify measurements are in correct units (cm, kg)
  • Check boolean fields use lowercase true/false
  • Ensure special characters in text fields are properly escaped/quoted
  • Validate pallet counts are consistent across rows for same consignment

Related Guides

  • Generic Data Fields: Complete field definitions, requirements, and business rules
  • JSON Format: JSON implementation of the same data structure
  • XML Format: XML implementation of the same data structure