Peppol est un réseau international ouvert B2B qui permet aux organisations d'échanger efficacement des documents commerciaux structurés tels que des commandes et des factures.
La compréhension des spécifications techniques et du processus de mise en œuvre de Peppol est essentielle pour permettre aux développeurs de créer des systèmes robustes qui améliorent l'efficacité de l'organisation. Ce guide présente les concepts clés et les conseils techniques permettant aux développeurs de commencer à utiliser 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'un site d'approvisionnement plateforme , mais d'un protocole permettant l'interopérabilité entre différents systèmes.
Peppol utilise le modèle des quatre coins, ce qui signifie que chaque organisation se connecte au réseau par l'intermédiaire du fournisseur de points d'accès Peppol qu'elle a choisi, supprimant ainsi la nécessité d'aligner les fournisseurs de services sur les partenaires commerciaux.
Les principales caractéristiques de Peppol sont les suivantes :
- La normalisation: Un langage commun pour les documents commerciaux dans tous les secteurs d'activité.
- Interopérabilité: Compatibilité entre les systèmes dans le monde entier.
- Évolutivité: Connectez-vous facilement avec 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 d'entreprise existants.
Démarrer avec la commande Peppol
La mise en œuvre de commandes électroniques dans Peppol implique de comprendre ses spécifications d'interopérabilité commerciale (BIS), la syntaxe des messages et les exigences en matière d'échange de données.
Voici une analyse des six étapes principales et de leurs aspects techniques.
1. Comprendre les éléments de base
Les développeurs qui mettent en œuvre les factures Peppol doivent savoir comment remplir correctement les éléments cbc conformément aux directives BIS de Peppol afin de garantir la conformité des documents et une transmission réussie.
Dans le contexte de Peppol et de la syntaxe UBL (Universal Business Language) pour les factures, cbc signifie Common Basic Components. Ces éléments de données prédéfinis dans le schéma UBL représentent les éléments de base réutilisables des documents commerciaux tels que les factures, les commandes et les messages d'avis d'expédition.
Principales caractéristiques des éléments cbc
- 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.
- Informations de base: Elles saisissent des points de données essentiels et simples tels que des identifiants, des dates, des montants monétaires ou des descriptions.
- Réutilisation: Ces composants sont conçus pour être réutilisés dans différents types de documents UBL.
2. Choisir 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 qu'ils souhaitent 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 rejet ou l'acceptation partielle.
BIS Despatch Advice: Informe l'acheteur des détails de l'expédition.
3. Comprendre la syntaxe de l'ordre de Peppol
La transaction de commande Peppol (T01) suit le format UBL (Universal Business Language) (langage universel des affaires).
Pour mettre en œuvre efficacement Peppol, les développeurs doivent avoir une connaissance approfondie de la manière de remplir les éléments cbc conformément aux directives BIS de Peppol, 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 UBL | Description |
cbc:ID | Un identifiant unique de la commande. |
cbc:OrderTypeCode | Indique le type de commande, par exemple une commande d'achat. |
cbc:DocumentCurrencyCode | Indique la devise (par exemple, "EUR"). |
cac:ValidityPeriod | 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 facilite leur utilisation et leur validation.
Attributs: Certains éléments cbc comprennent des attributs tels que currencyID (pour les montants) ou unitCode (pour les quantités).
Obligatoire/facultatif: Les lignes directrices BIS (Business Interoperability Specification) de Peppol précisent quels éléments cbc sont obligatoires, facultatifs ou requis sous conditions.
Comparaison avec le cac (Common Aggregate Components)
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 apparentés. 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 la commande Peppol UBL, voir la documentation officielle de Peppol BIS Ordering .
3. Intégrer un point d'accès Peppol
Les transactions Peppol sont distribuées par 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 de l'acheminement des messages vers et depuis les partenaires commerciaux.
En savoir plus sur l'accès aux commandes Peppol via l'API de commande.
4. Mettre en œuvre la validation et la gestion des erreurs
La validation garantit la conformité avec les règles de Peppol et les exigences de la BIS. Mettez en œuvre des contrôles de validation solides pour 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 de type "bac à sable
Avant de déployer votre solution, testez l'intégration dans un environnement "bac à sable" fourni par votre fournisseur de points d'accès. Cela vous permet de simuler différents scénarios, tels que l'envoi de commandes, la réception de réponses et la gestion de messages d'avis d'expédition.
Aperçu technique : Structure des commandes de Peppol
Les commandes de Peppol reposent 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 sur la commande.
Élément UBL | Description |
<cbc:ID> | Un identifiant unique pour le document de commande (par exemple, "1234567"). |
<cbc:IssueDate> | La 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 typiquement une commande d'achat. |
<cbc:DocumentCurrencyCode> | Spécifie la devise utilisée dans le document de commande (par exemple, "EUR"). |
Informations sur les acheteurs et les vendeurs
L'acheteur et le vendeur sont définis à l'aide des segments cac:BuyerCustomerParty et cac:SellerSupplierParty.
Élément UBL | Description |
<cac:BuyerCustomerParty> | Représente l'acheteur dans la transaction et contient des informations sur le client. |
<cac:Party> | Fournit des informations sur le parti de l'acheteur, telles que les identifiants et les 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> | Indique le nom de l'acheteur (par exemple, "Nom de l'acheteur"). |
Lignes de commande
Chaque ligne de commande spécifie les articles, les quantités et les prix.
Élément UBL | Description |
<cac:OrderLine> | Représente une ligne individuelle dans la commande, contenant des détails sur l'article et sa quantité. |
<cbc:ID> | Un 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> | L'identifiant unique du vendeur pour le produit (par exemple, "87654321"). |
Fonctionnalités avancées : Documents d'avis d'expédition
La spécification BIS Despatch Advice permet aux fournisseurs d'informer les acheteurs sur les détails de l'expédition.
Le message peut comprendre
Élément UBL | Description |
<cac:DespatchAdvice> | L'élément racine représentant l'ensemble du document d'avis d'expédition, utilisé pour notifier au destinataire les détails de l'envoi. |
<cbc:ID> | Un identifiant unique pour le document d'avis d'expédition (par exemple, "654321"). |
<cbc:IssueDate> | La date à laquelle le document Despatch Advice a été émis (par exemple, "2024-08-20"). |
<cac:Delivery> | Contient des détails sur la livraison de l'envoi. |
<cac:DeliveryLocation> | Spécifie le lieu où l'envoi doit être livré. |
<cbc:ID> (à l'intérieur de DeliveryLocation) | L'identifiant unique du lieu de livraison (par exemple, "Warehouse ID"). |
<cbc:Name> | Le nom du lieu de livraison (par exemple, "Nom de l'entrepôt"). |
Meilleures pratiques pour les développeurs
Suivre les directives de Peppol BIS: Respectez toujours la documentation officielle de Peppol BIS pour garantir la conformité.
Traitez les variations locales: Bien que Peppol soit une norme mondiale, certains secteurs ou régions peuvent nécessiter des adaptations spécifiques.
Automatiser la validation: Mettez en œuvre des contrôles automatisés de la conformité de la syntaxe et du contenu avant la transmission.
Sécurisez les données: Assurez-vous que toutes les données transmises sont conformes au GDPR et à d'autres réglementations en matière de confidentialité.
Peppol fournit un cadre solide pour les commandes électroniques, permettant aux entreprises de rationaliser les opérations et d'améliorer l'exactitude des données. Pour les développeurs, la compréhension des spécifications techniques de Peppol BIS, des schémas UBL et de l'intégration des points d'accès est essentielle pour créer des solutions évolutives et efficaces.