Overview

How to use this guide

This guide maps every field in the D2 flat-file layouts to the JSON property that carries it in the D2 v2 API. It is a companion to the D2 API — Vendor Integration Guide. That guide covers authentication, endpoints, validation and the integration flow. This one answers a narrower question: "I populate field X at position N in my flat file today — where does it go in the JSON?"

Layouts covered

File typeLayout documentAPI endpointRequest body
PO / RL — DispatchRL-PO_xmit_Paltrack_2022-11-17POST /v2/SubmitDispatchPOFileDTO
PI — IntakePI_xmit_Paltrack_2022-11-17POST /v2/SubmitIntakePIFileDTO
PS — StockPS_xmit_Paltrack_2022-11-17POST /v2/SubmitStockPSFileDTO
MT — Mates ReceiptMT_xmit_Paltrack_2022-11-17POST /v2/SubmitMatesMTFileDTO
DI — Day InstructionDI xmit Paltrack_2022-04-26POST /v2/SubmitDayInstructionDIFileDTO
LI — Loading InstructionLI_xmit Paltrack_2020-04-02POST /v2/SubmitLoadInstructionLIFileDTO

The layout documents are on the Paltrack Helpdesk under General → Downloads → Transmission File Layouts. Positions and lengths in this guide are taken from those versions. Payloads you receive through GetPayload have the same shape as the request bodies above.

Reading the tables

Each file type has a short Shape table showing which flat-file record becomes which JSON object. That's followed by Before you start, the points most likely to trip up a migration. Then there is one table per record, listing every field in layout order:

ColumnMeaning
Pos / LenStart position (1-based) and length, as in the layout document
Layout fieldThe field name as the layout document spells it
JSON propertyThe full path of the JSON property. [] marks an array, so Consignments[].Pallets[].SSCC is the SSCC of each pallet in each consignment. — means the field is not in the API
TypeThe JSON type: string, integer, number, datetime, boolean, object or array
ReqREQ means the API rejects the payload if this property is missing
NotesRenames, replaced fields, fixed code values and format rules

Each type also lists its API-only properties, meaning JSON properties with no flat-file equivalent, and a summary of what is Not in the API.

Rules that apply to every file type

  • The batch header and trailer are not records in the API. The BH header values that survive become top-level properties: LocationId, BatchNumber, the file creation date and time, Provider and Version. The BT trailer's record counts and totals are not sent.
  • Record-type codes are not sent. The JSON object a value sits in tells the API which record it belongs to. The same goes for the flat file's link fields that tie records together (for example a load id repeated on every record). The JSON nesting does that job, although several link fields are still accepted as properties where the tables say so.
  • One file name property per payload. POFileName, PIFileName, PSFileName, MTFileName, DIFileName and LIFileName carry the file name you would have used for the flat file. Keep the same naming convention. The two-letter prefix (PO, RL, PI, PS, MT, DI, LI) matters.
  • Dates and times. Where the layout splits a value into a date field and a time field, the API has one datetime property. Send datetimes in ISO 8601, for example 2026-09-30T14:05:00. Some older properties are typed string although they hold a date. The tables flag these, and ISO 8601 is recommended for them too.
  • Numbers. Send JSON numbers with . as the decimal separator. There's no zero-padding, no implied decimals and no fixed width. 12.5 means 12.5, not 0001250.
  • Strings. Send the value, trimmed. There's no need to pad to the layout length. The layout lengths still show the longest value receiving systems expect.
  • Replaced ("old") fields. Some layouts keep a short field in its original position and add a longer replacement further along the record. In the API, send the value in the property the table points to. The Notes column says which one.
  • Paltrack-internal fields. Where the layout says a field is set by Paltrack or should be left blank, it is either not in the API or can be left out. The Notes column says which.
  • Pallets are identified by SSCC. Where a layout has both a pallet id and an SSCC field, the SSCC replaces the pallet id. Use the SSCC property.
  • Part pallets are not accepted. For Dispatch, Intake and Mates, the PalletQuantity values for one SSCC must add up to exactly 1. For Stock they must not exceed 1: a lower total is accepted, because stock can include a broken-down pallet. See Validation in the Vendor Integration Guide.

What the API does not carry

Most layout fields have a JSON property. The main exceptions are listed under Not in the API for each type. The biggest is that the Intake API has no equivalent of the IS (summary) and EV (evaluation) records. PM (pallet movement) records are carried, in PalletMovements[] (see PI).

What changed

  • 1 October 2026: Intake carries PM (pallet movement) records in PalletMovements[]. Each movement is routed on its own fields by the recipient's split rules, and a payload may carry movements only.
  • 30 September 2026: First version. It reflects two rule changes released the same day. Stock accepts a PalletQuantity total below 1 per SSCC (a broken-down pallet), and Mates identifies pallets by SSCC, with PalletId now optional.
Dispatch · PO / RL

PO — Dispatch

Truck dispatches (PO) and railings (RL) are submitted with POST /v2/SubmitDispatch, with a POFileDTO request body. Recipients get the same shape back from POST /v1/GetPayload. This section maps every field of the RL/PO flat-file layout (v2.18, 17 November 2022) to its JSON property.

Shape

Flat-file recordJSON objectOccurs
(file name)POFileName1
BH — Batch headerPOFileDTO (root properties)1
OH — Truck headerTruckHeader1
OL — Transport location, loading (seq 1, tran_type L)Consignments[].LoadingLocation1 per consignment
OL — Transport location, discharge (seq 2+, tran_type D)Consignments[].DispatchLocaton1 per consignment
OC — Truck documentConsignments[]1..n
OK — Truck containerConsignments[].Container0..1 per consignment
OP — Truck palletConsignments[].Pallets[]1..n per consignment
BT — Batch trailer—Not in the API
  • One truck per payload, as in the flat file.
  • Each OC becomes one Consignments[] element. It carries its own copy of the loading OL (LoadingLocation), the discharge OL it sits under (DispatchLocaton), its OK record (Container) and its OP records (Pallets[]).
  • Container is a single object, not an array. Send null when the consignment has no container.
  • Pallets[] has one element per pallet sequence (SSCC + SequenceNumber). Put each pallet only under its own consignment.
  • Nesting replaces the flat-file record order, but the link fields are still sent: Container.DocumentNumber and Pallets[].ConsignmentNumber carry the consignment number.

Before you start

  • PO and RL share this endpoint and POFileDTO. POFileName must start with PO (dispatch) or RL (railings), and the prefix decides which type the payload is. Follow the flat-file convention: POxxxyyy.zzz or RLxxxyyy.zzz.
  • Send both Consignments[].DispatchLocaton.LocationCode and Consignments[].DestinationCode, with the same value, on every consignment. The destination is taken from them; if either is missing or they differ, the dispatch will not reach the right recipient. DispatchLocaton is spelt that way in the API (no "i"). A property named DispatchLocation is not read.
  • Root LocationCode is the sending depot's Paltrack depot code. It is required and must be a depot registered with Paltrack, or the payload is rejected.
  • Consignments[].LoadId is a string. Every other LoadId (TruckHeader, LoadingLocation, DispatchLocaton, Container, Pallets[]) is an integer. In all of them, send only the internal load id (the 6 digits after xxx- in the flat-file load_id).
  • No part pallets. For each SSCC, the sum of Pallets[].PalletQuantity across all consignments must be 1 (±0.001), or the payload is rejected with PART_PALLET.
  • Some properties must be present even when they have no value. Send "", not null, and do not leave them out: TruckHeader.NextType, TruckHeader.NextCode, Container.DocumentNumber, and on each pallet StackVariance, PackhouseCode, Orchard, TargetRegion, TargetCountry.
  • Formats: every datetime takes ISO 8601, e.g. 2026-09-30T14:05:00, and each layout date + time pair is one property. Numbers use . as the decimal separator, with no padding. Send the same value twice where noted: ProductionId and ProductionRun, and SAECSVoyage and ExtSAECSVoyage.

BH — Batch header → POFileDTO (root)

PosLenLayout fieldJSON propertyTypeReqNotes
——File namePOFileNamestringREQFormat: POxxxyyy.zzz (dispatch) or RLxxxyyy.zzz (railings). Must start with PO or RL.
12record type——Implied by the object; no property.
33network addressLocationIdstringREQLocation id of the sending depot (the xxx in the file name).
66batch numberBatchNumberstringREQSend as a string. Format: 6 digits, zero-padded, e.g. 000123.
128Create dateCreatedDateTimedatetimeCombined with create time into one datetime. Defaults to the time of submission.
208create timeCreatedDateTimedatetimeCombined with Create date into one datetime.
282indicator——Not in the API.
3030providerProviderstringName of the submitting system. Defaults to Paltrack API.
6030versionVersionstringVersion of the submitting system.

OH — Truck header → TruckHeader

PosLenLayout fieldJSON propertyTypeReqNotes
12record type——Implied by the object; no property.
310load_idTruckHeader.LoadIdintegerInternal load id only (the 6 digits after xxx-).
1310load_refTruckHeader.LoadReferencestringTruck number.
2325load_nameTruckHeader.LoadNamestringTruck name.
481transportTruckHeader.TransportstringValues: R = rail, T = truck.
491load_typeTruckHeader.LoadTypestringValues: F = flat-bed, R = reefer.
501load_statusTruckHeader.LoadStatusstringValues: P = planning, T = timekeeper, B = busy, L = loaded, G = cons generated, D = departed, R = resend.
5113tk_date——Not in the API.
647tk_user——Not in the API.
7113start_dateTruckHeader.StartDatedatetime
847user_id——Not in the API.
917partner_id——Not in the API.
9813end_dateTruckHeader.EndDatedatetime
11113dep_dateTruckHeader.DepartureDatedatetime
1242handle_pointTruckHeader.HandlePointstringDispatch handling point.
1268carrierTruckHeader.Carrierstring
1345plt_qtyTruckHeader.PalletQuantityintegerREQTotal pallets on the truck.
1398ctn_qtyTruckHeader.CartonQuantityintegerREQTotal cartons on the truck.
14712sub_loadTruckHeader.SubLoadstring
1592next_typeTruckHeader.NextTypestringREQValues: DP = depot, CU = customer. May be "".
1617next_codeTruckHeader.NextCodestringREQNext location code. May be "".
1686saecs_voyageTruckHeader.SAECSVoyagestringReplaced by Ext_saecs_voyage (pos 255). Send the same value here and in TruckHeader.ExtSAECSVoyage.
1748phyto_noTruckHeader.PhytoNumberstring
1821full_loadTruckHeader.FullLoadstringValues: Y = fully loaded, N = not.
1831instr_typeTruckHeader.InstructionTypestringValues: D = day, Z = container, N = none.
1846master_ordTruckHeader.MasterOrderstringInstruction order number.
1907locn_codeTruckHeader.LocationCodestringCurrent location.
1974seasonTruckHeader.SeasonstringREQ
2016client_refTruckHeader.ClientReferencestring
2078trip_noTruckHeader.TripNumberstring
2151xmit_flagTruckHeader.XmitFlagstringValues: Y, N.
2165revisionTruckHeader.Revisioninteger
2218mesg_no——Not in the API.
2297tran_userTruckHeader.TransactionUserstringREQ
2368tran_dateTruckHeader.TransactionDateTimedatetimeCombined with tran_time into one datetime. Always send it.
2445tran_timeTruckHeader.TransactionDateTimedatetimeCombined with tran_date into one datetime.
2496TemperatureTruckHeader.TemperaturenumberNo reading: omit or send null, not 0. Payloads converted from flat files may carry the flat-file value 99.99.
25515Ext_saecs_voyageTruckHeader.ExtSAECSVoyagestring
27010Truck_weightTruckHeader.TruckWeightnumberFully loaded truck weight (truck plus load).
28015Trailer1TruckHeader.Trailer1stringFirst trailer registration number.
29515Trailer2TruckHeader.Trailer2stringSecond trailer registration number.

OL — Transport location → Consignments[].LoadingLocation / Consignments[].DispatchLocaton

The loading OL (seq 1, tran_type L) goes into LoadingLocation on every consignment. The discharge OL that a consignment sits under goes into that consignment's DispatchLocaton. Req applies whenever the object is sent. Send DispatchLocaton on every consignment (see Before you start).

PosLenLayout fieldJSON propertyTypeReqNotes
12record type——Implied by the object; no property.
310load_idConsignments[].LoadingLocation.LoadId<br>Consignments[].DispatchLocaton.LoadIdintegerInternal load id only.
132locn_typeConsignments[].LoadingLocation.LocationType<br>Consignments[].DispatchLocaton.LocationTypestringREQValues: DP = depot, CU = customer, FA = farm.
157locn_codeConsignments[].LoadingLocation.LocationCode<br>Consignments[].DispatchLocaton.LocationCodestringREQDispatchLocaton.LocationCode must equal Consignments[].DestinationCode.
225seq_noConsignments[].LoadingLocation.SequenceNumber<br>Consignments[].DispatchLocaton.SequenceNumberintegerREQ1 = loading point; 2 and up = discharge points.
271tran_typeConsignments[].LoadingLocation.TranType<br>Consignments[].DispatchLocaton.TranTypestringREQValues: L = loading, D = discharge.
282handle_pointConsignments[].LoadingLocation.HandlePoint<br>Consignments[].DispatchLocaton.HandlePointstring
308arr_dateConsignments[].LoadingLocation.ArrivalDateTime<br>Consignments[].DispatchLocaton.ArrivalDateTimedatetimeCombined with arr_time into one datetime.
385arr_timeConsignments[].LoadingLocation.ArrivalDateTime<br>Consignments[].DispatchLocaton.ArrivalDateTimedatetimeCombined with arr_date into one datetime.
438dep_dateConsignments[].LoadingLocation.DepartureDateTime<br>Consignments[].DispatchLocaton.DepartureDateTimedatetimeCombined with dep_time into one datetime.
515dep_timeConsignments[].LoadingLocation.DepartureDateTime<br>Consignments[].DispatchLocaton.DepartureDateTimedatetimeCombined with dep_date into one datetime.
5610conn_flightConsignments[].LoadingLocation.ConnectingFlight<br>Consignments[].DispatchLocaton.ConnectingFlightstring
661load_statusConsignments[].LoadingLocation.LoadStatus<br>Consignments[].DispatchLocaton.LoadStatusstring
671xmit_flagConsignments[].LoadingLocation.XmitFlag<br>Consignments[].DispatchLocaton.XmitFlagstringValues: Y, N.
685revisionConsignments[].LoadingLocation.Revision<br>Consignments[].DispatchLocaton.Revisioninteger
738mesg_no——Not in the API.
817tran_userConsignments[].LoadingLocation.TransactionUser<br>Consignments[].DispatchLocaton.TransactionUserstring
888tran_dateConsignments[].LoadingLocation.TransactionDateTime<br>Consignments[].DispatchLocaton.TransactionDateTimedatetimeCombined with tran_time into one datetime. Always send it.
965tran_timeConsignments[].LoadingLocation.TransactionDateTime<br>Consignments[].DispatchLocaton.TransactionDateTimedatetimeCombined with tran_date into one datetime.

OC — Truck document → Consignments[]

