Naar de inhoud
SyncMyShop

Kennisbank

Wat is DICO?

DICO is de Nederlandse berichtenstandaard voor de bouw en techniek: afspraken over hoe fabrikanten, groothandels, installateurs, aannemers en woningcorporaties productdata, prijzen, orders, pakbonnen en facturen als XML-bericht uitwisselen. Ketenstandaard Bouw en Techniek beheert de standaard, die tot november 2020 de SALES-standaard heette.

Bijgewerkt op

DICO in het kort

DICO staat voor de afspraken waarmee software in de bouw en techniek berichten uitwisselt, ongeacht welk pakket de ontvanger gebruikt. Volgens Ketenstandaard gaat er dagelijks meer dan een miljoen keer informatie via DICO, en bijna alle softwareleveranciers in de sector ondersteunen het. De standaard heette eerder SALES (en daarvoor S@les in de bouw). De versie die nu in gebruik is, SALES005, verscheen in november 2018 als opvolger van INSBOU004, met ruim 130 wijzigingen.

Elk bedrijf en elke locatie staat in een DICO-bericht als GLN, een code van 13 cijfers. Ketenstandaard beheert namens GS1 de GLN's voor de Nederlandse bouw en techniek en zet ze in een adresregister. Een order hoeft dus geen adres te bevatten: de GLN van het afleveradres is genoeg. Hoe GS1-codes werken staat in wat is GS1 en GDSN.

Welke berichten zijn er?

Ketenstandaard verdeelt de berichten in vier groepen.

Groep Berichten Richting
Databerichten ArtikelProductBericht 006, productbericht, artikelbericht, conditiebericht, itemrelatiebericht fabrikant of groothandel naar afnemer, vaak via een databank zoals 2BA
Transactieberichten offerteaanvraag, offerte, order, orderbevestiging, pakbon, factuur heen en weer tussen koper en leverancier
Onderhoudsberichten planning (PLNREQ, PLNRSP), onderhoudsopdracht, status, storingsmelding corporatie en onderhoudsbedrijf
Verhuurberichten afmelding en bevestiging (CHKOUT, CHKRSP) huurder en verhuurder

Twee databerichten zijn voor een webshop het belangrijkst. Het artikelbericht bevat per artikel de omschrijving, levertijd, verpakking, omrekenfactoren naar andere eenheden, de brutoprijs en een deeplink. Het conditiebericht bevat de kortingen per klant. Zo kan een leverancier één artikelbestand voor iedereen publiceren met alleen brutoprijzen, en de prijsafspraken per afnemer apart sturen. Projectprijzen gaan in geen van beide; die worden apart vastgelegd.

Hoe ziet een DICO-bericht eruit?

Een DICO-bericht is XML volgens een XSD-schema van Ketenstandaard. 2BA publiceert in zijn documentatie de opbouw van de kop van een artikelbericht. Met eigen waarden:

<PriceCatalogue xmlns="http://www.ketenstandaard.nl/artikelbericht/SALES/005">
  <PriceCatalogueNumber>CAT-2026-10</PriceCatalogueNumber>
  <MessageDate>2026-10-01</MessageDate>
  <PriceChangeIndicator>false</PriceChangeIndicator>
  <Currency>EUR</Currency>
  <MutationCode>4</MutationCode>
  <Datapool><GLN>8712345000011</GLN></Datapool>
  <Grouping>
    <Supplier><GLN>8712345000028</GLN></Supplier>
    <!-- artikelregels -->
  </Grouping>
</PriceCatalogue>

Het veld dat de meeste schade kan doen, is MutationCode. Waarde 4 is een mutatiebestand: alleen wat er in staat, verandert. Waarde 9 is een volledig bestand: bij 2BA overschrijft dat alle records van die leverancier. Een product dat in een volledig bestand ontbreekt, krijgt de status 130, vervallen; een handelsrecord dat ontbreekt, wordt verwijderd. Een volledig bestand dat per ongeluk maar een deel van het assortiment bevat, haalt de rest dus uit de databank.

