5B-Flux Achats et Finance (version courte)
Contexte et objectif
Achats : Commandes et réceptions (gérées dans X3 ou dans Yooz). Factures : Intégration des factures d'achat sur commande (PIH)
Finance : factures hors commande / frais généraux (BIS). La gestion des Bons à Payer (BAP) et le Retour de paiement (objet PAY / feedbacks).
Ce document couvre le flux Achats et Finance du connecteur Yooz pour Sage X3. Il décrit le fonctionnement attendu des commandes et des réceptions, qu’elles soient gérées dans Sage X3 ou dans Yooz, ainsi que l’intégration des factures fournisseurs dans X3.
Ce document intervient sur ces phases de l’implémentation :
| ▼ | ▼ | |||||
|---|---|---|---|---|---|---|
| Avant-vente | Initialisation | Cadrage | Installation | Setup | Recette | Mise en production |
Périmètre couvert et prérequis de lecture
Avant de poursuivre ce chapitre, il faut s’assurer que les autres ont été déroulés en entier, jusqu’à la synchronisation des référentiels. En particulier, les organisations Yooz, les utilisateurs, les fournisseurs, les comptes, les axes analytiques, les taxes, les conditions de paiement et, si nécessaire, les articles doivent être disponibles côté Yooz avant de réaliser les tests de facturation.
⚙️VALEURS PARAMÈTRES UTILES
Le connecteur Yooz ne gère que les flux adossés à une commande d'achat. Il faut donc bloquer la saisie de documents isolés dans les valeurs paramètres de Sage X3 (Paramétrage > Paramètres généraux > Valeurs paramètres, fonction ADPVAL):
-
PTHDIR (ACH / REC) : Positionner sur "Non" (une réception doit se faire sur commande).
-
PNHDIR (ACH / RET) : Positionner sur "Oui" dans les paramètres (afin de ne pas bloquer les flux de retours inter-sites du client). Note technique : Le connecteur se chargera de forcer dynamiquement cette valeur à "Non" sur les écrans de saisie X3 si l'utilisateur tente de faire un retour direct à un fournisseur externe.

Flux du Procure-to-Pay
Le connecteur couvre deux grands modes de fonctionnement :
- Les achats sont créés dans Sage X3 puis transmis à Yooz pour rapprochement et traitement de la facture
- La commande et/ou la réception est initiée dans Yooz puis importée dans Sage X3 afin que X3 génère les écritures, conserve les pièces et assure le suivi comptable.
Cas A : Les flux d’achats sont gérés dans Sage X3

Cas B : Les flux d’achats sont gérés dans Yooz

1 - Cas A : Achats gérés dans Sage X3
→ Sage X3 est l’application maître pour la création et la mise à jour des commandes d’achat, des réceptions et des retours fournisseurs
→ Yooz reçoit ensuite les données nécessaires pour permettre la capture de la facture fournisseur, son rapprochement avec la commande ou la réception, puis sa validation avant import dans Sage X3.
1.1 Logique générale du flux (X3 maître)
Le flux doit être lu comme une chaîne unique, allant de l’achat dans Sage X3 jusqu’au paiement de la facture. Les commandes et réceptions ne sont pas créées dans Yooz dans le cas A : elles sont créées dans Sage X3, puis transmises à Yooz afin que la facture fournisseur puisse être rapprochée avec le bon de commande correspondant.
Voici les fonctions utilisées dans les flux du cas A :
| Étape | Application maître | Objet / fonction | Rôle dans le flux |
|---|---|---|---|
| 1 | Sage X3 | GESPOH / POH | Création de la commande d’achat. La commande peut contenir des lignes soumises à réception et des lignes non soumises à réception. |
| 2 | Sage X3 | GESPTH / PTH | Création de la réception lorsque l’article est soumis à réception. La réception devient alors la base du rapprochement facture côté Yooz. |
| 3 | Sage X3 | XRJ31YOOZSUI puis XRJ31EXE | Mise en file d’attente dans la table XRJ31YOOZSUI puis envoi des commandes, réceptions ou retours vers Yooz via la tâche batch XRJ31EXE. Pour les commandes : uniquement les lignes (POQ) sont envoyées vers Yooz. |
| 4 | Yooz | PO / PO invoices | Rapprochement de la facture fournisseur avec la commande ou la réception transmise par Sage X3. |
| 5 | Sage X3 | GESPIH / PIH | Import de la facture d’achat validée dans Yooz via le modèle d’import XRJ31PIH. La facture reste liée à la commande ou à la réception d’origine. |
| 6 | Sage X3 puis Yooz | Feedbacks / PAY | Retour comptable après validation de la facture dans X3, puis retour de paiement après règlement. |
Frais annexes : La transmission des éléments de facturation (frais de port, douane, remises) vers Yooz s'effectue via l'ajout de champs customs sortants sur les commandes d'achat (ligne 18). Prérequis : le code de l'élément X3 doit exister dans le référentiel Yooz. Analytique : Les dimensions analytiques saisies sur la commande X3 sont transmises à Yooz. Toute modification manuelle ultérieure directement dans Yooz risque de désynchroniser la donnée d'origine par rapport à X3.
1.2 Gestion des réceptions (Conditionnelle)
Pour les réceptions, la règle principale est portée par la case Article reçu de la fiche article, correspondant au champ ITMMASTER.RCPFLG. Cette règle détermine si Yooz doit rapprocher la facture avec la commande ou avec la réception.