PosLenLayout fieldJSON propertyTypeReqNotes
12record type——Implied by the object; no property.
310load_idConsignments[].LoadIdstringSend as a string. Internal load id only, e.g. "123456".
137locn_codeConsignments[].LocationCodestringREQThe sending depot code (same as root LocationCode).
202orgznConsignments[].OrganisationstringREQOrganisation code.
2210cons_noConsignments[].ConsignmentNumberstringREQDocument number.
322cons_typeConsignments[].ConsignmentTypestringValues: OT = out consignment, DO = delivery note, RL = railings.
348cons_dateConsignments[].ConsignmentDatedatetimeDocument date.
426accountConsignments[].AccountstringDepot account number.
481channelConsignments[].ChannelstringREQValues: E = export, L = local.
498pro_noConsignments[].ProNumberinteger
576grower_allocConsignments[].GrowerAllocationstring
638ctn_qtyConsignments[].CartonQuantityintegerREQTotal cartons on the document.
715plt_qtyConsignments[].PalletQuantityintegerREQTotal pallets on the document.
765full_palletConsignments[].FullPalletinteger
815inc_pallet——Not in the API.
864seasonConsignments[].SeasonstringREQ
9010client_refConsignments[].ClientReferencestring
1004allow_code——Not in the API.
1041allow_del——Not in the API.
1051liner_bd——Not in the API.
1061plas_cover——Not in the API.
1071spoor_load——Not in the API.
1081repack_flag——Not in the API.
1092endorse1——Not in the API.
1112endorse2——Not in the API.
1132endorse3——Not in the API.
1152endorse4——Not in the API.
1176order_noConsignments[].OrderNumberstring
1232dest_typeConsignments[].DestinationTypestringValues: DP = depot, CU = customer.
1257dest_codeConsignments[].DestinationCodestringMust equal Consignments[].DispatchLocaton.LocationCode. See Before you start.
1325cnts_on_truckConsignments[].CartonsOnTruckinteger
1375mix_cnt_pals——Not in the API.
1425cons_count——Not in the API.
1475pals_unstable——Not in the API.
1525pals_damage——Not in the API.
1575pals_sundry——Not in the API.
1621cons_statusConsignments[].ConsignmentStatusstringValues: P = printed.
1635batchConsignments[].Batchinteger
1681xmit_flagConsignments[].XmitFlagstringValues: Y, N.
1695revisionConsignments[].Revisioninteger
1748mesg_no——Not in the API.
1827tran_userConsignments[].TransactionUserstring
1898tran_dateConsignments[].TransactionDateTimedatetimeCombined with tran_time into one datetime.
1975tran_timeConsignments[].TransactionDateTimedatetimeCombined with tran_date into one datetime.
2021pallet_btypeConsignments[].PalletBaseTypestringValues: S = standard, I = Ifco.
2036TemperatureConsignments[].TemperaturenumberNo reading: omit or send null, not 0. Payloads converted from flat files may carry the flat-file value 99.99.
2092PrincipalConsignments[].Principalstring
2112Steri_flagConsignments[].SteriFlagstring
2132Steri_destConsignments[].SteriDestinationstring
2156InspectorConsignments[].InspectorstringInspector code.

OK — Truck container → Consignments[].Container

One OK per OC. When a consignment has no container, send Container: null. Req applies whenever the object is sent.

PosLenLayout fieldJSON propertyTypeReqNotes
12record type——Implied by the object; no property.
310load_idConsignments[].Container.LoadIdintegerInternal load id only.
137locn_codeConsignments[].Container.LocationCodestringREQCurrent location.
2011containerConsignments[].Container.ContainerNumberstringREQAlso the container of every pallet in the consignment.
318seal_no——Replaced by Seal_no (pos 226). Use Consignments[].Container.SealNumber.
396positionConsignments[].Container.Positionstring
456ateti_noConsignments[].Container.AtetiNumberstringIf there is no ateti number, the discharge port.
518pro_noConsignments[].Container.ProNumberinteger
5913stuff_dateConsignments[].Container.StuffDatedatetimeDate the container was stuffed.
726temp_setConsignments[].Container.TemperatureSetnumberLeave out if there is no temperature.
786disch_portConsignments[].Container.DischargePortstringREQ
848cto_no——Replaced by Cto_no (pos 251). Use Consignments[].Container.CTONumber.
921ship_line——Replaced by Ship_line (pos 316). Use Consignments[].Container.ShipLine.
9310doc_noConsignments[].Container.DocumentNumberstringREQThe consignment's ConsignmentNumber. May be "".
1032senderConsignments[].Container.Senderstring
1052agentConsignments[].Container.Agentstring
1072ship_senderConsignments[].Container.ShipSenderstring
1092ship_agentConsignments[].Container.ShipAgentstring
1112orgznConsignments[].Container.OrganisationstringOrganisation code.
1137load_depotConsignments[].Container.LoadDepotstringREQCurrent location.
1205ctn_qtyConsignments[].Container.CartonQuantityintegerTotal cartons in the container.
1255plt_qtyConsignments[].Container.PalletQuantityintegerTotal pallets in the container.
1307tk_user——Not in the API.
1377in_user——Not in the API.
1447in_partner——Not in the API.
1518ryan_no——Replaced by Ryan_no (pos 261). Use Consignments[].Container.RyanNumber.
1591cont_statusConsignments[].Container.ContainerStatusstring
1601xmit_flagConsignments[].Container.XmitFlagstringValues: Y, N.
1615revisionConsignments[].Container.Revisioninteger
1668mesg_noConsignments[].Container.MessageNumberintegerRenamed.
1747tran_userConsignments[].Container.TransactionUserstring
1818tran_dateConsignments[].Container.TransactionDateTimedatetimeCombined with tran_time into one datetime.
1895tran_timeConsignments[].Container.TransactionDateTimedatetimeCombined with tran_date into one datetime.
1946ship numberConsignments[].Container.ShipNumberstringShip the container will be loaded on. Also the ship number of every pallet in the consignment.
2001pallet_btypeConsignments[].Container.PalletBaseTypestringValues: S = standard, I = Ifco.
2011Container typeConsignments[].Container.ContainerTypestring
2025% ventsConsignments[].Container.PercentageVentsintegerPercentage of vents open.
2072principalConsignments[].Container.Principalstring
20915Container_ref——Replaced by Container_Ref (pos 346). Use Consignments[].Container.ContainerReference.
2242Container_sizeConsignments[].Container.ContainerSizestring
22615Seal_noConsignments[].Container.SealNumberstringREQ
24110Consec_noConsignments[].Container.ConsecNumberstring
25110Cto_noConsignments[].Container.CTONumberstring
26110Ryan_noConsignments[].Container.RyanNumberstring
27125Ship nameConsignments[].Container.ShipNamestring
29610Voyage noConsignments[].Container.VoyageNumberstring
30610Ship_call_signConsignments[].Container.ShipCallSignstring
3162Ship_lineConsignments[].Container.ShipLinestring
3181Verification MethodConsignments[].Container.VerificationMethodintegerSOLAS. Integer in the API (Alpha in the layout).
3195Container Tare WeightConsignments[].Container.ContainerTareWeightinteger
32410Container Gross MassConsignments[].Container.ContainerGrossMassintegerSOLAS. Format: whole kilograms; the layout's 3 decimals are not carried.
33410SAMSA AccreditationConsignments[].Container.SAMSAAccreditationstring
3442Responsible PartyConsignments[].Container.ResponsiblePartystring
34625Container_RefConsignments[].Container.ContainerReferencestring

OP — Truck pallet → Consignments[].Pallets[]

One element per pallet sequence. For each SSCC, PalletQuantity must add up to 1 across all consignments (see Before you start).

PosLenLayout fieldJSON propertyTypeReqNotes
12record type——Implied by the object; no property.
310load_idConsignments[].Pallets[].LoadIdintegerInternal load id only.
139pallet_id——Replaced by Sscc (pos 316). Use Consignments[].Pallets[].SSCC.
225seq_noConsignments[].Pallets[].SequenceNumberintegerREQ
271unit_typeConsignments[].Pallets[].UnitTypestringValues: P = pallet, C = carton.
286positionConsignments[].Pallets[].PositionstringHatch and deck, for conventional ships.
342senderConsignments[].Pallets[].SenderCodestringRenamed.
362agentConsignments[].Pallets[].AgentCodestringRenamed.
382Ship_senderConsignments[].Pallets[].ShipSenderCodestringRenamed.
402ship_agentConsignments[].Pallets[].ShipAgentCodestringRenamed.
422dest_typeConsignments[].Pallets[].DestinationTypestringREQValues: DP = depot, CU = customer, PO = port.
447dest_locnConsignments[].Pallets[].DestinationLocationstringREQ
5110cons_noConsignments[].Pallets[].ConsignmentNumberstringREQMust equal the parent Consignments[].ConsignmentNumber.
6111container——No pallet property. Send it on Consignments[].Container.ContainerNumber.
721cont_split——Not in the API.
731channelConsignments[].Pallets[].ChannelstringREQValues: E = export, L = local.
742orgznConsignments[].Pallets[].OrganisationstringREQOrganisation code.
762countryConsignments[].Pallets[].CountrystringREQ
782comm_grpConsignments[].Pallets[].CommodityGroupstring
802commodityConsignments[].Pallets[].CommoditystringREQ
822var_grpConsignments[].Pallets[].VarietyGroupstring
843varietyConsignments[].Pallets[].VarietystringREQ
873sub_varConsignments[].Pallets[].SubVarietystring
903act_varConsignments[].Pallets[].ActualVarietystring
934packConsignments[].Pallets[].PackstringREQ
974gradeConsignments[].Pallets[].GradestringREQ
1015markConsignments[].Pallets[].MarkstringREQ
1065size_countConsignments[].Pallets[].SizeCountstringREQ
1112inv_codeConsignments[].Pallets[].InventoryCodestring
1134pick_refConsignments[].Pallets[].PickingReferencestring
1177farmConsignments[].Pallets[].FarmstringREQ
1242prod_grpConsignments[].Pallets[].ProductGroupstring
1263prod_charConsignments[].Pallets[].ProductCharacteristicstring
1292targ_mktConsignments[].Pallets[].TargetMarketstringREQ
1315ctn_qtyConsignments[].Pallets[].CartonQuantityintegerREQ
1369plt_qtyConsignments[].Pallets[].PalletQuantitynumberREQFraction of a pallet, e.g. 0.34. Per SSCC the total must be 1.
1451mixed_indConsignments[].Pallets[].MixedIndicatorstringREQValues: N = no, Y = yes, G = generic.
1468remarksConsignments[].Pallets[].Remarksstring
1544reasonConsignments[].Pallets[].Reasonstring
1588intake_dateConsignments[].Pallets[].IntakeDatedatetimeIntake date at the current location.
1667orig_depotConsignments[].Pallets[].OriginalDepotstring
1738orig_intakeConsignments[].Pallets[].OriginalIntakedatetimeIntake date at the original depot.
1811shift——Not in the API.
1828shift_date——Not in the API.
1906order_noConsignments[].Pallets[].OrderNumberstringInstruction the fruit was loaded out against.
1967locn_codeConsignments[].Pallets[].LocationCodestringREQCurrent location.
2032storeConsignments[].Pallets[].Storestring
2052stock_poolConsignments[].Pallets[].StockPoolstringREQe.g. CE = certified, RJ = rejected.
20713shipped_dateConsignments[].Pallets[].ShippedDatedatetimeDate the fruit was loaded out.
2201xmit_flagConsignments[].Pallets[].XmitFlagstringValues: Y, N.
2215revisionConsignments[].Pallets[].Revisioninteger
2268mesg_no——Not in the API.
2347tran_userConsignments[].Pallets[].TransactionUserstring
2418tran_dateConsignments[].Pallets[].TransactionDateTimedatetimeCombined with tran_time into one datetime.
2495tran_timeConsignments[].Pallets[].TransactionDateTimedatetimeCombined with tran_date into one datetime.
2541pallet_btypeConsignments[].Pallets[].PalletBaseTypestringValues: S = standard, I = Ifco.
25510orig_consConsignments[].Pallets[].OriginalConsignmentstringOriginal intake document number.
2656ship number——No pallet property. Send it on Consignments[].Container.ShipNumber.
2716temperatureConsignments[].Pallets[].TemperaturenumberNo reading: omit or send null, not 0. Payloads converted from flat files may carry the flat-file value 99.99.
2779combo_pallet_id——Not in the API. Replaced by Combo_sscc (pos 474), which is also not in the API.
28620temp_device_idConsignments[].Pallets[].TemperatureDeviceIdstring
3062temp_device_typeConsignments[].Pallets[].TemperatureDeviceTypestring
3086boe_noConsignments[].Pallets[].BoeNumberstringBill of entry number.
3142principalConsignments[].Pallets[].Principalstring
31618SsccConsignments[].Pallets[].SSCCstringREQPallet id. The part-pallet rule is checked per SSCC.
3349Nett massConsignments[].Pallets[].NettMassnumberFormat: kg, up to 3 decimals.
34316Saftbin1——Not in the API.
35916Saftbin2——Not in the API. Grape perforation value.
37516Saftbin3——Not in the API.
3916Orig_accountConsignments[].Pallets[].OriginalAccountstring
3978Inspec_dateConsignments[].Pallets[].InspectionDatedatetime
4051Stack_varianceConsignments[].Pallets[].StackVariancestringREQMay be "".
4061Store_typeConsignments[].Pallets[].StoreTypestring
40720Batch_noConsignments[].Pallets[].BatchNumberstring
42710Waybill_noConsignments[].Pallets[].WaybillNumberstring
43714GtinConsignments[].Pallets[].GTINstring
4517Packh_codeConsignments[].Pallets[].PackhouseCodestringREQMay be "".
4582Steri_flagConsignments[].Pallets[].SteriFlagstring
4602Steri_destConsignments[].Pallets[].SteriDestinationstring
4621Label_typeConsignments[].Pallets[].LabelTypestring
4631Prov_flagConsignments[].Pallets[].ProvisionalFlagstringProvisional intake.
46410SellbyCodeConsignments[].Pallets[].SellByCodestring
47418Combo_sscc——Not in the API.
4926InspectorConsignments[].Pallets[].InspectorstringInspector code.
4986Inspect_pntConsignments[].Pallets[].InspectionPointstring
50410Expiry-codeConsignments[].Pallets[].ExpiryCodestring
51415OrchardConsignments[].Pallets[].OrchardstringREQMay be "".
5295Target_regionConsignments[].Pallets[].TargetRegionstringREQMay be "".
5342Target_countryConsignments[].Pallets[].TargetCountrystringREQMay be "".
53620Global_gap_numberConsignments[].Pallets[].GlobalGapNumberstring
55620Lot_noConsignments[].Pallets[].LotNumberstring
57620Traceability_codeConsignments[].Pallets[].TraceabilityCodestring
5964SeasonConsignments[].Pallets[].SeasonstringREQ
6008Orig_inspec_dateConsignments[].Pallets[].OriginalInspectionDatedatetime
60810Inner_packConsignments[].Pallets[].InnerPackstring
6185Inner_cartonsConsignments[].Pallets[].InnerCartonsstringSend as a string.
62320Production_idConsignments[].Pallets[].ProductionIdstringSend the same value in Consignments[].Pallets[].ProductionRun.
6432Protocol_exception_indicatorConsignments[].Pallets[].ProtocolExceptionIndicatorstring
64525UPNConsignments[].Pallets[].UPNstring
67030Pallet_treatmentConsignments[].Pallets[].PalletTreatmentstringIPPC treatment code.
70010Pallet Gross MassConsignments[].Pallets[].PalletGrossMassnumberSOLAS. Send on the first sequence of the pallet only.
71010SAMSA AccreditationConsignments[].Pallets[].SAMSAAccreditationstring
7207Weighing LocationConsignments[].Pallets[].WeighingLocationstring
72713Weighing Date TimeConsignments[].Pallets[].WeighingDateTimedatetime
7402Main AreaConsignments[].Pallets[].MainAreastring
74216Production AreaConsignments[].Pallets[].ProductionAreastring
75810Phyto_dataConsignments[].Pallets[].PhytoDatastringFormat: 2-char protocol + 2-char FMS pallet status + 6 spaces.
76840Cust_ordConsignments[].Pallets[].CustomerOrderstringCustomer order number.
80810Re_inspec_docConsignments[].Pallets[].ReInspectionDocumentNumberstringPPECB re-inspection document number.
81810eLot_Key——Replaced by eLot_Key (pos 998). Use Consignments[].Pallets[].ELotKey.
82810Agreement codeConsignments[].Pallets[].AgreementCodestring
838140Post TreatmentConsignments[].Pallets[].PostTreatmentstring
97820Reference NumberConsignments[].Pallets[].ReferenceNumberstring
99815eLot_KeyConsignments[].Pallets[].ELotKeystring

BT — Batch trailer → not in the API

The API has no trailer. Counts and totals come from the arrays themselves.

PosLenLayout fieldJSON propertyTypeReqNotes
12record type——Not in the API.
33network address——Not in the API. Sent once as LocationId.
66batch number——Not in the API. Sent once as BatchNumber.
127record count——Not in the API.
195OH count——Not in the API.
245OL count——Not in the API.
295OC count——Not in the API.
345OK count——Not in the API.
395OP count——Not in the API.
448total carton count——Not in the API.
529total pallet count——Not in the API.

API-only properties

