QUOTES — Quote Message (D.96A)
QUOTES permet à un vendeur potentiel de transmettre prix, planning de livraison et conditions pour une vente potentielle de biens ou de services. Réponse type à une demande de devis (REQOTE).
Objet du message
Selon la définition fonctionnelle UN/CEFACT, QUOTES est « a message which provides potential sellers with the ability to provide price, delivery schedule, and other conditions for potential sales of goods or services ». Le devis peut couvrir un ou plusieurs articles ou services, plusieurs plannings de livraison ou call-offs, et inclure des informations complémentaires pour les douanes ou à des fins statistiques en cas de transaction transfrontalière.
Structure segmentaire
QUOTES D.96A est l'un des messages les plus riches du directory — 56 groupes de
segments répartis en trois sections : Header (groupes SG1-26),
Detail (groupes SG27-55), Summary (SG56). La table
complète figure dans quotes_s.htm.
Header
Au niveau du header, les segments mandataires sont UNH M , BGM M , et DTM M . Les autres segments header sont conditionnels : PAI C , ALI C , IMD C , IRQ C , et FTX C .
Les 26 groupes du header couvrent successivement : SG1 RFF+DTM
(références), SG2 AJT+FTX (ajustements), SG3 TAX+MOA+LOC
(taxes), SG4 CUX+PCD+DTM (devises), SG5 PAT+DTM+PCD+MOA
(termes de paiement), SG6 TOD+LOC (terms of delivery / Incoterm), SG7
EQD+HAN+MEA+FTX (équipement), SG8 RCS+RFF+DTM+FTX, SG9
APR+PRI+QTY+DTM+MOA+RNG (price additional info), SG10 DLM+MOA+DTM
(delivery limitations), SG11 NAD+LOC+FII (parties), SG12 RFF+DTM+LOC,
SG13 DOC+DTM, SG14 CTA+COM, SG15 TDT+QTY, SG16
LOC+DTM, SG17 PAC+MEA, SG18 PCI+RFF+DTM+GIN,
SG19 SCC+FTX, SG20 QTY+DTM, SG21 ALC+ALI+DTM,
et les groupes SG22-26 (QTY/RNG, PCD/RNG, MOA/RNG, RTE/RNG, TAX/MOA) pour les
barèmes par tranche au niveau document.
Detail (ligne d'article)
Le Detail est centré sur SG27, un loop construit autour de
LIN M ,
avec PIA , IMD , MEA ,
QTY , PCD , ALI ,
DTM , GIN , GIR ,
QVR , FTX , DGS ,
PAI , DOC . Jusqu'à 200 000 lignes
par interchange. À l'intérieur de chaque ligne, 29 sous-groupes : SG28
(CCI+CAV+MEA classifications), SG29 (MOA+QTY+IMD+CUX+DTM
montants ligne), SG30 (AJT+FTX), SG31 (PRI+APR+RNG+CUX+DTM
prix), SG32 (RFF+DTM), SG33 (LOC+QTY+DTM), SG34
(TAX+MOA+LOC taxes ligne), SG35 (TOD+LOC), SG36
(EQD+HAN+MEA+FTX), SG37 (RCS+RFF+DTM+FTX), SG38
(PAT+DTM+PCD+MOA), SG39 (PAC+MEA+QTY+DTM), SG40-41
(RFF, PCI+RFF+DTM+GIN), SG42 (NAD+LOC
parties ligne), SG43-44 (RFF+DTM, DOC+DTM), SG45
(CTA+COM), SG46 (ALC+ALI+DTM), SG47-51 barèmes par
tranche (QTY/RNG, PCD/RNG, MOA/RNG, RTE/RNG, TAX/MOA), SG52-55
(TDT+QTY, LOC+DTM, SCC+FTX, QTY+DTM).
Summary
La section Summary contient :
UNS M ,
MOA ,
CNT ,
puis le groupe SG56 (ALC+MOA+ALI) pour les allowances/charges
finales, et enfin UNT M .
Obligatoire / conditionnel
Strictement mandataires dans tout QUOTES D.96A :
UNH,UNT— encadrent le message.BGM— type et numéro de devis (qualifier 310 = quote, 311 = response to RFQ).DTM— au moins une date dans le header (la spec autorise jusqu'à 35 répétitions).UNS+S— sépare Detail et Summary.- SG27 LIN — au moins une ligne d'article (groupe M, ×200 000).
Toutes les autres données (parties, devises, Incoterms, prix, taxes) sont
conditionnelles au niveau du standard. Dans la pratique, un devis sans NAD (acheteur
+ vendeur), sans PRI, sans CUX et sans DTM+9 (validity date) n'est pas
opérationnellement exploitable : ces segments sont rendus obligatoires par
accord bilatéral.
Exemple réel
Devis envoyé par un industriel allemand (ACME SUPPLY GMBH) en réponse à un RFQ d'une centrale d'achat française (BUYING GROUP SA), pour deux références produit :
UNB+UNOC:3+5410000000456:14+5410000000123:14+260513:1000+CTRL000123'
UNH+1+QUOTES:D:96A:UN:EAN008'
BGM+310+QUO-2026-0042+9'
DTM+137:20260513:102'
DTM+9:20260613:102'
DTM+2:20260701:102'
RFF+CR:RFQ-2026-0017'
DTM+171:20260506:102'
CUX+2:EUR:9'
PAT+1++5:3:D:30'
TOD+6++CIP:::PARIS'
NAD+SE+5410000000456::9++ACME SUPPLY GMBH+HAUPTSTRASSE 5+BERLIN++10115+DE'
NAD+BY+5410000000123::9++BUYING GROUP SA+12 RUE DES LILAS+PARIS++75011+FR'
LIN+1++3520000001234:EN'
IMD+F++:::Acoustic guitar, mahogany finish'
QTY+21:50'
PRI+AAA:819.00'
MOA+203:40950.00'
LIN+2++3520000005678:EN'
IMD+F++:::Capo, spring loaded'
QTY+21:250'
PRI+AAA:17.90'
MOA+203:4475.00'
UNS+S'
MOA+128:45425.00'
CNT+2:2'
UNT+25+1'
UNZ+1+CTRL000123' BGM+310+QUO-2026-0042+9— code 310 (quote), numéro QUO-2026-0042, statut 9 (original).DTM+137— date du devis.DTM+9— date de validité.DTM+2— date de livraison proposée.RFF+CR:RFQ-2026-0017— référence à la demande de devis initiale.PAT+1++5:3:D:30— termes de paiement : 5% d'escompte à 30 jours (qualifier 1 = basic payment terms).TOD+6++CIP:::PARIS— Incoterm CIP Paris (qualifier 6 = price and place of delivery code).- Deux
LINavec QTY (qualifier 21 = ordered) et PRI (AAA = net calculation), suivis du MOA ligne (qualifier 203 = line item amount). UNS+S— passage Detail → Summary.MOA+128— total du devis.UNT+25+1— 25 segments au total (UNH et UNT inclus).
Erreurs fréquentes
- BGM avec code de fonction erroné — 310 = quote, 311 = response to RFQ, 312 = price quotation. Un mapping vers ORDERS (220) est une erreur classique côté ERP.
- Validité absente — le
DTM+9(validity date) doit être présent pour que l'acheteur sache jusqu'à quand le devis tient. Les acheteurs publics européens l'imposent par défaut. - PAT mal qualifié — composite C110 attend une combinaison qualifier d'escompte + délai.
5:3:D:30signifie 5% (escompte) si payé sous 30 jours (D = jours). - TOD sans place — Incoterms 2020/2025 imposent un lieu nommé.
TOD+6++CIPsans le composant 4 (place) est techniquement valide mais sera systématiquement rejeté en pratique. - UNS+S absent — comme dans ORDERS, l'oubli du UNS entre la dernière ligne SG27 et le Summary fait planter tous les contrôleurs syntaxiques.
Messages liés
QUOTES s'inscrit dans le cycle Source-to-Pay :
- REQOTE — Request for Quote (demande de devis initiale).
- QUOTES — la réponse (ce message).
- ORDERS D.96A — commande émise sur la base du devis accepté.
- ORDRSP D.96A — confirmation de commande.
- INVOIC D.96A — facture in fine.
- CONTRL D.96A — acquittement syntaxique.
Équivalent JSON
Projection JSON de l'exemple pour intégration en marketplace ou portail e-procurement :
{
"interchange": {
"controlRef": "CTRL000123",
"from": { "id": "5410000000456", "qualifier": "14" },
"to": { "id": "5410000000123", "qualifier": "14" },
"datetime": "2026-05-13T10:00:00Z",
"syntax": { "id": "UNOC", "version": "3" }
},
"message": {
"ref": "1",
"type": "QUOTES",
"version": { "syntax": "D", "release": "96A", "agency": "UN", "association": "EAN008" }
},
"quote": {
"number": "QUO-2026-0042",
"function": "310",
"status": "9",
"documentDate": "2026-05-13",
"validityDate": "2026-06-13",
"deliveryDate": "2026-07-01",
"rfqRef": { "value": "RFQ-2026-0017", "date": "2026-05-06" },
"currency": "EUR",
"paymentTerms": { "type": "1", "discount": 5, "withinDays": 30 },
"incoterm": { "code": "CIP", "place": "PARIS" },
"parties": {
"seller": { "gln": "5410000000456", "name": "ACME SUPPLY GMBH" },
"buyer": { "gln": "5410000000123", "name": "BUYING GROUP SA" }
},
"lines": [
{ "ref": 1, "gtin": "3520000001234", "description": "Acoustic guitar, mahogany finish",
"quantity": 50, "price": { "net": 819.00 }, "amount": { "lineTotal": 40950.00 } },
{ "ref": 2, "gtin": "3520000005678", "description": "Capo, spring loaded",
"quantity": 250, "price": { "net": 17.90 }, "amount": { "lineTotal": 4475.00 } }
],
"totals": { "amount": 45425.00, "lineCount": 2 }
}
}