Overslaan naar inhoud

Welcome!

This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

Deze vraag is gerapporteerd
1 Beantwoorden
395 Weergaven

Il existe 3 connexions EDI qui permettent de charger les commandes passées via Butler++ dans Connect EPR ou de placer un bon de commande via Connect ERP auprès de Butler++. Ces connexions sont :

  • Butler++ Send orders (Envoi de commandes Butler++)
  • Butler++ Receive Order Responses (Réception des réponses aux commandes Butler++)
  • Butler++ Receive Orders (Réception des commandes Butler++)

De cette façon, vous pouvez déterminer d'où vient un message d'erreur ou obtenir un support plus rapidement en sachant ce qui ne va pas. 

Vous pouvez trouver comment commander via EDI dans la section " Commander auprès d'un fournisseur par EDI".

Avatar
Annuleer
Auteur

Flow ID's

Chaque fichier XML échangé avec Butler++ contient un Flow ID qui détermine comment le fichier est traité. Voici un aperçu :

Flow IDDirectionTypeDescription
RSO1Odoo → Butler++Bon de commandeEnvoi d'un bon de commande régulier vers Butler++
DSO1Odoo → Butler++Bon de commandeEnvoi d'un bon de commande dropshipment vers Butler++
RSO10.1Butler++ → OdooRéponse POConfirmation/réponse reçue pour un PO régulier
DSO12.1Butler++ → OdooRéponse POConfirmation/réponse reçue pour un PO dropshipment
RSO10.2Butler++ → OdooBon de commandeCommande magasin régulière créée dans Butler++
DSO12.2Butler++ → OdooBon de commandeCommande dropshipment créée dans Butler++ (est ignorée)
OO10.1Butler++ → OdooBon de venteCommande en ligne → retrait en magasin, PAS encore payée
OO10.2Butler++ → OdooBon de venteCommande en ligne → retrait en magasin, déjà payée
OO10.3Butler++ → OdooBon de venteCommande en ligne → livraison à domicile par LCK, déjà payée

Butler++ Send orders

Vous pouvez commander via Butler++ depuis Connect-ERP. Lorsque vous sélectionnez le fournisseur "Lanckriet" dans l'application d'achat, le bouton "Send through Butler++" apparaît.

Cela envoie votre commande à Butler++ et vous verrez que le Sync Status affiche : "Send ok" lorsque tout se passe bien.

Dans l'application EDI → Butler++ Send orders → bouton d'action "Synchronizations", vous pouvez voir quelles requêtes ont réussi (vert) et lesquelles ont échoué (rouge). Les requêtes échouées signifient que votre commande n'a (généralement) pas été envoyée correctement.

Comment fonctionne l'envoi ?

  1. Vous créez un bon de commande (PO) pour le fournisseur Lanckriet/Connect+ — ceux-ci ont un code fournisseur Butler++.
  2. Vous cliquez sur "Send through Butler++".
  3. Un fichier XML est généré avec les codes produits, quantités et prix.
  4. La commande est envoyée immédiatement via SFTP.
  5. Après l'envoi, le statut devient "Send ok" et les quantités et prix attendus par ligne sont enregistrés. Ceux-ci seront comparés ultérieurement avec la réponse de Butler++.

Commande régulière (RSO1) vs. Dropshipment (DSO1)

RSO1 (régulier) :