JSON propertyTypeMeaning / what to send
LocationCodestringRequired. Paltrack depot code of the sending depot. Must be registered with Paltrack.
POPreviousFileNamestringOptional. The previous file name, when this is a re-submission.
Consignments[].InspectionPointstringInspection point for the consignment. No OC layout field.
Consignments[].Pallets[].ProductionRunstringSend the same value as Consignments[].Pallets[].ProductionId (Production_id, pos 623).
Consignments[].Pallets[].ReInspectionDatedatetimeNext re-inspection date. No layout field.
Consignments[].Pallets[].PassedFlagbooleanInspection passed (true) or failed (false). No layout field.
Consignments[].Pallets[].PrincipalProducerstringPrincipal producer code. No layout field.
Consignments[].Pallets[].PrincipalProducerDescriptionstringPrincipal producer description. No layout field.
Consignments[].Pallets[].POFilenamestringPaltrack sets it; do not send.

Not in the API

Old fields that have a newer replacement are not listed here; the Notes column gives the field to use.

  • BH: indicator.
  • OH: tk_date, tk_user, user_id, partner_id, mesg_no.
  • OL: mesg_no.
  • OC: inc_pallet, allow_code, allow_del, liner_bd, plas_cover, spoor_load, repack_flag, endorse1–endorse4, mix_cnt_pals, cons_count, pals_unstable, pals_damage, pals_sundry, mesg_no.
  • OK: tk_user, in_user, in_partner.
  • OP: cont_split, shift, shift_date, mesg_no, combo_pallet_id, Combo_sscc, Saftbin1, Saftbin2, Saftbin3. Mini-pallet (combo) links cannot be sent. The pallet's container and ship number have no pallet property; they come from Consignments[].Container.
  • BT: the batch trailer is not in the API. No record counts or totals are sent.
Intake · PI

PI — Intake

Cold-store intakes are submitted with POST /v2/SubmitIntake, with a PIFileDTO request body. Recipients get the same shape back from POST /v1/GetPayload. This section maps every field of the PI flat-file layout (v1.24, 17 November 2022) to its JSON property.

Shape

Flat-file recordJSON objectOccurs
(file name)PIFileName1
BH — Batch headerPIFileDTO (root properties)1
IC — In consignmentDocuments[]1..n
IC transport fields (pos 221–366 and 381)Documents[].TransferInDetails0..1 per document
IS — In summary (fspec)—Not in the API
IP — In palletDocuments[].Pallets[]0..n per document
EV — Evaluation—Not in the API
PM — Pallet movementPalletMovements[]0..n per file
Dummy IC records before BT—Not applicable
BT — Batch trailer—Not in the API
  • The IS (summary) and EV (evaluation) records are not in the API. There is no summary or evaluation object in PIFileDTO.
  • PM (pallet movement) records go in PalletMovements[] at file level, not under a document.
  • Pallets sit directly under their document. The IS level between IC and IP falls away.
  • Pallets[] has one element per pallet sequence (SSCC + SequenceNumber). Each element still carries DocumentNumber, Organisation, LocationCode and LoadId.
  • TransferInDetails is a single object, not an array. Send null when there are no transport details.
  • Send only real documents. The dummy IC records that some flat files carry before BT have no place in the API.

Before you start

  • IS and EV records are not in the API. Anyone who needs fspec summaries works them out from Pallets[]. Evaluation results cannot be sent.
  • Send every PM record as a PalletMovements[] element. HistoryType and SSCC are required on each. Put the SSCC after the movement in NewSSCC. Populate Organisation: movements are routed on their own fields, so a movement with a blank organisation does not reach recipients that receive by organisation.
  • PIFileName is required and must follow the flat-file convention PIxxxyyy.zzz, where xxx is your network address. Paltrack uses the name to route the intake to recipients.
  • Root LocationCode is required and must be a depot registered with Paltrack. LocationId is used to find the depot when LocationCode does not match directly. Send at least one document or one pallet movement. A file of movements only has an empty Documents.
  • Populate Pallets[].Organisation on every pallet. Routing uses the pallet's organisation, not the document's. A pallet with a blank organisation does not reach recipients that receive by organisation. Use the same value as Documents[].Organisation.
  • Pallets[].DocumentNumber must equal the parent Documents[].DocumentNumber. Pallets[].SequenceNumber is required on every pallet and must be 1 or more.
  • No part pallets. Send SSCC and PalletQuantity on every pallet. For each SSCC, the sum of PalletQuantity over its sequences must be 1 (±0.001), or the payload is rejected with PART_PALLET.
  • Documents[].DocumentDate and Documents[].RailDate are strings, not datetimes. Send them in ISO 8601, e.g. 2026-09-30T00:00:00. All other dates are datetime properties and also take ISO 8601; each layout date + time pair is one property. Documents[].InspectTemperature and Documents[].Batch are strings too. Always send Documents[].TransactionDate.

BH — Batch header → PIFileDTO (root)

PosLenLayout fieldJSON propertyTypeReqNotes
——File namePIFileNamestringREQFormat: PIxxxyyy.zzz (xxx = your network address).
12record type——Implied by the object; no property.
33network AddressLocationIdstringYour network address (the xxx in the file name).
66batch NumberBatchNumberstringSend as a string.
128create dateCreateDateTimedatetimeCombined with create time into one datetime. Spelt CreateDateTime here (PO uses CreatedDateTime).
208create timeCreateDateTimedatetimeCombined with create date into one datetime.
2830providerProviderstringName of the submitting system.
5830version numberVersionstringVersion of the submitting system.

IC — In consignment → Documents[] and Documents[].TransferInDetails

PosLenLayout fieldJSON propertyTypeReqNotes
12record type——Implied by the object; no property.
310load_id——Not in the API. The pallet-level load id is Documents[].Pallets[].LoadId.
132location type——Not in the API.
157location codeDocuments[].LocationCodestringDefaults to root LocationCode when omitted.
2210document numberDocuments[].DocumentNumberstringConsignment number.
321truck level——Not in the API.
332organisationDocuments[].OrganisationstringSend the same value on every pallet (Pallets[].Organisation).
352document typeDocuments[].DocumentTypestringValues: TI = transfer in, FI = first intake.
378document dateDocuments[].DocumentDatestringSend as a string. Format: ISO 8601, e.g. 2026-09-30T00:00:00.
458rail dateDocuments[].RailDatestringSend as a string. Format: ISO 8601, e.g. 2026-09-30T00:00:00.
536accountDocuments[].Accountstring
591channelDocuments[].Channelstring
605pro_no——Not in the API.
658carton quantityDocuments[].CartonQuantityinteger
739pallet quantityDocuments[].PalletQuantitynumberFormat: decimal, e.g. 8.0.
828full pallet——Not in the API.
908inc_pallet——Not in the API.
984seasonDocuments[].Seasonstring
10210client_refDocuments[].ClientReferencestring
1122endorse1——Not in the API.
1142endorse2——Not in the API.
1162endorse3——Not in the API.
1182endorse4——Not in the API.
1206order_noDocuments[].OrderNumberstring
1262from location typeDocuments[].FromLocationTypestring
1287from location codeDocuments[].FromLocationCodestring
1351document statusDocuments[].DocumentStatusstring
1364inspectorDocuments[].Inspectorstring
1401inspector flagDocuments[].InspectorFlagbooleanFormat: true / false (flat file Y / N).
1418inspection dateDocuments[].InspectionDatedatetimeCombined with inspection time into one datetime.
1495inspection timeDocuments[].InspectionDatedatetimeCombined with inspection date into one datetime.
1544inspection pointDocuments[].InspectionPointstring
1586inspection reportDocuments[].InspectionReportstring
1646Evaluation FROM number——Not in the API.
1706Evaluation TO number——Not in the API.
1766TemperatureDocuments[].TemperaturenumberNo reading: omit or send null, not 0.
1825Batch (=Eval Quantity)Documents[].BatchstringSend as a string.
1871Transmission FlagDocuments[].TransmissionFlagbooleanPaltrack sets it; do not send.
1885Revision NumberDocuments[].RevisionNumberinteger
1938Message Number (Inspect Samples)——Not in the API.
2017Transaction UserDocuments[].TransactionUserstring
2088Transaction DateDocuments[].TransactionDatedatetimeCombined with Transaction Time into one datetime. Always send it.
2165Transaction TimeDocuments[].TransactionDatedatetimeCombined with Transaction Date into one datetime.
22110Load ReferenceDocuments[].TransferInDetails.LoadReferencestring
23125Load NameDocuments[].TransferInDetails.LoadNamestring
2561Transport TypeDocuments[].TransferInDetails.TransportTypestring
2571Truck TypeDocuments[].TransferInDetails.TruckTypestring
2588Arrival DateDocuments[].TransferInDetails.ArrivalDatedatetimeCombined with Arrival Time into one datetime.
2665Arrival TimeDocuments[].TransferInDetails.ArrivalDatedatetimeCombined with Arrival Date into one datetime.
2712Intake PointDocuments[].TransferInDetails.IntakePointstring
2738CarrierDocuments[].TransferInDetails.Carrierstring
2819Pallet Quantity——Not in the API. Same value as pos 73; use Documents[].PalletQuantity.
2908Carton Quantity——Not in the API. Same value as pos 65; use Documents[].CartonQuantity.
29812Truck NumberDocuments[].TransferInDetails.TruckNumberstring
3101Fully LoadedDocuments[].TransferInDetails.FullyLoadedbooleanFormat: true / false (flat file Y / N).
3111Instruction TypeDocuments[].TransferInDetails.InstructionTypestring
3126Master Order NumberDocuments[].TransferInDetails.MasterOrderNumberstring
31810Client ReferenceDocuments[].TransferInDetails.ClientReferencestringSecond client reference. The first is Documents[].ClientReference (pos 102).
3288Trip NumberDocuments[].TransferInDetails.TripNumberstring
3366Temperature1Documents[].TransferInDetails.TemperaturenumberRenamed. The API has one transport temperature, not four.
3426Temperature2——Not in the API.
3486Temperature3——Not in the API.
3546Temperature4——Not in the API.
3601Load TypeDocuments[].TransferInDetails.LoadTypestring
3616Ship NumberDocuments[].TransferInDetails.ShipNumberstring
3675OrchardDocuments[].Orchardstring
3728Reference numberDocuments[].ReferenceNumberstring
3801Pallet Base TypeDocuments[].PalletBaseTypestring
3816Bill of Entry NumberDocuments[].TransferInDetails.BillOfEntryNumberstringSits in TransferInDetails, not on the document.
3876Inspec TemperatureDocuments[].InspectTemperaturestringSend as a string, e.g. "4.50".
3932PrincipalDocuments[].Principalstring
3958Phyto dateDocuments[].PhytoDatedatetime
4037Waybill no——Replaced by Waybill no (pos 437). Use Documents[].WayBillNumber.
41010Lot noDocuments[].LotNumberstring
4207Packh_codeDocuments[].PackHouseCodestringCapital H here; the pallet property is PackhouseCode.
42710SellbyCodeDocuments[].SellByCodestring
43710Waybill noDocuments[].WayBillNumberstringCapital B here; the pallet property is WaybillNumber.

IS — In summary (fspec) → not in the API

The IS record is not in the API. There is no summary object, and none of its fields can be sent. Recipients get pallet lines only; summaries can be worked out from Documents[].Pallets[].

PosLenLayout fieldJSON propertyTypeReqNotes
12Record Type——Not in the API.
310Load Id——Not in the API.
132Location Type——Not in the API.
157Location Code——Not in the API.
2210Document Number——Not in the API.
321Channel——Not in the API.
332Organisation——Not in the API.
352Country——Not in the API.
372Commodity Group——Not in the API.
392Commodity——Not in the API.
412Variety Group——Not in the API.
433Variety——Not in the API.
463Sub Variety——Not in the API.
493Actual Variety——Not in the API.
524Pack——Not in the API.
564Grade——Not in the API.
605Mark——Not in the API.
655Count——Not in the API.
702Inventory Code——Not in the API.
724Picking Refernce——Not in the API.
767Farm / from code——Not in the API.
832Product Group——Not in the API.
853Product Characteristic——Not in the API.
882Target Market——Not in the API.
904Actual Grade——Not in the API.
945Cartons on document——Not in the API.
995Intake carton quantity——Not in the API.
1049Pallet Quantity——Not in the API.
1131Passed Flag——Not in the API.
1144Reason——Not in the API.
1185Cartons Rejected——Not in the API.
1235Cartons Discarded——Not in the API.
1285Cartons Evaluation——Not in the API.
1331Mix indicator——Not in the API.
1345Cartons Damaged——Not in the API.
1395Cartons from buildup——Not in the API.
1441Transmission flag——Not in the API.
1455Revision number——Not in the API.
1508Message number——Not in the API.
1587Transaction User——Not in the API.
1658Transaction Date——Not in the API.
1735Transaction Time——Not in the API.
1785Cartons Residue——Not in the API.
1831Pallet Base Type——Not in the API.
1842Principal——Not in the API.
18615Orchard——Not in the API.

IP — In pallet → Documents[].Pallets[]

One element per pallet sequence, nested under its document.