| Cas | Règle Sage X3 | Moment d’envoi vers Yooz |
|---|---|---|
| 1 - Article non soumis à réception | La case Article reçu n’est pas cochée. L’achat n’attend pas de réception physique dans X3. | La ligne de commande est envoyée à Yooz dès que la commande est diffusable selon le processus X3, notamment après édition / impression si ce contrôle est utilisé. |
| 2 - Article soumis à réception | La case Article reçu est cochée. L’achat doit passer par une réception X3. | La ligne n’est normalement envoyée à Yooz qu’après création de la réception X3. |
| 3 - Commande envoyée avant réception | Cas dérogatoire pour une ligne normalement soumise à réception, par exemple lorsque la facture doit être traitée avant la réception physique. | Un bouton d’envoi manuel permet de transmettre la commande sans attendre la réception, si la commande n’a pas déjà été envoyée à Yooz. Cliquable uniquement si la commande est signée et imprimée. |
Pour le cas 1 : la commande est rajoutée à la pile d'envoi à chaque nouvelle impression. Si une commande est modifiée, il faut la réimprimer pour que la mise à jour parte vers Yooz.
Les lignes de commande avec le champ Ligne facturée (PORDERQ.LININVFLG) = 1 sont envoyées à Yooz. Les lignes PORDERQ.LININVFLG = 2 sont exclues. La même logique s’applique aux réceptions : les lignes PRECEIPTD.LININVFLG = 1 sont envoyées, tandis que les lignes PRECEIPTD.LININVFLG = 2 ne le sont pas.
Cette règle évite de proposer au rapprochement Yooz des lignes qui ne doivent pas donner lieu à facture. Elle est particulièrement importante sur les commandes mixtes, les commandes partiellement soldées ou les réceptions modifiées.
Cas 1 : Achat non soumis à réception
- Le principe fondamental : Sans attente d'une entrée en stock ou d'une livraison physique, la commande d'achat Sage X3 est transmise directement à Yooz. Elle devient le support immédiat pour rapprocher la facture fournisseur.
- Traitement instantané : Yooz n'attend aucune action de réception. Dès que la facture fournisseur arrive sur la plateforme, elle peut être traitée et rapprochée directement avec la commande X3.
- Les données transmises : Yooz reçoit la ligne d'achat complète. Celle-ci embarque nativement les axes analytiques portés par la ligne de commande X3, et peut être enrichie si besoin par des champs personnalisés sortants.
Cas 2 : Achat soumis à réception
- Le principe fondamental : Pour les articles nécessitant une entrée en stock (
RCPFLG= 2), la commande initiale n'est jamais envoyée seule. C'est la validation de la réception qui déclenche l'envoi vers Yooz. Les données transmises combinent alors la commande et la livraison réelle pour garantir un rapprochement exact avec la facture fournisseur.
Les 3 pré-requis de fonctionnement :
- Configuration du site : Le site de réception X3 doit obligatoirement être lié à une organisation Yooz.
- Traçabilité (Articles par lot) : La ventilation des quantités doit être saisie précisément dans le détail des quantités de la réception, et non globalement sur la ligne.
- Exclusion native : Les lignes marquées comme non facturables ne sont pas envoyées à Yooz.
Cas de réceptions multiples :
Le connecteur s'adapte à toute la logistique X3 (livraisons partielles, reliquats, commandes groupées) et Yooz base toujours son rapprochement sur les quantités réellement livrées.
1.3 - Cas particulier : Forçage de l’envoi d’une commande avant réception
Ce mécanisme est une dérogation stricte à la règle de base, utilisée uniquement lorsque le calendrier l'impose.
Dans ce scénario, un bouton spécifique « Envoyer à Yooz sans réception » permet de transmettre la commande à Yooz pour rapprocher la facture immédiatement.
Pour que le bouton « Envoyer à Yooz sans réception » soit cliquable sur la commande (GESPOH), trois conditions cumulatives sont requises :
- Non transmise : La commande ne doit pas avoir déjà été envoyée à Yooz (horodatage Yooz vide).
- Signée : Le circuit de signature X3 doit être achevé (si paramétré).
- Imprimée : commande doit avoir été imprimée au moins une fois.
Les conséquences de ce bouton au niveau fonctionnels sont :
-
Dans Yooz : La facture sera rapprochée directement de la commande, et non d'une réception.
-
Dans Sage X3 : La facture importée depuis Yooz sera liée à la commande d'achat. La réception physique de la marchandise pourra tout de même être saisie plus tard dans X3 pour incrémenter le stock.
1.4 - Modifications, annulations et gestion des soldes
Le connecteur a pour rôle de maintenir Yooz aligné sur l’état de Sage X3. Les modifications fonctionnelles doivent donc être répercutées, dès lors qu'elles concernent un document déjà transmis à Yooz.
Voir la documentation détaillées
1.5 - Retours physiques aux fournisseurs (PNH/PRT)
Pour les retours fournisseurs (PNH/PRT), le flux concerne uniquement les achats soumis à réception. La validation du retour dans Sage X3 ne crée pas de nouvel objet "Retour" dans Yooz, mais vient directement mettre à jour la commande d'origine en y ajoutant de nouvelles lignes.
La logique de valorisation (Quantité vs Montant) :
Sur ces nouvelles lignes ajoutées à Yooz, la quantité reste positive (pour permettre le rapprochement avec la future facture d'avoir fournisseur), mais le prix unitaire et le montant total sont envoyés en négatif.
Le déclencheur d'avoir (Trigger) :
C'est la présence de ce montant négatif qui sert de déclencheur au connecteur. Lors de l'export final de Yooz vers Sage X3, le système détectera ce signe "-" pour comprendre qu'il s'agit d'un flux inverse et générer automatiquement la pièce d'avoir (AVR/AVO) dans l'ERP.
2 - Cas B : Achats gérés dans Yooz
Dans ce scénario, Yooz est l’application maître pour la saisie des achats.
Tout est initié côté opérationnel dans Yooz (demande d’achat ➔ commande ➔ réception éventuelle), puis répliqué dans Sage X3. L'ERP reste l’application de référence pour la comptabilisation, le bon à payer et le règlement.
Les 3 scénarios d'implémentation :
- Commandes dans Yooz / Sans réception : Flux de base. La commande validée est exportée vers X3, puis la facture est rapprochée directement.
- Commandes dans Yooz / Réceptions dans Sage X3 : Flux hybride classique et parfaitement fonctionnel. La logistique physique est maintenue dans l'ERP.
- Commandes et réceptions dans Yooz : Cas rare. La réception est saisie dans Yooz puis exportée vers X3. Chaque ajout de quantité réceptionnée dans Yooz crée une réception dans X3.
Le cas B n’est pas le simple inverse du cas A. Les achats impliquant une logistique avancée (gestion de lots, sous-lots, numéros de série, emplacements) doivent impérativement rester pilotés dans Sage X3.
Rappel des prérequis :
- Le fournisseur, le site, la devise, les articles, les unités, les taxes et les axes analytiques nécessaires doivent exister ou être correctement synchronisés avant les tests.
- Le site X3 doit être cohérent avec l’organisation Yooz. Une organisation mal renseignée entraîne un mauvais site de commande ou un rejet d’import.
- Le numéro de commande et les identifiants de lignes doivent rester stables afin que la facture et les réceptions puissent retrouver le bon document d’origine.
- La commande importée depuis Yooz ne doit pas être ressaisie dans X3, sinon le flux peut créer des doublons ou un rapprochement sur le mauvais document.
2.1 - Logique générale du flux (Yooz maître)
Le flux constitue une chaîne continue, allant de la demande d’achat dans Yooz jusqu’au paiement dans Sage X3. Yooz porte la demande, la validation métier et le rapprochement de la facture. Sage X3 réceptionne les données validées pour matérialiser les pièces dans l'ERP et poursuivre le cycle comptable.
| Étape | Application maître | Objet / fonction | Rôle dans le flux |
|---|---|---|---|
| 1 | Yooz | Demande d'achat (PR) | Création de la demande d’achat et exécution du workflow de validation métier. |
| 2 | Yooz | Commande (PO) | Création de la commande après validation du besoin. Ce document devient la référence métier du flux. |
| 3 | Sage X3 | Commande (GESPOH) | Import de la commande d’achat. Réplique stricte interdisant toute modification directe. Verrouillage automatique en lecture seule suite à l'import par l'utilisateur système. |
| 4 | Yooz | Réception (GR) | Saisie de la réception logistique (si requise par l'article) directement sur la ligne de commande Yooz. |
| 5 | Sage X3 | Réception (GESPTH) | Import de la réception. Création d'une pièce X3 pour chaque nouvelle quantité réceptionnée transmise. |
| 6 | Yooz | Facture (Invoice) | Capture, contrôle, rapprochement (sur commande ou réception) et validation de la facture fournisseur. |
| 7 | Sage X3 | Facture achat (GESPIH) | Import de la facture d’achat validée. La gestion comptable, le bon à payer et le règlement reprennent ensuite le cycle standard (voir partie Finance). |
2.2 - Étape 1 : Création et import des commandes d'achat
La commande d’achat naît dans Yooz (généralement issue d'une demande d'achat approuvée). Sa validation déclenche une transmission vers Sage X3 (modèle XRJ31POH) pour générer une réplique exacte dans la fonction GESPOH. L'ERP dispose ainsi du document de référence pour le futur rapprochement de la facture.
Création de la demande d’achat

Envoi vers l'ERP : L'action "Confirmer l'envoi de la commande" (Confirm PO sending) clôture la tâche côté Yooz. Les données sont poussées instantanément vers Sage X3 via un appel Web Service SOAP. La commande est physiquement créée dans l'ERP.

Une fois importée, la commande reste pilotée exclusivement par Yooz. Toute modification manuelle directe dans Sage X3 entraîne une désynchronisation et un échec du rapprochement facture. Les corrections s'effectuent obligatoirement dans Yooz avant d'être répercutées vers l'ERP via le flux d'import.
2.3 - Étape 2 : Gestion des réceptions
Cas 1 : Achat non soumis à réception (frais généraux, prestations...)
Pour un article non soumis à réception (champ ITMMASTER.RCPFLG positionné à 1), l'étape logistique est ignorée. La commande d'achat suffit à porter le flux.
-
Rapprochement : La facture fournisseur est rapprochée directement avec la commande d'origine dans Yooz.
-
Intégration : La facture est exportée et intégrée dans Sage X3 comme facture d’achat (fonction GESPIH, modèle XRJ31PIH).
Ce flux exclut toute validation physique dans l'ERP. Pour exiger un contrôle de "service fait" (même sur une prestation de service non stockée), l'article doit impérativement être paramétré comme "réceptionnable" pour basculer sur le Cas 2.
Cas 2 : Achat soumis à réception (marchandises, achats stockés...)
La réception saisie dans Yooz s'effectue systématiquement sur une ligne de commande existante. Ce n'est jamais un document isolé.
⚙️ Paramétrage Yooz requis :
Dans Paramètres et préférences > Préférences pour le traitement des documents > Commandes d’achats > Réception des commandes :
- Cocher "Activer la réception par défaut sur la demande d’achat".

- Dans le volet Personnalisation des processus, activer "Générer une tâche de réception sur les commandes générées dans Yooz" et "Générer une tâche bloquante de réception manquante sur la facture sur commande".

L'ERP crée une réception pour chaque nouvelle quantité transmise par Yooz via le modèle d’import XRJ31PTH.
Règles de gestion logistique :
- Prérequis articles : Incompatibilité stricte avec les articles gérés par lot, sous-lot, numéro de série ou emplacement.
- Réceptions directes : Totalement proscrites dans ce scénario. Le flux doit obligatoirement retrouver la commande et la ligne d'origine dans X3.
2.4 - Modifications, corrections et gestion des écarts
Dans le cas B, l'application maître est Yooz. Toute correction opérationnelle doit y être initiée. L'ERP réceptionne les mises à jour mais ne doit jamais servir de zone de correction directe pour une commande importée.
Règles de modification et de retour :
- Verrouillage des commandes : Une commande importée via l'utilisateur technique Yooz est automatiquement verrouillée en lecture seule dans Sage X3. L'objectif est d'empêcher toute désynchronisation manuelle entre les deux systèmes.
- Ajustements de quantité : En cas d'ajustement des quantités dans Yooz, seul l'écart (le delta) est transmis vers Sage X3 pour créer une ligne ou une pièce complémentaire.
Sécurité et contrôle des factures (Anti-doublon) :
- Blocage strict à l'import : Le système empêche toute double intégration. Si le numéro Yooz (
XRJ31NUMYOOZ) est déjà présent dans Sage X3, l'import ou la validation est automatiquement bloqué avec un message d'erreur. - Duplication manuelle possible (contournement) : Il reste possible de dupliquer manuellement une facture directement dans l'ERP pour des besoins métiers. Pour éviter de déclencher l'alerte anti-doublon, le connecteur vide automatiquement les champs propres à Yooz (
XRJ31NUMYOOZ,XRJ31URLFAC,XRJ31YOOZDAT) sur la nouvelle pièce générée.
2.5 - Retours physiques initiés dans Yooz
La gestion native des documents de type "Retour physique" n'existe pas dans le flux d'achat piloté par Yooz (cas B). Le traitement exige une distinction stricte entre le flux financier (avoir) et le flux logistique (stock).
Traitement financier (Avoir sur commande) dans Yooz :
- Méthode des montants négatifs: L'application Yooz ne disposant pas de type "Avoir d'achat sur commande", l'opération nécessite l'utilisation d'une "Facture d'achat sur commande" classique.
- Saisie inversée : Renseignement impératif des montants (en-tête et lignes) en négatif (signe "-"). Attention : les quantités saisies doivent rester en positif.
- Conversion automatique : À l'export, le connecteur détecte ces montants négatifs et génère automatiquement la pièce adéquate dans Sage X3 (avoir de type AVO ou AVR).
L'utilisation d'une facture négative dans Yooz ne remplace et ne solde jamais un flux physique dans l'ERP. Si le retour fournisseur a un impact logistique (stock, lot, emplacement, traçabilité), le retour physique doit impérativement être saisi et piloté directement dans Sage X3 (voir cas A).
3 - Traitement financier commun : PIH, BIS, BAP et feedbacks
L'intégration de la pièce financière dans Sage X3 s'oriente selon deux flux distincts : le modèle PIH est utilisé pour les factures rattachées à une commande ou une réception, tandis que le modèle BIS intègre les factures de frais généraux (hors commande).
Une fois la pièce créée, l'import XRJ31BAP intervient pour mettre à jour le statut "Bon à payer" dans l'ERP. Enfin, le cycle se clôture par l'envoi de feedbacks vers Yooz afin de lui confirmer automatiquement la comptabilisation et le paiement effectif de la facture.
| Traitement | Fonction X3 | Modèle / objet | Rôle fonctionnel |
|---|---|---|---|
| Facture d’achat sur commande ou réception | Achats > Factures > Factures GESPIH | PIH / XRJ31PIH | Créer dans X3 une facture d’achat rattachée à la commande ou à la réception d’origine. |
| Facture hors commande / frais généraux | Comptabilité tiers > Facturation > Factures tiers fournisseurs GESBIS | BIS / XRJ31BIS | Créer dans X3 une facture tiers fournisseur sans rattachement à un document d’achat. |
| Pièce jointe (PDF de la facture) | Pièces jointes (depuis GESPIH ou GESBIS) | XRJ31IPDF | Importer physiquement le document PDF validé dans Yooz pour l'attacher à la facture dans Sage X3. |
| Bon à payer | Comptabilité tiers > Échéances de facture GESDUD (ou via GESPIH/GESBIS) | XRJ31BAP / GACCDUDATE.FLGPAZ | Mettre à jour le statut de bon à payer sans réimporter la facture entière. |
| Feedback comptable | Validation / comptabilisation PIH ou BIS | API : /yooz/v2/api/feedbacks | Retourner à Yooz le numéro de facture X3 (YZ_POSTING_NUMBER) et la date d'import ERP (YZ_IMPORT_DATE_ERP). |
| Feedback de paiement | Comptabilité tiers > Règlements > Saisie des règlements GESPAY | Objet PAY / Action PAYMENT | Informer Yooz que la facture a été réglée lorsque le paiement atteint le statut attendu ("En banque") dans X3. |
3.1 - Import des factures dans Sage X3 (Flux Yooz ➔ Sage X3)
3.1.1 - Rapprochement dans Yooz et import de la facture d'achat
Ce flux concerne uniquement les factures fournisseurs rattachées à un document d’achat (commande ou réception). Dans Yooz, le type de document attendu pour ces pièces est impérativement "facture d'achat sur commande".
L’objectif du connecteur est de conserver la traçabilité de bout en bout : la facture validée dans Yooz est automatiquement importée dans Sage X3 en tant que facture d'achat, sans jamais perdre son lien de rattachement avec le document d’origine.
| Scénarios | Exemple | Document rapproché dans Yooz | Point de vigilance |
|---|---|---|---|
| Achat non soumis à réception | Frais généraux, services | Commande d’achat | La facture peut être traitée dans Yooz dès que la commande y est visible |
| Achat soumis à réception | Marchandises, stock | Réception ou quantités réceptionnées | Le rapprochement doit suivre scrupuleusement les quantités réellement réceptionnées et facturables |
| Commande envoyée avant réception | Grand Import | Commande d’achat | La réception physique de la marchandise pourra être saisie ultérieurement dans Sage X3 |
| Ajout de frais non prévus | Ligne diverse | Commande / réception complétée dans Yooz | L’unité et l’article utilisé doivent être cadrés ; l’unité peut être forcée à “UN” si l’origine de ligne ne fournit pas d’unité. |
-
Gestion des écarts et lignes complémentaires : Si des coûts additionnels non prévus à la commande sont présents (frais de port, douane), des lignes complémentaires peuvent être ajoutées directement dans Yooz. Ces lignes nécessitent une imputation précise (article générique, unité, compte, taxe, analytique) pour garantir une intégration sans erreur dans l'ERP.
-
Validation Yooz et export vers Sage X3 : Après validation dans le workflow Yooz, la facture est exportée vers Sage X3 (selon le workflow mis en place). Le connecteur importe la facture via le modèle XRJ31PIH. Selon la législation, le modèle peut être décliné.
-
Création de la facture dans GESPIH : L’export crée une facture d’achat PIH dans X3. Le connecteur renseigne les informations de traçabilité Yooz sur la pièce X3, notamment le numéro Yooz, le lien URL vers l’image Yooz et les informations nécessaires aux feedbacks ultérieurs. Le PDF peut également être importé physiquement en pièce jointe via XRJ31IPDF.

Pour garantir une intégration sans erreur des factures dans Sage X3, plusieurs règles de gestion sont appliquées automatiquement. (Voir documentation détaillée)
Gestion des achats dans X3 (Cas A) vs dans Yooz (Cas B) La différence majeure entre ces deux modes de fonctionnement réside uniquement dans le sens de synchronisation des documents d'origine. La méthode de création et d'import de la facture d'achat finale dans Sage X3 reste strictement identique pour les deux scénarios.
Lignes diverses et avoirs : Une ligne saisie dans Yooz sans code article redescend dans l'ERP en tant que "ligne diverse". Le connecteur gère nativement les montants négatifs sur ces lignes pour la création d'avoirs ou de déductions. Pièce jointe (PDF) : L'export du PDF de la facture depuis Yooz pour intégration automatique en pièce jointe dans X3 est possible. Prérequis : activer le WebService Yooz XRJ31IPDF et paramétrer la destination XRJ31AIMMS avec la valeur MESSPDF dans l'ERP.
3.1.2 - Factures tiers fournisseurs (factures non rattachées à une commande)
Les factures non rattachées à une commande ne doivent pas être traitées comme des factures d'achat classiques PIH. Elles relèvent du flux Finance.
Dans Yooz, elles sont traitées comme des "factures tiers", et le connecteur va automatiquement les créer dans Sage X3 en tant que "factures tiers fournisseur" GESBIS.
La facture est capturée dans Yooz et traitée comme une "facture sans PO". Le comptable devra l'imputer manuellement en s'appuyant sur les référentiels synchronisés avec X3.

Après validation, Yooz exporte la facture vers Sage X3. Le connecteur appelle le modèle XRJ31BIS afin de créer une facture tiers fournisseur dans la fonction GESBIS.

La facture BIS doit conserver le numéro Yooz, l’URL de l’image Yooz et, si le flux est activé, le PDF attaché physiquement via XRJ31IPDF.
La facture tiers suit ensuite son cycle de validation X3 habituel
Lors de la saisie de ces factures dans Yooz, les données sont interprétées de la manière suivante par Sage X3 :
- Conditions de paiement : La condition de paiement renseignée dans Yooz est prioritaire. Elle écrase la condition par défaut paramétrée sur la fiche du fournisseur dans Sage X3.
- Commentaires et Libellé : Le premier commentaire saisi dans l'en-tête de la facture Yooz est automatiquement récupéré par Sage X3 pour devenir le "libellé" de la pièce comptable générée.
- Immobilisations : Le champ "Type d'achat" permet d'identifier si une ligne spécifique concerne une immobilisation, afin que Sage X3 la traite correctement.
- Comptes collectifs : Si une ligne d'imputation utilise un compte collectif, Sage X3 exige qu'un tiers y soit rattaché. Si ce tiers n'est pas précisé sur la ligne dans Yooz, le connecteur utilise automatiquement le fournisseur de l'en-tête pour forcer la ligne et éviter un blocage.
- Adaptations spécifiques : Le connecteur gère nativement l'injection de champs personnalisés Yooz vers Sage X3, ainsi que des obligations légales spécifiques.
3.2 - Synchronisation du bon à payer (flux Yooz ➔ Sage X3)
Le statut "Bon à payer" (BAP) autorise le règlement d'une facture. Attention, l'envoi de ce statut depuis Yooz vers X3 n'est pas automatique par défaut : son déclenchement dépend strictement de la construction du workflow client dans Yooz.
⚙️ Prérequis : Les factures doivent impérativement se créer dans Sage X3 avec un statut initial "En attente" (paramètre utilisateur NIVBONPAYE réglé sur "En attente").
Le statut de la facture passe à "Bon à payer" dans l'ERP. Le règlement fournisseur peut alors être exécuté dans Sage X3. Toute facture n'ayant pas ce statut reste strictement bloquée pour le paiement.

L'autorisation de paiement (BAP) dictée par Yooz est totalement indépendante de la validation comptable réalisée dans Sage X3 (qui génère l'écriture). Le statut BAP peut donc être appliqué avant ou après la validation comptable.
Le modèle XRJ31BAP sert strictement à modifier l'autorisation de paiement. Impossible de l'utiliser pour corriger des montants, des taxes ou des imputations.
3.3 - Validation comptable & feedbacks (Flux Sage X3 ➔ Yooz)
Les feedbacks ferment la boucle entre Sage X3 et Yooz. Une fois la facture intégrée dans l'ERP, les informations connues uniquement après cette intégration (numéro de pièce comptable, date d'import) sont renvoyées à Yooz.
Ces feedbacks s'appuient sur l’API /yooz/v2/api/feedbacks et nécessitent d'identifier le document d'origine. La facture X3 doit donc obligatoirement disposer du numéro Yooz renseigné dans le champ PINVOICE.XRJ31NUMYOOZ.
Le feedback comptable est envoyé au moment où la facture en provenance de Yooz est validée dans Sage X3. Les champs suivants sont alors mis à jour dans le bloc YZ_INVOICE de Yooz :
| Champ Yooz | Source Sage X3 |
|---|---|
| YZ_POSTING_NUMBER | PINVOICE.NUM ou numéro de pièce X3 utilisé comme référence comptable |
| YZ_IMPORT_DATE_ERP | Date de validation ou d’import ERP, par exemple PINVOICE.UPDDAT |
3.4 - Règlement et feedback de paiement (flux Sage X3 ➔ Yooz)
Le flux de règlement fournisseur suit la logique standard de Sage X3. L'envoi du feedback vers Yooz n'est plus basé sur le statut "En banque" d'un règlement, mais est déclenché exclusivement par le lettrage de la pièce comptable issue de la facture d'origine.
La transmission du montant (YZ_AMOUNT_PAID, correspondant au nouveau total lettré moins les montants déjà envoyés) et de la date de paiement la plus récente (YZ_DATE_OF_PAYMENT déduite de GACCDUDATE.PAYDAT) via la tâche d’envoi vers Yooz XRJ31EXE. Le statut de la facture dans Yooz passe de "En attente de retour paiement" à "Régler" (ou reste en attente en cas de règlement partiel).
Paiements partiels : Gérés nativement. En cas de lettrages successifs, le connecteur calcule l'écart entre le nouveau total lettré et les sommes déjà transmises pour n'envoyer que le delta (le montant du paiement partiel) à Yooz. Le workflow Yooz reste en attente.
Annulation (Flux négatifs) : En cas d'erreur dans X3 (délettrage ou annulation de paiement), un feedback avec un montant négatif est envoyé pour rétablir le reste à payer dans Yooz. Attention : l'envoi de ce montant négatif (délettrage) est strictement impossible si la facture a déjà été lettrée dans sa totalité (la facture étant arrivée en fin de workflow Yooz, elle n'est plus "à l'écoute" de nouveaux statuts).
Indépendance des Avoirs : Le lettrage d'une facture Yooz avec une autre pièce comptable (comme un avoir fournisseur ou une opération diverse) met à jour l'échéance. Cette compensation remonte donc dans Yooz exactement de la même manière qu'un règlement standard et solde le reste à payer.
Règlements groupés (mix Yooz / non-Yooz) : Désormais supportés. Le système se basant sur le lettrage des échéances, il filtre nativement les enregistrements et n'envoie le feedback que pour les écritures disposant d'un numéro d'identification Yooz (XRJ31NUMYOOZ), ignorant silencieusement le reste du lot.
3.5 - Cas particulier : Import & gestion des avoirs
Les avoirs doivent être documentés séparément, car Yooz et Sage X3 ne portent pas exactement la même logique fonctionnelle. Dans X3, un avoir peut être matérialisé par un type de facture attendu sur le module achat ou comptabilité tiers. Dans Yooz, le document peut être rapproché à l’achat d’origine au moyen de lignes négatives, notamment pour les avoirs sur retour.
| Cas | Origine fonctionnelle | Traitement Yooz | Import X3 attendu |
|---|---|---|---|
| Avoir sur retour fournisseur | Retour fournisseur validé sur une réception déjà facturée | Le retour est transmis à Yooz comme ligne négative rattachée à la commande d’origine. Le fournisseur transmet ensuite l’avoir dans Yooz. | Import via PIH / XRJ31PIH avec type d’avoir attendu dans X3, selon le paramétrage PIVTYP et TYPORI. |
| Remise ou minoration | Écart commercial, remise ou élément de facturation diminuant le montant | La minoration est portée comme ligne ou élément de facturation négatif. Les règles de taxe doivent être cadrées. | Import dans la facture ou l’avoir selon le cas métier. Les minorations doivent obligatoirement être transmises sans code TVA ni montant de TVA lorsque la règle des éléments de facturation s’applique. |
| Avoir hors commande | Correction Finance sans document d’achat | Aucun rapprochement commande ou réception. | Traitement via BIS si le document relève de la comptabilité tiers fournisseur. |
| Avoir sur facture déjà comptabilisée | Correction d’une facture déjà intégrée et validée | À cadrer comme document correctif. Yooz rapproche l’avoir à l’achat et non à la facture X3 déjà comptabilisée. | Ne pas réimporter la facture d’origine. Utiliser un avoir ou une correction comptable selon le processus retenu. |
Les 2 règles d'or de la saisie des avoirs dans Yooz Yooz ne sait pas nativement rapprocher un document de type “avoir d’achat” avec une commande. Le comportement diffère donc selon le flux : Avoir hors commande (flux BIS) : L'utilisateur utilise le type de document "Avoir d'achat" et saisit les montants en positif. L'import X3 créera un avoir tiers fournisseur. Avoir sur commande/retour (flux PIH) : L'utilisateur doit utiliser le type de document “Facture d'achat sur commande" avec des montants négatifs (en-tête ET lignes) pour que le modèle XRJ31PIH créé l'avoir. Attention : les quantités doivent impérativement rester en positif. Lors du rapprochement dans Yooz, l'utilisateur devra cliquer sur le "carré orange" pour désactiver les filtres de recherche par défaut, sans quoi la commande d'origine n'apparaîtra pas (les filtres masquant les commandes positives face à une saisie négative).
4 - Suivi des interfaces et traitement des erreurs
Cette section est le guide de référence pour le support technique et l'administration système. Elle explique comment piloter les flux, diagnostiquer les rejets et relancer les interfaces en cas d'erreur.
L'architecture du connecteur impose de bien distinguer le sens du flux, car les outils de supervision diffèrent :
- Pour les flux sortants (Sage X3 ➔ Yooz) : Le suivi s'effectue via le tableau de bord spécifique Interfaces Yooz (XRJ31YOOZINT) et la lecture des traces du traitement XRJ31EXE.
- Pour les flux entrants (Yooz ➔ Sage X3) : Le suivi s'effectue côté Yooz (rapports d'exports) et côté Sage X3 via la lecture des traces standards (LECTRACE) des modèles d'imports.
4.1 - Tableau de bord des interfaces sortantes (XRJ31YOOZINT)
La fonction Interfaces Yooz (XRJ31YOOZINT) est l’écran de suivi principal pour contrôler les flux d’interface sortants entre Sage X3 et Yooz. Elle doit être utilisée pendant la recette, lors des analyses d’erreur et en exploitation lorsque des documents restent en attente ou en échec d'envoi.
Étape 1 - Contrôler la synthèse des objets interfacés
Le premier bloc de la fonction présente une synthèse par entité Sage X3 interfacée avec Yooz (colonnes : Nb enr. à transmettre, transmis, en erreur). Pour le chapitre 5, voici ce que représentent les compteurs des objets clés :
| Objet / fonction | Usage dans le chapitre 5 | Contrôle attendu dans XRJ31YOOZINT |
|---|---|---|
| POQ | Envoi des commandes et des réceptions d'achat (cas A). | Le nombre d'en-têtes ou lignes de commandes/réceptions en attente d'envoi vers Yooz, transmis, ou bloqués en erreur. |
| PND | Envoi des retours fournisseurs rattachés à l'achat d'origine. | Le nombre de bons de retour validés devant être poussés vers Yooz. |
| PIH | Envoi du feedback comptable pour les factures d'achat. | Le nombre de confirmations de validation comptable (renvoi du n° de pièce X3) à transmettre à Yooz suite à la validation d'une facture GESPIH. |
| BIS | Envoi du feedback comptable pour les factures tiers. | Le nombre de confirmations de validation comptable à transmettre à Yooz suite à la validation d'une facture GESBIS. |
| PAY | Envoi du feedback de paiement. | Le nombre de statuts de règlement ("En banque") devant être renvoyés à Yooz pour solder la facture. |
Étape 2 - Analyser le détail dans XRJ31YOOZSUI
Le second bloc liste les enregistrements de suivi issus de la table XRJ31YOOZSUI. Il sert à comprendre précisément quel document est concerné, quel événement a déclenché l’interface, et quel est le résultat technique du traitement.
| Information à contrôler | Rôle dans l’analyse |
|---|---|
| Chrono | Identifiant unique de la ligne d'interface. |
| Objet | Permet d’identifier le flux sortant concerné. |
| Clé | Permet de retrouver le document source dans Sage X3. |
| Code événement | Permet de distinguer l'action déclenchée. C = création, A = annulation, M = modification. |
| Statut | État d'exécution interne X3 : "À exécuter" =0, "Exécuté avec succès" =1, "Exécuté avec erreur" =-1 |
| Code | Code de retour HTTP renvoyé par l'API Yooz. Un code 2xx indique un succès. Un code 4xx ou 5xx indique une erreur (donnée invalide, droits insuffisants, timeout...). |
| Date heure | Horodatage de la création de la ligne ou de sa dernière tentative d'exécution vers Yooz. |
| [Action] Message d'erreur | Accessible via l'icône d'action (trois points) en début de ligne. Permet d'afficher le message JSON complet renvoyé par Yooz détaillant la cause du rejet |
| [Action] Télécharger le fichier | Si la valeur paramètre XRJ31FILGN est à "Oui", le fichier JSON contenant la charge utile (payload) envoyée à l'API peut être téléchargé via l'icône d'action de la ligne pour analyse. |
4.2 - Exécution et traitement des erreurs
Étape 3 - Lancer ou relancer les traitements
L'exécution des flux sortants (X3 ➔ Yooz) est portée par le traitement Web Services Yooz (XRJ31EXE). En cas de rejet par l'API Yooz, l'analyse et la relance unitaire s'effectuent depuis le tableau de bord Interfaces Yooz (XRJ31YOOZINT).
Prérequis : Pour pouvoir télécharger et analyser les fichiers d'appels JSON, la valeur paramètre XRJ31FILGN (Génération fichier) doit obligatoirement être paramétrée sur "Oui" au niveaudu dossier.
| Action | Écran X3 | Moment d’utilisation | Résultat attendu |
|---|---|---|---|
| Exécution en manuel | Web service Yooz (XRJ31EXE) | Pendant la recette ou pour forcer immédiatement l'envoi d'un flux bloqué. | Les enregistrements « À exécuter » sont envoyés à Yooz. La case "Télécharger tous les fichiers d'appel" permet d'obtenir un ZIP immédiat. |
| Exécution en batch | Gestion des abonnements (GESABA) | En exploitation courante (Abonnement XRJ31EXE_T). | La synchronisation s'exécute automatiquement en tâche de fond selon la fréquence retenue (ex: toutes les 2 min). |
| Télécharger le fichier / tous les fichiers | Interfaces Yooz (XRJ31YOOZINT) | Analyse technique d'une erreur renvoyée par Yooz. | Récupération du JSON généré à la ligne ou dans un ZIP pour comparer la donnée envoyée avec le mapping attendu. |
| Relancer la requête / toutes les requêtes | Interfaces Yooz (XRJ31YOOZINT) | Après correction dans X3 d'une donnée qui avait été rejetée par Yooz. | Le statut interne de la ligne repasse à 0 ("À exécuter") pour être renvoyée lors du prochain passage de XRJ31EXE. |
La file d'attente ne gère que les flux sortants. Il n'y a donc aucun risque de créer une facture d'achat en doublon dans Sage X3 en effectuant une relance. De même, côté Yooz, le renvoi d'une commande (POQ) effectue une mise à jour si le document existe déjà.
Relance & doublons : Concernant les feedbacks de paiement (PAY) et les modifications de référentiels : ne relancez pas aveuglément un feedback de paiement si le workflow de la facture cible est déjà clôturé côté Yooz. Analysez toujours le message d'erreur JSON avant de relancer.
Étape 4 - Lire les erreurs selon le sens du flux
L’analyse n’est pas exactement la même selon le sens de l’interface. Les flux X3 vers Yooz s’analysent principalement depuis le tableau de bord XRJ31YOOZINT et le traitement XRJ31EXE. Les flux Yooz vers X3 (qui utilisent des Web Services SOAP) doivent être contrôlés en premier lieu côté Yooz dans le rapport d'export, puis côté X3 dans les traces d'import.
Dans les écrans de traces Sage X3, l'affichage des textes est nativement limité. Si un message d'erreur s'affiche de manière tronquée, cliquer sur l'icône d'action (les 3 petits points ⋮) de la ligne concernée, puis sélectionner Commentaire pour visualiser le message dans son intégralité.
| Sens du flux | Exemples du chapitre 5 | Où contrôler en priorité | Erreurs fréquentes |
|---|---|---|---|
| Sage X3 ➔ Yooz (Sortant - API REST) | Commandes, réceptions, retours, feedback comptable, feedback de paiement. | 1. Écran XRJ31YOOZINT (Bloc 2 : Message d'erreur)2. Lecture des traces (LECTRACE) pour le batch XRJ31EXE3. Fichier d’appel JSON (si XRJ31FILGN actif). | Métier : Organisation Yooz absente du mapping, référentiel non synchronisé, ligne non facturable, paiement déjà transmis. Technique : API / token invalide (erreur 401), timeout réseau. |
| Yooz ➔ Sage X3 (Entrant - API SOAP) | Commandes Yooz, réceptions Yooz, factures PIH, factures BIS, BAP. | 1. Rapport d'export Yooz (indique l'erreur HTTP ou X3 brute) 2. Lecture des traces (LECTRACE) dans X3 pour les imports (ex: erreur sur XRJ31PIH) 3. Documents créés (GESPIH, GESBIS, GESDUD). | Métier : Fournisseur ou article absent, site incorrect, taxe ou compte invalide, champ custom non saisissable, facture déjà importée (rejet du chrono Yooz), date incohérente (XRJ31CTLDO). Technique : Pool SOAP inactif / inexistant ("Erreur 146" ou "Machine inaccessible"), erreur 403 (IP non whitelistée). |
Étape 5 - Corriger puis contrôler le résultat métier
La correction doit toujours porter sur la cause racine : référentiel manquant, mapping incorrect, paramètre incohérent, ou erreur de workflow.
-
Identifier le document. Rechercher l’objet, la clé et le statut dans l’interface de suivi (XRJ31YOOZINT) pour les envois, ou dans la trace d’import (LECTRACE) pour les réceptions.
-
Télécharger le fichier d’appel si disponible. Télécharger le fichier d’appel. Note : Si le fichier est vide ou absent, passez la valeur paramètre XRJ31FILGN à "Oui", relancez le traitement pour générer le JSON, puis analysez
-
Corriger la donnée source. La correction s'effectue côté X3, côté Yooz ou dans le paramétrage du connecteur.
-
Relancer le flux.
-
Flux sortant (X3 ➔ Yooz) : Relancer à la ligne depuis XRJ31YOOZINT pour limiter le périmètre, puis exécuter XRJ31EXE.
-
Flux entrant (Yooz ➔ X3) : Retourner dans l'application Yooz, retrouver le document en échec et déclencher l'action "Réexporter".
-
-
Contrôler le résultat. Vérifier l'horodatage (XRJ31YOOZDAT), le champ Numéro Yooz (XRJ31NUMYOOZ), la création du document X3, ou la bonne mise à jour du statut dans Yooz.
| Famille d’erreur | Exemple concret | Action de correction recommandée |
|---|---|---|
| Référentiel absent | Fournisseur, compte, ou article non disponible dans l’application cible. | Utiliser la fonction Reprise données Yooz (XRJ31YOOZREP) pour forcer la synchronisation du référentiel manquant, puis relancer le document. |
| Paramétrage X3 incohérent | PTHDIR (autorisant la réception directe) est actif, ou XRJ31CTLDO bloque les dates. | Corriger la valeur paramètre dans la fonction ADPVAL, refaire le test sur un document propre. |
| Flux Cas A / Cas B mal choisi | Tentative de gérer dans Yooz une réception nécessitant des lots ou des emplacements. | Basculer le processus de réception sur Sage X3 (cas A) ou cadrer cette limite logistique avec le client. |
| Doublon | Rejet X3 car la facture Yooz existe déjà (XRJ31NUMYOOZ déjà présent en base). | Ne pas insister. Annuler ou clôturer le document en échec d'export côté Yooz pour purger la file d'attente. |
| Workflow Yooz | Feedback de paiement envoyé alors que la facture Yooz n’est pas à l'étape "Attente paiement". | Faire avancer la facture dans le workflow Yooz, puis retester le lettrage / paiement dans X3. |
| Champs personnalisés | Champ custom Yooz absent, mal mappé, ou non pris en compte dans un import X3. | Modifier le mapping dans la fonction Champs perso entrants. Impératif : Republier le Web Service (GESAWE) et redémarrer le pool SOAP pour appliquer la modification. |
5 - Critères de validation finale (Go-Live)
Avant d'autoriser le passage en production du connecteur Yooz / Sage X3, l'équipe projet et les utilisateurs clés doivent valider l'intégralité des points de contrôle suivants :
· ☐ Création conforme des pièces : Les commandes, réceptions, factures PIH, factures BIS, BAP et règlements se créent sans erreur dans l'application cible.
· ☐ Traçabilité garantie : Le numéro chrono Yooz (XRJ31NUMYOOZ), l'URL de l'image (XRJ31URLFAC) et les horodatages (XRJ31YOOZDAT) sont alimentés sur toutes les pièces X3.
· ☐ Exactitude Financière : Les montants HT, TTC, montants de TVA, devises, conditions de règlement et ventilations analytiques sont strictement identiques entre Yooz et Sage X3.
· ☐ Attachement du PDF : Le fichier PDF de la facture est physiquement accessible en pièce jointe sur les factures GESPIH et GESBIS dans Sage X3.
· ☐ Stabilité de la file d'attente : L'écran de suivi XRJ31YOOZINT ne contient aucun blocage inexpliqué et le batch XRJ31EXE s'exécute régulièrement en tâche de fond.
· ☐ Habilitations techniques : L'utilisateur de service dédié au Web Service dispose d'un badge ERPFULL actif.