Rekenvoorbeeld: van brutoprijs naar factuurregel

Een artikel staat in het artikelbericht met een brutoprijs van € 124,00 per 100 stuks en kortingsgroep K12. In het conditiebericht staat voor deze installateur 32% korting op K12. Dan:

  • netto per 100 stuks: 124,00 x (1 - 0,32) = € 84,32
  • netto per stuk: 84,32 / 100 = € 0,8432
  • factuur voor 200 geleverde stuks: 2 x 84,32 = € 168,64

De installateur controleert die € 168,64 automatisch tegen zijn eigen berekening. Rekent de leverancier per stuk met een afgeronde prijs van € 0,84, dan staat er € 168,00 op de factuur en valt de factuur met een verschil van € 0,64 uit de automatische controle. De prijsbasis, de verpakking en de besteleenheid heten bij Ketenstandaard samen de eenhedendriehoek; Ketenstandaard heeft er een rekentool voor gemaakt omdat de verhoudingsgetallen in de praktijk vaak verkeerd worden ingevuld. Zie eenheden en verpakkingen.

Hoe gaan DICO-berichten heen en weer?

Van DICO-order tot DICO-factuur Een installateur stuurt een DICO-order voor 250 stuks naar de groothandel. De groothandel stuurt een orderbevestiging met transportkosten, een pakbon voor 200 geleverde stuks en een factuur als XML met pdf. De software van de installateur controleert elk bericht tegen de order. Installateur inkoopsoftware Groothandel ERP en koppeling Order: artikel 10482, 250 stuks Orderbevestiging: 250, plus transport bevestiging tegen order Pakbon: 200 geleverd 200 van 250, 50 open Factuur: XML en pdf, 200 stuks 200 x afgesproken prijs Alle berichten gaan als XML over Messageservice 3.1, in SOAP of REST. Koper, leverancier en afleveradres staan erin als GLN.
Vier transactieberichten, elk automatisch gecontroleerd tegen het vorige.

Elk transactiebericht wordt gecontroleerd tegen het vorige. De orderbevestiging wordt automatisch gekoppeld aan de order, waarbij de leverancier emballage en transportkosten mag toevoegen. De pakbon bevestigt wat er echt is geleverd. De factuur komt als XML binnen en wordt gecontroleerd tegen de afgesproken prijs en de geleverde aantallen; een pdf mag mee voor wie de factuur wil zien, met vaste regels over hoe de twee naar elkaar verwijzen.

De berichten gaan over Messageservice 3.1, een webservice tussen twee partijen. Er is een SOAP-variant en sinds april 2021 een REST-variant; beide sturen complete DICO-berichten. De service kent vier functies: Get Available Message, Get Message, Delete Message en Post Message. Daarmee vervalt het leeghalen van een postbus of een FTP-map. Ketenstandaard biedt deelnemers een test-endpoint om de verbinding te controleren.

Waar gaat het mis?

Fout Gevolg Wat de koppeling doet
volledig bestand (MutationCode 9) met een deel van het assortiment ontbrekende producten vervallen controleert het aantal regels tegen de vorige levering voor hij verstuurt
toekomstprijs verkeerd ingevoerd 2BA kan een toekomstprijs niet verwijderen, alleen overschrijven met dezelfde ingangsdatum stuurt de correctie met de datum van de foute prijs
codelijst gewijzigd sinds SALES005 staan codes in externe codelijsten, niet in de XSD; een code die na de bouw is toegevoegd, kent de ontvangende software nog niet leest de actuele codelijst en meldt onbekende codes
ETIM-versie langer dan het doelveld DICO staat 35 tekens toe, het datamodel van 2BA 10 kort de versie in volgens de mapping van 2BA
kenmerk zonder waarde als - 2BA slaat waarden met een minteken over stuurt NA, MV of UN