PosLenLayout fieldJSON propertyTypeReqNotes
12Record Type——Implied by the object; no property.
310Load IdDocuments[].Pallets[].LoadIdstringSend as a string.
132Location TypeDocuments[].Pallets[].LocationTypestringValues: DP = depot.
157Location CodeDocuments[].Pallets[].LocationCodestringDefaults to Documents[].LocationCode when omitted.
2210Document NumberDocuments[].Pallets[].DocumentNumberstringMust equal the parent Documents[].DocumentNumber.
329Pallet id——Replaced by Sscc (pos 286). Use Documents[].Pallets[].SSCC.
415Sequence NumberDocuments[].Pallets[].SequenceNumberintegerREQMust be 1 or more.
461Unit typeDocuments[].Pallets[].UnitTypestring
476PositionDocuments[].Pallets[].Positionstring
532SenderDocuments[].Pallets[].Senderstring
552Agent——Not in the API.
5711Container NumberDocuments[].Pallets[].ContainerNumberstring
681ChannelDocuments[].Pallets[].Channelstring
692OrganisationDocuments[].Pallets[].OrganisationstringPopulate on every pallet. See Before you start.
712CountryDocuments[].Pallets[].Countrystring
732Commodity GroupDocuments[].Pallets[].CommodityGroupstring
752CommodityDocuments[].Pallets[].Commoditystring
772Variety GroupDocuments[].Pallets[].VarietyGroupstring
793VarietyDocuments[].Pallets[].Varietystring
823Sub VarietyDocuments[].Pallets[].SubVarietystring
853Actual VarietyDocuments[].Pallets[].ActualVarietystring
884PackDocuments[].Pallets[].Packstring
924GradeDocuments[].Pallets[].Gradestring
965MarkDocuments[].Pallets[].Markstring
1015CountDocuments[].Pallets[].SizeCountstringRenamed.
1062Inventory CodeDocuments[].Pallets[].InventoryCodestring
1084Picking ReferenceDocuments[].Pallets[].PickingReferencestring
1127Farm / from_codeDocuments[].Pallets[].FarmstringRenamed.
1192Product GroupDocuments[].Pallets[].ProductGroupstring
1213Product CharacteristicDocuments[].Pallets[].ProductCharacteristicstring
1242Target MarketDocuments[].Pallets[].TargetMarketstring
1264Actual Grade——Not in the API.
1305Carton QuantityDocuments[].Pallets[].CartonQuantityinteger
1359Pallet QuantityDocuments[].Pallets[].PalletQuantitynumberREQFraction of a pallet, e.g. 0.5. Required on every pallet with an SSCC; per SSCC the total must be 1.
1441Mixed IndicatorDocuments[].Pallets[].MixedIndicatorstring
1458RemarksDocuments[].Pallets[].Remarksstring
1534ReasonDocuments[].Pallets[].Reasonstring
1578Intake DateDocuments[].Pallets[].IntakeDatedatetimeCombined with Intake Time into one datetime.
1655Intake TimeDocuments[].Pallets[].IntakeDatedatetimeCombined with Intake Date into one datetime.
1702Intake Point——Not in the API at pallet level. The document-level value is Documents[].TransferInDetails.IntakePoint.
1727Original Intake DepotDocuments[].Pallets[].OriginalDepotstringRenamed. Use this, not OriginalIntakeDepot.
1798Original Intake DateDocuments[].Pallets[].OriginalIntakedatetimeRenamed.
1876Order NumberDocuments[].Pallets[].OrderNumberstring
1932Stock PoolDocuments[].Pallets[].StockPoolstring
1956TemperatureDocuments[].Pallets[].TemperaturenumberNo reading: omit or send null, not 0.
2011Pallet MarksDocuments[].Pallets[].PalletMarksstring
2021Transmission flag——Not in the API. Paltrack sets it.
2035Revision numberDocuments[].Pallets[].Revisioninteger
2088Message number——Not in the API.
2167Transaction UserDocuments[].Pallets[].TransactionUserstring
2238Transaction DateDocuments[].Pallets[].TransactionDateTimedatetimeCombined with Transaction Time into one datetime.
2315Transaction TimeDocuments[].Pallets[].TransactionDateTimedatetimeCombined with Transaction Date into one datetime.
2365Cartons Rejected——Not in the API.
2415Cartons Discarded——Not in the API.
2465Cartons Evaluation——Not in the API.
2511Mix indicator——Not in the API.
2521Pallet Base TypeDocuments[].Pallets[].PalletBaseTypestring
2539Combo pallet id——Not in the API. Replaced by Combo_sscc (pos 452), which is also not in the API.
26220Temperature Device IDDocuments[].Pallets[].TemperatureDeviceIdstring
2822Temperature Device TypeDocuments[].Pallets[].TemperatureDeviceTypestring
2842PrincipalDocuments[].Pallets[].Principalstring
28618SsccDocuments[].Pallets[].SSCCstringPallet id. Send on every pallet; the part-pallet rule is checked per SSCC.
3049Nett massDocuments[].Pallets[].NettMassnumberFormat: kg, up to 3 decimals, e.g. 1317.5.
31316Saftbin1——Not in the API.
32916Saftbin2——Not in the API. Grape perforation value.
34516Saftbin3——Not in the API.
3616Orig_accountDocuments[].Pallets[].OriginalAccountstring
3678Inspec_dateDocuments[].Pallets[].InspectionDatedatetime
3751Stack_varianceDocuments[].Pallets[].StackVariancestring
3761Store_typeDocuments[].Pallets[].StoretypestringLower-case t (Storetype).
37720Batch_noDocuments[].Pallets[].BatchNumberstring
39710Waybill_noDocuments[].Pallets[].WaybillNumberstring
40714GtinDocuments[].Pallets[].GTINstring
4217Packh_codeDocuments[].Pallets[].PackhouseCodestringLower-case h here; the document property is PackHouseCode.
4282Steri_flagDocuments[].Pallets[].SteriFlagstring
4302Steri_destDocuments[].Pallets[].SteriDestinationstring
4321Label_typeDocuments[].Pallets[].LabelTypestring
4331Prov flagDocuments[].Pallets[].ProvflagbooleanProvisional intake. Format: true / false (flat file Y / N).
43410SellbyCodeDocuments[].Pallets[].SellByCodestring
4448Orchard——Replaced by Orchard (pos 480). Use Documents[].Pallets[].Orchard.
45218Combo_sscc——Not in the API.
47010Expiry_code——Not in the API.
48015OrchardDocuments[].Pallets[].Orchardstring
4955Target_regionDocuments[].Pallets[].TargetRegionstring
5002Target_countryDocuments[].Pallets[].TargetCountrystring
50220Global_gap_numberDocuments[].Pallets[].GlobalGapNumberstring
52220Lot_noDocuments[].Pallets[].LotNumberstring
54220Traceability_codeDocuments[].Pallets[].TraceabilityCodestring
5624SeasonDocuments[].Pallets[].SeasonstringIf omitted, Documents[].Season is used.
5668Orig_inspec_dateDocuments[].Pallets[].OriginalInspectionDatedatetime
57410Inner_pack——Not in the API.
5845Inner_cartons——Not in the API.
58920Production_idDocuments[].Pallets[].ProductionRunstringRenamed.
6092Protocol_exception_indicator——Not in the API.
61125UPNDocuments[].Pallets[].UPNstring
63610Original Document NumberDocuments[].Pallets[].OriginalConsignmentstringRenamed. Consignment note number presented at first inspection.
64630Pallet_treatmentDocuments[].Pallets[].PalletTreatmentstringIPPC treatment code.
67610Pallet Gross MassDocuments[].Pallets[].PalletGrossMassnumberSOLAS. Send on the first sequence of the pallet only.
6867Weighing LocationDocuments[].Pallets[].WeighingLocationstring
69313Weighing Date TimeDocuments[].Pallets[].WeighingDateTimedatetime
70610Phyto_dataDocuments[].Pallets[].PhytoDatastringFormat: 2-char protocol + 2-char FMS pallet status + 6 spaces.
71640Cust_ordDocuments[].Pallets[].CustomerOrderstringCustomer order number.
75610eLot_Key——Replaced by eLot_Key (pos 916). Use Documents[].Pallets[].ELotKey.
76610Agreement CodeDocuments[].Pallets[].AgreementCodestring
776140Post TreatmentDocuments[].Pallets[].PostTreatmentstring
91615eLot_KeyDocuments[].Pallets[].ELotKeystring

EV — Evaluation → not in the API

The EV record is not in the API. Evaluation results cannot be sent.

PosLenLayout fieldJSON propertyTypeReqNotes
12Record Type——Not in the API.
39Pallet id——Not in the API.
128Evaluation id——Not in the API.
205Size/Count——Not in the API.
257Transaction User——Not in the API.
328Transaction Date——Not in the API.
405Transaction Time——Not in the API.

PM — Pallet movement → PalletMovements[]

Pallet movements sit at file level, not under a document: one element per PM record. A movement is routed on its own fields, by the same split rules as pallets, so a recipient receives only the movements that match its rules. A payload can carry movements with no documents.

PosLenLayout fieldJSON propertyTypeReqNotes
12Record Type——Implied by the object; no property.
310Load Id——Not in the API. The consignment is in DocumentNumber.
132Location TypePalletMovements[].LocationTypestring
157Location CodePalletMovements[].LocationCodestringBlank: the root LocationCode is used for routing.
2210Document NumberPalletMovements[].DocumentNumberstringThe consignment the movement belongs to. It need not be one of the file's Documents[].
329Orig Pallet id——Replaced by SSCC (pos 306). Use PalletMovements[].SSCC.
415Sequence NumberPalletMovements[].SequenceNumberinteger
461Unit typePalletMovements[].UnitTypestring
476PositionPalletMovements[].Positionstring
532SenderPalletMovements[].Senderstring
552AgentPalletMovements[].AgentCodestringRenamed.
5711Container NumberPalletMovements[].ContainerNumberstring
681ChannelPalletMovements[].Channelstring
692OrganisationPalletMovements[].OrganisationstringRouting uses it. A movement with a blank organisation does not reach recipients that receive by organisation.
712CountryPalletMovements[].Countrystring
732Commodity GroupPalletMovements[].CommodityGroupstring
752CommodityPalletMovements[].Commoditystring
772Variety GroupPalletMovements[].VarietyGroupstring
793VarietyPalletMovements[].Varietystring
823Sub VarietyPalletMovements[].SubVarietystring
853Actual VarietyPalletMovements[].ActualVarietystring
884PackPalletMovements[].Packstring
924GradePalletMovements[].Gradestring
965MarkPalletMovements[].Markstring
1015CountPalletMovements[].SizeCountstringRenamed.
1062Inventory CodePalletMovements[].InventoryCodestring
1084Picking ReferencePalletMovements[].PickingReferencestring
1127Farm / from_codePalletMovements[].FarmstringRenamed.
1192Product GroupPalletMovements[].ProductGroupstring
1213Product CharacteristicPalletMovements[].ProductCharacteristicstring
1242Target MarketPalletMovements[].TargetMarketstring
1264Actual Grade——Not in the API.
1305Carton QuantityPalletMovements[].CartonQuantityinteger
1359Pallet QuantityPalletMovements[].PalletQuantitynumberFraction of a pallet. The part-pallet rule does not apply to movements.
1441Mixed IndicatorPalletMovements[].MixedIndicatorstring
1458RemarksPalletMovements[].Remarksstring
1534ReasonPalletMovements[].Reasonstring
1578Intake DatePalletMovements[].IntakeDatedatetimeCombined with Intake Time into one datetime.
1655Intake TimePalletMovements[].IntakeDatedatetimeCombined with Intake Date into one datetime.
1702Intake PointPalletMovements[].IntakePointstring
1727Original Intake DepotPalletMovements[].OriginalDepotstringRenamed.
1798Original Intake DatePalletMovements[].OriginalIntakedatetimeRenamed.
1876Order NumberPalletMovements[].OrderNumberstring
1932Stock PoolPalletMovements[].StockPoolstring
1956TemperaturePalletMovements[].TemperaturenumberNo reading: omit it or send null, not 0 or 99.99.
2011Pallet MarksPalletMovements[].PalletMarksstring
2021Transmission flag——Not in the API (Paltrack internal; leave blank in flat files too).
2035Revision numberPalletMovements[].RevisionintegerRenamed.
2088Message numberPalletMovements[].MessageNumberinteger
2167Transaction UserPalletMovements[].TransactionUserstring
2238Transaction DatePalletMovements[].TransactionDateTimedatetimeCombined with Transaction Time into one datetime.
2315Transaction TimePalletMovements[].TransactionDateTimedatetimeCombined with Transaction Date into one datetime.
2365Cartons Rejected——Not in the API.
2415Cartons Discarded——Not in the API.
2465Cartons Evaluation——Not in the API.
2511Mox indicator——Not in the API.
2521Pallet Base TypePalletMovements[].PalletBaseTypestring
25310Original Document NumberPalletMovements[].OriginalConsignmentstringRenamed.
2632History TypePalletMovements[].HistoryTypestringREQThe pallet history type code of the movement.
2658Cold DatePalletMovements[].ColdDatedatetime
2739New Pallet ID——Replaced by New_SSCC (pos 324). Use PalletMovements[].NewSSCC.
28220Temperature Device IDPalletMovements[].TemperatureDeviceIdstring
3022Temp Device TypePalletMovements[].TemperatureDeviceTypestring
3042PrincipalPalletMovements[].Principalstring
30618SSCCPalletMovements[].SSCCstringREQThe pallet's SSCC before the movement.
32418New_SSCC (orig pallet_id)PalletMovements[].NewSSCCstringThe pallet's SSCC after the movement. Send the same value as SSCC when the SSCC did not change.
34214GTINPalletMovements[].GTINstring
3565Err SequencePalletMovements[].ErrorSequenceintegerRenamed.
36118Pallet_id——Replaced by SSCC (pos 306). Use PalletMovements[].SSCC.
3796Average temperature——Not in the API.
3856Max temperature——Not in the API.
3915Above hours——Not in the API.
3966Mininum temperature——Not in the API.
4025Below hours——Not in the API.
4076Truck setting——Not in the API.
4137Location code——Not in the API. Same as Location Code (pos 15).
4201Xmit flag——Not in the API (Paltrack internal; leave blank in flat files too).
4217Tran user——Not in the API. Same as Transaction User (pos 216).
4285Tran time——Not in the API. Same as Transaction Time (pos 231).
4338Tran date——Not in the API. Same as Transaction Date (pos 223).
4411Download——Not in the API (Paltrack internal; leave blank in flat files too).
44220Prodution_idPalletMovements[].ProductionRunstringRenamed.
4622Protocol_exception_indicator——Not in the API.
4644InspectorPalletMovements[].Inspectorstring
4681(re)inspection_flagPalletMovements[].InspectionFlagstringAs recorded at the depot.
4698(re)inspection_datePalletMovements[].InspectionDatedatetimeCombined with (re)inspection_time into one datetime.
4775(re)inspection_timePalletMovements[].InspectionDatedatetimeCombined with (re)inspection_date into one datetime.
4824(re)inspection_pointPalletMovements[].InspectionPointstring
48610(re)inspection_reportPalletMovements[].InspectionReportstring
4965(re)inspection_target_regionPalletMovements[].InspectionTargetRegionstring
5012(re)inspection_target_countryPalletMovements[].InspectionTargetCountrystring
50325UPNPalletMovements[].UPNstring
52815OrchardPalletMovements[].Orchardstring
54330Pallet_treatmentPalletMovements[].PalletTreatmentstring
5737Packh_codePalletMovements[].PackhouseCodestringRenamed.
58010Phyto_dataPalletMovements[].PhytoDatastring
59040Cust_ordPalletMovements[].CustomerOrderstringRenamed.
63016SAFTBIN2PalletMovements[].InnerPackDescriptionstringRenamed. The inner pack description.

BT — Batch trailer → not in the API

The API has no trailer. Counts and totals come from the arrays themselves.

PosLenLayout fieldJSON propertyTypeReqNotes
12Record Type——Not in the API.
33Network Address——Not in the API. Sent once as LocationId.
66Batch Number——Not in the API. Sent once as BatchNumber.
127Record Count——Not in the API.
195IC Record Count——Not in the API.
245IS Record Count——Not in the API.
298IP Record Count——Not in the API.
378EV Record Count——Not in the API.
458Total IC cartons——Not in the API.
539Total IC pallets——Not in the API.
628Total dummy-IC cartons——Not in the API.
709Total dummy-IC pallets——Not in the API.
798Total IS Cartons——Not in the API.
879Total IS Pallets——Not in the API.
968Total IP Cartons——Not in the API.
1049Total IP Pallets——Not in the API.

API-only properties

JSON propertyTypeMeaning / what to send
LocationCodestringRequired. Paltrack depot code of the sending depot. Must be registered with Paltrack.
Documents[].PickReferencestringNo layout field. Passed through to recipients.
Documents[].DocumentTypeLIdstringNo layout field. Optional; passed through to recipients unchanged.
Documents[].Pallets[].PIFileNamestringPaltrack sets it; do not send.
Documents[].Pallets[].OriginalIntakeDepotstringDo not use. Send the original intake depot in Documents[].Pallets[].OriginalDepot (IP pos 172).
PalletMovements[].TargetRegionstringNo PM layout field. The pallet's target region. Send it: split rules can select on it.
PalletMovements[].TargetCountrystringNo PM layout field. The pallet's target country. Send it: split rules can select on it.
PalletMovements[].SeasonstringNo PM layout field. The pallet's season.
PalletMovements[].OriginalAccountstringNo PM layout field. The pallet's original account.
PalletMovements[].ReInspectionDocumentNumberstringNo PM layout field. The re-inspection document number.
Documents[].Pallets[].OriginalOrganizationCodestringOriginal organisation code. No layout field. Passed through to recipients.
Documents[].Pallets[].InspectorstringPallet-level inspector. The layout has this on IC only (pos 136). Passed through to recipients.
Documents[].Pallets[].InspectionPointstringPallet-level inspection point. The layout has this on IC only (pos 154). Passed through to recipients.
Documents[].Pallets[].PassedFlagbooleanInspection passed (true) or failed (false). No IP layout field; the nearest is IS Passed Flag (pos 113).
Documents[].Pallets[].ReInspectionDocumentNumberstringRe-inspection document number. No IP layout field. Passed through to recipients.
Documents[].Pallets[].ReInspectionDatedatetimeRe-inspection date. No IP layout field. Passed through to recipients.
Documents[].Pallets[].SAMSAAccreditationstringSAMSA accreditation. No PI layout field.
Documents[].Pallets[].MainAreastringNo PI layout field. Passed through to recipients.
Documents[].Pallets[].ProductionAreastringNo PI layout field. Passed through to recipients.
Documents[].Pallets[].ReferenceNumberstringPallet-level reference number. The layout has this on IC only (pos 372). Passed through to recipients.

Not in the API

Old fields that have a newer replacement are not listed here; the Notes column gives the field to use.

  • IS (summary): the whole record is not in the API. There is no summary object.
  • EV (evaluation): the whole record is not in the API. Evaluation results cannot be sent.
  • PM: Load Id, Orig Pallet id, Actual Grade, Transmission flag, Cartons Rejected, Cartons Discarded, Cartons Evaluation, Mox indicator, New Pallet ID, Pallet_id, Average temperature, Max temperature, Above hours, Mininum temperature, Below hours, Truck setting, the second Location code / Xmit flag / Tran user / Tran time / Tran date, Download, Protocol_exception_indicator.
  • BT: the batch trailer is not in the API. No record counts or totals are sent.
  • Dummy IC records: not applicable. Send only real documents.
  • IC: load_id, location type, truck level, pro_no, full pallet, inc_pallet, endorse1–endorse4, Evaluation FROM number, Evaluation TO number, Message Number (Inspect Samples), Temperature2, Temperature3, Temperature4. The transport Pallet Quantity (pos 281) and Carton Quantity (pos 290) are sent once, at document level.
  • IP: Agent, Actual Grade, Intake Point, Transmission flag, Message number, Cartons Rejected, Cartons Discarded, Cartons Evaluation, Mix indicator, Combo pallet id, Saftbin1, Saftbin2, Saftbin3, Combo_sscc, Expiry_code, Inner_pack, Inner_cartons, Protocol_exception_indicator. Mini-pallet (combo) links cannot be sent.
