Table of Contents

VDA 4994 GTL Label

The VDA 4994 GTL Label is a standardized logistics label format used in automotive supply chains. In COSMO Transport, the implementation provides two GTL labels according to VDA 4994: a large layout and a small layout. Both reports use the same application logic and data sources, while the RDLC layout determines the visual arrangement on the printed label.

The implementation in the COSMO EDI app generates:

  • a primary Data Matrix code with the VDA 4994 GTL payload
  • a Code128 barcode for the package identifier
  • an optional supplier area Data Matrix based on free supplier data lines
Attribute Value
Norm VDA
Version 4994
Specification ID GTL3

Report Overview and Key Features

The VDA 4994 GTL Label system consists of two report formats:

Report Report Number Caption Layout File
Large GTL Label 5309942 GTL-Label VDA 4994 Large GTLLabelVDA4994Large.rdlc
Small GTL Label 5309943 GTL-Label VDA 4994 Small GTLLabelVDA4994Small.rdlc

Data Matrix Generation

The primary Data Matrix is generated from the GetLabelMatrixInput() function and then encoded for printing by EncodeDataMatrix(). The generated content:

  • uses the ISO/IEC 15434 message wrapper
  • writes the VDA 4994 specification identifier GTL3
  • combines transport label, customer, partner, package, item, and tracking data
  • includes multiple batch numbers when package tracking contains more than one lot or serial number

Supplier Area and Customer Data

VDA 4994 provides two extensible free-text areas on the label:

  • Supplier Area: up to 5 lines, optionally encoded as a second Data Matrix
  • Customer Data: up to 5 lines, intended for customer-provided PCI data

The standard implementation does not fill these lines automatically. They can be populated through report procedures or integration events.

Package Structure Evaluation

Before printing, the report evaluates the packaging hierarchy for the current label. This affects both the printed values and the barcode payload:

  • S for single packages
  • M for master packages
  • MIX for mixed-item packages

If a package contains mixed items, the filling quantity is suppressed and returned as 0 for the VDA 4994 quantity logic.

Quantity and Weight Handling

The quantity logic depends on the package structure:

  • mixed packages return quantity 0
  • master labels and VDA 3B packages use Filling Quantity incl. SubPack
  • other labels use the direct Filling Quantity

For the Data Matrix payload, quantities and weights are rounded to whole numbers by the report logic.

Package Tracking Integration

The label reads package tracking data and derives:

  • lot or serial numbers for the batch section
  • earliest expiration date across tracking entries
  • earliest creation date across tracking entries

Batch numbers are printed as a comma-separated text list and are also appended to the primary Data Matrix as 1T, 2T, and subsequent identifiers.

Shipment Date Logic

The printed shipment date follows a priority rule:

  • E YYYY-MM-DD if an expiration date exists
  • S YYYY-MM-DD if no expiration date exists but a shipment date exists
  • P YYYY-MM-DD if neither of the above exists and a production date is known

Package ID Generation

The package identifier is derived from the label type and the package ID:

  • 1J for single labels
  • 6J for master labels
  • 5J for mixed labels

The package ID itself is based on the supplier DUNS number and the transport label number. The report also renders this identifier as a Code128 barcode.

Data Matrix Code Structure

The primary VDA 4994 Data Matrix uses the ISO/IEC 15434 message structure:

  • Format Header: [)>
  • Format Version: 06
  • Record Separator: ASCII RS (30 / 1E hex)
  • Group Separator: ASCII GS (29 / 1D hex)
  • End of Transmission: ASCII EOT (4 / 04 hex)

The Data Matrix contains the following identifiers in the standard implementation:

