Kennisbank
EDIFACT-berichten: welke er zijn en hoe je ze leest
Een EDIFACT-bericht is een handelsdocument, zoals een order, pakbon of factuur, in de vaste tekstopbouw van de VN-standaard UN/EDIFACT. Elk berichttype heeft een naam van zes letters: ORDERS is de order, DESADV de pakbon, INVOIC de factuur. In de Nederlandse handel gebruik je de GS1-versie, EANCOM, met 49 berichten waarvan een leverancier er meestal vier tot zes tegenkomt.
Bijgewerkt op
Een EDIFACT-bericht in twee zinnen
Een EDIFACT-bericht is één handelsdocument als tekstbestand, opgebouwd uit segmenten van drie letters met velden ertussen. Welk document het is, staat in de naam van zes letters in de kop van het bericht: ORDERS, ORDRSP, DESADV, INVOIC.
UN/EDIFACT is de standaard van de Verenigde Naties. In de Nederlandse handel werk je bijna altijd met EANCOM, de deelverzameling die GS1 daaruit heeft gemaakt: alleen de velden die de handel gebruikt, en GLN, GTIN en SSCC als vaste sleutels. Wat EDI in het algemeen is en hoe het bestand bij je afnemer komt, staat in wat is EDI. Deze pagina gaat over de berichten zelf.
Welke EDIFACT-berichten bestaan er?
GS1 publiceert de EANCOM-gidsen in de editie 2016, laatst bijgewerkt in augustus 2022, voor syntaxversie 3 en 4. Die editie bevat 49 berichten in acht groepen (eigen telling van de lijst bij GS1):
| Groep | Aantal | Voorbeelden |
|---|---|---|
| Stamgegevens | 4 | PRICAT prijscatalogus, PARTIN partijgegevens |
| Voor de order | 3 | QUOTES offerte, REQOTE offerteaanvraag |
| Order | 5 | ORDERS, ORDCHG, ORDRSP |
| Transport en levering | 12 | DESADV, RECADV, IFTMIN, RETANN |
| Betaling en financieel | 6 | INVOIC, REMADV, COMDIS |
| Rapportage en planning | 13 | APERAK, INVRPT, SLSRPT, DELFOR |
| Overig, syntax, beveiliging | 6 | CONTRL, GENRAL, AUTACK |
Een leverancier die aan een retailer of groothandel levert, heeft met een handvol daarvan te maken. Elk bericht heeft in EANCOM 2002 een eigen versienummer van de deelverzameling, dat los van de andere berichten wordt bijgewerkt:
| Bericht | Wat het is | Richting | Versie |
|---|---|---|---|
ORDERS |
Inkooporder | afnemer naar jou | 010 |
ORDCHG |
Wijziging van een order | afnemer naar jou | 007 |
ORDRSP |
Orderbevestiging: geaccepteerd, gewijzigd of afgewezen | jij naar afnemer | 009 |
DESADV |
Pakbon per verzendeenheid, met SSCC | jij naar afnemer | 008 |
RECADV |
Ontvangstbericht: wat er echt is aangekomen | afnemer naar jou | 009 |
INVOIC |
Factuur of creditnota | jij naar afnemer | 011 |
REMADV |
Betaaladvies: welke facturen een betaling dekt | afnemer naar jou | 005 |
PRICAT |
Artikelen en prijzen | meestal jij naar afnemer | 009 |
INVRPT |
Voorraadstand | beide kanten | 006 |
SLSRPT |
Verkoopcijfers per locatie | afnemer naar jou | 007 |
APERAK |
Applicatie meldt ontvangst of fouten | beide kanten | 004 |
CONTRL |
Vertaalsoftware meldt syntaxfouten | beide kanten | 004 |
Drie daarvan worden vaak vergeten bij het inrichten van een koppeling. ORDCHG wijzigt een order die al als verkooporder in je ERP staat. RECADV meldt dat de afnemer minder heeft ontvangen dan je DESADV aankondigde, en dat verschil komt terug op de factuur. REMADV vertelt welke facturen een betaling dekt, en zonder dat bericht wordt een verzamelbetaling met de hand afgeletterd. Hoe de pakbon is opgebouwd staat in wat is een DESADV.
Hoe lees je een segment?
Een segment begint met een label van drie letters en eindigt met een apostrof. Daartussen staan gegevenselementen, gescheiden door +. Een samengesteld element bestaat uit delen, gescheiden door :. Elk element heeft in de standaard een nummer, en veel elementen zijn een kwalificatie: een code die zegt wat de volgende waarde betekent. Twee datumsegmenten uit een order:
DTM+2:20261007:102'
DTM+64:202610070600:203'
Ontleed:
| Deel | Element | Waarde | Betekenis |
|---|---|---|---|
DTM |
segment | datum of tijd | |
2 |
2005, kwalificatie | 2 | gewenste leverdatum |
20261007 |
2380, waarde | 7 oktober 2026 | |
102 |
2379, formaat | 102 | CCYYMMDD, alleen een datum |
64 |
2005, kwalificatie | 64 | vroegste levermoment |
202610070600 |
2380, waarde | 7 oktober 2026, 06:00 | |
203 |
2379, formaat | 203 | CCYYMMDDHHMM, datum met tijd |
Het segment DTM komt in één order vaak vier of vijf keer voor. De kwalificatie bepaalt in welk veld van je ERP de datum hoort: 137 is de orderdatum, 2 de gewenste leverdatum, 63 en 64 het laatste en vroegste levermoment. Een koppeling die "de eerste DTM" als leverdatum neemt, zet bij de ene afnemer de orderdatum in het leverveld en bij de andere de juiste datum, afhankelijk van de volgorde in het bestand.
Zo werken ook de partijen. NAD+BY is de koper, NAD+DP het afleveradres, NAD+IV het factuuradres, NAD+SU de leverancier. Alle vier dragen ze een GLN van 13 cijfers. Wat een GLN is en waarom het afleveradres een eigen nummer heeft, staat in wat is een GLN.
Wat de berichtsoort en de functie zeggen
Het segment BGM zegt welk soort document het is en wat je ermee moet. In een ORDERS kent EANCOM onder meer deze soorten:
Code in BGM |
Soort order |
|---|---|
220 |
Order |
221 |
Raamorder |
224 |
Spoedorder |
226 |
Afroep op een raamorder |
402 |
Crossdock-order |
YC1, YC2 |
Consumentenorder: afhalen, thuisbezorgen |
GS1 raadt aan de specifiekere code te gebruiken in plaats van de algemene 220. Voor je ERP maakt dat verschil: een afroep (226) hoort bij een raamorder die er al is en mag geen nieuwe verkooporder met de volledige hoeveelheid worden.
Het laatste element van BGM is de functie: 9 is een origineel, 5 vervangt een eerder bericht, 7 is een duplicaat dat de ontvanger zelf heeft opgevraagd, 31 is een kopie ter informatie. Een order met functie 7 of 31 die als nieuwe order wordt ingelezen, staat er daarna twee keer in.
Versies: D.96A, D.01B en de code in UNH
Elk bericht vermeldt in UNH op welke versie het is gebouwd:
UNH+1+ORDERS:D:01B:UN:EAN010'
D:01B is de EDIFACT-directory, de tweede release van 2001. EANCOM 2002 is gebouwd op D.01B, de oudere EANCOM 1997 op D.96A. EAN010 is het versienummer van de EANCOM-deelverzameling voor dit bericht. Een afnemer die nog EANCOM 1997 stuurt, levert andere segmenten en codes aan dan een afnemer op 2002, ook als het bericht dezelfde naam heeft.
Op die versiecode kun je niet blind vertrouwen. De GS1-gids voor ORDERS beschrijft versie 010 en noemt in de codelijst van hetzelfde element EAN011; de voorbeelden in dezelfde gids gebruiken EAN010. De Nederlandse handleiding voor de pakbon gebruikt in haar voorbeeld EAN007, terwijl de internationale gids versie 008 beschrijft. Welke code je afnemer verwacht en stuurt, staat in zijn profiel. Een koppeling leest de versie per bericht uit UNH en kiest daarop de mapping, in plaats van één versie aan te nemen.
Veldlengtes en referenties: waar je ERP en EDIFACT botsen
Elk element heeft een vaste maximale lengte. Een paar die bij een koppeling steeds terugkomen:
| Element | Waar | Lengte |
|---|---|---|
| Ordernummer van de afnemer | BGM, 1004 |
35 tekens |
| Naam van een partij | NAD, 3036 |
35 tekens, tot 5 keer |
| Straat en huisnummer | NAD, 3042 |
35 tekens, tot 4 keer |
| Postcode | NAD, 3251 |
17 tekens |
| Artikelnummer | LIN, 7140 |
numeriek, tot 14 cijfers |
| Referentie van de interchange | UNB, 0020 |
14 tekens |
Naam en adres staan alleen in het bericht als een GLN niet volstaat; normaal is NAD+DP+8712300001237::9' genoeg. Moet de naam er toch in, dan gaat "Installatiebedrijf Van den Heuvel en Zonen B.V." van 47 tekens niet in één veld van 35. De koppeling knipt op een spatie: "Installatiebedrijf Van den Heuvel" (33 tekens) in het eerste veld en "en Zonen B.V." (13 tekens) in het tweede. 33 + 1 spatie + 13 = 47. Afkappen op 35 levert "Installatiebedrijf Van den Heuvel e" op.
De referentie in UNB heeft een eigen regel. Samen met de GLN van de afzender en de ontvanger maakt hij de interchange uniek, en GS1 raadt aan een nummer pas na minstens drie maanden opnieuw te gebruiken. Een teller van vier cijfers loopt tot 9.999. Bij 150 interchanges per dag is die na 9.999 / 150 = 66,7 dagen op en begint hij opnieuw, ruim binnen die drie maanden. De ontvanger ziet dan een referentie die hij al kent en kan het bestand als dubbel weigeren. Een referentie van datum plus volgnummer, 20261007-0001, is 13 tekens en past binnen de 14.
Het scheidingsteken voor decimalen is standaard een punt. Wil een afzender iets anders, dan staat dat in een UNA-segment voor de envelop. Zonder UNA gelden de standaardtekens : + . ? en '.
Wat betekent dit voor je koppeling?
Een EDIFACT-bericht is gestandaardiseerd tot op het element, maar welke berichten, welke kwalificaties en welke versie je afnemer gebruikt, verschilt per afnemer. De koppeling moet per bericht de juiste datum bij de juiste kwalificatie zoeken, de soort en de functie in BGM respecteren, de versie uit UNH lezen en op de terugweg binnen de veldlengtes blijven.
Wij bouwen die mapping tussen je ERP en je EDI-verbinding, per afnemer en per bericht, en draaien en bewaken hem daarna. Een bericht dat je afnemer afwijst, staat met de reden in het dashboard en wacht in de wachtrij tot het is opgelost. Meer op EDI koppeling, en per pakket op AFAS EDI koppeling en Exact Online EDI koppeling. Vertel welke berichten je afnemer vraagt, dan hoor je wat er aan je kant voor nodig is.
Veelgestelde vragen
Wat is het verschil tussen EDIFACT en EANCOM?
UN/EDIFACT is de standaard van de Verenigde Naties, met berichten die veel meer velden bevatten dan één sector nodig heeft. EANCOM is de deelverzameling die GS1 daaruit maakt voor de handel: alleen de elementen die bedrijfstoepassingen gebruiken, en overal GLN, GTIN en SSCC als sleutel. Een EANCOM-bericht is dus altijd een geldig EDIFACT-bericht, andersom niet.
Wat is het verschil tussen CONTRL en APERAK?
CONTRL komt van de vertaalsoftware en zegt of het bestand syntactisch klopt: tellers, scheidingstekens, verplichte segmenten. APERAK komt van de applicatie van de ontvanger en zegt of de inhoud verwerkt kon worden, bijvoorbeeld dat een GTIN onbekend is. Een bestand kan dus een positieve CONTRL krijgen en toch een APERAK met fouten.
Kan ik een EDIFACT-bestand openen en lezen?
Ja, het is platte tekst. Vaak staat het hele bestand op één regel; elke apostrof sluit een segment af, dus wie na elke apostrof een regeleinde zet, ziet de segmenten onder elkaar. Lezen vraagt wel de berichtgids van EANCOM of het profiel van je afnemer, omdat de betekenis in nummers en codes zit: DTM+2 is een andere datum dan DTM+137.
Wat betekent D.01B in een EDIFACT-bericht?
Het is de directory van UN/EDIFACT waarop het bericht is gebaseerd: D staat voor directory, 01B voor de tweede release van 2001. EANCOM 2002 gebruikt D.01B, EANCOM 1997 gebruikte D.96A. Je ziet het in het UNH-segment, bijvoorbeeld ORDERS:D:01B:UN:EAN010.
Is ORDERS hetzelfde als een 850?
Dezelfde functie, een andere standaard. De 850 is de inkooporder in X12, de Noord-Amerikaanse standaard met genummerde berichten. ORDERS is de inkooporder in EDIFACT. De velden en de opbouw verschillen, dus een leverancier die beide ontvangt heeft per standaard een eigen mapping nodig. Meer in wat is EDI.
Welke berichten moet ik als leverancier kunnen versturen?
Dat bepaalt je afnemer in zijn profiel. Bij de Nederlandse retail gaat het meestal om een bevestiging (APERAK of ORDRSP), de pakbon (DESADV) en de factuur (INVOIC). GS1 Nederland test per sector andere berichten: in de levensmiddelen de DESADV, in doe-het-zelf, tuin en dier ook de INVOIC.
Vertel wat je nodig hebt
Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.
- Je weet de prijs en de doorlooptijd voordat je iets toezegt
- Wij zoeken uit welke koppeling het werk uit handen neemt
- Wij verzorgen de bouw, hosting, bewaking en het onderhoud
- Je team krijgt minder overtypwerk en minder uitzoekwerk