Stock · PS

PS — Stock

Send a pallet-level stock file (PS) as JSON to POST /v2/SubmitStock. The request body is PSFileDTO: the BH fields sit on the root object, and each PS record is one element of StockRecords[]. GetPayload returns the same shape to recipients.

Shape

Flat-file recordJSON objectOccurs
BH — Batch Headerroot (PSFileDTO)1
PS — Pallet StockStockRecords[] (StockRecordDTO)1..n (must not be empty)
BT — Batch TrailernoneNot in the API
  • There is no BatchHeader object. The BH fields are properties of the root object.
  • StockRecords[] is a flat list with one element per pallet sequence (pallet × sequence), exactly like the PS records in the file. There is no pallet grouping or nesting.

Before you start

  • PSFileName is required and must start with PS. Use the layout's naming convention, PSxxxyyy.zzz.
  • Root LocationCode is required. It has no BH position: send your depot code, the same value as the PS records' Location Code. It must match a depot registered with Paltrack, otherwise the submission is rejected with UNKNOWN_DEPOT (unless LocationId is 000).
  • Pallet quantity rule: for each SSCC, the sum of PalletQuantity across its sequences must not exceed 1 (±0.001), otherwise the submission is rejected with PART_PALLET. Unlike the other file types, a sum below 1 is accepted, because stock can include a pallet that has been broken down. Send SSCC on every row.
  • Pallet ID (pos 3) is replaced by the SSCC (pos 289). Identify every pallet by StockRecords[].SSCC.
  • TemperatureRule, Pool and StockType are not Tracing Temperature, Saftbin2 (perforation grape value) or Store_type, whatever older descriptions of these properties say. They are separate legacy stock properties with no PS layout field. Tracing Temperature, Saftbin2 and Store_type are not in the API.
  • Dates are ISO 8601 datetimes. Where the layout splits a date and a time into two fields, the API carries one datetime. IntakeDate is not nullable: if you omit it, 0001-01-01T00:00:00 is forwarded.
  • StockRecords[].BatchNumber is the PS Batch_no (pos 378). It is not the root BatchNumber, which is the BH batch number.

BH — Batch Header → root (PSFileDTO)

PosLenLayout fieldJSON propertyTypeReqNotes
——File namePSFileNamestringREQMust start with PS. Layout convention: PSxxxyyy.zzz.
1–22record type——Implied by the object; no property.
3–53Network AddressLocationIdstringRenamed. 000 = sender with no registered depot.
6–116Batch NumberBatchNumberstringSend as a string. Digits only.
12–198Create dateCreateDateTimedatetimeCombined with Create time into one datetime. Format: ISO 8601, e.g. 2026-09-30T14:05:00+02:00.
20–278Create timeCreateDateTimedatetimeCombined with Create date into one datetime.
28–292indicator——Not in the API.
30–5930providerProviderstringYour system or vendor name.
60–8930versionVersionstringVersion of your application.
901cob——Not in the API.
911partial——Not in the API. The API has no partial-stock-file flag.
——(Location Code of the PS records)LocationCodestringREQYour depot code. Must match a depot registered with Paltrack, otherwise UNKNOWN_DEPOT (unless LocationId is 000).

PS — Pallet Stock → StockRecords[]

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Implied by the object; no property.
3–119Pallet ID——Replaced by sscc (pos 289). Use StockRecords[].SSCC.
12–176Sequence NumberStockRecords[].SequenceNumberintegerREQMust be 1 or more; 0 or missing is rejected.
181Unit TypeStockRecords[].UnitTypestringValues: P = pallets, C = cartons.
19–202StoreStockRecords[].Storestring
21–222BayStockRecords[].Baystring
23–3210Consignment NumberStockRecords[].DocumentNumberstringRenamed.
33–4311Pro Number——Not in the API.
44–507Location CodeStockRecords[].LocationCodestringSend the same value as the root LocationCode.
51–522OrganisationStockRecords[].OrganisationCodestringRenamed.
531ChannelStockRecords[].ChannelstringValues: E = export, L = local.
54–552CountryStockRecords[].Countrystring
56–572Commodity GroupStockRecords[].CommodityGroupstring
58–592CommodityStockRecords[].Commoditystring
60–612Variety GroupStockRecords[].VarietyGroupstring
62–643VarietyStockRecords[].Varietystring
65–673Sub-VarietyStockRecords[].SubVarietystring
68–703Actual VarietyStockRecords[].ActualVarietystring
71–744PackStockRecords[].Packstring
75–784GradeStockRecords[].Gradestring
79–835Size-countStockRecords[].SizeCountstring
84–885MarkStockRecords[].Markstring
89–902Inventory CodeStockRecords[].InventoryCodestring
91–944Picking ReferenceStockRecords[].PickReferencestringRenamed.
95–962Product Characteristic GroupStockRecords[].ProductGroupstringRenamed.
97–993Product Characteristic CodeStockRecords[].ProductCharacteristicstringRenamed.
100–1012Target MarketStockRecords[].TargetMarketstring
102–1087FarmStockRecords[].Farmstring
109–115-6Carton QuantityStockRecords[].CartonQuantityintegerFormat: plain JSON integer, no zero padding.
116–123-4.2Pallet QuantityStockRecords[].PalletQuantitynumberREQPer SSCC, the sum across sequences must not exceed 1 (±0.001), otherwise PART_PALLET. Below 1 is accepted (broken-down pallet). Format: decimal, e.g. 0.5.
124–1318RemarksStockRecords[].Remarksstring
1321Mixed IndicatorStockRecords[].MixedIndicatorstringValues: Y = mixed, N = not mixed, G = generic.
133–1408Intake DateStockRecords[].IntakeDatedatetimeFormat: ISO 8601. Not nullable: if omitted, 0001-01-01T00:00:00 is forwarded.
141–1477Original DepotStockRecords[].OriginalDepotstring
148–1558Original IntakeStockRecords[].OriginalIntakeDatedatetimeRenamed. Format: ISO 8601.
156–1638Cold DateStockRecords[].ColdDatedatetimeFormat: ISO 8601.
164–168-2.2TemperatureStockRecords[].TemperaturenumberThe layout marks this "not used". Optional.
1691Pallet StatusStockRecords[].PalletStatusstringValues: I = intake, T = temporary (first stock take), P = permanent (second stock take), B = booked for staging (dispatches).
1701Pallet MarksStockRecords[].PalletMarksstringValues: S = single-user intake, V = verified (two users).
171–1722Stock PoolStockRecords[].StockPoolstringValues: CE, RJ, UI.
173–1786Revision——Not in the API.
179–18911Message No——Not in the API.
190–1967Transaction UserStockRecords[].TranUserstringRenamed.
197–2048Transaction DateStockRecords[].TranDatedatetimeRenamed. Combined with Transaction Time into one datetime. Format: ISO 8601.
205–2095Transaction TimeStockRecords[].TranDatedatetimeCombined with Transaction Date into one datetime.
2101Pallet Base TypeStockRecords[].PalletBaseTypestring
211–22010Original Cons NoStockRecords[].OriginalDocumentNumberstringRenamed.
221–2266Order NoStockRecords[].OrderNumberstringRenamed.
227–232-2.2Tracing Temperature——Not in the API. Do not use TemperatureRule; it is a different property.
233–238-2.2Minimum TemperatureStockRecords[].TemperatureMinnumberRenamed.
239–244-2.2Maximum TemperatureStockRecords[].TemperatureMaxnumberRenamed.
2451Calculation method——Not in the API.
246–2516BOE NumberStockRecords[].BOENumberstring
252–2609Combo pallet id——Not in the API.
261–28020Temperature Device IDStockRecords[].TemperatureDeviceIdstring
281–2822Temp Device TypeStockRecords[].TemperatureDeviceTypestringRenamed.
283–2842SenderStockRecords[].Senderstring
285–2862AgentStockRecords[].Agentstring
287–2882PrincipalStockRecords[].Principalstring
289–30618ssccStockRecords[].SSCCstringSend on every row. The part-pallet rule groups rows by SSCC.
307–315-4.3Nett MassStockRecords[].MassnumberRenamed. Format: decimal (kg).
316–33116Saftbin1——Not in the API.
332–34716Saftbin2——Not in the API (perforation grape value). Do not use Pool; it is a different property.
348–36316Original AccountStockRecords[].OriginalAccountstringReplaced SAFTbin3 in the layout.
3641Pallet_XStockRecords[].PalletXstring
3651Pallet_YStockRecords[].PalletYstring
366–3672Pallet_ZStockRecords[].PalletZstringUp to 2 characters.
368–3758Inspec_dateStockRecords[].InspectionDatedatetimeRenamed. Format: ISO 8601.
3761Stack_varianceStockRecords[].StackVariancestring
3771Store_type——Not in the API. Do not use StockType; it is a different property.
378–39720Batch_noStockRecords[].BatchNumberstringRenamed. Not the same as the root BatchNumber.
398–40710Waybill_noStockRecords[].WaybillNumberstringRenamed.
408–42114GtinStockRecords[].GTINstring
422–4287Packh_codeStockRecords[].PackhouseCodestringRenamed.
429–4302Steri_flagStockRecords[].SteriFlagstring
431–4322steri_destStockRecords[].SteriDestinationstringRenamed.
4331Label_type——Not in the API.
4341Prov_flag——Not in the API.
435–44410SellbycodeStockRecords[].SellByCodestring
445–46218Combo_sscc——Not in the API.
463–47210Expiry_code——Not in the API.
473–48715OrchardStockRecords[].Orchardstring
488–4925Target_regionStockRecords[].TargetRegionstring
493–4942Target_countryStockRecords[].TargetCountrystring
495–51420Global_gap_numberStockRecords[].GlobalGapNumberstring
515–53420Lot_noStockRecords[].LotNumberstringRenamed.
535–55420Traceability_codeStockRecords[].TraceabilityCodestring
555–5584SeasonStockRecords[].Seasonstring
559–5668Orig_inspec_dateStockRecords[].ProtocolDatedatetimeRenamed. The original inspection date. Leave it out if there is none; don't substitute another date.
567–57610Inner_pack——Not in the API.
577–5815Inner_cartons——Not in the API.
582–5832Protocol_exception_indicator——Not in the API.
584–60825UPNStockRecords[].UPNstring
609–63830Pallet_treatmentStockRecords[].PalletTreatmentstringIPPC treatment code.
639–648-5.3Pallet Gross MassStockRecords[].GrossMassnumberRenamed. SOLAS: first sequence of the pallet only.
649–6557Weighing LocationStockRecords[].WeighingLocationstring
656–66813Weighing Date TimeStockRecords[].WeighingDatedatetimeRenamed. Format: ISO 8601 (the layout uses yyyymmddhh:mm).
669–67810Phyto_dataStockRecords[].PhytoDatastringFormat: 2-char protocol + 2-char FMS pallet status + 6-char space filler.
679–71840Cust_ordStockRecords[].CustomerOrderstringRenamed. Customer order number.
719–72810eLot_Key——Replaced by eLot_Key (pos 879). Use StockRecords[].ElotKey.
729–73810Agreement CodeStockRecords[].AgreementCodestring
739–878140Post TreatmentStockRecords[].PostTreatmentstring
879–89315eLot_KeyStockRecords[].ElotKeystringJSON casing ElotKey.

BT — Batch Trailer → none

PosLenLayout fieldJSON propertyTypeReqNotes
1–22Record type——Not in the API.
3–53Network Address——Not in the API. Use root LocationId.
6–116Batch Number——Not in the API. Use root BatchNumber.
12–187Record Count——Not in the API. The size of StockRecords[] replaces it.
19–257PS Record Count——Not in the API. The size of StockRecords[] replaces it.
26–32-7Total Cartons——Not in the API.

API-only properties

JSON propertyTypeMeaning / what to send
StockRecords[].ForeignStockIdintegerOptional. Send 0 or omit.
StockRecords[].PalletIdstringOptional. The pallet is identified by SSCC; if you populate this, send the same SSCC value.

StockRecords[] also carries these legacy stock properties. None has a PS layout field. All are optional: send null or omit them.

SubOrganisation, Pool, Client, ProductionRun, TemperatureRule, StockType, InstructionLine, InstructionSequence, JobNumber, ReservationFlag, OffDate, Conformity, DischargePort, OriginalOrderNumber, OriginalDischargePort, OriginalRemoteLocation, RemoteLocation, StowageSpec, TreatmentFlag, TreatmentType, InspectionDocumentNumber, ReInspectionFlag, ReinspectionDocumentNumber, ReInspectionDate, ShippingPosition, AllocatedFlag, Combined, ConsecNumber, Reason, InspectionRequired, SampleQty, RejectQty, Rejected, PickDate, PackDate, SAMSAAccreditation, PhytoVerificationKey.

TemperatureRule, Pool and StockType are not Tracing Temperature, Saftbin2 or Store_type. Do not use them for those fields.

Not in the API

  • BH: indicator (pos 28–29), cob (pos 90), partial (pos 91). The API has no partial-stock-file flag.
  • PS: Pro Number, Revision, Message No, Tracing Temperature, Calculation method, Combo pallet id, Saftbin1, Saftbin2, Store_type, Label_type, Prov_flag, Combo_sscc, Expiry_code, Inner_pack, Inner_cartons, Protocol_exception_indicator.
  • PS: eLot_Key (old, pos 719) is replaced by eLot_Key (pos 879) → StockRecords[].ElotKey.
  • BT: the Batch Trailer record is not in the API. Counts come from StockRecords[].
Mates Receipt · MT

MT — Mates Receipt

Send a Mates Receipt (MT) as JSON to POST /v2/SubmitMates. The request body is MTFileDTO: the BH fields sit on the root object, the OL record is ShipHeader, and the ON and OP records nest under it. GetPayload returns the same shape to recipients.

Shape

Flat-file recordJSON objectOccurs
BH — batch headerroot (MTFileDTO)1
OL — ship header detailShipHeader1 (required)
ON — transport location, tran_type L (loading port)ShipHeader.LoadingLocation1 (required)
ON — transport location, tran_type D (one per organisation / discharge port)ShipHeader.DispatchLocation[]1..n (required)
OP — pallet record (one per pallet + sequence)ShipHeader.DispatchLocation[].PalletRecords[]1..n per discharge location (required)
BT — batch trailernoneNot in the API
  • In the file, ON and OP records are flat siblings. In the API, each OP record nests under the DispatchLocation[] entry whose LocationCode equals the pallet's DestinationLocation (OP dest_locn).
  • LoadingLocation and DispatchLocation[] have the same properties. Only DispatchLocation[] has PalletRecords.

Before you start

  • Every DispatchLocation[] entry needs TranType = "D", and LoadingLocation needs TranType = "L". A discharge location without D is not delivered, even though the submission is accepted. Each DispatchLocation[].LocationCode is the destination for that location's pallets.
  • Pallet id (pos 58) is replaced by the SSCC (pos 338). Identify every pallet by PalletRecords[].SSCC. Part-pallet rule: per SSCC, the sum of PalletQuantity must be 1 (±0.001), otherwise PART_PALLET.
  • Populate PalletRecords[].Organisation on every row. Mates distribution to recipients is driven by the pallet-level Organisation, not by ShipHeader.Organisation or the location's Organisation.
  • Populate ShipHeader.Season, and PalletRecords[].Season on every row. Recipients' payloads are listed by ShipHeader.Season.
  • The header timestamp is CreatedDateTime on MT. PS, DI and LI spell it CreateDateTime.
  • These datetimes are not nullable: ShipHeader.StartDate, the three TransactionDate properties, PalletRecords[].IntakeDate and PalletRecords[].ShippedDate. If you omit one, 0001-01-01T00:00:00 is forwarded. All dates are ISO 8601; where the layout splits a date and a time, the API carries one datetime.
  • Where the layout has an old and a new field, send the new one: Seal Number (pos 527), Consec_No (pos 546), Ship_Line (pos 720), Combo_sscc (pos 509), eLot_Key (pos 913), and the 25-character Container_Ref (pos 810).

BH — Batch header → root (MTFileDTO)

