VDA EDI Tools

VDA 4984 Message Structure: Field-by-Field DELFOR Guide

VDA EDI Tools Blog · 2026-10-07

VDA 4984 is the German automotive industry's delivery-forecast and call-off message - the EDIFACT DELFOR profile your customer's scheduling system sends when it tells you which parts it expects, in which quantities, on which dates. If VDA 4987 (DESADV) is what you send when goods leave, VDA 4984 is what arrives from the other side: the demand signal your production and shipping plan answers to.

This guide walks the message field by field: what each area contains, which qualifiers actually matter, and the details that most often break real integrations.

The envelope: UNB to UNZ

Like every VDA 49xx message, the file opens with an interchange envelope. UNB carries sender and receiver interchange IDs (as agreed in your EDI onboarding), the interchange control reference (UNB-5) and the syntax version - for current VDA profiles, UN/EDIFACT syntax version 4. The file closes with UNZ, whose count must equal the number of messages inside.

UNB+UNOC:3+SENDER-ID:ZZZ+RECEIVER-ID:ZZZ+260926:0930+4821+++++4'
UNH+4821000001+DELFOR:D:20B:UN+++++1'
...
UNT+86+4821000001'
UNZ+1+4821'

Three things to verify before anything else: the UNH message reference (UNH-1) must equal UNT-2, UNT-1 must equal the real segment count, and the UNH-2 composite must read DELFOR:D:20B:UN (the release your trading partner's guideline specifies - OEMs differ here).

Header: BGM, dates and references

SegmentWhat it carriesWhy it matters
BGMDocument type and delivery-instructions numberIdentifies this specific forecast transmission in disputes and replays
DTMMessage date/time (137), and frequently the forecast horizon start/endThe horizon dates bound everything below them; a wrong year here invalidates the whole schedule
RFFBlanket order / schedule agreement referenceYour link back to the commercial contract; finance matches against it
NADBuyer (BY), supplier (SU), ship-to (ST)Wrong ship-to codes route goods to the wrong plant gate
LOCShip-to sub-location, unloading point or lineLarge plants sort deliveries by dock or line; this is the sort key

Item lines: LIN, PIA, IMD

Each scheduled material gets its own LIN group. LIN-2 (with qualifier IN) is the customer part number - the identifier everything else hangs off. PIA+1 usually carries your internal/supplier part number for cross-reference, and IMD carries a plain-language description. Most VDA 4984 implementations require the part number and description to match the master data your customer maintains - drift here causes silent rejections, not loud errors.

The schedule itself: QTY, SCC and DTM

This is the heart of the message, and the part that confuses people most. Each LIN contains one or more schedule lines, each combining three pieces:

LIN+1++12345-A:IN'
PIA+1+67890-SUPP:SA'
IMD+F++:::WIRING HARNESS, DASH'
SCC+4'
QTY+3:1200:PCE'
DTM+2:20261002:102'
SCC+1'
QTY+3:1450:PCE'
DTM+2:20261009:102'

Reading the example: 1,200 pieces with SCC+4 (firm, for 2026-10-02) and 1,450 pieces with SCC+1 (forecast, for 2026-10-09). Your MRP should consume the firm line into shipping and treat the forecast as capacity signal.

Cumulative quantities: the VDA 4984 specialty

Unlike a plain purchase order, VDA 4984 frequently expresses demand as cumulative-to-date figures (QTY qualifier 1 or 3). The number means "total ordered/received up to this date", not "amount due on this date". Two consequences:

If your ERP shows "cumulative quantity drift" complaints, this is the mechanism. Reconciliation starts with the RFF blanket-order reference and the last agreed cumulative figure.

MEA, PAC and the packaging side

Some OEMs include per-item MEA weights and PAC packaging information (standard pack quantity, container type) so suppliers can pre-print labels. When present, packaging data must agree with the label VDA goods tags you print for the matching VDA 4987 despatch advice - mismatched pack quantities between forecast and despatch are a classic goods-receipt complaint trigger.

The five errors we see most

  1. Date qualifier confusion - DTM+2 (delivery date) vs DTM+64 (delivery window start) vs DTM+63 (end). Mixing them shifts every schedule line by a reading of the wrong calendar field.
  2. Wrong release in UNH - guideline says D:20B, file says D:96A. It parses; it still fails the partner's mapping.
  3. Segment count drift after hand edits - UNT-1 no longer matches reality.
  4. Ship-to LOC codes that don't exist in the plant master data.
  5. Unit codes - PCE vs EA vs C62 (UN/ECE unit codes). Your customer specifies one; the others are silent rejections.

How to check a file before it costs you

Run the structural check before the data lands in your ERP: envelope integrity, required segments by area, date format validity and code-list sanity. A ten-second local check beats a Monday-morning rejection email from the scheduling department.

Try it: Paste your VDA 4984 message and validate envelope, structure, required segments and dates - locally in your browser, nothing uploaded. Open the tool →

← All articles