Peppol pour les développeurs : premiers pas avec les commandes électroniques

Peppol pour les développeurs qui se lancent dans les commandes électroniques

Peppol est un réseau B2B international ouvert qui permet aux organisations d'échanger efficacement des documents commerciaux structurés tels que des commandes et des factures.

Il est essentiel que les développeurs comprennent les spécifications techniques et le processus de mise en œuvre de Peppol afin de pouvoir créer des systèmes robustes qui améliorent l'efficacité organisationnelle. Ce guide présente les concepts clés et les conseils techniques destinés aux développeurs qui souhaitent se lancer dans les commandes électroniques à l'aide de Peppol.

Qu'est-ce que Peppol ?

Peppol (Pan-European Public Procurement Online) est un cadre qui normalise l'échange de documents électroniques entre les entreprises et les organismes publics. Il ne s'agit pas d'un système ERP, d'un portail ou d'une plateforme d'approvisionnement, mais d'un protocole permettant l'interopérabilité entre différents systèmes.

Peppol utilise le modèle à quatre coins, ce qui signifie que chaque organisation se connecte au réseau via le fournisseur de point d'accès Peppol de son choix, éliminant ainsi la nécessité d'aligner les fournisseurs de services avec les partenaires commerciaux.

Le modèle à quatre coins Peppol.


Les principales caractéristiques de Peppol sont les suivantes :

  • Normalisation: un langage commun pour les documents commerciaux dans tous les secteurs.
  • Interopérabilité: compatibilité entre les systèmes à l'échelle mondiale.
  • Évolutivité: connectez-vous facilement à de nouveaux partenaires sans développement supplémentaire.
    Peppol offre aux développeurs un cadre permettant d'intégrer le traitement électronique structuré des commandes dans les processus commerciaux existants.

Premiers pas avec les commandes Peppol

La mise en œuvre des commandes électroniques dans Peppol implique la compréhension de ses spécifications d'interopérabilité commerciale (BIS), de la syntaxe des messages et des exigences en matière d'échange de données.

Voici une description détaillée des six étapes principales et des considérations techniques qui s'y rapportent.

1. Comprendre les éléments fondamentaux

Les développeurs qui mettent en œuvre les factures Peppol doivent comprendre comment remplir correctement les éléments cbc conformément aux directives Peppol BIS afin de garantir la conformité des documents et la réussite de leur transmission.

Dans le contexte de Peppol et de la syntaxe UBL (Universal Business Language) pour les factures, cbc signifie « Common Basic » (composants de base communs). Ces éléments de données prédéfinis dans le schéma UBL représentent des éléments de base réutilisables dans les documents commerciaux tels que les factures, les commandes et les avis d'expédition.

Principales caractéristiques des éléments cbc

  1. Types de données simples: les éléments cbc sont généralement atomiques et représentent des données simples telles que du texte, des valeurs numériques, des dates ou des codes.
  2. Basic : elles capturent des données essentielles et simples telles que des identifiants, des dates, des montants monétaires ou des descriptions.
  3. Réutilisabilité: ces composants sont conçus pour être réutilisables dans différents types de documents UBL.

2. Choisissez le profil Peppol BIS pour les commandes.

Peppol prend en charge trois spécifications principales, également appelées profils, pour les processus de commande. Chaque BIS est conçu pour des cas d'utilisation spécifiques, et les partenaires commerciaux doivent se mettre d'accord sur celui à utiliser.

BIS Order Only: pour les commandes simples sans réponse du fournisseur.
BIS Ordering: comprend les réponses aux commandes pour confirmer l'acceptation, le refus ou l'acceptation partielle.
BIS Despatch Advice: informe l'acheteur des détails de l'expédition.

3. Comprendre la syntaxe des commandes Peppol

La transaction Peppol Order (T01) suit le norme UBL (Universal Business Language) .

Pour mettre en œuvre efficacement Peppol, les développeurs doivent parfaitement comprendre comment remplir les éléments cbc conformément aux directives Peppol BIS, afin de garantir à la fois la conformité et la fluidité de la transmission. Il est essentiel de respecter la syntaxe requise pour tous les éléments du document, car tout écart par rapport aux règles de validation de Peppol peut entraîner des erreurs qui perturbent le processus de commande.

Voici quelques exemples d'éléments essentiels pour les documents de commande :

Élément UBLDescription
cbc:IDUn identifiant de commande unique.
cbc:CodeTypeCommandeSpécifie le type de commande, tel qu'un bon de commande.
cbc:CodeDeviseDocumentIndique la devise (par exemple, « EUR »).
cac:Période de validitéIndique la date d'expiration de la commande.

Caractéristiques des éléments cbc

Représentation des données: les éléments cbc représentent généralement des champs de données uniques, ce qui les rend faciles à utiliser et à valider.
Attributs: certains éléments cbc comprennent des attributs tels que currencyID (pour les montants) ou unitCode (pour les quantités).
Obligatoire/facultatif: les directives Peppol BIS (Business Interoperability Specification) précisent quels éléments cbc sont obligatoires, facultatifs ou requis sous certaines conditions.

Comparaison avec les CAC (composants agrégés communs)

Alors que cbc représente les composants de base, cac (Common Aggregate Components) est utilisé pour les structures de données complexes qui regroupent des éléments cbc et d'autres éléments cac connexes. Par exemple, cac:Party regroupe toutes les informations relatives à une entité commerciale, telles que son nom, son adresse et ses identifiants.

Pour plus de détails sur les éléments cbc spécifiques utilisés dans les commandes Peppol UBL, consultez la BIS Ordering officielle Peppol BIS Ordering .