PosLenLayout fieldJSON propertyTypeReqNotes
——File nameMTFileNamestringREQMust start with MT. Layout convention: MTfffsss-ttt.
1–22record type——Implied by the object; no property.
3–53from depotLocationIdstringRenamed. 3-character location id of the sending depot.
6–116sequence numberBatchNumberstringRenamed. Send as a string.
12–198dateCreatedDateTimedatetimeCombined with time into one datetime. Format: ISO 8601, e.g. 2026-09-30T14:05:00. Spelled CreatedDateTime on MT.
20–278timeCreatedDateTimedatetimeCombined with date into one datetime.
28–5730providerProviderstringYour system or vendor name.
58–8730versionVersionstringVersion of your application.

OL — Ship header detail → ShipHeader

Layout fields shown in parentheses have no name in the layout; the name is taken from the layout's comment.

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Implied by the object; no property.
3–97tran userShipHeader.TransactionUserstringRenamed. User id.
10–178(tran date)ShipHeader.TransactionDatedatetimeCombined with (tran time) into one datetime. Not nullable.
18–255(tran time)ShipHeader.TransactionDatedatetimeCombined with (tran date) into one datetime. The layout's size says 5; positions 18–25 hold hh:mm:ss.
26–3510ship number, idShipHeader.ShipIdstringFormat: ship number[1,6] + - + from location id.
36–372location typeShipHeader.LocationTypestringValues: PO.
38–447loading portShipHeader.LoadingPortstringPort code. Send the same value as ShipHeader.LoadingLocation.LocationCode.
45–462revision numberShipHeader.RevisionNumberstringSend as a string.
47–5610ship numberShipHeader.ShipNumberstringREQFormat: 0000 + ship number[1,6].
57–6610out load numberShipHeader.OutLoadNumberstringLayout value: 0000000000.
67–7610UK numberShipHeader.UKNumberstringLayout value: 0000000000.
771transportShipHeader.TransportstringTransport type.
781load_typeShipHeader.LoadTypestringShip type.
79–868start_dateShipHeader.StartDatedatetimeStart of loading. Not nullable.
87–948dep_dateShipHeader.DepartureDatedatetimeRenamed. Combined with (departure time) into one datetime.
95–995(departure time)ShipHeader.DepartureDatedatetimeCombined with dep_date into one datetime.
100–1078carrierShipHeader.Carrierstring
108–1092next_typeShipHeader.NextTypestringNext location type.
110–1167next_codeShipHeader.NextCodestringNext location code.
117–1204seasonShipHeader.SeasonstringPopulate it. Recipients' payloads are listed by it.
121–1266saecs_voyageShipHeader.SAECSVoyagestring
127–1326client_refShipHeader.ClientReferencestringRenamed.
133–1342(filler)——Not in the API.
135–14612sub_loadShipHeader.SubLoadstring
147–15812(home AWB number)——Not in the API.
159–1657(gross weight)ShipHeader.GrossWeightnumberLayout format 0000.00. 0 if omitted.
166–1727(nett weight)ShipHeader.NettWeightnumberLayout format 0000.00. 0 if omitted.
1731load_statusShipHeader.LoadStatusstring
174–1752(organisation)ShipHeader.OrganisationstringThe layout leaves this blank. Populate PalletRecords[].Organisation on every pallet instead.
176–20025load_nameShipHeader.LoadNamestringShip name.
2011full_loadShipHeader.FullLoadstringValues: Y / N (last port of loading).
202–21615ext_saecs_voyageShipHeader.ExtSAECSVoyagestringExtended 15-character SAECS voyage number.
217–22610Ship_call_signShipHeader.ShipCallSignstring

ON — Transport location → ShipHeader.LoadingLocation / ShipHeader.DispatchLocation[]

The table shows ShipHeader.DispatchLocation[] paths. For the loading-port ON record (tran_type L), the same properties sit on ShipHeader.LoadingLocation.

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record typeShipHeader.DispatchLocation[].RecordTypestringValues: ON. Optional.
3–97tran userShipHeader.DispatchLocation[].TransactionUserstringRenamed. User id.
10–178(tran date)ShipHeader.DispatchLocation[].TransactionDatedatetimeCombined with (tran time) into one datetime. Not nullable.
18–255(tran time)ShipHeader.DispatchLocation[].TransactionDatedatetimeCombined with (tran date) into one datetime. The layout's size says 5; positions 18–25 hold hh:mm:ss.
26–3510ship number, idShipHeader.DispatchLocation[].ShipIdstringSend the same value as ShipHeader.ShipId.
36–372location typeShipHeader.DispatchLocation[].LocationTypestringValues: PO.
38–447location codeShipHeader.DispatchLocation[].LocationCodestringOn LoadingLocation: the loading port. On DispatchLocation[]: the discharge port or destination; that location's pallets are delivered to it. Must equal the DestinationLocation of the pallets nested under it.
451tran_typeShipHeader.DispatchLocation[].TranTypestringValues: L = loading port (LoadingLocation), D = discharge (every DispatchLocation[] entry). A DispatchLocation[] entry without D is not delivered.
46–538arr_dateShipHeader.DispatchLocation[].ArrivalDatedatetimeRenamed. Combined with arr_time into one datetime.
54–585arr_timeShipHeader.DispatchLocation[].ArrivalDatedatetimeCombined with arr_date into one datetime.
59–668dep_dateShipHeader.DispatchLocation[].DepartureDatedatetimeRenamed. Combined with dep_time into one datetime.
67–715dep_timeShipHeader.DispatchLocation[].DepartureDatedatetimeCombined with dep_date into one datetime.
72–8110conn_flightShipHeader.DispatchLocation[].ConnFlightstringConnecting flight.
82–832(organisation)ShipHeader.DispatchLocation[].OrganisationstringThe layout leaves this blank. Populate PalletRecords[].Organisation on every pallet.

OP — Pallet record → ShipHeader.DispatchLocation[].PalletRecords[]

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record typeShipHeader.DispatchLocation[].PalletRecords[].RecordTypestringValues: OP. Optional.
3–97tran userShipHeader.DispatchLocation[].PalletRecords[].TransactionUserstringRenamed. User id.
10–178tran dateShipHeader.DispatchLocation[].PalletRecords[].TransactionDatedatetimeCombined with tran time into one datetime. Not nullable.
18–255tran timeShipHeader.DispatchLocation[].PalletRecords[].TransactionDatedatetimeCombined with tran date into one datetime. The layout's size says 5; positions 18–25 hold hh:mm:ss.
26–272location typeShipHeader.DispatchLocation[].PalletRecords[].LocationTypestringValues: PO.
28–347loading portShipHeader.DispatchLocation[].PalletRecords[].LoadingPortstringSend the same value as ShipHeader.LoadingPort.
35–417dest_locnShipHeader.DispatchLocation[].PalletRecords[].DestinationLocationstringRenamed. Must equal the parent DispatchLocation[].LocationCode.
42–432orgznShipHeader.DispatchLocation[].PalletRecords[].OrganisationstringRenamed. Populate on every row: Mates distribution is driven by this field.
44–474SeasonShipHeader.DispatchLocation[].PalletRecords[].SeasonstringSend the same value as ShipHeader.Season.
48–5710cons numberShipHeader.DispatchLocation[].PalletRecords[].ConsignmentNumberstringRenamed.
58–669pallet id——Replaced by Sscc (pos 338). Use ShipHeader.DispatchLocation[].PalletRecords[].SSCC.
67–693sequence numberShipHeader.DispatchLocation[].PalletRecords[].SequenceNumberintegerREQMust be 1 or more. Sequence within the same pallet.
70–712comm_grpShipHeader.DispatchLocation[].PalletRecords[].CommodityGroupstringRenamed.
72–732commodityShipHeader.DispatchLocation[].PalletRecords[].CommoditystringREQ
74–752countryShipHeader.DispatchLocation[].PalletRecords[].Countrystring
76–772var_grpShipHeader.DispatchLocation[].PalletRecords[].VarietyGroupstringRenamed.
78–803varietyShipHeader.DispatchLocation[].PalletRecords[].VarietystringREQ
81–833act_varShipHeader.DispatchLocation[].PalletRecords[].ActualVarietystringRenamed.
84–863sub_varShipHeader.DispatchLocation[].PalletRecords[].SubVarietystringRenamed.
87–904packShipHeader.DispatchLocation[].PalletRecords[].PackstringREQ
91–944gradeShipHeader.DispatchLocation[].PalletRecords[].GradestringREQ
95–995markShipHeader.DispatchLocation[].PalletRecords[].Markstring
100–1045size_countShipHeader.DispatchLocation[].PalletRecords[].SizeCountstring
105–1062inv_codeShipHeader.DispatchLocation[].PalletRecords[].InventoryCodestringRenamed.
107–1104pick_refShipHeader.DispatchLocation[].PalletRecords[].PickingReferencestringRenamed.
111–1122prod_grpShipHeader.DispatchLocation[].PalletRecords[].ProductGroupstringRenamed.
113–1153prod_charShipHeader.DispatchLocation[].PalletRecords[].ProductCharacteristicstringRenamed.
116–1227farmShipHeader.DispatchLocation[].PalletRecords[].FarmstringREQ
123–1242senderShipHeader.DispatchLocation[].PalletRecords[].Senderstring
125–1262agentShipHeader.DispatchLocation[].PalletRecords[].Agentstring
127–1282ship_senderShipHeader.DispatchLocation[].PalletRecords[].ShipSenderstring
129–1302ship_agentShipHeader.DispatchLocation[].PalletRecords[].ShipAgentstring
1311channelShipHeader.DispatchLocation[].PalletRecords[].Channelstring
132–1376load_ref[1,6]ShipHeader.DispatchLocation[].PalletRecords[].LoadReferencestringRenamed. 6-character ship number.
138–14811containerShipHeader.DispatchLocation[].PalletRecords[].ContainerstringContainer number.
149–1568seal number——Replaced by Seal Number (pos 527). Use ShipHeader.DispatchLocation[].PalletRecords[].SealNumber.
1571(filler)——Not in the API.
158–1636positionShipHeader.DispatchLocation[].PalletRecords[].Positionstring
164–1652(damaged indicator)ShipHeader.DispatchLocation[].PalletRecords[].DamageIndicatorstring
166–1716ctn_qtyShipHeader.DispatchLocation[].PalletRecords[].CartonQuantityintegerREQRenamed. Must be 1 or more.
172–1809plt_qtyShipHeader.DispatchLocation[].PalletRecords[].PalletQuantitynumberREQRenamed. Must be greater than 0. Part-pallet rule: per SSCC, the sum across rows must be 1 (±0.001), otherwise PART_PALLET.
181–1822targ_mktShipHeader.DispatchLocation[].PalletRecords[].TargetMarketstringRenamed.
1831mixed_indShipHeader.DispatchLocation[].PalletRecords[].MixedIndicatorstringRenamed.
184–1918remarksShipHeader.DispatchLocation[].PalletRecords[].Remarksstring
192–1954reasonShipHeader.DispatchLocation[].PalletRecords[].Reasonstring
196–2038intake_dateShipHeader.DispatchLocation[].PalletRecords[].IntakeDatedatetimeNot nullable.
204–2107orig_depotShipHeader.DispatchLocation[].PalletRecords[].OriginalDepotstring
211–2188orig_intakeShipHeader.DispatchLocation[].PalletRecords[].OriginalIntakedatetime
219–2268shipped dateShipHeader.DispatchLocation[].PalletRecords[].ShippedDatedatetimeCombined with shipped time into one datetime. Not nullable.
227–2315shipped timeShipHeader.DispatchLocation[].PalletRecords[].ShippedDatedatetimeCombined with shipped date into one datetime.
232–2332revisionShipHeader.DispatchLocation[].PalletRecords[].RevisionstringSend as a string.
234–2396consec_no——Replaced by Consec_No (pos 546). Use ShipHeader.DispatchLocation[].PalletRecords[].ConsecNumber.
240–2478stuff_dateShipHeader.DispatchLocation[].PalletRecords[].StuffDatedatetimeCombined with stuff_time into one datetime.
248–2525stuff_timeShipHeader.DispatchLocation[].PalletRecords[].StuffDatedatetimeCombined with stuff_date into one datetime.
2531ship_line——Replaced by Ship_Line (pos 720). Use ShipHeader.DispatchLocation[].PalletRecords[].ShipLine.
254–26310doc_noShipHeader.DispatchLocation[].PalletRecords[].DocumentNumberstringRenamed. Document number on the container record.
264–2707load_depotShipHeader.DispatchLocation[].PalletRecords[].LoadDepotstringLoading depot.
271–2733varietyShipHeader.DispatchLocation[].PalletRecords[].GenericVarietystringRenamed. Generic variety.
274–2785size_countShipHeader.DispatchLocation[].PalletRecords[].GenericSizeCountstringRenamed. Generic count.
2791pallet_btypeShipHeader.DispatchLocation[].PalletRecords[].PalletBaseTypestringRenamed. e.g. IFCO.
280–2855.2TemperatureShipHeader.DispatchLocation[].PalletRecords[].TemperaturenumberLayout format -&&.&&. 0 if omitted.
2861Calc_methodShipHeader.DispatchLocation[].PalletRecords[].CalculationMethodstringRenamed.
287–2925.2Temp_minShipHeader.DispatchLocation[].PalletRecords[].MinimumTemperaturenumberRenamed.
293–2985.2Temp_maxShipHeader.DispatchLocation[].PalletRecords[].MaximumTemperaturenumberRenamed.
299–3046Boe_noShipHeader.DispatchLocation[].PalletRecords[].BoeNumberstringRenamed. Bill of Entry number.
305–3139combo_pallet_idShipHeader.DispatchLocation[].PalletRecords[].ComboPalletIdstringLeave blank, as the layout does. Send the combo pallet id in ComboSSCC (pos 509).
314–33320temp_device_idShipHeader.DispatchLocation[].PalletRecords[].TemperatureDeviceIdstringRenamed.
334–3352temp_device_typeShipHeader.DispatchLocation[].PalletRecords[].TemperatureDeviceTypestringRenamed.
336–3372principalShipHeader.DispatchLocation[].PalletRecords[].Principalstring
338–35518SsccShipHeader.DispatchLocation[].PalletRecords[].SSCCstringREQ18-character SSCC. Identifies the pallet (replaces pallet id, pos 58).
356–364-4.3Nett massShipHeader.DispatchLocation[].PalletRecords[].NettMassnumberLayout format -&&&&.&&&.
3651invoicedShipHeader.DispatchLocation[].PalletRecords[].Invoicedstring
366–38116Saftbin1ShipHeader.DispatchLocation[].PalletRecords[].SAFTBIN1string
382–39716Saftbin2ShipHeader.DispatchLocation[].PalletRecords[].SAFTBIN2stringGrape perforation value.
398–41316Saftbin3ShipHeader.DispatchLocation[].PalletRecords[].SAFTBIN3stringNow contains orig_cons.
4141Cont_typeShipHeader.DispatchLocation[].PalletRecords[].ContainerTypestringRenamed.
415–42915Container_refShipHeader.DispatchLocation[].PalletRecords[].ContainerReferencestringRenamed. Fill it when the reference fits in 15 characters. Always send ContainerReference2 (pos 810).
430–4312Container_sizeShipHeader.DispatchLocation[].PalletRecords[].ContainerSizestringRenamed.
432–4398Inspec_dateShipHeader.DispatchLocation[].PalletRecords[].InspectionDatedatetimeRenamed.
4401Stack_varianceShipHeader.DispatchLocation[].PalletRecords[].StackVariancestring
441–45010Waybill_noShipHeader.DispatchLocation[].PalletRecords[].WaybillNumberstringRenamed.
451–47020Batch_noShipHeader.DispatchLocation[].PalletRecords[].BatchNumberstringRenamed. Pallet batch number; not the root BatchNumber.
471–48414GtinShipHeader.DispatchLocation[].PalletRecords[].GTINstring
485–4917Packh_codeShipHeader.DispatchLocation[].PalletRecords[].PackhouseCodestringRenamed.
492–4932Steri_flagShipHeader.DispatchLocation[].PalletRecords[].SteriFlagstring
4941Filler——Not in the API.
495–4962Steri_destShipHeader.DispatchLocation[].PalletRecords[].SteriDestinationstringRenamed.
4971Label_typeShipHeader.DispatchLocation[].PalletRecords[].LabelTypestring
4981Prov flagShipHeader.DispatchLocation[].PalletRecords[].ProvisionalFlagstringRenamed. Provisional intake.
499–50810SellbycodeShipHeader.DispatchLocation[].PalletRecords[].SellByCodestring
509–52618Combo_ssccShipHeader.DispatchLocation[].PalletRecords[].ComboSSCCstringCombo pallet id (SSCC).
527–54115Seal NumberShipHeader.DispatchLocation[].PalletRecords[].SealNumberstring
542–5454Filler——Not in the API.
546–55510Consec_NoShipHeader.DispatchLocation[].PalletRecords[].ConsecNumberstring
556–56510Expiry_CodeShipHeader.DispatchLocation[].PalletRecords[].ExpiryCodestring
566–58015OrchardShipHeader.DispatchLocation[].PalletRecords[].Orchardstring
581–5855Target_RegionShipHeader.DispatchLocation[].PalletRecords[].TargetRegionstring
586–5872Target_CountryShipHeader.DispatchLocation[].PalletRecords[].TargetCountrystring
588–60720Global_gap_noShipHeader.DispatchLocation[].PalletRecords[].GlobalGapNumberstring
608–62720Lot_NoShipHeader.DispatchLocation[].PalletRecords[].LotNumberstring
628–64720Traceability_codeShipHeader.DispatchLocation[].PalletRecords[].TraceabilityCodestring
648–65710Inner_packShipHeader.DispatchLocation[].PalletRecords[].InnerPackstring
658–6625Inner_cartonsShipHeader.DispatchLocation[].PalletRecords[].InnerCartonsstringSend as a string.
663–6642Protocol_exception_indicatorShipHeader.DispatchLocation[].PalletRecords[].ProtocolExceptionIndicatorstring
665–68925UPNShipHeader.DispatchLocation[].PalletRecords[].UPNstring
690–71930Pallet_treatmentShipHeader.DispatchLocation[].PalletRecords[].PalletTreatmentstringIPPC treatment code.
720–7212Ship_LineShipHeader.DispatchLocation[].PalletRecords[].ShipLinestring
7221Verification MethodShipHeader.DispatchLocation[].PalletRecords[].VerificationMethodstringSOLAS.
723–732-5.3Pallet Gross MassShipHeader.DispatchLocation[].PalletRecords[].PalletGrossMassnumberSOLAS. First sequence of the pallet only.
733–74210SAMSA Accreditation (Pallet Level)ShipHeader.DispatchLocation[].PalletRecords[].SAMSAAccreditationstring
743–75210SAMSA Accreditation (Container Level)ShipHeader.DispatchLocation[].PalletRecords[].SAMSAAccreditationContainerstringFirst pallet record of each container only.
753–7575Container Tare WeightShipHeader.DispatchLocation[].PalletRecords[].ContainerTareWeightnumberFirst pallet record of each container only.
758–767-5.3Container Gross MassShipHeader.DispatchLocation[].PalletRecords[].ContainerGrossWeightnumberRenamed. First pallet record of each container only.
768–7747Weighing LocationShipHeader.DispatchLocation[].PalletRecords[].WeighingLocationstring
775–78713Weighing Date TimeShipHeader.DispatchLocation[].PalletRecords[].WeighingDateTimedatetimeFormat: ISO 8601 (the layout uses yyyymmddhh:mm).
788–7892Main AreaShipHeader.DispatchLocation[].PalletRecords[].MainAreastring
790–80516Production AreaShipHeader.DispatchLocation[].PalletRecords[].ProductionAreastring
806–8094Inspection PointShipHeader.DispatchLocation[].PalletRecords[].InspectionPointstring
810–83425Container_RefShipHeader.DispatchLocation[].PalletRecords[].ContainerReference2stringRenamed. The full container reference, up to 25 characters. Always send it.
835–84410Phyto_dataShipHeader.DispatchLocation[].PalletRecords[].PhytoDatastringFormat: 2-char protocol + 2-char FMS pallet status + 6-char space filler.
845–88440Cust_ordShipHeader.DispatchLocation[].PalletRecords[].CustomerOrderstringRenamed. Customer order number.
885–89410eLot_Key——Replaced by eLot_Key (pos 913). Use ShipHeader.DispatchLocation[].PalletRecords[].ElotKey.
895–9028Common Deck PositionShipHeader.DispatchLocation[].PalletRecords[].CommonDeckPositionstringVessel planning (cooling sections).
903–91210Agreement CodeShipHeader.DispatchLocation[].PalletRecords[].AgreementCodestring
913–92715eLot_KeyShipHeader.DispatchLocation[].PalletRecords[].ElotKeystringJSON casing ElotKey.

