Saudi Arabia PTS Upload and Download Guidelines (CSV)

See How to Use this Guide before selecting the below fields.

Message Types:

  • SA_PTS_UPLOAD
    PTS Upload messages 7MB or larger may fail to process successfully due to file size limits.
  • SA_PTS_UPLOAD_PROCESSING
  • SA_PTS_DOWNLOAD
  • SA_PTS_DOWNLOAD_PROCESSING

Info Exchange Display Names:

  • PTS Upload
  • PTS Upload Processing
  • PTS Download
  • PTS Download Processing
When sending an element in Date or DateTime format, a valid date must be given. "00" is not a valid day or month value and "0000" is not a valid year value.
Data Element Occurs
Length
Type Description
CSV_SA_PTS_Load [1...1]
[-]
-

Required.

  HDR [1...1]
[-]
- Required. Section identifying the file routing header information.
  HDR [1...1]
[1/*]
String Required. Identifies the control file header.
  FileControlNumber [1...1]
[1/*]
String Required. Unique file control ID number. *1
  FileSenderNumber [1...1]
[1/*]
String Required. File sender's company identifier. *2
  FileReceiverNumber [1...1]
[1/*]
String Required. File receiver's company identifier. *3
  FileDate [1...1]
[1/*]
String Required. Date the file was generated, in YYYYMMDD format. *4
  FileTime [1...1]
[1/*]
String Required. Time the file was generated, in HHMMSSZ format. Must be in GMT. *5
  COMMISSION [0...*]
[-]
- Conditionally required if the REGISTRATION event is empty or null. Commissioned Event record. One or more instances of the Commission Event might be present.

The following elements are mandatory for COMMISSION:

  • COMMISSION | COMMISSION
  • COMMISSION | EventDateTime
  • COMMISSION | EventLocation
  • COMMISSION | EventLocationType
  COMMISSION [1...1]
[1/*]
String Conditionally required. Identifies Commission Event records. *6
  EventDateTime [1...1]
[1/*]
String Conditionally required. Timestamp (including UTC time zone indicator) of the date and time when the serial number is commissioned to the object, in YYYYMMDDTHHMMSSssZ format. *7
  EventLocation [1...1]
[1/*]
String Conditionally required. Site-level GLN of the location where the event occurs. *8
  EventLocationType [0...1]
[0/*]
String Conditionally required. The type of the event location. GLN is expected. *9

See the BusinessAndLocationId enumeration list for valid values.

  PackagingLevel [0...1]
[0/*]
String The packaging level of the commissioned items. *10

See the PackagingLevel enumeration list for valid values.

  LotNumber [0...1]
[0/*]
String The lot or batch code for the serialized item. *11
  ExpirationDate [0...1]
[0/*]
String Conditionally required if COMMISSION | LotNumber is present. The expiration date for the serialized item, in YYYYMMDD format. *12
  COMSERIAL [1...*]
[-]
- Required. Serial number list for COMMISSION. One or more instances of COMSERIAL might be present within each instance of the COMMISSION.

The following elements are mandatory for COMSERIAL:

  • COMSERIAL | COMSERIAL
  • COMSERIAL | SerialNumber
  COMSERIAL [1...1]
[1/*]
String Conditionally required. Identifies the serial number records for a Commission Event. *13
  SerialNumber [1...1]
[1/*]
String Conditionally required. Serial number expressed in the GS1 application identifier format without parenthesis for the AI keys. AI(01)(21) formatted serial number for GTINs. One or more serial numbers might be present. *14
  REGISTRATION [0...*]
[-]
- Conditionally required if COMMISSION is empty or null. Registration Event record. One or more instances of the Registration Event might be present.

The following elements are mandatory for REGISTRATION:

  • REGISTRATION | REGISTRATION
  • REGISTRATION | EventDateTime
  • REGISTRATION | EventLocation
  • REGISTRATION | EventLocationType
  REGISTRATION [1...1]
[1/*]
String Conditionally required. Identifies Registration Event records. *15
  EventDateTime [1...1]
[1/*]
String Conditionally required. Timestamp (including UTC time zone indicator) of the date and time when the serial number is commissioned to the object, in YYYYMMDDTHHMMSSssZ format. *16
  EventLocation [1...1]
[1/*]
String Conditionally required. Site-level GLN of the location where the event occurs. *17
  EventLocationType [0...1]
[0/*]
String Conditionally required. The type of the event location. GLN is expected. *18

See the BusinessAndLocationId enumeration list for valid values.

  LotNumber [0...1]
[0/*]
String The lot or batch code for the serialized item. *19
  ExpirationDate [0...1]
[0/*]
String Conditionally required if REGISTRATION | LotNumber is present. The expiration date for the serialized item, in YYYYMMDD format. *20
  REGSERIAL [1...*]
[-]
- Required. Serial number list for REGISTRATION. One or more instances of REGSERIAL might be present within each instance of REGISTRATION.

The following elements are mandatory for REGSERIAL:

  • REGSERIAL | REGSERIAL
  • REGSERIAL | SerialNumber
  REGSERIAL [1...1]
[1/*]
String Conditionally required. Identifies the serial number records for the Registration Event. *21
  SerialNumber [1...1]
[1/*]
String Conditionally required. Serial number expressed in the GS1 application identifier format without parentheses for the AI keys. AI(01)(21) formatted serial number for GTINs. One or more serial numbers might be present. *22
  AGGREGATION [0...*]
[-]
- Aggregation Event record. One or more instances of the Aggregation Event might be present.

The following elements are mandatory for AGGREGATION:

  • AGGREGATION | AGGREGATION
  • AGGREGATION | EventDateTime
  • AGGREGATION | EventLocation
  • AGGREGATION | EventLocationType
  • AGGREGATION | ParentSerial
  AGGREGATION [1...1]
[1/3]
String Conditionally required. Identifies the Aggregation Event records. *23
  EventDateTime [1...1]
[1/*]
String Conditionally required. Timestamp (including UTC time zone indicator) of the date and time when the serial number is commissioned to the object, in YYYYMMDDTHHMMSSssZ format. *24
  EventLocation [1...1]
[1/*]
String Conditionally required. Site-level GLN of the location where the event occurs. *25
  EventLocationType [0...1]
[0/*]
String Conditionally required. The type of the event location. GLN is expected. *26

See the BusinessAndLocationId enumeration list for valid values.

  ParentSerial [1...1]
[1/*]
String Conditionally required. Parent serial number in the Aggregation Event. Serial number expressed in the GS1 application identifier format without parenthesis for the AI keys. AI(01)(21) formatted serial number for GTINs or AI(00) formatted serial number for SSCCs. Non-GS1 serial numbers are expressed in native format. *27
  AGGSERIAL [1...*]
[-]
- Required. Serial number list for AGGREGATION. One or more instances of AGGSERIAL might be present within each instance of AGGREGATION.

The following elements are required for AGGSERIAL:

  • AGGSERIAL | AGGSERIAL
  • AGGSERIAL | SerialNumber
  AGGSERIAL [1...1]
[1/*]
String Conditionally required. Identifies the serial number records for the Aggregation Event. *28
  SerialNumber [1...1]
[1/*]
String Conditionally required. Serial number expressed in the GS1 application identifier format without parentheses for the AI keys. AI(01)(21) formatted serial number for GTINs. One or more serial numbers might be present. *29
  SHIPMENT [1...1]
[-]
- Required. Shipment Event record. Only one instance of SHIPMENT might be present.

The following elements are required for SHIPMENT:

  • SHIPMENT | SHIPMENT
  • SHIPMENT | EventDateTime
  • SHIPMENT | EventLocation
  • SHIPMENT | EventLocationType
  • SHIPMENT | DeliveryNumber
  • SHIPMENT | TransactionDate
  • SHIPMENT | SalesDistributionType
  SHIPMENT [1...1]
[1/*]
String Required. Identifies Shipment Event records. *30
  EventDateTime [1...1]
[1/*]
String Conditionally required. Timestamp (including UTC time zone indicator) of the date and time when the serial number is commissioned to the object, in YYYYMMDDTHHMMSSssZ format. *31
  EventLocation [1...1]
[1/*]
String Conditionally required. Site-level GLN of the location where the event occurs. *32
  EventLocationType [0...1]
[0/*]
String Conditionally required. The type of the event location. GLN is expected. *33

See the BusinessAndLocationId enumeration list for valid values.

  DeliveryNumber [1...1]
[1/*]
String Conditionally required. Delivery number for the specified shipment. A unique delivery number based on the GLN and SHIPMENT | EventDateTime. *34
  DeliveryCompleteFlag [0...1]
[0/*]
String Indicates if the delivery is complete.
  TransactionDate [1...1]
[1/*]
String Conditionally required. The date of the transaction, in YYYYMMDD format. *35
  ShipToCountryCode [0...1]
[0/*]
String ISO country code for the ship-to country. *36

Valid value = SA

  ShipFromCountryCode [0...1]
[0/*]
String ISO country code for the ship-from country. *37

Populate with the country code associated with the sending location in Partner Master Data.

See the ISOCountryCode enumeration list for valid values.

  SalesDistributionType [1...1]
[1/*]
String

Conditionally required. This value is referenced to inform TraceLink of a transfer (i.e. no change of ownership of the product, only physical movement of the product) for regulatory purposes. Setting this value does not trigger regulatory reporting. Triggering regulatory reporting is done in customer administrative configuration within TraceLink. *38

Valid values:

  • EXPORTRETURN
  • EXPORTSALE
  • EXPORTTRANSFER
  • INCOUNTRYRETURN
  • INCOUNTRYSALE
  • INCOUNTRYTRANSFER

See the SalesDistType enumeration list for valid values.

  SHIPSERIAL [1...*]
[-]
- Required. Serial number list for SHIPMENT. One or more instances of SHIPSERIAL might be present within each instance of SHIPMENT.

The following elements are required for SHIPSERIAL:

  • SHIPSERIAL | SHIPSERIAL
  • SHIPSERIAL | SerialNumber
  SHIPSERIAL [1...1]
[1/*]
String Conditionally required. Identifies serial number records for a Shipment Event. *39
  SerialNumber [1...1]
[1/*]
String Conditionally required. Serial number expressed in the GS1 application identifier format without parentheses for the AI keys. AI(01)(21) formatted serial number for GTINs. One or more serial numbers might be present. *40
  SHIPPARTNER(1) [1...1]
[-]
- Required. Instance 1 of SHIPPARTNER recording the business party identifier for sold-from party.

The following elements are required for SHIPPARTNER(1):

  • SHIPPARTNER(1) | SHIPPARTNER
  • SHIPPARTNER(1) | PartyType
  • SHIPPARTNER(1) | BusinessPartyId
  • SHIPPARTNER(1) | BusinessPartyIdType
  SHIPPARTNER [1...1]
[1/*]
String Conditionally required. Identifies the party identifiers for the shipping event. *41
  PartyType [1...1]
[1/*]
String

Conditionally required. Identifies the party type. *42

Valid value = BSN – From Business Party

  BusinessPartyId [1...1]
[1/*]
String

Conditionally required. The business identifier associated with the sold-from business entity. This value is used as the lookup key in Master Data to populate the details in FromBusinessPartyInfo. *43

Populate with the sender GLN from the PTS Query Response.

  BusinessPartyIdType [1...1]
[1/*]
String Conditionally required. Party type for the from business party ID. GLN is expected. *44

See the BusinessAndLocationId enumeration list for valid values.

  Name1 [0...1]
[0/*]
String The business name of the trading partner. *45
  Name2 [0...1]
[0/*]
String Line 2 of the business name. *46
  Name3 [0...1]
[0/*]
String Line 3 of the business name.
  Street1 [0...1]
[0/*]
String The first line of the street address. *47
  Street2 [0...1]
[0/*]
String The second line of the street address. *48
  City [0...1]
[0/*]
String City or town. *49
  Region [0...1]
[0/*]
String Province, state, or region code.
  PostalCode [0...1]
[0/*]
String The ZIP or other postal code. *50
  Country [0...1]
[0/*]
String The country, using the ISO country code. *51

See the ISOCountryCode enumeration list for valid values.

  SHIPPARTNER(2) [0...1]
[-]
- Instance 2 of SHIPPARTNER recording the location identifier of the transfer-from party.

Populate only if ship-from location identifier is different from the sold-from identifier.

The following elements are required for SHIPPARTNER(2):

  • SHIPPARTNER(2) | SHIPPARTNER
  • SHIPPARTNER(2) | PartyType
  • SHIPPARTNER(2) | LocationId
  • SHIPPARTNER(2) | LocationIdType
  SHIPPARTNER [1...1]
[1/*]
String

Conditionally required for SHIPPARTNER(2). Identifies the party identifiers for the shipping event. *52

  PartyType [1...1]
[1/*]
String Conditionally required for SHIPPARTNER(2). Identifies the party type. *53

Valid value = SHF – Ship-from Business Party

  LocationId [1...1]
[1/*]
String

Conditionally required for SHIPPARTNER(2). The location identifier associated with the ship-from location. This value is used as the lookup key in Master Data to populate the details in ShipFromLocationInfo. *54

Populate with the sender GLN from the PTS Query Response.

  LocationIdType [1...1]
[1/*]
String Conditionally required for SHIPPARTNER(2). Location type for the ship-from location. GLN is expected. *55

See the BusinessAndLocationId enumeration list for valid values.

  Name1 [0...1]
[0/*]
String The business name of the trading partner. *56
  Name2 [0...1]
[0/*]
String Line 2 of the business name. *57
  Name3 [0...1]
[0/*]
String Line 3 of the business name.
  Street1 [0...1]
[0/*]
String The first line of the street address. *58
  Street2 [0...1]
[0/*]
String The second line of the street address. *59
  City [0...1]
[0/*]
String City or town. *60
  Region [0...1]
[0/*]
String Province, state, or region code.
  PostalCode [0...1]
[0/*]
String The ZIP or other postal code. *61
  Country [0...1]
[0/*]
String The country, using the ISO country code. *62

See the ISOCountryCode enumeration list for valid values.

  SHIPPARTNER(3) [1...1]
[-]
-

Required. Instance 3 of SHIPPARTNER recording the business identifier of the transfer-to party.

The following elements are required for SHIPPARTNER(3):

  • SHIPPARTNER(3) | SHIPPARTNER
  • SHIPPARTNER(3) | PartyType
  • SHIPPARTNER(3) | BusinessPartyId
  • SHIPPARTNER(3) | BusinessPartyIdType
  SHIPPARTNER [1...1]
[1/*]
String Conditionally required. Identifies the party identifiers for the shipping event. *63
  PartyType [1...1]
[1/*]
String

Conditionally required. Identifies the party type. *64

Valid value = BRV – Receiver Business Party

  BusinessPartyId [1...1]
[1/*]
String

Conditionally required. The business identifier associated with the sold-to business entity. This value is used as the lookup key in Master Data to populate the details in ToBusinessPartyInfo. *65

Populate with the GLN of the credentials used to send the PTS Download message.

  BusinessPartyIdType [1...1]
[1/*]
String Conditionally required. Party type for the from business party ID. GLN is expected. *66

See the BusinessAndLocationId enumeration list for valid values.

  Name1 [0...1]
[0/*]
String The business name of the trading partner. *67
  Name2 [0...1]
[0/*]
String Line 2 of the business name. *68
  Name3 [0...1]
[0/*]
String Line 3 of the business name. *69
  Street1 [0...1]
[0/*]
String The first line of the street address. *70
  Street2 [0...1]
[0/*]
String The second line of the street address. *71
  City [0...1]
[0/*]
String City or town. *72
  Region [0...1]
[0/*]
String Province, state, or region code.
  PostalCode [0...1]
[0/*]
String The ZIP or other postal code. *73
  Country [0...1]
[0/*]
String The country, using the ISO country code. *74

See the ISOCountryCode enumeration list for valid values.

  SHIPPARTNER(4) [0...1]
[-]
-

Instance 4 of SHIPPARTNER recording the location identifier of the transfer-to party.

Populate only if the ship-to location identifier is different from the sold-from identifier.

The following elements are required for SHIPPARTNER(4):

  • SHIPPARTNER(4) | SHIPPARTNER
  • SHIPPARTNER(4) | PartyType
  • SHIPPARTNER(4) | LocationId
  • SHIPPARTNER(4) | LocationIdType
  SHIPPARTNER [1...1]
[1/*]
String

Conditionally required. Identifies the party identifiers for the shipping event. *75

  PartyType [1...1]
[1/*]
String Conditionally required. Identifies the party type. *76

Valid value = SHP – Ship-to Business Party

  LocationId [1...1]
[1/*]
String

Conditionally required. The location identifier associated with the ship-from location. This value is used as the lookup key in Master Data to populate the details in ShipFromLocationInfo. *77

Populate with the sender GLN from the PTS Query Response.

  LocationIdType [1...1]
[1/*]
String Conditionally required. Location type for the ship-from location. GLN is expected. *78

See the BusinessAndLocationId enumeration list for valid values.

  Name1 [0...1]
[0/*]
String The business name of the trading partner. *79
  Name2 [0...1]
[0/*]
String Line 2 of the business name. *80
  Name3 [0...1]
[0/*]
String Line 3 of the business name. *81
  Street1 [0...1]
[0/*]
String The first line of the street address. *82
  Street2 [0...1]
[0/*]
String The second line of the street address. *83
  City [0...1]
[0/*]
String City or town. *84
  Region [0...1]
[0/*]
String Province, state, or region code.
  PostalCode [0...1]
[0/*]
String The ZIP or other postal code. *85
  Country [0...1]
[0/*]
String The country, using the ISO country code. *86

See the ISOCountryCode enumeration list for valid values.