L'adresse de livraison est l'entrepôt (code Butler++ de l'entrepôt). Pour la bonne configuration, vous pouvez contacter ictsupport@connect-plus.be.

DSO1 (dropshipment) :

L'adresse de livraison est le client final. Le fichier XML contient le nom, l'adresse, l'e-mail et le numéro de téléphone du client. Butler++/Lanckriet livre alors directement chez le client.

Un bon de commande initialement reçu DEPUIS Butler++ (RSO10.2) ou lié à une commande en ligne avec livraison à domicile (OO10.3) n'est JAMAIS renvoyé vers Butler++. Cela évite les boucles infinies.

Butler++ Receive Order Responses

Après avoir envoyé une commande à Lanckriet via Butler++ Send orders, les prix et les marchandises disponibles sont vérifiés. Si tout est correct, vous recevez de "OdooBot" le Sync Status : Receive ok. Cela signifie que la commande a été bien reçue. Les réponses des clients finaux avec l'option "dropshipment" sont également traitées ici.

Comment les réponses sont-elles traitées ? (RSO10.1 / DSO12.1)

  1. La réponse XML est récupérée depuis le serveur SFTP.
  2. Le système fait correspondre la réponse avec un PO existant via le champ ShopReference (= le numéro de PO).
  3. Il est vérifié que le PO a effectivement été envoyé (le statut ne peut pas être vide ou send_ok).
  4. Statut "pending" : Butler++ est encore en cours de traitement. Le statut devient "receive_pending".
  5. Statut "ok" : Chaque ligne de commande est mise à jour avec les quantités confirmées, les prix et les informations de stock.

Contrôle par ligne

Après réception de la réponse, les éléments suivants sont comparés par ligne :

  • Quantité : attendue vs. confirmée (différence = butler_issue_on_qty)
  • Prix : attendu vs. confirmé (différence = butler_issue_on_price)
  • Erreurs : éventuels messages d'erreur ou d'avertissement de Butler++ (butler_error)

Si des problèmes sont détectés, ils sont enregistrés dans le chatter et des activités sont créées pour les membres de l'équipe de vente Butler++.

Attention : Si TOUTES les lignes sont en erreur, le PO complet est marqué comme "receive_ok", même si le statut global était "OK".

Butler++ Receive Orders

Vous pouvez passer une commande sur Butler++ et la faire charger automatiquement dans Connect-ERP. Dans ce cas, les bons de commande que vous aviez créés précédemment dans Butler++ sont générés. Également lorsque des clients finaux passent une commande sur votre site local ou le site national avec votre magasin comme point de retrait, une commande sera créée. Dans ce cas, un nouveau contact client et éventuellement un bon de vente sont également créés. Ceux-ci sont créés dans Connect-ERP par "OdooBot".

RSO10.2 : Commande magasin régulière créée dans Butler++

Lorsqu'un magasin passe une commande dans Butler++, celle-ci est automatiquement créée comme bon de commande (pour Lanckriet) dans Odoo.

  • Un PO est créé avec Lanckriet comme fournisseur.
  • Les lignes de commande sont créées et les produits sont mis en correspondance (voir "Correspondance des produits" ci-dessous).
  • Tous les produits trouvés ? → Le PO est automatiquement confirmé.
  • Produits manquants ? → Le PO reste en brouillon. Des activités sont créées pour l'équipe Butler++.

DSO12.2 : Commande dropshipment créée dans Butler++

Lorsqu'un magasin crée directement une commande dropshipment dans Butler++, le XML est reçu mais N'EST PAS traité. Ce type de commande doit être géré manuellement dans Odoo.

OO10.1 : Commande en ligne, retrait en magasin, PAS payée

Un client commande en ligne via la boutique web Butler++ et choisit le retrait en magasin. Le client n'a PAS encore payé.

  • Un bon de vente (SO) est créé dans la bonne société.
  • Le client est recherché ou créé (voir "Correspondance des clients" ci-dessous).
  • Les lignes de commande sont mises en correspondance avec les produits.
  • Aucun produit manquant → Le SO est confirmé.
  • Une activité est créée : "Le client a choisi le retrait en magasin et doit ENCORE PAYER."

OO10.2 : Commande en ligne, retrait en magasin, DÉJÀ payée

Identique à OO10.1, mais le client a déjà payé en ligne.

Étapes supplémentaires :

  • Un paiement est automatiquement enregistré dans Odoo via le journal de compte bancaire Butler++ configuré.
  • Le paiement est immédiatement comptabilisé.
  • Activité : "Le client a choisi le retrait et a DÉJÀ PAYÉ."

OO10.3 : Commande en ligne, livraison à domicile, DÉJÀ payée

Le client a commandé en ligne, payé, et choisit la livraison à domicile par Lanckriet. C'est un dropshipment du point de vue du magasin.

  • Un SO est créé avec la route dropshipment Butler++ sur chaque ligne.
  • Aucun produit manquant → Le SO est confirmé, ce qui génère automatiquement un PO pour Lanckriet. Ce PO est également confirmé immédiatement.
  • Un paiement est enregistré et comptabilisé.
  • Activité : "Le client a choisi la livraison à domicile et a DÉJÀ PAYÉ. Vous devez suivre la livraison."

Sécurité :

Lors de la confirmation d'un bon de vente OO10.3, chaque ligne DOIT avoir une route dropshipment Butler++. Si ce n'est pas le cas, la confirmation est bloquée.

Gestion des erreurs (dans l'application EDI)

  • "Receipt without any shop code on the warehouse for the PO P0xxxx" : Aucun entrepôt n'est configuré pour la réception des marchandises, voir la configuration en bas de l'article.
  • "Vendor Product Code for Lanckriet is missing for those products:" : Dans la fiche produit → PIM → Manufacturer Code, le code ne correspond pas à celui de Spécification → Numéro d'article dans Butler++. Vérifiez en interne si celui-ci a été modifié ou contactez masterdata@erbg.be pour le signaler.
  • "No PO matches the ShopReference xxx:" : Dans Butler++, une commande est enregistrée sous votre numéro de magasin mais il n'y a pas de numéro de PO dans Connect ERP auquel cette commande peut être liée. Peut-être qu'aucun PO n'a été créé.
  • "No Sync Error" : Pas de problème, une action a cherché de nouvelles commandes mais n'en a pas trouvé — il n'y en a tout simplement pas.
  • "Folder "xxx_folder" : "/directory/folder" does not exists" : La configuration de l'EDI est incorrecte ou le dossier n'existe plus sur le FTP. Contactez toujours ictsupport@erbg.be pour cela.
  • "No Butler++ Bank Account configured for the company xxx" : Configurez le compte bancaire Butler++ dans l'application Paramètres → Comptabilité.
  • No Butler++ dropship route configured for the company : Configurez une route comme indiqué dans "Configuration".

Correspondance des produits

Lors du traitement des lignes de commande entrantes, le système tente de faire correspondre chaque produit via une logique de recherche en trois étapes :

  1. Code PIM : Si le XML contient un champ PIM, la recherche se fait sur pim_code (y compris les produits archivés).
  2. Code-barres (EAN) : Si non trouvé via PIM, la recherche se fait sur le champ barcode (y compris les produits archivés).
  3. Code fournisseur (ItemId) : Si non trouvé via code-barres, la recherche se fait dans les informations fournisseur pour un code produit Lanckriet correspondant.

Correspondance des clients (Commandes en ligne)

Pour les commandes en ligne (OO10.x), le système doit rechercher ou créer un client sur base des données client présentes dans le XML.

Logique actuelle :

  • Entreprises (Company = "Y") : Recherche sur e-mail OU numéro de TVA (avec is_company = True). → Nous travaillons sur un développement qui ajoutera cela dans les fichiers XML.
  • Particuliers (Company = "N" ou non renseigné) : Recherche sur rue + code postal + ville + pays + e-mail + is_company = False.

Problème connu :

La correspondance actuelle pour les particuliers exige que TOUS les champs d'adresse correspondent exactement. Un contact créé manuellement dans Odoo ne sera donc pas reconnu s'il y a la moindre différence dans un champ (par ex. un espace de différence dans le champ rue). Le nom N'EST PAS utilisé pour la correspondance.

→ Nous travaillons sur une solution pour faire correspondre les contacts sur l'adresse e-mail. En l'absence d'une correspondance à 100 % sur l'adresse de livraison, une nouvelle adresse de livraison sera liée au contact ayant la bonne adresse e-mail.

Configuration

  1. Installer l'application ConnectERP EDI Butler++ Orders dans l'application Applications.
  2. Demander l'onboarding auprès de ictsupport@erbg.be (aucune information supplémentaire nécessaire).
  3. Sélectionnez le code Butler++ de l'entrepôt dans lequel les marchandises doivent être reçues. Par défaut, celui-ci doit être "001". Cela se fait dans l'application Inventaire. Si vous avez plusieurs entrepôts et ne connaissez pas les codes, demandez-les à ictsupport@erbg.be.
  4. Application Inventaire → Configuration → Routes → créez-en une nouvelle comme suit.
  5. Configurez le compte bancaire Butler++ dans l'application Paramètres → Comptabilité.

Butler++ Send Orders & Receive Responses

json

{"host": "c+ ftp", "host_key": "", "in_folder": "ORDER/IN/STATUS", "in_folder_done": "ORDER/IN/STATUS/Done", "in_folder_error": "ORDER/IN/STATUS/Error", "key": "", "on_conflict": "rename", "on_conflict_rename_extension": "old", "out_folder": "/OUT/ORDER", "password": "password", "user": "000xxxxx"}

Butler++ Receive Orders

json

{"host": "c+ ftp", "user": "000xxxxx", "password": "password", "in_folder": "


Avatar
Annuleer

Jouw antwoord

Probeer alsjeblieft een substantieel antwoord te geven. Als je wou reageren op de vraag of het antwoord, gebruik daarvoor de community tool. Denk er aan dat je je antwoorden altijd kan herzien - geen nood om dezelfde vraag twee keer te beantwoorden. Vergeet ook niet om te stemmen - Het helpt de beste vragen en antwoorden te selecteren!

Gerelateerde posts Antwoorden Weergaven Activiteit
0
okt. 26
84
1
sep. 26
117
1
sep. 26
347
0
okt. 26
87
1
sep. 26
308