BT — Batch trailer → none

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Not in the API.
3–53from depot——Not in the API. Use root LocationId.
6–116sequence number——Not in the API. Use root BatchNumber.
12–187total records——Not in the API.
19–257Filler——Not in the API.
26–327total OP records——Not in the API. The count of PalletRecords[] replaces it.
33–397filler——Not in the API.
40–467total OP cartons——Not in the API.

API-only properties

JSON propertyTypeMeaning / what to send
LocationCodestringRequired. Code of the sending depot. Must match a depot registered with Paltrack, otherwise UNKNOWN_DEPOT (unless LocationId is 000).
ShipHeader.LoadingLocation.Season, ShipHeader.DispatchLocation[].SeasonstringThe ON record has no season. Optional; if sent, use ShipHeader.Season.
ShipHeader.DispatchLocation[].PalletRecords[].PalletIdstringOptional. The pallet is identified by SSCC; if you populate this, send the same SSCC value.
ShipHeader.LoadingLocation.SequenceNumber, ShipHeader.DispatchLocation[].SequenceNumberintegerThe ON record has no sequence number. Use 1 for LoadingLocation, then 2, 3, … for the DispatchLocation[] entries in file order.
ShipHeader.LoadId, ShipHeader.LoadingLocation.LoadId, ShipHeader.DispatchLocation[].LoadId, ShipHeader.DispatchLocation[].PalletRecords[].LoadIdintegerSet by Paltrack. Do not send.
ShipHeader.DispatchLocation[].PalletRecords[].InspectorstringNot in the OP layout. Optional.
ShipHeader.DispatchLocation[].PalletRecords[].OriginalAccountstringOriginal account. Not in the OP layout. Send it if you have it.
ShipHeader.DispatchLocation[].PalletRecords[].ReInspectionDatedatetimeNot in the OP layout. Optional.

Not in the API

  • OL: (filler) pos 133–134, (home AWB number) pos 147–158.
  • OP: (filler) pos 157, Filler pos 494, Filler pos 542–545.
  • OP, replaced by newer fields: seal number (pos 149) → Seal Number (pos 527); consec_no (pos 234) → Consec_No (pos 546); ship_line (pos 253) → Ship_Line (pos 720); eLot_Key (old, pos 885) → eLot_Key (pos 913).
  • BT: the batch trailer record is not in the API. Counts come from the arrays.
Day Instruction · DI

DI — Day Instruction

Send a Day Instruction (DI) as JSON to POST /v2/SubmitDayInstruction. The request body is DIFileDTO: the HD fields sit on the root object, the LO record is Order, and the LD lines are Order.OrderDetails[]. GetPayload returns the same shape to recipients.

Shape

Flat-file recordJSON objectOccurs
HD — headerroot (DIFileDTO)1
LO — order (loading instruction)Order1 (required)
LD — order detail lineOrder.OrderDetails[]1..n (required)
BT — batch trailernoneNot in the API
  • One submission carries one order. The LD lines nest under Order.OrderDetails[].

Before you start

  • Order.DestinationCode must be populated, or the instruction is not delivered. A submission with a blank Order.DestinationCode is accepted but reaches no recipient. The instruction is delivered, whole, to the recipients of that destination.
  • DIFileName, LocationCode, Order and Order.OrderDetails are required. OrderDetails must hold at least one line.
  • Order.OrderNumber is the document number recipients see for this payload. It is blank for ships and a unique order number for trucks, as in the layout.
  • Dates are ISO 8601 datetimes. Where the layout splits a date and a time, the API carries one datetime. For ships, send Order.LoadDate as null rather than 00000000.
  • Use OrderDetails[].ConsecNumber (pos 190, 10 characters). The old 6-character consec number (pos 50) is not in the API.
  • The part-pallet rule does not apply to Day Instructions.

HD — Header → root (DIFileDTO)

PosLenLayout fieldJSON propertyTypeReqNotes
——(file name)DIFileNamestringREQMust start with DI. Use the name you would give the flat file.
1–22record type——Implied by the object; no property.
3–53sending depotLocationIdstringRenamed. 3-character location id of the sending depot.
6–116sequence numberBatchNumberstringRenamed. Send as a string. The file-name sequence (sss), zero-padded to 6.
12–198dateCreateDateTimedatetimeCombined with time into one datetime. Format: ISO 8601, e.g. 2026-09-30T14:05:00.
20–278timeCreateDateTimedatetimeCombined with date into one datetime.

LO — Order → Order

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Implied by the object; no property.
31transaction typeOrder.TransactionTypestringValues: N = new instruction.
4–107location codeOrder.LocationCodestringSending depot code. Send the same value as the root LocationCode.
11–166order numberOrder.OrderNumberstringBlank for ships; unique order number for trucks. Recipients see it as the payload's document number.
171order typeOrder.OrderTypestringValues: V = conventional ship, T = container ship, D = normal truck, Z = container truck.
181load idOrder.LoadIdstringLayout value: 0.
19–268load dateOrder.LoadDatedatetimeFor ships (00000000 in the file), send null.
27–326ship numberOrder.ShipNumberstring
33–5725instructionOrder.Instructionstring
581order statusOrder.OrderStatusstringValues: blank for ships; O = open, C = closed for trucks.
59–602destination typeOrder.DestinationTypestringValues: PO for ships; DP = depot, CU = customer for trucks.
61–677destination codeOrder.DestinationCodestringDischarge port (ships) or destination depot/customer (trucks). Must be populated: delivery goes to this destination.
68–736master orderOrder.MasterOrderstringSame as the order number.
741cold flagOrder.ColdFlagstringValues: blank for ships; Y / N for trucks.
75–817from locationOrder.FromLocationstringLocation where the order was created. Trucks only.
82–887from userOrder.FromUserstringUser who created the order. Trucks only.
89–968from dateOrder.FromDatedatetimeCombined with from time into one datetime. Trucks only; send null otherwise.
97–1015from timeOrder.FromDatedatetimeCombined with from date into one datetime.
102–1043BLANK——Not in the API.
1051xmit flagOrder.XmitFlagstringValues: Y / N.
1061revisionOrder.RevisionstringValues: 0–8 = revision, 9 = delete.
1071message numberOrder.MessageNumberstringLayout value: 0.
108–1147tran userOrder.TransactionUserstringSet by Paltrack (user who last accessed the instruction in Paltrack). Do not send.
115–1228tran dateOrder.TransactionDatedatetimeCombined with tran time into one datetime. Send the date and time the order was created or last changed.
123–1275tran timeOrder.TransactionDatedatetimeCombined with tran date into one datetime (see above).
128–1336PortOrder.Portstring
134–15825Ship nameOrder.ShipNamestring

LD — Order detail → Order.OrderDetails[]

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Implied by the object; no property.
31load idOrder.OrderDetails[].LoadIdstring
4–96BLANK——Not in the API.
10–167location codeOrder.OrderDetails[].LocationCodestringSending depot code. Send the same value as Order.LocationCode.
17–182handling point——Not in the API. The layout leaves it blank.
191line typeOrder.OrderDetails[].LineTypestringValues: P = positive, N = negative.
201line statusOrder.OrderDetails[].LineStatusstringValues: O = open, C = closed.
211line numberOrder.OrderDetails[].LineNumberintegerConventional ships: the order's line number. Container ships: 1 = positive, 0 = negative. Trucks: 1.
221sequence numberOrder.OrderDetails[].SequenceNumberintegerStarts at 1 within each line number.
23–242storeOrder.OrderDetails[].Storestring
25–262bayOrder.OrderDetails[].Baystring
27–326positionOrder.OrderDetails[].PositionstringConventional ships only; blank otherwise.
33–342destination typeOrder.OrderDetails[].DestinationTypestringValues: PO for ships; DP / CU for trucks.
35–417destination codeOrder.OrderDetails[].DestinationCodestringShips: destination port. Trucks: destination depot or customer code. Populate it, but delivery goes by Order.DestinationCode.
42–432senderOrder.OrderDetails[].SenderstringShips and container trucks.
44–452agentOrder.OrderDetails[].AgentstringShips and container trucks. The party who will receive and sell the product overseas.
46–472shipping senderOrder.OrderDetails[].ShippingSenderstringUsually the same as the sender.
48–492shipping agentOrder.OrderDetails[].ShippingAgentstringUsually the same as the agent.
50–556consec number——Replaced by consec number (pos 190). Use Order.OrderDetails[].ConsecNumber.
561temp setOrder.OrderDetails[].TempSetstring
571channelOrder.OrderDetails[].ChannelstringValues: E = export, L = local.
58–592stockpoolOrder.OrderDetails[].StockPoolstringValues: CE = certified, RJ = rejected.
60–612organisationOrder.OrderDetails[].Organisationstring
62–632countryOrder.OrderDetails[].Countrystring
64–652commodityOrder.OrderDetails[].Commoditystring
66–672variety groupOrder.OrderDetails[].VarietyGroupstring
68–703varietyOrder.OrderDetails[].Varietystring
71–733sub varietyOrder.OrderDetails[].SubVarietystringThe layout leaves it blank.
74–763actual varietyOrder.OrderDetails[].ActualVarietystringThe layout leaves it blank.
77–804packOrder.OrderDetails[].Packstring
81–844gradeOrder.OrderDetails[].Gradestring
85–895markOrder.OrderDetails[].Markstring
90–945low countOrder.OrderDetails[].LowCountstringLower end of the count range.
95–995high countOrder.OrderDetails[].HighCountstringUpper end of the count range.
100–1012inventory codeOrder.OrderDetails[].InventoryCodestring
102–1054picking referenceOrder.OrderDetails[].PickingReferencestring
106–1072product groupOrder.OrderDetails[].ProductGroupstring
108–1103product charsOrder.OrderDetails[].ProductCharacteristicstringRenamed.
111–1122target marketOrder.OrderDetails[].TargetMarketstring
113–1197farmOrder.OrderDetails[].Farmstring
120–1278remarksOrder.OrderDetails[].Remarksstring
1281unit typeOrder.OrderDetails[].UnitTypestringValues: P = pallet-level instruction, C = carton-level instruction.
129–1324instruction quantityOrder.OrderDetails[].InstructionQuantityintegerQuantity to be shipped.
133–1364Shipped quantityOrder.OrderDetails[].ShippedQuantityintegerQuantity already shipped.
1371xmit flagOrder.OrderDetails[].XmitFlagstringLayout value: N.
1381revisionOrder.OrderDetails[].RevisionstringSend as a string. Layout value: 0.
1391message number——Not in the API.
140–1467tran user——Not in the API. The layout says leave blank.
147–1548tran date——Not in the API. The layout says leave blank.
155–1598tran time——Not in the API. The layout's size says 8; positions 155–159 are 5 characters.
160–1623BLANK——Not in the API.
1631cpp_shipOrder.OrderDetails[].CPPShipstringValues: Y / N (ship pallets according to the cartons-per-pallet rule). JSON casing CPPShip.
1641pallet base typeOrder.OrderDetails[].PalletBaseTypestringe.g. S = standard.
165–18218pallet id/ssccOrder.OrderDetails[].PalletIdstringPallet number or SSCC.
183–1886PortOrder.OrderDetails[].Portstring
1891PriorityOrder.OrderDetails[].PrioritystringSend as a string. Values: 0–9, loading priority of the order, ascending.
190–19910consec numberOrder.OrderDetails[].ConsecNumberstringBlank for conventional ships and normal trucks.

BT — Batch trailer → none

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Not in the API.
3–53receiving depot——Not in the API. Recipients come from Order.DestinationCode.
6–116sequence number——Not in the API. Use root BatchNumber.
12–187total records——Not in the API.
19–257total LD records——Not in the API. The count of Order.OrderDetails[] replaces it.
26–327total instr_qty——Not in the API.

API-only properties

JSON propertyTypeMeaning / what to send
LocationCodestringRequired. Sending depot code. Send the same value as Order.LocationCode and Order.OrderDetails[].LocationCode.
ProviderstringYour system or vendor name. The HD record has no provider field.
VersionstringVersion of your application. The HD record has no version field.

