
Votre guide d'intégration V5 !

L'intégration des bons de commande entre V5 Traçabilité et le système ERP d'un client permet d'envoyer les détails de la commande, les lignes de commande et les informations de planification à V5 Traçabilité. Ces commandes peuvent ensuite être reçues via le logiciel WMS V5, après quoi des informations telles que la quantité reçue, l'emplacement et les allocations de conteneurs/palettes peuvent être renvoyées à l'ERP.
Pour plus d'informations sur le fonctionnement du module de bon de commande dans V5 Traçabilité, veuillez consulter notre guide du module ici.
En ce qui concerne la façon dont nous pouvons relier les bons de commande et les lignes de bon de commande à ce que nous voyons dans le centre de contrôle, nous pouvons voir que le panneau supérieur ici est pour les bons de commande, où les fournisseurs, les dates de commande et de livraison, les références de commande externes, etc., peuvent tous être importés.
Le panneau inférieur est alors l'endroit où nous pouvons ajouter nos lignes de commande d'achat, contenant des données pertinentes sur les produits, les quantités et le coût des lignes de commande.
En utilisant la passerelle V5, nous pouvons facilement remplir les deux panneaux, séparément ou ensemble.
Le panneau inférieur droit contient des données relatives à l'endroit où les articles du bon de commande sont prélevés et stockés lorsque le bon de commande est traité. Ces données feront partie des données exportées que nous pouvons recevoir de la passerelle.
Pour en savoir plus sur les définitions de ces classes de base de données, veuillez consulter les liens suivants :
Le modèle d'intégration pour les bons de commande peut être téléchargé ici.
Les clés primaires sont l'identifiant unique de chaque table dans l'API V5. Pour Purchase Orders, c'est:
purchaseOrder.orderNumber – le numéro de bon de commande.
Pour Purchase Order Lines, la clé primaire est non plus:
purchaseOrder.orderNumber + commodity.code – le numéro de bon de commande ainsi que la marchandise à commander
or
lineID – À des fins avancées où le même produit peut apparaître sur plusieurs lignes, vous pouvez spécifier un ID de ligne comme identifiant unique à la place du numéro de commande et du code du produit.
Les autres champs requis par SG pour remplir une ligne de commande valide dans Control Center sont :
quantity – la quantité de ce produit commandé.
Les champs préférés servent à ajouter plus de données au bon de commande et, bien qu'ils ne soient pas obligatoires, sont utiles en ce qui concerne les fonctionnalités de la traçabilité V5.
lineID - s'il n'est pas utilisé comme clé primaire ci-dessus, ce champ doit être inclus.
commodity.code – s'il n'est pas utilisé comme clé primaire ci-dessus, ce champ doit être inclus.
purchaseOrder.orderNumber – s'il n'est pas utilisé comme clé primaire ci-dessus, ce champ doit être inclus.
purchaseOrder.supplier.code – le code unique utilisé pour identifier le fournisseur.
buyOrder.placedDate - la date à laquelle la commande a été passée.
purchaseOrder.deliveryDate – la date de livraison fixée pour la commande.
unit – l'unité de mesure de la marchandise commandée.
Des champs supplémentaires peuvent également être inclus, tels que :
purchaseOrder.notes – toutes les notes pour le bon de commande.
cost – le coût (par unité) du produit commandé.
Étant donné la nature de la PurchaseOrder et PurchaseOrderLine , nous pouvons choisir d'importer les données de 2 manières :
Lequel de ces points de terminaison nous utiliserons dépendra en grande partie de l'utilisation d'une importation JSON ou CSV. Nous pouvons maintenant les regarder ci-dessous.
Purchase Order:
‘PurchaseOrder’ importer le point de terminaison/URI –
http://host:port/V5-API/api/integrate/import/purchase
Pour cet exemple d'importation, nous utiliserons le ‘PurchaseOrder’ point de terminaison et structurant un fichier d'importation de base, cela pourrait ressembler à ceci :