Daarnaast exporteert 2BA standaard in Latin-1, terwijl een webshop UTF-8 verwacht. Een korte omschrijving heeft volgens 2BA bij voorkeur hooguit 70 tekens, de lange omschrijving 256. Per artikel zijn maximaal 100 prijzen mogelijk, inclusief toekomstprijzen met een StartDatePriceInformation. Meer over coderingsfouten in tekencodering en UTF-8.

DICO naast ETIM, GS1 en Peppol

Standaard Wat het regelt Relatie met DICO
ETIM klasse en technische kenmerken het ArtikelProductBericht 006 is ETIM xChange met Nederlandse extensies
GS1 GTIN per artikel, GLN per partij elke partij in een DICO-bericht is een GLN
Peppol netwerk voor e-facturen transport; een SALES005-factuur kan er ook overheen
EDIFACT, EANCOM EDI in retail en logistiek ander formaat en andere sector

Sinds 1 januari 2022 vragen grote bouwbedrijven, waaronder BAM, Heijmans en VolkerWessels, hun leveranciers om alleen nog facturen volgens SALES005 te sturen. Een leverancier aan die bouwers factureert dus in SALES005. Meer over de branche op bouw en installatietechniek.

Wat betekent dit voor je koppeling?

Een webshop of ERP spreekt geen DICO uit zichzelf. De koppeling vertaalt: artikel- en conditieberichten naar producten en nettoprijzen in je webshop, een DICO-order naar een verkooporder in je ERP, en je pakbon en factuur terug naar SALES005 met de juiste GLN's. Wij bouwen die vertaling op jouw ERP en jouw afnemers, met een controle op aantallen en bedragen voordat een bericht de deur uit gaat.

Daarna hosten en bewaken we hem: een bericht dat de ontvanger weigert, blijft met de foutmelding in het dashboard staan tot het is opgelost. Hoe dit in de bredere stroom van berichten past staat op EDI-koppeling, de productdata op productdata. Vertel met welke afnemers je DICO wilt uitwisselen.

Veelgestelde vragen

Is DICO hetzelfde als EDI?

DICO is een vorm van EDI: gestructureerde berichten tussen bedrijven die software zonder overtypen verwerkt. Het verschil met EDIFACT of EANCOM zit in het formaat en de sector. DICO gebruikt XML met eigen schema's en is gemaakt voor de bouw en techniek. Zie wat is EDI.

Wat is het verschil tussen DICO en ETIM?

ETIM beschrijft wat een product is: de klasse en de technische kenmerken. DICO is het bericht waarin je die gegevens, samen met prijzen, orders en facturen, naar een ander bedrijf stuurt. Het DICO ArtikelProductBericht 006 is gebaseerd op ETIM xChange. Zie wat is ETIM.

Moet ik deelnemer zijn om DICO te gebruiken?

De XSD-schema's, de attributenlijst en de codelijsten staan in de DICO Beheeromgeving van Ketenstandaard, achter een inlog voor deelnemers. Volgens 2BA heb je toegang als je lid bent van Ketenstandaard of een 2BA-ETIM combicontract hebt. Ketenstandaard noemt bijna 2.000 deelnemers.

Kan een DICO-factuur ook via Peppol?

Het transport en het formaat zijn twee dingen. Peppol is een netwerk om e-facturen te versturen, DICO beschrijft de inhoud van de factuur. Ketenstandaard meldde in november 2021 dat een eerste SALES005-factuur via Peppol was verstuurd. Spreek met de ontvanger af welk formaat hij via Peppol verwerkt. Zie wat is Peppol.

Wordt SALES005 nog verder ontwikkeld?

2BA markeert SALES005 op 3 oktober 2026 als "wordt niet meer doorontwikkeld". Voor product- en artikeldata is het ArtikelProductBericht 006 de opvolger, op basis van ETIM xChange. Voor orders en facturen blijft SALES005 de versie die de sector gebruikt; Ketenstandaard voegt daar extensies aan toe in plaats van nieuwe versies.

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

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com