Not in the API

  • LO: BLANK (pos 102–104).
  • LD: BLANK (pos 4–9), handling point, message number, tran user, tran date, tran time, BLANK (pos 160–162).
  • LD: consec number (old, pos 50) is replaced by consec number (pos 190) → Order.OrderDetails[].ConsecNumber.
  • BT: the batch trailer record is not in the API.
Loading Instruction · LI

LI — Loading Instruction

Send a Loading Instruction (LI) as JSON to POST /v2/SubmitLoadInstruction. The request body is LIFileDTO: the BH fields sit on the root object, each LH record is one element of InstructionHeaders[], and each LD record nests under its header in InstructionDetails[]. GetPayload returns the same shape to recipients.

Shape

Flat-file recordJSON objectOccurs
BH — batch headerroot (LIFileDTO)1
LH — instruction headerInstructionHeaders[]1..n (required)
LD — instruction detailInstructionHeaders[].InstructionDetails[]0..n per header (the array is required on every header); at least one line in the submission
BT — batch trailernoneNot in the API
  • In the file, the LD records follow the LH records as a flat list. In the API, each LD nests under its LH. Match them on OrderNumber and ShipNumber, and also on LineNumber for conventional ships (the layout says these are the same as on the LH record). The API does not check this nesting.
  • Every header must include InstructionDetails, even if it is an empty array [].

Before you start

  • InstructionHeaders[].DestinationCode must be populated on every header, or that header is not delivered. This applies to container ships too, even though the layout leaves the header destination blank for them. The submission is accepted either way; a header with a blank destination reaches no recipient. InstructionDetails[].DestinationCode does not affect delivery.
  • Each header is delivered separately, to the recipients of its own destination. Recipients see the header's OrderNumber as the payload's document number.
  • LIFileName, LocationCode and InstructionHeaders are required. Every header needs InstructionDetails (it may be []), and at least one header must carry at least one line.
  • LI property names differ from MT and DI: LI uses Organization, ProductChars and CppShip where MT/DI use Organisation, ProductCharacteristic and CPPShip. LD Shipped quantity is InstructionShipped (DI uses ShippedQuantity).
  • Several numeric layout fields are strings in JSON: LineNumber (header and detail), LowSortSequence, HighSortSequence and RemoteQuantity. Send them as strings.
  • Dates are ISO 8601 datetimes. Where the layout splits a date and a time, the API carries one datetime. For ships, send InstructionHeaders[].LoadDate as null rather than 00000000. InstructionDetails[].LoadDate carries a date and a time.
  • The part-pallet rule does not apply to Loading Instructions.

BH — Batch header → root (LIFileDTO)

PosLenLayout fieldJSON propertyTypeReqNotes
——File nameLIFileNamestringREQMust start with LI. Layout convention: LIsssddmmyyyyhhmmss.rrr.
1–22record type——Implied by the object; no property. The layout heads this section "HD", but the record type is BH.
3–53sending depotLocationIdstringRenamed. 3-character location id of the sending depot.
6–116sequence numberBatchNumberstringRenamed. Send as a string. Zero-padded to 6.
12–198dateCreateDateTimedatetimeCombined with time into one datetime. Format: ISO 8601, e.g. 2026-09-30T14:05:00. Not nullable.
20–278timeCreateDateTimedatetimeCombined with date into one datetime.

LH — Instruction header → InstructionHeaders[]

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Implied by the object; no property.
31transaction typeInstructionHeaders[].TransactionTypestringValues: N = new instruction.
4–107location codeInstructionHeaders[].LocationCodestringSending depot code. Send the same value as the root LocationCode.
111order typeInstructionHeaders[].OrderTypestringValues: V = conventional ship, T = container ship, D = normal truck, Z = container truck.
12–176order numberInstructionHeaders[].OrderNumberstringBlank for ships; unique order number for trucks. Recipients see it as the payload's document number.
18–236ship numberInstructionHeaders[].ShipNumberstring
24–4825Ship nameInstructionHeaders[].ShipNamestring
49–568load dateInstructionHeaders[].LoadDatedatetimeFor ships (00000000 in the file), send null.
571order statusInstructionHeaders[].OrderStatusstringValues: blank for ships; O = open, C = closed for trucks.
58–592destination typeInstructionHeaders[].DestinationTypestringValues: PO for conventional ships; blank for container ships; DP = depot, CU = customer for trucks.
60–667destination codeInstructionHeaders[].DestinationCodestringDischarge port (ships) or destination depot/customer (trucks). Must be populated on every header, container ships included: delivery goes to this destination.
67–726master orderInstructionHeaders[].MasterOrderstringSame as the order number.
731cold flagInstructionHeaders[].ColdFlagstringValues: blank for ships; Y / N for trucks.
74–807from locationInstructionHeaders[].FromLocationstringLocation where the order was created. Trucks only.
81–877from userInstructionHeaders[].FromUserstringUser who created the order. Trucks only.
88–958from dateInstructionHeaders[].FromDatedatetimeCombined with from time into one datetime. Trucks only; send null otherwise.
96–1038from timeInstructionHeaders[].FromDatedatetimeCombined with from date into one datetime.
1041line statusInstructionHeaders[].LineStatusstringValues: O = open, C = closed for conventional ships; blank for container ships and trucks.
105–1084Line numberInstructionHeaders[].LineNumberstringSend as a string. Sequential from 1 for conventional ships; 0 for container ships and trucks.
109–1102StoreInstructionHeaders[].StorestringStore the fruit must come from.
111–1122BayInstructionHeaders[].BaystringBay the fruit must come from.
113–1142SenderInstructionHeaders[].Senderstring
115–1162AgentInstructionHeaders[].AgentstringThe party who will receive and sell the product overseas.
117–1182shipping senderInstructionHeaders[].ShippingSenderstringUsually the same as the sender.
119–1202Shipping agentInstructionHeaders[].ShippingAgentstringUsually the same as the agent.
1211ChannelInstructionHeaders[].ChannelstringValues: L = local, E = export.
122–1232Stock poolInstructionHeaders[].StockPoolstringValues: CE = certified, RJ = rejected.
124–1252OrganizationInstructionHeaders[].OrganizationstringSpelled with a z (MT/DI use Organisation).
126–1272CountryInstructionHeaders[].Countrystring
128–1292CommodityInstructionHeaders[].Commoditystring
130–1312Variety groupInstructionHeaders[].VarietyGroupstring
132–1343VarietyInstructionHeaders[].Varietystring
135–1373Sub varietyInstructionHeaders[].SubVarietystringThe layout leaves it blank.
138–1403Actual varietyInstructionHeaders[].ActualVarietystringThe layout leaves it blank.
141–1444PackInstructionHeaders[].Packstring
145–1484GradeInstructionHeaders[].Gradestring
149–1535MarkInstructionHeaders[].Markstring
154–1585low countInstructionHeaders[].LowCountstringLower end of the count range.
159–1624low_sort_seqInstructionHeaders[].LowSortSequencestringRenamed. Send as a string. Sort sequence of the low count.
163–1675high countInstructionHeaders[].HighCountstringUpper end of the count range.
168–1714high_sort_seqInstructionHeaders[].HighSortSequencestringRenamed. Send as a string. Sort sequence of the high count.
172–1732inventory codeInstructionHeaders[].InventoryCodestring
174–1774picking referenceInstructionHeaders[].PickingReferencestring
178–1792product groupInstructionHeaders[].ProductGroupstring
180–1823product charsInstructionHeaders[].ProductCharsstringMT/DI use ProductCharacteristic.
183–1842target marketInstructionHeaders[].TargetMarketstring
185–1917farmInstructionHeaders[].Farmstring
192–1998remarksInstructionHeaders[].Remarksstring
2001cpp_shipInstructionHeaders[].CppShipstringValues: Y / N (ship pallets according to the cartons-per-pallet rule). JSON casing CppShip (DI uses CPPShip).
2011pallet base typeInstructionHeaders[].PalletBaseTypestringe.g. S = standard.
2021unit typeInstructionHeaders[].UnitTypestringValues: P = pallet-level instruction, C = carton-level instruction.
203–2075instruction quantityInstructionHeaders[].InstructionQuantityintegerQuantity to be shipped.
2081xmit flagInstructionHeaders[].XmitFlagstringValues: Y / N.
2091revisionInstructionHeaders[].RevisionstringValues: 0–8 = revision, 9 = delete.
2101message number——Not in the API.
211–2177tran user——Not in the API.
218–2258tran date——Not in the API.
226–2338tran time——Not in the API.

LD — Instruction detail → InstructionHeaders[].InstructionDetails[]

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Implied by the object; no property.
3–86Order numberInstructionHeaders[].InstructionDetails[].OrderNumberstringSame as the parent header's OrderNumber.
9–146Ship numberInstructionHeaders[].InstructionDetails[].ShipNumberstringSame as the parent header's ShipNumber.
15–217location codeInstructionHeaders[].InstructionDetails[].LocationCodestringSending depot code. Same as the parent header's LocationCode.
22–232handling pointInstructionHeaders[].InstructionDetails[].HandlingPointstringThe layout leaves it blank.
241line typeInstructionHeaders[].InstructionDetails[].LineTypestringValues: P = positive, N = negative.
251line statusInstructionHeaders[].InstructionDetails[].LineStatusstringValues: O = open, C = closed.
26–294line numberInstructionHeaders[].InstructionDetails[].LineNumberstringSend as a string. Conventional ships: the header's line number. Container ships: 1 = positive, 0 = negative. Trucks: 1.
30–334sequence numberInstructionHeaders[].InstructionDetails[].SequenceNumberintegerStarts at 1 within each line number.
34–352storeInstructionHeaders[].InstructionDetails[].Storestring
36–372bayInstructionHeaders[].InstructionDetails[].Baystring
38–436positionInstructionHeaders[].InstructionDetails[].PositionstringConventional ships only; blank otherwise.
44–452destination typeInstructionHeaders[].InstructionDetails[].DestinationTypestringValues: PO for ships and container trucks; DP / CU for normal trucks.
46–527destination codeInstructionHeaders[].InstructionDetails[].DestinationCodestringDestination port (ships and container trucks) or depot/customer code (normal trucks). Does not affect delivery; delivery goes by the header's DestinationCode.
53–542senderInstructionHeaders[].InstructionDetails[].SenderstringShips and container trucks.
55–562agentInstructionHeaders[].InstructionDetails[].AgentstringShips and container trucks.
57–582shipping senderInstructionHeaders[].InstructionDetails[].ShippingSenderstringUsually the same as the sender.
59–602shipping agentInstructionHeaders[].InstructionDetails[].ShippingAgentstringUsually the same as the agent.
61–666consec numberInstructionHeaders[].InstructionDetails[].ConsecNumberstringBlank for conventional ships and normal trucks.
671channelInstructionHeaders[].InstructionDetails[].ChannelstringValues: E = export, L = local.
68–692stockpoolInstructionHeaders[].InstructionDetails[].StockPoolstringValues: CE = certified, RJ = rejected.
70–712organisationInstructionHeaders[].InstructionDetails[].OrganizationstringRenamed (spelled with a z).
72–732countryInstructionHeaders[].InstructionDetails[].Countrystring
74–752commodityInstructionHeaders[].InstructionDetails[].Commoditystring
76–772variety groupInstructionHeaders[].InstructionDetails[].VarietyGroupstring
78–803varietyInstructionHeaders[].InstructionDetails[].Varietystring
81–833sub varietyInstructionHeaders[].InstructionDetails[].SubVarietystringThe layout leaves it blank.
84–863actual varietyInstructionHeaders[].InstructionDetails[].ActualVarietystringThe layout leaves it blank.
87–904packInstructionHeaders[].InstructionDetails[].Packstring
91–944gradeInstructionHeaders[].InstructionDetails[].Gradestring
95–995markInstructionHeaders[].InstructionDetails[].Markstring
100–1045low countInstructionHeaders[].InstructionDetails[].LowCountstringLower end of the count range.
105–1084low_sort_seqInstructionHeaders[].InstructionDetails[].LowSortSequencestringRenamed. Send as a string.
109–1135high countInstructionHeaders[].InstructionDetails[].HighCountstringUpper end of the count range.
114–1174high_sort_seqInstructionHeaders[].InstructionDetails[].HighSortSequencestringRenamed. Send as a string.
118–1192inventory codeInstructionHeaders[].InstructionDetails[].InventoryCodestring
120–1234picking referenceInstructionHeaders[].InstructionDetails[].PickingReferencestring
124–1252product groupInstructionHeaders[].InstructionDetails[].ProductGroupstring
126–1283product charsInstructionHeaders[].InstructionDetails[].ProductCharsstringMT/DI use ProductCharacteristic.
129–1302target marketInstructionHeaders[].InstructionDetails[].TargetMarketstring
131–1377farmInstructionHeaders[].InstructionDetails[].Farmstring
138–1458remarksInstructionHeaders[].InstructionDetails[].Remarksstring
1461unit typeInstructionHeaders[].InstructionDetails[].UnitTypestringValues: P = pallet-level instruction, C = carton-level instruction.
1471cpp_shipInstructionHeaders[].InstructionDetails[].CppShipstringValues: Y / N (ship pallets according to the cartons-per-pallet rule). JSON casing CppShip.
1481pallet base typeInstructionHeaders[].InstructionDetails[].PalletBaseTypestringe.g. S = standard.
149–1524instruction quantityInstructionHeaders[].InstructionDetails[].InstructionQuantityintegerQuantity to be shipped.
153–1564Shipped quantityInstructionHeaders[].InstructionDetails[].InstructionShippedintegerRenamed. Quantity already shipped.
1571xmit flagInstructionHeaders[].InstructionDetails[].XmitFlagstringLayout value: N.
1581revisionInstructionHeaders[].InstructionDetails[].RevisionstringSend as a string. Layout value: 0.
1591message number——Not in the API.
160–1667tran user——Not in the API. The layout says leave blank.
167–1748tran date——Not in the API. The layout says leave blank.
175–1828tran time——Not in the API. The layout says leave blank.
183–1864remote_qtyInstructionHeaders[].InstructionDetails[].RemoteQuantitystringRenamed. Send as a string. Stock quantity coming from remote depots.
187–1937Stock_locnInstructionHeaders[].InstructionDetails[].StockLocationstringRenamed. The remote site the remote quantity comes from.
1941Order_typeInstructionHeaders[].InstructionDetails[].OrderTypestringValues: V = conventional ship, T = container ship, D = normal truck, Z = container truck. Same as the header's OrderType.
195–21925Ship_nameInstructionHeaders[].InstructionDetails[].ShipNamestringShip name (the layout's comment says "Port"). Same as the header's ShipName.
220–23213Load_dateInstructionHeaders[].InstructionDetails[].LoadDatedatetimeDate and time. Format: ISO 8601 (the layout uses yyyymmddhh:mm).
233–2342BerthInstructionHeaders[].InstructionDetails[].Berthstring
2351Xmit_flag2InstructionHeaders[].InstructionDetails[].XmitFlag2string
236–2372PoolInstructionHeaders[].InstructionDetails[].Poolstring
238–2403Count groupInstructionHeaders[].InstructionDetails[].CountGroupstring
241–2422WarehouseInstructionHeaders[].InstructionDetails[].Warehousestring
243–2486Orig accountInstructionHeaders[].InstructionDetails[].OrigAccountstring
249–28840Load remarksInstructionHeaders[].InstructionDetails[].LoadRemarksstringSales order comments.
289–30113GtinInstructionHeaders[].InstructionDetails[].Gtinstring
302–31110Sell By codeInstructionHeaders[].InstructionDetails[].SellByCodestring
312–32110AgreementCodeInstructionHeaders[].InstructionDetails[].AgreementCodestringeCert agreement code.

BT — Batch trailer → none

PosLenLayout fieldJSON propertyTypeReqNotes
1–22record type——Not in the API.
3–53receiving depot——Not in the API. Recipients come from each header's DestinationCode.
6–116sequence number——Not in the API. Use root BatchNumber.
12–187total records——Not in the API.
19–257total LD records——Not in the API. The count of all InstructionDetails[] replaces it.
26–327total instr_qty——Not in the API.

API-only properties

JSON propertyTypeMeaning / what to send
LocationCodestringRequired. Sending depot code. Send the same value as InstructionHeaders[].LocationCode and InstructionDetails[].LocationCode.
ProviderstringYour system or vendor name. The BH record has no provider field.
VersionstringVersion of your application. The BH record has no version field.

Not in the API

  • LH: message number, tran user, tran date, tran time.
  • LD: message number, tran user, tran date, tran time.
  • BT: the batch trailer record is not in the API.