# EDIFACT DELFOR: Delivery Schedule Guide

> EDIFACT DELFOR explained: firm and forecast SCC codes, cumulative quantities, Global DELFOR on D.04A, VDA 4905 and 4984, a full example and the X12 830 map.

<QuickAnswer>
EDIFACT DELFOR is the UN/EDIFACT delivery schedule message, the counterpart of the X12 830. A manufacturer sends it to a supplier to share rolling demand for each part: firm call-offs, forecast quantities, cumulative received totals and how far the supplier may commit material and production. In automotive it follows Odette and VDA guidelines, usually on directory D.04A.
</QuickAnswer>

**DELFOR is the message that tells an automotive or industrial supplier what to build, and how much of that plan the customer will actually pay for if it changes.** Every week, often every day, the customer's MRP run produces a new schedule per part. The supplier's job is to read each bucket correctly: ship the firm ones, plan around the forecast ones, and never build beyond what the customer has authorised.

This guide covers what DELFOR carries, the directories you will meet (D.96A and D.97A in older OEM guides, D.04A in the current Global DELFOR), how VDA 4905 and 4984 fit in, a full example, the segments you will map, and how DELFOR lines up with the [EDI 830 planning schedule](/guides/edi/830-planning-schedule).

<EDIGuideCTA
  badge="For EDIFACT DELFOR"
  transactionType="DELFOR"
  headline="Check a DELFOR before it reaches your MRP"
  body="Paste a DELFOR into the free EDIFACT inspector to see every part, bucket and cumulative quantity, with UNT and UNZ counts checked. For the orders that arrive outside your schedules, as EDI 850s, PDFs, emails or spreadsheets, OrderSync matches customers, items and units and sends clean data to your ERP."
  secondaryHref="/edifact-inspector"
  secondaryLabel="Try the free EDIFACT inspector"
/>

## What Is an EDIFACT DELFOR?

**DELFOR is the UN/EDIFACT Delivery schedule message: "a message from buyer to supplier giving product requirements regarding details for short term delivery instructions and/or medium to long term product/service forecast for planning purposes according to conditions set out in a contract or order."** That is the definition in the UN/EDIFACT directory, which adds that the message "can be used to authorize the commitment of labour and materials resources." It is often called the delivery forecast, and the 830 and 862 guides on this site use that name too, but its official title is the delivery schedule message.

Authoritative references for DELFOR work:

- The [UN/EDIFACT D.96A DELFOR message](https://service.unece.org/trade/untdid/d96a/trmd/delfor_c.htm) from UNECE gives the definition and segment table; the same message in [D.04A on EDIFACTORY](https://www.edifactory.de/edifact/directory/D04A/message/DELFOR) shows the layout the current automotive guidelines use
- The [VDA list of EDI recommendations](https://vda.de/dam/jcr:0f97444c-dc98-4216-8b5d-51ff7a3e9258/ListeDer%20EmpfehlungenEDIundWarenbegleitendePapiere-2024-08.pdf) (August 2024) records which flat-file VDA formats VDA 4984 Global DELFOR replaces
- OEM profiles, such as [Volvo Group's Global DELFOR D.04A guideline](https://www.edi.volvogroup.com/content/dam/volvo-group/markets/edi/specifications-and-guidelines/delivery-schedule-and-mrl/volvo-delfor-d04a-2-2-implementation-guideline.pdf), show how one customer fills each segment, with full examples

**Who sends it?** The buyer: an OEM, a tier-one supplier ordering from its own suppliers, or any manufacturer running scheduling agreements. It is usually generated by the plant or the central planning system.

**When is it sent?** On a fixed cadence, most often weekly and sometimes daily, straight out of the buyer's MRP run. Each new DELFOR normally replaces the previous schedule for the same part, ship-to and delivery point.

**Why does it matter?** DELFOR drives your production planning and raw-material buying. Misreading a forecast bucket as firm leads to overproduction. Missing a firm bucket leads to premium freight or a line stoppage at the customer.

## Directories: D.96A, D.97A and D.04A

DELFOR has changed shape between directories, and the directory in `UNH` tells you which layout you are reading.

| Directory | Where you meet it | Shape of the detail section |
|---|---|---|
| D.96A | Older OEM and supplier guides | `UNS` separates header and detail; detail is grouped either by delivery point or by product |
| D.97A | Some OEM and supplier guides | `GIS` opens each delivery-point group; no `UNS` |
| D.04A | Global DELFOR (Odette's joint automotive guideline and VDA 4984) | `GEI` opens each delivery-point group; no `UNS` |

Volvo Group's guide describes its current profile as "the Joint Automotive Industries (JAI) Global DELFOR. Based on EDIFACT Directory, D04A", and lists the differences from its older D.96A message. The VDA's own recommendation, VDA 4984, is also a Global DELFOR on D.04A. That is why the example in this guide uses D.04A rather than the D.96A used elsewhere on this site. If your customer still runs a D.96A or D.97A profile, the business content is the same; the grouping segments differ.

## Odette, VDA and the Flat Files DELFOR Replaced

European automotive EDI grew up on two families of guidelines: Odette, the pan-European automotive organisation, and the VDA, the German automotive association. The VDA list of recommendations records how the old VDA flat files map to the EDIFACT messages that replace them:

| Old VDA recommendation | What it carried | Replaced by | Status in the VDA list |
|---|---|---|---|
| VDA 4905 (April 1996) | Delivery schedules (Lieferabrufe), flat file | VDA 4984 Global DELFOR | Outdated, still used occasionally |
| VDA 4915 | Detailed JIT call-offs (Feinabrufe), flat file | VDA 4984 (delivery schedules with DELFOR) and VDA 4985 (JIT call-offs with DELJIT) | Still widely used |
| VDA 4916 | Production-synchronous call-offs, flat file | VDA 4986 (JIS call-offs with DELJIT) | Still widely used |

So a German OEM moving off VDA 4905 will send you DELFOR, and one moving off VDA 4915 will send DELFOR for the plan and [DELJIT](/guides/edi/edifact-deljit) for the near-term calls. Many suppliers receive both the old flat file and the new message during a migration, so confirm with the customer which one is authoritative.

## Firm, Commitment and Forecast: the SCC Codes

Every quantity bucket in DELFOR sits under an `SCC` (scheduling conditions) segment whose first element says what kind of demand it is. The UN/EDIFACT code list for that element (delivery plan status indicator, 4017) defines:

| SCC code | Meaning | What the supplier does |
|---|---|---|
| `1` | Firm | Ship it on the date given |
| `2` | Commitment for manufacturing and material | Build it: the customer authorises production |
| `3` | Commitment for material | Buy the material for it, but do not build yet |
| `4` | Planning/forecast | Plan capacity only; it can change in the next schedule |

Codes 2 and 3 are the EDIFACT version of the X12 830's `ATH` segment: they set the fabrication and raw-material authorisation the customer is liable for. Our article on [cumulative quantity (CUM) accounting](/blog/cumulative-quantity-cum-accounting) covers how these zones work against the cumulative totals.

## Example: Weekly Global DELFOR for One Part

The fictional axle plant Northbrook Axle (buyer code `0410`) sends its weekly schedule to the fictional foundry Kestrel Castings (supplier code `4471`) for one cast brake carrier. Two weeks are firm, three are forecast, and the message authorises fabrication to 29 November and material to 13 December.

<EdifactSample
  title="Weekly delivery schedule for one part"
  description="Two firm weeks (SCC+1), three forecast weeks (SCC+4), the buyer's cumulative received quantity and last receipt, and fabrication and material commitments (SCC+2 and SCC+3)."
  label="Global DELFOR D.04A (Odette/VDA profile)"
  raw="UNA:+.? '
UNB+UNOC:3+NBAXLE0410:ZZZ+KESTRELCAST:ZZZ+261106:2300+NBD0000317++DELFOR'
UNH+1+DELFOR:D:04A:UN'
BGM+241+NB-DF-261106-01+9'
DTM+137:20261106:102'
DTM+157:20261109:102'
NAD+BY+0410::92'
NAD+SE+4471::92'
GEI+3'
NAD+ST+0410::92'
LIN+++7731-220-04:IN'
PIA+1+KC-88120:SA'
LOC+11+D07::92'
DTM+257:20261106:102'
RFF+ON:4500087731'
RFF+AIF:NB-DF-261030-01'
QTY+70:18400'
DTM+51:20260105:102'
DTM+52:20261106:102'
QTY+48:1200'
DTM+50:20261104:102'
RFF+AAK:KC-ASN-30982'
SCC+1'
QTY+113:1200'
DTM+10:20261111:102'
SCC+1'
QTY+113:1200'
DTM+10:20261118:102'
SCC+4'
QTY+113:1400'
DTM+10:20261125:102'
SCC+4'
QTY+113:1400'
DTM+10:20261202:102'
SCC+4'
QTY+113:1000'
DTM+10:20261209:102'
SCC+2'
QTY+1:3800'
DTM+194:20261109:102'
DTM+206:20261129:102'
SCC+3'
QTY+1:6200'
DTM+194:20261109:102'
DTM+206:20261213:102'
UNT+44+1'
UNZ+1+NBD0000317'"
/>

Reading it as the supplier's planner would:

| Segment | What it says |
|---|---|
| `BGM+241+NB-DF-261106-01+9'` | Delivery schedule (`241`), number NB-DF-261106-01, original (`9`) |
| `DTM+137` / `DTM+157` | Issued 6 November; valid from 9 November |
| `NAD+BY` / `NAD+SE` | Buyer and seller, by codes the buyer assigned (`92`) |
| `GEI+3'` then `NAD+ST` | Start of the detail for ship-to plant 0410. Volvo's guide calls `GEI+3` the section separator |
| `LIN` / `PIA` | The buyer's part number (`IN`) and your own part number (`SA`) |
| `LOC+11+D07::92'` | Unloading point: dock D07 |
| `RFF+ON` / `RFF+AIF` | The scheduling agreement or order, and the previous schedule this one replaces |
| `QTY+70:18400'` with `DTM+51` and `DTM+52` | 18,400 received since 5 January, up to 6 November |
| `QTY+48` / `DTM+50` / `RFF+AAK` | The last receipt the buyer booked: 1,200 on 4 November against despatch advice KC-ASN-30982 |
| `SCC+1` buckets | Firm: ship 1,200 on 11 November and 1,200 on 18 November |
| `SCC+4` buckets | Forecast: 1,400, 1,400 and 1,000 for the following three weeks |
| `SCC+2` / `QTY+1:3800'` | You may manufacture up to 3,800 between 9 and 29 November |
| `SCC+3` / `QTY+1:6200'` | You may buy material for up to 6,200 between 9 November and 13 December |

The fabrication commitment covers the two firm weeks plus the first forecast week (1,200 + 1,200 + 1,400 = 3,800). The material commitment covers all five weeks (3,800 + 1,400 + 1,000 = 6,200). Check that arithmetic on your partner's real schedules: when an authorisation is lower than the firm buckets it covers, that is a question for the scheduler, not something to resolve in your ERP.

Note there is no `UNS` and no `CNT` in a D.04A DELFOR: the last bucket is followed directly by `UNT`. The [free EDIFACT inspector](/edifact-inspector) checks the UNT and UNZ counts for you.

## DELFOR Structure at a Glance (D.04A)

| Area | Segment or group | Status | What it holds |
|---|---|---|---|
| Header | `UNH` | M | Message reference and type `DELFOR:D:04A:UN` |
| Header | `BGM` | M | Document code (`241`), schedule number, function |
| Header | `DTM` | M | Message date; validity dates |
| Header | `FTX` | C | Free text |
| Header | `RFF` group (SG1) | C | References for the whole message |
| Header | `NAD` group (SG2) | C | Buyer, seller, other parties, with contacts |
| Header | `TDT` group (SG5) | C | Transport details |
| Detail | `GEI` group (SG6) | C | One group per delivery point and its parts |
| Detail | `NAD` (SG7) | C | Ship-to or delivery point for this group |
| Detail | `LIN` group (SG12) | C | One part: `PIA`, `IMD`, `LOC`, `DTM`, `RFF` |
| Detail | `QTY` group (SG16) | C | Cumulative, received, in-transit and backorder quantities |
| Detail | `SCC` group (SG18) | C | Scheduling condition, then its `QTY` and `DTM` buckets |
| Detail | `PAC` group (SG21) | C | Packaging requirements |
| Trailer | `UNT` | M | Segment count and message reference |

Statuses are from the UN/EDIFACT D.04A message. Automotive guidelines make many of the conditional groups required.

## Key Segments Explained

### BGM: Beginning of Message

```
BGM+241+NB-DF-261106-01+9'
```

| Element | Name | Example | Notes |
|---|---|---|---|
| 1001 | Document name code | `241` | Delivery schedule. Some guides allow other codes for a forecast-only schedule; follow your partner's list |
| 1004 | Document identifier | `NB-DF-261106-01` | The schedule number. Later messages quote it in `RFF+AIF` |
| 1225 | Message function code | `9` | Original. Your partner's guide says whether it also sends replacements or changes |

### DTM: Dates

```
DTM+137:20261106:102'
```

| Qualifier (2005) | Meaning | Where |
|---|---|---|
| `137` | Document/message date | Header |
| `157` | Validity start date | Header |
| `257` | Calculation date | Line |
| `51` / `52` | Cumulative quantity start and end date | With `QTY+70` |
| `50` | Goods receipt date | With `QTY+48` |
| `10` | Shipment date requested | With a schedule bucket |
| `2` | Delivery date requested | With a schedule bucket, when the partner schedules by delivery |
| `194` / `206` | Start and end of a period | With commitment quantities |

Format `102` is CCYYMMDD and `203` is CCYYMMDDHHMM. Whether buckets carry a ship date (`10`) or a delivery date (`2`) is set by the partner, and confusing the two moves every shipment by the transit time.

### LIN, PIA and LOC: The Part and Where It Goes

```
LIN+++7731-220-04:IN'
PIA+1+KC-88120:SA'
LOC+11+D07::92'
```

The third element of `LIN` carries the buyer's part number with type `IN`. `PIA` with function `1` adds other numbers, here your own part number (`SA`); some OEMs also send a drawing or engineering change level here. `LOC+11` is the place of discharge, usually the dock or unloading point, and some guides add `LOC+159` for a further internal destination. In Volvo's guide, the combination of part, order number, unloading point and parties is what identifies a schedule, so a change to any of them starts a new schedule rather than updating the old one.

### QTY: Cumulative and Receipt Quantities

```
QTY+70:18400'
DTM+51:20260105:102'
DTM+52:20261106:102'
```

| Qualifier (6063) | Meaning |
|---|---|
| `70` | Cumulative quantity received |
| `48` | Received quantity (the last receipts, each with `DTM+50` and `RFF+AAK`) |
| `57` | In transit quantity |
| `83` | Backorder quantity |
| `113` | Quantity to be delivered (inside an `SCC` group) |
| `1` | Discrete quantity (used with `SCC+2` and `SCC+3` commitments) |

Compare the buyer's `QTY+70` with your own shipped cumulative every time. If they differ, the difference is usually a shipment in transit or a receipt the buyer has not booked, and the `QTY+48` lines tell you which despatch advices the buyer has counted.

### SCC: Scheduling Conditions

```
SCC+1'
QTY+113:1200'
DTM+10:20261111:102'
```

Each `SCC` opens a group, and every `QTY` and `DTM` pair under it inherits its status. A message can repeat `SCC+1` once per firm bucket, as in the example, or carry several `QTY`/`DTM` pairs under one `SCC`; both shapes are valid, so your mapping should handle both. Some profiles add a later element to flag the delivery process: Volvo uses `SCC+4++J'` to mark a forecast for a part delivered through a JIT or JIS flow.

## DELFOR vs the X12 830

| Data | EDIFACT DELFOR | X12 830 |
|---|---|---|
| Message | DELFOR | 830 Planning Schedule with Release Capability |
| Schedule number and type | `BGM` | `BFR` |
| Horizon dates | `DTM+157`, and dates per bucket | `BFR` start and end dates |
| Parties | `NAD+BY`, `NAD+SE`, `NAD+ST` | `N1` loops |
| Part number | `LIN` (`IN`) and `PIA` (`SA`) | `LIN` with `BP`, `VP` and other qualifiers |
| Unloading point | `LOC+11` | `N1` or `REF` per partner |
| Firm vs forecast | `SCC` code `1` or `4` | `FST02` code `C` or `D` |
| Fabrication and material authorisation | `SCC+2` and `SCC+3` with a quantity and period | `ATH` |
| Cumulative received | `QTY+70` with `DTM+51`/`52` | `ATH` or `SHP` per partner |
| Last receipts | `QTY+48`, `DTM+50`, `RFF+AAK` | `SHP` and `REF` |
| Trailer count | `UNT` | `SE` |

The two do the same job, but the mapping is not one-to-one, so treat a DELFOR-to-830 conversion as a remap built from the partner's guide. The [830 guide](/guides/edi/830-planning-schedule) covers the X12 side, and [EDI 830 vs 862](/blog/edi-830-vs-862) explains how planning and shipping schedules divide the work.

## Where DELFOR Sits in the Flow

| Step | Message | Direction | X12 equivalent |
|---|---|---|---|
| 1 | Scheduling agreement or blanket order (often outside EDI) | Buyer to supplier | [850](/guides/edi/850-purchase-order) |
| 2 | **DELFOR** | Buyer to supplier | [830](/guides/edi/830-planning-schedule) |
| 3 | [DELJIT](/guides/edi/edifact-deljit), when the plant calls off in more detail | Buyer to supplier | [862](/guides/edi/862-shipping-schedule) or [866](/guides/edi/866-production-sequence) |
| 4 | [DESADV](/guides/edi/edifact-desadv) | Supplier to buyer | [856](/guides/edi/856-ship-notice) |
| 5 | [INVOIC](/guides/edi/edifact-invoic), or self-billing by the buyer | Either | [810](/guides/edi/810-invoice) |

The scheduling agreement sets prices and terms once; DELFOR then drives quantities. Our article on [scheduling agreements vs blanket orders](/blog/scheduling-agreement-vs-blanket-order) explains that structure, and many automotive buyers pay by [self-billing](/blog/self-billing-ers-explained) from your DESADV instead of waiting for an invoice.

## Common DELFOR Errors and How to Prevent Them

| Problem | What happens | Prevention |
|---|---|---|
| Forecast buckets loaded as firm | Overproduction and excess stock | Map each `SCC` code explicitly; never default an unknown code to firm |
| New schedule added to the old one instead of replacing it | Demand doubles in your MRP | Replace by the key the partner defines (part, order, unloading point, parties) |
| Ship date read as delivery date, or the reverse | Every shipment early or late by the transit time | Check whether buckets use `DTM+10` or `DTM+2` |
| Cumulative mismatch ignored | Shortages or overshipments build up quietly | Reconcile `QTY+70` with your shipped cumulative on every schedule |
| Wrong directory assumed | Parser fails or groups are misread | Read the version in `UNH` and keep one map per partner profile |
| Commitments ignored | Material bought with no authorisation behind it | Load `SCC+2` and `SCC+3` into planning as limits |
| Zero schedule not handled | Old demand stays open after a part or order changes | Treat a zero-quantity schedule as a cancellation of that key |

## DELFOR Implementation Checklist

1. **Get the partner's profile.** Directory (D.96A, D.97A or D.04A), Odette or VDA basis, and any OEM-specific codes.
2. **Agree identifiers.** Your supplier code in `NAD+SE`, the plant and dock codes in `NAD+ST` and `LOC`, and both part numbers.
3. **Confirm the replacement key.** Which combination of part, order, unloading point and parties identifies one schedule.
4. **Map every `SCC` code** the partner uses, including any JIT or JIS flags in later elements.
5. **Decide ship-date or delivery-date planning** from the `DTM` qualifiers.
6. **Load cumulative quantities** and set an alert when the buyer's `QTY+70` differs from yours.
7. **Load commitments** as fabrication and material limits in planning.
8. **Test with real schedules**, including a zero schedule, a part change and a cumulative reset at year end.

## Reading DELFOR With OrderSync

DELFOR is a planning message, and most suppliers receive it alongside orders that arrive in other ways: EDI 850s from some customers, PDFs and emails from others, and spreadsheets from the rest. OrderSync reads those inbound orders in any format, matches customers, items and units to your catalog, and outputs clean ERP data or valid X12, and it generates the outbound 856 ship notice and 810 invoice your US customers expect.

Paste any DELFOR into the [free EDIFACT inspector](/edifact-inspector) to see it parsed segment by segment, use the [free EDI inspector](/edi-inspector) for the X12 830s and 862s from your US customers, or [book a 15-minute walkthrough](/book-call) to see your own orders processed.

## Frequently Asked Questions

<div className="not-prose">

### What is the X12 equivalent of DELFOR?

The 830 Planning Schedule with Release Capability. Both carry firm and forecast quantities per part over a rolling horizon, and both can authorise fabrication and material. DELJIT is the EDIFACT counterpart of the 862 shipping schedule.

### What does SCC+1 mean in DELFOR?

`SCC` is the scheduling conditions segment and code `1` means firm. The quantities and dates that follow are committed call-offs to ship. Code `4` means planning or forecast, while `2` and `3` authorise manufacturing and material purchases.

### Which directory does DELFOR use?

It depends on the partner. Older OEM guides use D.96A or D.97A. The Global DELFOR published for the joint automotive industry, and VDA 4984 in Germany, use D.04A. The version in the `UNH` segment tells you which layout you are reading.

### What is VDA 4984?

VDA 4984 is the German automotive association's recommendation for delivery schedules in EDIFACT, a Global DELFOR based on D.04A. The VDA lists it as the replacement for the VDA 4905 flat file and, together with VDA 4985 for DELJIT, for VDA 4915.

### Does DELFOR have a UNS segment?

In D.96A, yes: `UNS` separates the header from the detail. In D.97A and D.04A it does not; the detail starts with `GIS` or `GEI` groups instead. Sending a `UNS` in a D.04A message will usually fail validation.

### What is QTY+70 in DELFOR?

`QTY+70` is the cumulative quantity received by the buyer, with its start date in `DTM+51` and usually its end date in `DTM+52`. Suppliers reconcile it against their own shipped cumulative to catch missing receipts or shipments still in transit.

### Is DELFOR used outside automotive?

Yes. Any manufacturer running scheduling agreements can use it, and DELFOR is part of the GS1 EANCOM subset as well. Automotive is where suppliers meet it most, under Odette and VDA guidelines.

</div>

## Related guides

- **[EDIFACT DELJIT](/guides/edi/edifact-deljit)**: the just-in-time call-off that follows DELFOR
- **[EDI 830 planning schedule](/guides/edi/830-planning-schedule)**: the X12 counterpart
- **[EDI 862 shipping schedule](/guides/edi/862-shipping-schedule)** and **[EDI 866 production sequence](/guides/edi/866-production-sequence)**: the X12 near-term schedules
- **[EDIFACT DESADV](/guides/edi/edifact-desadv)**: the despatch advice you send against each call-off
- **[EDIFACT explained](/guides/edi/edifact)** and **[EDIFACT message types](/guides/edi/edifact-message-types)**: syntax, envelopes and the full catalogue

## Sources

- [UN/EDIFACT D.96A DELFOR message](https://service.unece.org/trade/untdid/d96a/trmd/delfor_c.htm), UNECE: definition and D.96A structure
- [DELFOR in directory D.04A](https://www.edifactory.de/edifact/directory/D04A/message/DELFOR), EDIFACTORY: D.04A segment groups
- [Liste der Empfehlungen: EDI und warenbegleitende Papiere](https://vda.de/dam/jcr:0f97444c-dc98-4216-8b5d-51ff7a3e9258/ListeDer%20EmpfehlungenEDIundWarenbegleitendePapiere-2024-08.pdf), VDA, August 2024: status of VDA 4905, 4915, 4916, 4984, 4985 and 4986
- [Volvo Group Global DELFOR D.04A guidelines and examples](https://www.edi.volvogroup.com/content/dam/volvo-group/markets/edi/specifications-and-guidelines/delivery-schedule-and-mrl/volvo-delfor-d04a-2-2-implementation-guideline.pdf), Volvo Group: JAI Global DELFOR basis, segment usage and examples
- [VDA 4984 planning schedule](https://seeburger.com/info/vda-4984-edi-planning-schedule), SEEBURGER: VDA 4984 as the successor of VDA 4905, based on DELFOR D.04
- [Ordering message guidelines](https://www.odette.org/process/ordering), Odette

Check any DELFOR or DELJIT in the free [EDIFACT inspector](/edifact-inspector).