Cet exemple de fichier JSON peut être téléchargé ici.
Nous pouvons voir pourquoi nous utiliserions le ‘PurchaseOrder’ point de terminaison pour ce format, compte tenu de la capacité des fichiers JSON à contenir des données imbriquées, ce qui nous permet d'inclure des ‘PurchaseOrderLine’, et par la suite ‘Commodity’ points de données dans l'importation, qui peuvent être déterminés à l'aide du manuel de l'API SG. Par exemple, le ‘commodity code’ Le point de données peut être trouvé en utilisant le chemin suivant dans le manuel de l'API :

Nous pouvons construire le reste de nos points de données requis en utilisant une méthode de recherche de chemin similaire.
Purchase Order Lines:
‘PurchaseOrderLine’ importer le point de terminaison/URI –
http://host:port/V5-API/api/integrate/import/purchase_line
Nous pouvons également utiliser le ‘PurchaseOrderLine’ endpoint pour ajouter ou modifier des lignes d'une commande existante. Nous pouvons également ajouter des bons de commande à l'aide de ce point de terminaison, mais nous ne pouvons modifier un bon de commande qu'en utilisant le ‘PurchaseOrder’ URI.
Nous pouvons voir un exemple de ‘PurcahseOrderLine’ Fichier JSON ci-dessous, où nous ajouterons une autre ligne de commande à la commande 'PO-8471' que nous avons créée ci-dessus :

Cet exemple de fichier JSON peut être téléchargé ici.
Nous pouvons alors voir dans Control Center que notre bon de commande a été importé avec la ligne supplémentaire que nous venons d'ajouter.

Pour ce qui est de la réception des fichiers relatifs au bon de commande depuis l'API V5, si nous vérifions les résumés de méthode sous la IntegrationExport classe, alors nous avons quelques options différentes ici:
Purchase Orders:
Exporter le point de terminaison/URI –
http://host:port/V5-API/api/integrate/export/purchase_orders
Ce point de terminaison exportera les fichiers JSON complets de bons de commande à l'aide de la classe de base de données de bons de commande et inclura tous les bons de commande qui n'ont pas encore été marqués comme exportés par le système. Cela n'inclura aucune donnée de réception mais fournira plutôt un retour pour chaque point de données dans le ‘PurchaseOrder’ classe.
On peut voir ci-dessous le début d'un exemple d'export de ce type :

Un exemple de fichier JSON peut être téléchargé ici.
Purchase Order:
Exporter le point de terminaison/URI –
http://host:port/V5-API/api/integrate/export/purchase_order/{ordernumber}
Ce point de terminaison exportera les fichiers JSON complets du bon de commande à l'aide de la classe de base de données du bon de commande, mais uniquement pour la commande spécifiée et uniquement si cette commande n'a pas déjà été marquée comme exportée par le système. Comme ci-dessus, cela n'inclura aucune donnée de réception mais fournira plutôt un retour pour chaque point de données dans le ‘PurchaseOrder’ classe.
Purchase Order Logs:
Exporter le point de terminaison/URI – http://host:port/V5-API/api/integrate/export/po_logs
Ce point de terminaison peut être utilisé pour récupérer une liste des journaux de bons de commande relatifs aux événements survenus lors de la réception du bon de commande, et contrairement aux types ci-dessus, peut être utilisé pour récupérer des informations telles que ce qui a été reçu, combien et où il a été stocké, etc. Cela fait usage de la ‘SystemLog’ classe de données pour fournir des données transactionnelles supplémentaires telles que des descripteurs de système. Le point de terminaison fournit ces données uniquement pour les commandes terminées, à condition qu'elles n'aient pas été précédemment marquées comme exportées.
On peut voir ci-dessous le début d'un exemple d'export de ce type :