Identifier Field Name Description Source Table Source Field or Rule
12P Specification ID Fixed specification identifier System GTL3
9K Specification Version Fixed version value System 01
3L Supplier No. of Shipping Plant Supplier number of ship-from plant Customer Our Account No.
4L Country of Origin Country of origin of the item Item Country/Region of Origin Code
8V Goods Receiver ID Interchange identifier of receiver EDI Partner Partner Interchange ID
2L Unloading Plant Unloading plant code Transport Label EDI Unloading Plant
20L Storage Location ID Unloading point or gate Transport Label EDI Unloading Point
V Supplier No. of Ship-From Supplier number of ship-from Customer Our Account No.
2S Despatch Advice Number Delivery or call-off reference Transport Label EDI Call No. if Use PUS, otherwise Source No.
22L Point of Consumption Point of use or consumption Sales Shipment Line CCS ATM Point of Consumption
23L Customer Specific Routing Routing information Transport Label EDI Routing Code
8D Expected Delivery Date/Time Previewed delivery date and time plus qualifier 2 Transport Header Previewed Delivery Date + Previewed Delivery Time
Q Quantity Label quantity according to package logic Generated GetFillingQuantity()
3Q Unit of Measure Unit code from the item UoM Item / Unit of Measure International Standard Code or Base Unit of Measure
2Q Gross Weight Gross weight of the label Transport Label Gross Weight
P Customer Part Number Customer-specific article number Transport Label Item Reference No.
blank Package ID Package identifier without explicit DI Generated GetLabelNo().Replace(' ', '')
B Package Type Packaging code Transport Label Package Code
14D Expiration Date Earliest expiration date in CCYYMMDDHHMM format Package Tracking Calculated expiration date
16D Date of Manufacture Earliest creation date in CCYYMMDDHHMM format Package Tracking Calculated creation date
1T ... nT Batch Number Lot or serial numbers from package tracking Package Tracking Lot No. or Serial No.
20P Hardware Version Additional information field Generated GetAdditionalInformation()
21P Software Version Reserved, currently empty System Empty
2P Revision / Parts Generation Version Drawing-based revision information Transport Label GetDrawingNo()
23P Additional Part Information Reserved, currently empty System Empty
30P RoHS Guideline RoHS compliance marker Item Y, N, or 0
12V Supplier DUNS Supplier or manufacturer DUNS number EDI Partner Our DUNS
1P Manufacturer Part Number Internal item number Transport Label Item No.
33T Smallest Material Package Indicator Fixed material package indicator System N

Sample Data Matrix Content

[)>RS06GS12PGTL3GS9K01GS3L4711GS4LDEGS8V4012345000000GS2LPLANT1GS20LGATE2GSV4711GS2SSHIP000123GS22LATM-PNT-CONSUM-001GS23LROUTE001GS8D2026040415002GSQ25GS3QPCEGS2Q660GSPCUST-PART-001GS1JUN123456789000000123GSBEUROGS14D202604241200GS16D202603251200GS1TBATCH001GS2TBATCH002GS20PGS21PGS2PDRAWING-01GS23PGS30PYGS12V123456789GS1PITEM-1000GS33TNRSEOT

Large GTL Label Report

The Large GTL Label (Report 5309942) prints the complete VDA 4994 content in a large layout. It includes the primary GTL Data Matrix, the supplier area matrix, and the printed customer and supplier blocks.

Fields

Field Source Table Source Field Description
Ship From Company Information Name, Name 2, Address, City, Country/Region Code, Post Code Sender address block
ID Customer Our Account No. Supplier identifier in the address block
Country of Origin Item Country/Region of Origin Code Origin of the item
Ship To Transport Label Receiver 1, Receiver 2, Receiver 3 Receiver address block
Plant / Unloading / Internal Destination Transport Label EDI Unloading Plant, EDI Unloading Point, EDI Cust. Location Code Combined unloading information
Label Type Generated S, M, or MIX Package type indicator
Primary Data Matrix Generated Main VDA 4994 barcode payload
Delivery Note Transport Label Source No. or EDI Call No. Despatch advice reference
Supplier Number Customer Our Account No. Supplier number
Customer Specific Routing Transport Label EDI Routing Code Routing information
ETA Transport Order Previewed Delivery Date, Previewed Delivery Time Expected arrival timestamp
Quantity Transport Label Filling Quantity Package quantity according to package logic
Net Weight Transport Label Net Weight Net weight, rounded for output
Gross Weight Transport Label Gross Weight Gross weight, rounded for output
Customer Part Number Transport Label Item Reference No. Customer article number
Part Description Transport Label / Item Description Printed item description
Safety-Relevant Part Marker Item CCS EDI Security-Sensitive Marks safety-relevant parts
Package ID Generated Human-readable package identifier
Package ID Barcode Generated Code128 representation of package ID
Packaging Type Transport Label Package Code Packaging code
Shipment Date Generated Expiry date, shipment date, or creation date Printed with E, S, or P prefix
Batch Number Package Tracking Lot No. / Serial No. Comma-separated batch list
Part / Hardware / Software Revision Transport Label Drawing Number / Drawing Index Drawing-based revision value
Supplier Area 1-5 Generated Free supplier lines
Supplier Area Matrix Generated Optional secondary Data Matrix
Customer Data 1-5 Generated Free customer lines

