VDA 4987 Validation: 10 Common Errors and How to Fix Them
These are the issues our validator flags most often in real VDA 4987 files, ordered roughly by frequency. Every one of them can hold up a goods receipt or bounce your message at the OEM's EDI gateway.
1. Missing mandatory dates
DTM+137 (document date), DTM+11 (despatch date) and DTM+132 (estimated arrival) are required. A message without the arrival date is a classic rejection reason - the receiving plant cannot plan the inbound dock.
2. Wrong date format
Format code 102 means CCYYMMDD (8 digits), 203 means CCYYMMDDHHMM (12 digits). Typical mistakes: 6-digit years, slashes or dashes inside the value, or a 102 qualifier on a 12-digit value. The value must be all digits.
3. BGM-1 not equal to 351
BGM+351 marks a despatch advice. Files that carry a different document type code (or a copy-pasted header from an invoice message) fail immediately.
4. Missing gross or net weight
MEA+AAX+AAD (gross) and MEA+AAX+AAL (net) are expected at header level. Forgetting one of them - or swapping the qualifiers - is an easy error when the weights come from different ERP fields.
5. UNT-1 segment count mismatch
UNT-1 must equal the actual number of segments in the message, counting UNH and UNT themselves. Hand-editing a message without recomputing this number is the single most common hand-edit bug.
6. Control reference mismatch (UNB vs UNZ, UNH vs UNT)
The interchange control reference in UNB-5 must reappear in UNZ-2, and each message's reference in UNH-1 must match its UNT-2. Mismatches usually mean two files were spliced together.
7. LIN without a part number
Every LIN line needs the buyer's part number (DE 7140). An empty part number - or a line that appears outside any CPS group - makes the whole packaging hierarchy ambiguous.
8. CPS sequence not incremental
CPS numbering should run 1, 2, 3, … in order. Gaps or duplicates confuse receivers that rebuild the packing tree automatically.
9. Label numbers too long
VDA goods tag numbers carried in GIN are limited (commonly an..9 per the guideline). Over-long license-plate values get truncated somewhere downstream - better to catch it before sending.
10. Non-numeric quantities and measurements
QTY, MEA and PAC quantity fields must be pure digits. A decimal comma (1,5) from a German-locale export is a frequent culprit - use a point or integer as the guideline specifies.
How to check before you send
Run the file through a structural validator before every transmission until your mapping is stable. The VDA 4987 validator checks all rules above locally in your browser - the message never leaves your machine.