3. Intégrer avec un point d'accès Peppol

Les transactions Peppol sont distribuées via des points d'accès Peppol certifiés, également appelés fournisseurs de services Peppol. En tant que développeur, votre application doit se connecter à l'API d'un fournisseur pour transmettre et recevoir des documents. Les points d'accès gèrent les complexités techniques liées à l'acheminement des messages vers et depuis les partenaires commerciaux.

En savoir plus sur l'accès aux commandes Peppol via l'API Order.

4. Mettre en œuvre la validation et la gestion des erreurs

La validation garantit la conformité avec les règles Peppol et les exigences BIS. Mettez en place des contrôles de validation rigoureux afin d'identifier les erreurs avant la transmission. Par exemple, vérifiez les champs obligatoires tels que cbc:ID et cbc:DocumentCurrencyCode. Valider les formats de données, y compris les dates, les devises et les identifiants.

Les validations de format sont intégrées et automatisées pour les utilisateurs du point d'accès Peppol de Qvalia.

5. Tester dans un environnement sandbox

Avant de déployer votre solution, testez l'intégration dans un environnement sandbox fourni par votre fournisseur de point d'accès. Cela vous permet de simuler divers scénarios, tels que la soumission de commandes, la réception de réponses et la gestion des messages d'avis d'expédition.

Aspects techniques : structure des commandes Peppol

Les commandes Peppol s'appuient sur des schémas UBL basés sur XML. Vous trouverez ci-dessous un bref aperçu des éléments essentiels de la structure des commandes :

En-tête du document

L'en-tête contient des métadonnées essentielles concernant la commande.

Élément UBLDescription
<cbc:ID>Identifiant unique du document de commande (par exemple, « 1234567 »).
<cbc:IssueDate>Date à laquelle le document de commande a été émis (par exemple, « 2024-08-14 »).
<cbc:OrderTypeCode>Indique le type de commande, où « 220 » représente généralement un bon de commande.
<cbc:DocumentCurrencyCode>Spécifie la devise utilisée dans le document de commande (par exemple, « EUR »).

Informations sur l'acheteur et le vendeur

L'acheteur et le vendeur sont définis à l'aide des segments cac:BuyerCustomerParty et cac:SellerSupplierParty.

Élément UBLDescription
<cac:BuyerCustomerParty>Représente l'acheteur dans la transaction, contenant des détails sur le client.
<cac:Party>Fournit des informations sur l'acheteur, telles que ses identifiants et ses noms.
<cbc:EndpointID schemeID=”0088″>L'adresse électronique de l'acheteur, où « schemeID » spécifie le type d'identifiant (par exemple, « GLN » dans ce cas).
<cac:PartyName>Contient le nom commercial de l'acheteur.
<cbc:Name>Spécifie le nom de l'acheteur (par exemple, « Nom de l'acheteur »).

Lignes de commande

Chaque ligne de commande précise les articles, les quantités et les prix.

Élément UBLDescription
<cac:OrderLine>Représente une ligne individuelle dans la commande, contenant des détails sur l'article et sa quantité.
<cbc:ID>Identifiant unique pour la ligne de commande (par exemple, « 1 »).
<cbc:Quantity unitCode=”EA”>Spécifie la quantité d'articles dans la ligne de commande, où « unitCode » définit l'unité de mesure (par exemple, « 50 » unités, mesurées en « Each »).
<cac:Item>Contient des détails sur l'article commandé.
<cbc:Name>Le nom ou la description de l'article (par exemple, « Nom du produit »).
<cac:SellersItemIdentification>Fournit l'identifiant du vendeur pour l'article.
<cbc:ID>Identifiant unique du vendeur pour le produit (par exemple, « 87654321 »).

Fonctionnalités avancées : documents d'avis d'expédition

BIS Despatch Advice permet aux fournisseurs d'informer les acheteurs des détails relatifs à l'expédition.

Le message peut inclure :

Élément UBLDescription
<cac:DespatchAdvice>Élément racine représentant l'ensemble du document d'avis d'expédition, utilisé pour informer le destinataire des détails de l'envoi.
<cbc:ID>Identifiant unique du document d'avis d'expédition (par exemple, « 654321 »)
<cbc:IssueDate>Date à laquelle le document d'avis d'expédition a été émis (par exemple, « 2024-08-20 »)
<cac:Delivery>Contient des informations détaillées sur la livraison de l'envoi.
<cac:DeliveryLocation>Indique l'endroit où la livraison doit être effectuée.
<cbc:ID> (à l'intérieur de DeliveryLocation)Identifiant unique du lieu de livraison (par exemple, « ID entrepôt »).
<cbc:Name>Le nom du lieu de livraison (par exemple, « Nom de l'entrepôt »).

Meilleures pratiques pour les développeurs

Suivez les directives Peppol BIS: respectez toujours la documentation officielle Peppol BIS afin de garantir la conformité.
Tenez compte des variations locales: bien que Peppol soit une norme mondiale, certains secteurs ou certaines régions peuvent nécessiter des adaptations spécifiques.
Automatisez la validation: mettez en place des contrôles automatisés de la syntaxe et de la conformité du contenu avant la transmission.
Sécurisez les données: assurez-vous que toutes les données transmises sont conformes au RGPD et aux autres réglementations en matière de confidentialité.

Peppol fournit un cadre solide pour les commandes électroniques, permettant aux entreprises de rationaliser leurs opérations et d'améliorer la précision des données. Pour les développeurs, il est essentiel de comprendre les spécifications techniques de Peppol BIS, des schémas UBL et de l'intégration des points d'accès afin de créer des solutions évolutives et efficaces.