Small GTL Label Report

The Small GTL Label (Report 5309943) uses the same business logic and dataset as the large layout. The differences are limited to the RDLC layout and the placement of the visual blocks on the label.

Fields

Field Source Table Source Field Description
Ship From Company Information Name, Name 2, Address, City, Country/Region Code, Post Code Sender address block
ID Customer Our Account No. Supplier identifier in the address block
Country of Origin Item Country/Region of Origin Code Origin of the item
Ship To Transport Label Receiver 1, Receiver 2, Receiver 3 Receiver address block
Plant / Unloading / Internal Destination Transport Label EDI Unloading Plant, EDI Unloading Point, EDI Cust. Location Code Combined unloading information
Label Type Generated S, M, or MIX Package type indicator
Primary Data Matrix Generated Main VDA 4994 barcode payload
Delivery Note Transport Label Source No. or EDI Call No. Despatch advice reference
Supplier Number Customer Our Account No. Supplier number
Customer Specific Routing Transport Label EDI Routing Code Routing information
ETA Transport Header Previewed Delivery Date, Previewed Delivery Time Expected arrival timestamp
Quantity Transport Label Filling Quantity Package quantity according to package logic
Net Weight Transport Label Net Weight Net weight, rounded for output
Gross Weight Transport Label Gross Weight Gross weight, rounded for output
Customer Part Number Transport Label Item Reference No. Customer article number
Safety-Relevant Part Marker Item CCS EDI Security-Sensitive Marks safety-relevant parts
Package ID Generated Human-readable package identifier
Package ID Barcode Generated Code128 representation of package ID
Packaging Type Transport Label Package Code Packaging code
Shipment Date Generated Expiry date, shipment date, or creation date Printed with E, S, or P prefix
Batch Number Package Tracking Lot No. / Serial No. Comma-separated batch list
Part / Hardware / Software Revision Transport Label Drawing Number / Drawing Index Drawing-based revision value
Supplier Area 1-5 Generated Free supplier lines
Supplier Area Matrix Generated Optional secondary Data Matrix
Customer Data 1-5 Generated Free customer lines

Integration Events

The VDA 4994 implementation exposes the following primary extension points:

  • OnBeforeGetLabelNo: override the generated package identifier
  • OnBeforeGenerateMatrixInput: replace the complete GTL Data Matrix payload
  • OnAfterGenerateMatrixInput: post-process the GTL Data Matrix payload
  • OnGetSupplierArea: fill or override supplier area lines
  • OnGetCustomerData: fill or override customer data lines

The reports also rely on shared transport label events that are relevant for VDA 4994:

  • OnBeforeGetAdditionalInformation: provide content for identifier 20P
  • OnAfterGetItemTrackingInfo: adjust batch numbers, expiry date, or creation date
  • OnBeforeReturnUnitOfMeasureCode: override the printed or encoded unit code
  • OnBeforeReturnRoHSMark: override the RoHS marker
  • OnBeforeAppendToVdaBarcodeString: customize the serialization of individual identifiers

Feedback
Submit feedback for this page.