Un exemple de fichier JSON peut être téléchargé ici.
Purchase Order Transactions:
Exporter le point de terminaison/URI –
http://host:port/V5-API/api/integrate/export/po_transactions
Ce point de terminaison fonctionne de la même manière que ‘Purchase Order Logs’ ci-dessus, sauf que ce point de terminaison fournira également des données sur les commandes qui ne sont pas encore terminées (c'est-à-dire les commandes en cours).
Nous pouvons également utiliser un points de terminaison transactionnels et de journalisation pour récupérer des informations plus pertinentes sur les produits reçus sur les bons de commande.
Nous en avons un Transactionnel/Générique point final que nous pouvons utiliser ici :
Notez que pour les importations CSV, nous utiliserions normalement le ‘PurchaseOrderLine’ point de terminaison, nous permettant de générer des bons de commande et leurs éléments de ligne grâce à l'utilisation d'un seul fichier csv.
Nom du fichier de définition d'en-tête/colonne : “purchaseOrderLine.csvh”
Les fichiers d'en-tête complétés doivent être placés dans : " \SG Control Center\gateway\import\column_defs"
Importer le nom du fichier CSV :“purchaseOrderLine-datetime.csv”
Les fichiers CSV à importer doivent être placés dans : “<installdir>\SG Control Center\gateway\import”
En tête de fichier:
Les fichiers d'en-tête seront généralement compilés par SG Systems avant les intégrations CSV, mais nous pouvons voir ci-dessous un exemple de base que nous pouvons utiliser pour les bons de commande :

Pour plus d'informations sur la manière dont nous structurons ces fichiers, veuillez consulter le page d'intégration principale. Cet exemple de fichier d'en-tête peut être téléchargé ici.
Fichier d'importation CSV :
Nous pouvons ensuite utiliser l'ordre défini des points de données dans l'en-tête pour structurer notre fichier d'importation. SG Systems peut fournir un fichier modèle pour cela, répertoriant les points de données pour chaque colonne afin de clarifier les choses lors du remplissage de la liste. Notez que cette première ligne peut être ignorée par Control Center et peut donc être conservée dans le fichier lors de la soumission pour importation.

Ici, nous pouvons voir que nous importons 2 commandes différentes, l'une avec 2 articles et l'autre avec seulement 1. Cet exemple de fichier d'importation peut être téléchargé ici.
Une fois l'importation terminée, nous pouvons voir que ces commandes, ainsi que leurs éléments de campagne, ont été ajoutés au centre de contrôle. Notez que si les données « Date de placement » ne sont pas incluses dans l'importation, la date de placement fera référence à la date d'aujourd'hui.

Lorsque vous cherchez à exporter des informations de bon de commande via cette méthode, cela fait partie d'un ‘SystemLog’ exporter. Nous pouvons voir les définitions de classe pour ce point de terminaison ici.
Nom du fichier de définition d'en-tête/colonne : “SystemLog.csvh”
Les fichiers d'en-tête complétés doivent être placés dans : “<installdir>\SG Control Center\gateway\export\order”
Exporter le nom du fichier CSV : “SystemLog-datetime.csv”
Les CSV pour les exportations seront générés dans : “<installdir>\SG Control Center\gateway\export”
Ce point de terminaison peut être utilisé pour extraire une grande variété de données en parcourant les points de données disponibles liés à partir d'ici.
En tête de fichier:
Nous pouvons utiliser des points de données tels que ‘user’, ‘timestamp’ et ‘quantity’ sur ce haut ‘System Log’ niveau, mais on peut aussi utiliser le ‘Purchase Order et ‘Purchase Order Line’ pages pour approfondir les informations dont nous avons besoin, telles que le numéro de bon de commande, le produit acheté, l'endroit où il a été stocké, etc.
À un niveau très basique, notre partie de l'en-tête du journal système qui traite de nos bons de commande pourrait ressembler à ceci :
Cet exemple de fichier d'en-tête peut être téléchargé ici.
Fichier d'exportation CSV :
Si nous allons de l'avant et recevons le ‘Flour’ ligne de commande pour la commande 'PO-8472' ci-dessus, nous donnerait l'exportation suivante, nous indiquant que cette farine a été réservée en quantités de 2x 250 livres et stockée par ‘SG User’ dans le ‘GEN’ emplacement des stocks.

Cet exemple de fichier d'exportation peut être téléchargé ici.