Aller au contenu principal

Documentation

0-Obtention et activation du serial

Contexte et objectif

Ce chapitre concerne la mise en place d’un nouveau client avec un connecteur Yooz X3.
L’intégrateur Sage X3 (VAR) du client est en mesure, via un site web, de récupérer les patchs du connecteur et également la procédure d’installation.

Toutefois, le connecteur Yooz X3 sera fonctionnel uniquement si on installe dans Sage X3 le serial dédié.
Ce serial ne peut être produit que par l’éditeur du connecteur. Et ce serial nécessite une clé en entrée qui est le numéro de série de la solution Sage X3 du client.

Ce chapitre précise les modes opératoires pour :
- La récupération du numéro de série d’une solution Sage X3
- L’intégration du serial pour le connecteur Yooz X3

Ce document intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

Mode opératoire

1. La récupération du numéro de série d’une solution Sage X3

Se connecter à la solution Sage X3 avec un user ADMIN ou un user qui possède un badge ERPDEV.

Ouvrir la fonction Détail des licences par le menu
Administration > Licences

Cliquer sur la ligne du produit Sage X3.
Copier le contenu de la zone Numéro de série


licenseDatas – 2026R1

Cette information doit être transmise à votre contact commercial Yooz, qui sera en mesure de vous transmettre le fichier serial. Lors de cet envoi, veuillez également préciser le nom du client final.

Vous devez donc fournir à votre contact commercial Yooz :

  • Le numéro de série de la solution Sage X3 du client
  • Le nom du titulaire de la licence

Note interne : la demande Yooz d’un fichier serial passe par un ticket Jira.

2. L’intégration du serial pour le connecteur Yooz X3

Vous avez reçu le fichier serial (fichier <license-xxxxxxxxxxx-YOOZ-1-1-2-xxxxxxxxxxxxxx.json>), vous pouvez donc l’intégrer sur la solution Sage X3 de votre client.
Se connecter à la solution Sage X3 avec un user ADMIN ou un user qui possède un badge ERPDEV.

Ouvrir la fonction Téléchargement licence par le menu
Administration > Licences

Cliquer sur le bouton Sélectionner le fichier
Dans la fenêtre de sélection de fichier qui s’ouvre, pointer le fichier serial que vous avez reçu pour le connecteur Yooz X3.

Cliquez alors sur l’option Télécharger la licence (ou utilisez le bouton Actions pour trouver cette option).


licenses – 2026R1

Ceci aura pour effet de créer un nouveau badge YOOZ.

Vous devez ajouter ce badge dans les rôles des utilisateurs qui utilisent le connecteur Yooz X3.
Et ne pas oublier d’ajouter également ce badge sur le compte de service utilisé pour la tâche récurrente (XRJ31EXE) du connecteur.

3. Mise à jour du serial pour le connecteur Yooz X3

Le serial a une date d’expiration, la période de validité par défaut est de 1 an. Vous recevrez, sur la même adresse mail que celle enregistrée pour le premier fichier, un fichier serial prolongé à intégrer sur la solution X3 de votre client. Cette mise à jour est transmise 2 semaines avant expiration.

Note interne : les fichiers serial prolongés seront transmis à Yooz par ticket Jira.

1-Méthodologie et Cadrage du projet

Contexte et objectif

Ce chapitre concerne la méthodologie d’implémentation du connecteur. Les éléments présentés ici sont issus des retours d’expériences de mise en œuvre sur un volume significatif de clients.
Il ne s’agit donc que d’une proposition, chaque partenaire / intégrateur est totalement libre sur la méthodologie d’implémentation.

Ce chapitre intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

1. Les points clés 🚨IMPORTANT

Voici la liste des points les plus déterminants qu’il faut prendre en considération pour faciliter l’implémentation.

  1. Il faut intégrer le connecteur dès le début du projet de mise en place de Yooz. Cela permet de gagner du temps et de l’efficacité, car le connecteur sera utilisé pour récupérer toutes les données de base / référentiels de Sage X3. Et donc d’éviter d’avoir à faire des reprises de données par fichiers dans Yooz. Autre avantage : le client apprend plus tôt et intègre tout de suite le connecteur comme composant de la solution Yooz.

  2. Informer au plus tôt le client des prérequis techniques, cela permet au client d’avoir plus de temps pour s'organiser.

  3. Fonctionner en transfert de compétence, par opposition à faire à la place du client. Le sujet le plus évident concerne la reprise des données de base et référentielles, il est certainement plus rapide que l’intégrateur prenne la main sur ce sujet et fasse le travail. Toutefois, ceci n’est pas la meilleure solution, car après la phase de test, le connecteur sera branché sur le dossier de production et il faudra rejouer la reprise.
    Il est donc conseillé d’expliquer le fonctionnement du connecteur au client, de mettre en place quelques cas pratiques pour démontrer que le connecteur est fonctionnel. Et alors indiquer au client qu’il peut mener la reprise des données. Charge à l’intégrateur d’assurer l’assistance et de répondre aux questions et problèmes.

  4. Concernant l’application Yooz, on fonctionne comme usuellement avec un démarrage de Sage X3 : on conserve la même instance Yooz, et on effectue un reset des données afin de rejouer la synchronisation des données avec le dossier de production de Sage X3. Et si le client a besoin de poursuivre une activité projet pour d’autres déploiements ou périmètres, il faut lui conseiller de demander une 2ème instance Yooz qui sera alors connectée avec le dossier de test.

2. Les étapes

La proposition est une méthodologie en 12 étapes d'implémentation

  • L’atelier de cadrage
  • La détermination du dossier de test
  • L’attribution d’un badge ERPFULL
  • L’ouverture des flux réseau
  • L’installation technique sur le dossier de test
  • Les paramétrages de base de Yooz
  • Le premier atelier fonctionnel
  • La reprise des données en test
  • Le suivi et la validation des tests (UAT)
  • L’installation sur le dossier de production
  • La reprise des données en production
  • L’assistance post démarrage
L’atelier de cadrage

Les participants requis : CP Yooz, CP Client, CP Intégrateur, CP Client, Tech Client, Fonctionnel Client

La durée est d’une heure maximum (30 minutes dans un contexte fluide).

Durant cet atelier de cadrage, les sujets suivants sont abordés en détail :

  • Expliquer au client l’architecture, les prérequis et la connectivité. Tous les détails sont dans ce chapitre.
  • Insister sur les 3 prérequis qui sont précisés dans les prochains paragraphes (dossier de test, badge, réseau)
  • Définir précisément le périmètre retenu pour le connecteur : Finance seule ou Finance + Achats ? Et Factures de vente ou non ?
  • Définir le planning, les acteurs, la date de démarrage cible

Afin de suivre la mise en place des prérequis et d'éviter les mails “ping-pong”, il est possible d’utiliser un tableau partagé.
Exemple ici, disponible en français et en anglais, supprimer les lignes qui ne sont pas utiles.

La détermination du dossier de test

Il faut déterminer le dossier de test qui sera utilisé pour l’implémentation du connecteur. Ce dossier doit être suffisamment à jour, le principe est de demander la confirmation des fonctionnels Client.
Il faudra bien entendu geler ce dossier (ne pas le rafraîchir avec une nouvelle copie). Et il n’y a pas de raison de dédier le dossier de test au connecteur Yooz, d’autres sujets peuvent être menés en parallèle.

L’attribution d’un badge ERPFULL

Il est nécessaire de créer un nouvel utilisateur dans la solution Sage X3, qui est un compte de service pour les transactions opérées par Yooz. Il faudra donc allouer un badge (permanent) pour ce nouvel utilisateur. Ce doit être un badge ERPFULL (un badge ERPFIN est aussi possible sous réserve des évolutions prochaines du connecteur). Il est aussi possible d’utiliser tout autre utilisateur, voir le compte ADMIN, mais alors on ne saura pas identifier les transactions Yooz.

L’ouverture des flux réseau

Le connecteur fonctionne en mode API, avec une communication directe des 2 applications Sage X3 et Yooz. Il est indispensable d’ouvrir les flux réseau, tous les détails sont dans ce paragraphe “Connectivité entre les applications Yooz et X3”. Selon les contextes, ces opérations sont à assurer par le service SSC de Sage, par l’intégrateur, par le service informatique du client ou son fournisseur d’infrastructure.
À noter que cela peut être un point sensible, si le client n’est pas très compétent, ou si son infrastructure est très éloignée des bonnes pratiques, ou par manque de disponibilité.

L’installation technique sur le dossier de test

Cette opération est très souvent réalisée par l’intégrateur, et le client peut bien entendu être impliqué pour suivre l’exécution. Il faut compter environ une heure de temps, c’est plus rapide si le client est en dernière version de Sage X3 car dans ce cas il n’y a aucune mise à jour manuelle, tout est fait par fichiers patch X3.
En général c’est sur un format à distance en partage d’écran.
Il est aussi possible de confier cette installation au client dans le cas d’équipes client déjà compétentes sur l’installation de patch et/ou le développement Sage X3. Cette prise en charge par le client est totalement justifiée dans le cas où les mises en production seraient prises en charge par le client.
La procédure pas à pas détaillée est disponible dans ce paragraphe.

Il faut noter qu’il est possible, dans la phase de déploiement du connecteur, qu’il soit nécessaire d’installer une mise à jour du connecteur, afin de bénéficier d’une nouvelle fonctionnalité ou d’une correction. Dans ce cas, il est opportun d’utiliser la fonction de mise à jour automatique du connecteur, son usage est décrit en fin de paragraphe qui adresse l’installation.

Les paramétrages de base de Yooz

Avant de mettre en service le connecteur, il est nécessaire de prévoir ces paramétrages dans Yooz :

  • Création des organisations
  • Création des référentiels pour les axes analytiques

Ces éléments ne peuvent pas être générés par le connecteur, et ces éléments code organisations Yooz et référentiels analytiques seront à saisir dans les paramètres Sage X3.

Le premier atelier fonctionnel

Les participants requis :
Pour l’intégrateur : Le consultant fonctionnel (qui anime la session) et éventuellement le chef de projet.
Pour Yooz : Le chef de projet Yooz ou le partenaire intégrateur certifié.
Pour le client : Les référents métiers ou key users (directeur financier, responsable de la comptabilité fournisseurs) qui utiliseront la solution au quotidien, ainsi que le responsable technique ou l'administrateur Sage X3 (DSI, référent IT) pour s'assurer de la bonne compréhension des paramétrages applicatifs

La durée est d’environ 2 heures.

Le format est en général à distance avec partage d'écran. Il est fortement recommandé d'enregistrer la session (ou d'en garder une transcription) afin que le client puisse s'y référer ultérieurement pour reproduire les paramétrages en autonomie lors du passage sur son environnement de production.

Contenu et sujets abordés :

  • L’explications générales : Présentation du périmètre complet du projet et du fonctionnement global du connecteur.
  • Le paramétrage de la connexion : Réalisation des configurations directement dans Sage X3 pour établir la liaison et la communication avec l'application Yooz
  • L’envoi des données de base (flux Sage X3 vers Yooz) : Explications détaillées du fonctionnement, suivies de l'exécution pratique de la synchronisation des référentiels, en prenant une entité avec peu de volume comme cas pratique. Le client sera ultérieurement en charge de réaliser la totalité des reprises de données.
  • Le test d'intégration : Réalisation d'un test d'export d'une facture depuis Yooz vers Sage X3 afin de valider que le flux entrant fonctionne correctement
  • La définition des prochaines étapes : Planification de la suite du déploiement, en définissant en particulier la stratégie et les besoins d'assistance pour la reprise globale des données
La reprise des données en test

La tâche de reprise des données (également appelée synchronisation ou initialisation des référentiels) sur l'environnement de test s'inscrit dans une démarche globale de transfert de compétences.
L'objectif est d'envoyer tout l'historique actif des données de base de Sage X3 vers Yooz pour que les deux systèmes soient alignés avant de démarrer les tests de flux.

Voici le descriptif de cette tâche, de son déroulé et du rôle de chacun :

1. Principe et répartition des rôles

Initiation par Deveho : Lors du premier workshop fonctionnel, le consultant Deveho explique le fonctionnement des écrans et montre, par l'exemple, comment lancer la reprise des premières données
Cette session est enregistrée pour servir de tutoriel.
Autonomie du client : Une fois les explications fournies, le client doit réaliser le reste de la reprise de données lui-même. Cette pratique est voulue : elle garantit que le client maîtrise la procédure, puisqu'il devra obligatoirement la refaire seul lors de la bascule sur le dossier de production.

2. Périmètre des données concernées : Les objets standards envoyés en masse de Sage X3 vers Yooz lors de cette étape sont :

Les fournisseurs (BPS) et éventuellement les clients (BPC).
Les plans de comptes (GAC).
Les axes et sections analytiques (CCE).
Les profils/codes taxes (TVT) et les conditions de paiement (TPT).

3. Mode opératoire dans Sage X3

Le client exécute le transfert grâce à trois fonctions dédiées du connecteur :
Reprises données référentielles Yooz (XRJ31YOOZREP) : Elle permet de cocher les objets à envoyer et de filtrer pour charger massivement les fiches actives de X3 dans la table d'interface.
Interfaces Yooz (XRJ31YOOZINT) : C'est le tableau de bord de suivi qui permet de visualiser le nombre d'enregistrements en attente de transmission, envoyés avec succès, ou en erreur
Web service Yooz (XRJ31EXE) : C'est le lancement manuel ou la tâche récurrente (batch) qui vient lire la table de suivi et exécuter concrètement les requêtes d'envoi vers l'API Yooz.

4. L'assistance de l’intégrateur.

Lors de la reprise de données, il est fréquent que certaines fiches soient rejetées par Yooz (souvent en raison de données X3 non conformes, comme un numéro de SIRET/TVA invalide ou une adresse incomplète)..
Analyse par le client : Le client est invité à analyser les traces (logs d'erreurs) dans X3 et à corriger les données directement dans Sage X3. À noter que ces corrections de données sur le dossier de test devront être répliquées sur le dossier de production. Ou bien on accepte une reprise partielle en test et on se focalise sur la qualité des données sur le dossier de production.

Support consolidé : Le client regroupe ses questions ou ses points de blocage non résolus dans un compte-rendu ou tableau de suivi partagé. Si ni le client ni l'intégrateur ne parviennent à débloquer la situation, contactez votre interlocuteur Yooz en assistance de niveau 2.

Le suivi et la validation des tests (UAT)

C’est une étape obligatoire du parcours de déploiement, intervenant après la reprise des données en test et juste avant l'installation en production (Go-Live). Elle s'inscrit dans une démarche de transfert de compétences, exigeant une autonomie de la part du client.

Déroulement et répartition des rôles

Le client (fonctionnel / key users) : Il est le principal acteur de cette phase et est responsable de l'exécution des tests.
Il utilise une fiche de tests fournie par l’intégrateur comme base de travail et l'adapte à son propre contexte
Tout au long de la recette, le client est invité à consolider l'ensemble de ses questions et de ses points de blocage dans un compte-rendu unique, afin de faciliter la compréhension et la prise en compte par l'intégrateur.
Le CP Yooz ou intégrateur : Il est chargé du suivi actif de l'avancement de ces tests. Si le client rencontre des erreurs ou des questions que son équipe fonctionnelle ne parvient pas à dépanner, il peut se tourner vers son contact Yooz pour demander un support de niveau 2.

L'autorisation de Go-Live
L'objectif de cette phase est d'obtenir une validation exhaustive des flux. Cette validation formelle par le client et le CP Intégrateur agit comme une autorisation de Go-Live, déclenchant ainsi la planification de l'installation technique finale sur l'environnement de production

Lien vers le fichier standard de suivi des tests.

L’installation sur le dossier de production

Installation technique du connecteur sur le dossier de production.
L'installation des patchs du connecteur sur le dossier de production est réalisée par l'équipe technique du client, ou l’intégrateur Sage X3 (selon ce qui a été décidé lors du cadrage). Cette étape est purement technique.
Il faut prévoir une période d'inactivité des utilisateurs. L'installation technique en production exige une déconnexion de tous les utilisateurs de Sage X3 pendant environ 30 minutes (c’est une sous partie de l’installation).
Cela permet de revalider les tables standards en toute sécurité sans risque de perte de données.

Reproduction du paramétrage par le client
Le client doit reproduire manuellement à l'identique tous les paramétrages fonctionnels qui avaient été mis en place et validés sur le dossier de test (renseigner les URL, les mots de passe de l'API, les codes organisations, etc.). L’intégrateur n'intervient pas directement sur le paramétrage en production pour des raisons de responsabilité des données, mais reste disponible en assistance.

Reprise des données référentielles Une fois paramétré, le client doit lancer manuellement la fonction de "Reprise des données". L'objectif est d'envoyer tout l'historique de la production (les fournisseurs, le plan de compte, les axes analytiques, etc.) depuis Sage X3 vers l'environnement de production de Yooz pour synchroniser les deux systèmes.

Activation de la tâche automatique pour finaliser la mise en production, le client doit activer l'abonnement du serveur batch (la tâche récurrente XRJ31EXE). Cette action permet au connecteur de fonctionner en arrière-plan et de synchroniser automatiquement les factures, bons à payer et nouveaux référentiels.

L’assistance post démarrage

L’intégrateur peut prévoir un dispositif “hyper-care” pour les premiers jours de démarrage du connecteur sur le dossier de production. Cela peut converger avec la mise en production de Yooz.
L’intégrateur reste disponible pour assurer une courte période de stabilisation. Dans le cas d’erreurs ou de points de blocage de premier niveau qu'ils ne parviennent pas à dépanner seuls, une escalade est faite au point de contact Yooz.

La bascule vers le support Yooz
Une fois la solution stabilisée et en rythme de croisière, le support de niveau 1 (utilisation quotidienne, questions fonctionnelles dans Yooz) est alors intégralement assuré par le service support de Yooz (ou par le partenaire intégrateur). Si le support Yooz fait face à une anomalie technique ou un bug qui provient directement de la couche infrastructure du connecteur dans Sage X3, c'est le support Yooz qui se charge d'escalader le sujet à l’éditeur du connecteur.

2-Architecture, Prérequis et Connectivité

Contexte et objectif

Ce chapitre concerne les sujets d'architecture, de prérequis, de périmètre, d'ouverture des flux réseau et de paramètres de connectivité.

🚨IMPORTANT

Il est essentiel de partager les informations d’ouverture de flux réseau avec la personne ou l'équipe qui sera en charge, ce point est déterminant pour assurer le bon fonctionnement du connecteur. Se référer à la partie ouverture des flux réseau.

🚨IMPORTANT

Concernant les paramètres de connectivité, vous pouvez, dès la réception de l’instance Yooz, vérifier si vous avez les droits pour générer les codes token API (client id et client secret), ou si vous devez contacter votre interlocuteur Yooz.

La mise en place des prérequis comporte plusieurs points à la charge du client ou de son intégrateur.
Voici un exemple de livrable partagé qui permet de suivre l’avancement sur la mise en œuvre.
Lien vers la fiche de suivi des pré-requis YoozConnectorX3-Prerequisites

Ce chapitre intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

1. Architecture

Il s'agit d'un module additionnel pour Sage X3, installé sous la forme de patches Sage X3 et entièrement compatible avec le L4G natif (4GL). Les développements spécifiques sont implémentés dans la couche verticale du L4G. Par conséquent, aucune infrastructure technique supplémentaire n'est requise ; le module est intégré à 100 % dans la solution Sage X3 existante. Tous les objets sont protégés par un code activité ‘XRJ31’.

Pour les flux de X3 vers Yooz, Sage X3 exploite des web services REST de Yooz. Dans l'autre sens, Yooz appelle les services web SOAP de Sage X5. Ces deux flux sont disponibles en standard dans Sage X5. Le seul écart par rapport au standard X3 est l'ajout d'un binaire et d'une bibliothèque CURL afin de gérer un aspect spécifique de l'API Yooz pour l'export des commandes d'achat (l'encapsulation d'un fichier JSON dans la requête REST étant nécessaire).

Aucun middleware n’est utile. Le connecteur ne permet pas de communication par fichiers, ni par des serveurs FTP ou SFTP.

2. Prérequis

Version Sage X3

Le connecteur est disponible pour toute version 12 de Sage X3, à partir du patch 21 (2020 R1). Les versions précédentes ne sont pas supportées du fait d’un changement des traitements compilés (ADX).

Connectivité réseau

Un accès bidirectionnel est requis entre Sage X3 et la plateforme Yooz. Plus précisément, l'application Yooz doit être en mesure d'atteindre le point de terminaison (endpoint) du service web de Sage X3 , ce qui nécessite l'ouverture d'un canal de communication entrant depuis Internet. Informations détaillées dans le paragraphe suivant.

Licence (badge) Sage X3

Un badge ERPFULL doit être disponible pour être alloué à un nouveau compte utilisateur dédié aux services web Yooz.

3. Périmètre

Le connecteur Yooz X3 couvre les périmètres X3 Achats, Finance et Ventes, en lien avec les fonctionnalités de Yooz.

Tableau des fonctionnalités

TypologieFonctionnalitéFonction Sage X3
Paramétrage du connecteurValeurs paramètresADPVAL
Restrictions sur les donnéesAu niveau de chaque fonction
Envoi par API à YoozUtilisateurs X3GESAUS
ArticlesGESITM
Axes analytiquesGESCCE
Comptes comptablesGESGAC
Code taxesGESTVT
Conditions de paiementGESTPT
FournisseursGESBPS
Confirmation de paiement
Commande d'achatGESPOH
RéceptionGESPTH
RetoursGESPNH
Validation facture d'achat
Validation factures tiers fournisseur
ClientsGESBPC
Factures et avoirs ventesGESSIH
Factures tiers clientGESBIC
Reçu par API de YoozFacture achat sur commandeavec gestion des lignes, rapprochement des commandes et réceptions, éléments de facturation
Factures tiers fournisseur
Bon à payer
UtilitairesForcer horodatage interfaces YoozXRJ31YOOZFLG
Reprises données référentielles YoozXRJ31YOOZREP
Mise à jour Connecteur YoozXRJ31UPD
Champs personnalisés (10 max)Utilisateurs X3
Site X3
Axes analytiques
Comptes comptables
Code taxes
Conditions de paiement
Fournisseurs
Commande d'achat
Réception
Facture d'achat
Facture tiers fournisseur
Clients
Factures et avoirs ventes
Factures tiers client

Schéma des différents flux possibles :

  • Sage X3 Finance & Achat, avec flux d’achat dans Sage X3
  • Sage X3 Finance & Achat, avec flux d’achat dans Yooz
  • Sage X3 Finance
  • Sage X3 Factures de vente

4. Hors périmètre

Adaptations spécifiques

Certaines modifications ou adaptations spécifiques sur les modules Achats, Finance et Ventes de Sage X3, en particulier concernant les factures d'achat et de vente, pourraient ne pas être compatibles avec le périmètre standard du connecteur Yooz. Bien évidemment nous évoquons le cas de modifications spécifiques importantes ou trop impactantes. Les éventuelles incompatibilités peuvent être détectées lors de l’installation du connecteur et seront dans tous les cas mises en évidence lors de la recette.

Législations étrangères

Les exigences légales locales ou les spécificités des législations étrangères sont hors périmètre. Les seules exceptions concernent la Suisse (gestion des codes QR) et l'Espagne (retenues fournisseurs sur les factures d'achat / retentions), qui sont entièrement prises en charge.

Factures complémentaires

Les factures complémentaires ne sont pas gérées par le connecteur. Ce sujet est en réflexion pour une future évolution du connecteur.

Réceptions directes

Le paramètre PTHDIR (réception directe) doit être défini sur « Non » ; les réceptions directes ne sont pas autorisées. La même règle s'applique au paramètre PNHDIR (retour fournisseur direct), qui doit être configuré sur « Non ». Cette règle de gestion se justifie par le fait que l’application Yooz ne sait pas gérer des quantités réceptionnées sans notion de commande. Une commande est impérative dans Yooz.

Sage X3 Saas

Le connecteur n'est pour l’instant pas compatible avec la nouvelle offre Sage X3 SaaS.

5. Connectivité entre les applications Yooz et X3

5.1 Introduction : Contexte et philosophie de sécurité

Sage X3 est un progiciel de gestion intégré (PGI ou ERP) conçu avec des normes de sécurité natives élevées. Elle intègre des protocoles d'authentification robustes et un contrôle d'accès basé sur les rôles pour garantir l'intégrité des données au sein de votre réseau interne.

Cependant, l'activation d'un connecteur avec une plateforme SaaS externe comme Yooz nécessite l'ouverture d'un canal de communication entrant depuis Internet. Bien que Sage X3 soit sécurisé, les bonnes pratiques recommandent de mettre en œuvre des couches de protection périmétrique supplémentaires lors de l'exposition d'un service sur le web.

L'objectif de ce document est de définir un cadre de sécurité évolutif pour ce flux de données. Nous proposons des options de sécurité cumulatives conçues pour s'adapter à la taille et aux capacités informatiques de votre organisation. Que vous soyez une petite ou moyenne entreprise à la recherche d'une protection efficace ou une grande entreprise exigeant une conformité stricte, ce document présente des architectures allant du simple filtrage réseau à l'inspection applicative avancée. Ces couches peuvent être superposées pour correspondre à la politique interne de gestion des risques de votre organisation.

5.2 Exposition web obligatoire de Sage X3

Il semble pertinent de commencer par un simple rappel de base : la solution Sage X3 doit être accessible depuis Internet.

Bien entendu, il est tout à fait possible d'appliquer des restrictions d'adresse IP, d'utiliser un reverse proxy ou un WAF. Néanmoins, les règles suivantes sont impératives :

  • Un nom de domaine valide doit être utilisé (par exemple : .com, .fr, .net, .org...).
  • Un certificat SSL valide doit correspondre exactement à l'URL publique.

À l'inverse, les adresses IP locales et les connexions non sécurisées (HTTP) ne fonctionneront pas.

Exemples de configurations

  • Correct : https://x5.XXXX.domain.com (URL protégée par un certificat valide avec un nom de domaine public reconnu).
  • Incorrect : https://45.36.87.96/ (les adresses IP publiques ne peuvent pas posséder de certificat SSL valide pour ce type d'usage).
  • Incorrect : http://myawesomedomain.com (le site n'est pas sécurisé avec le protocole HTTPS).
  • Incorrect : https://myawesomesite.local ou https://erp-server/ (noms de domaine locaux ou simples noms de machines. Ils ne sont pas reconnus publiquement sur Internet ; les extensions .lan ou .local ne sont pas prises en charge).
  • Incorrect : https://localhost ou https://127.0.0.1 (adresses locales, complètement inaccessibles de l'extérieur).
  • Certificat invalide, auto-signé ou expiré : Même avec une URL HTTPS correcte, si le certificat n'est pas émis par une autorité de certification reconnue ou s'il ne correspond pas exactement au nom de domaine de l'URL, la connexion sera systématiquement rejetée.
5.3 Prérequis techniques et spécifications des flux

Avant de mettre en œuvre une architecture de sécurité spécifique (décrite au chapitre 4), plusieurs exigences fondamentales doivent être satisfaites pour établir une connexion fonctionnelle et sécurisée entre la plateforme Yooz et le serveur Sage X5. Ces prérequis s'appliquent à tous les scénarios de sécurité (options A, B et C).

5.3.1 Chiffrement de bout en bout (Protocole)

Pour garantir la confidentialité des données en transit (factures, écritures comptables), le canal de communication doit être entièrement chiffré.

  • Exigence : La connexion doit utiliser le protocole HTTPS avec TLS 1.2 (ou supérieur).
  • Certificat : Un certificat SSL public valide (par exemple, émis par DigiCert, Let's Encrypt, ou similaire) doit être installé sur le point d'entrée public (pare-feu ou reverse proxy). Les certificats auto-signés ne sont pas compatibles car ils provoquent des erreurs de validation du côté de l'application Yooz.
5.3.2 Liste blanche des domaines/IP de destination (trafic sortant)

Bien que Yooz pousse les données vers Sage X3, le serveur Sage X3 doit également être capable d'initier des connexions sortantes vers Yooz. Si votre organisation restreint par défaut le trafic Internet sortant, vous devez configurer votre pare-feu pour autoriser le serveur Sage X3 à atteindre l'infrastructure de Yooz.

  • Exigence : Autoriser le trafic HTTPS sortant (port 443) depuis le serveur Sage X3 vers les points de terminaison (endpoints) Yooz suivants, selon votre région d'hébergement:

Environnements Europe

  • API de production / App Gateway : eu1.getyooz.com (IP : 20.74.10.92)
  • API de préproduction / App Gateway : preproduction1v2.getyooz.com (IP : 20.74.15.106)

Environnements US

  • API de production / App Gateway : us1.getyooz.com (IP : 40.88.195.44)
  • API de préproduction / App Gateway : uspreproduction1.getyooz.com (IP : 52.147.198.110)
5.3.3 Considérations relatives au proxy sortant (Proxy direct / Forward Proxy)
🚨IMPORTANT

Les spécifications suivantes concernent les architectures réseau avancées impliquant des proxys restrictifs et l'inspection SSL. Comme ces configurations dépendent fortement de la pile de sécurité spécifique et de l'infrastructure technique de votre organisation, le processus de mise en œuvre est considéré comme collaboratif. Certains ajustements peuvent être nécessaires lors de la phase initiale de connectivité afin de garantir un alignement parfait avec vos politiques réseau internes et les heuristiques de votre proxy.

Si votre organisation oriente le trafic Internet sortant via un proxy restrictif (par exemple, un forward proxy avec des règles strictes, une interception SSL ou une prévention des fuites de données [DLP]), des configurations spécifiques sont requises pour garantir que le serveur Sage X3 puisse communiquer avec les points de terminaison Yooz.

Le connecteur initie les requêtes sortantes via deux mécanismes distincts : les appels natifs de services web Sage X3 et les commandes curl exécutées côté serveur. Les deux méthodes prennent en charge le routage via un proxy d'entreprise.

URLs cibles : Le proxy doit explicitement autoriser le trafic sortant vers les points de terminaison Yooz correspondant à votre région d'hébergement:

Types de médias et échanges de fichiers : La communication repose sur des requêtes HTTPS standards. Pour les flux sortants (de Sage X3 vers Yooz), le connecteur appelle les API REST de Yooz. Les données échangées consistent exclusivement en des charges utiles (payloads) JSON et des fichiers CSV (pour les exports de données de référence). Le connecteur ne déclenche pas de téléchargements de fichiers exécutables, de scripts ou de types de fichiers binaires habituellement bloqués.

Spécification des détails du proxy : Les détails du proxy sont renseignés différemment selon le composant informatique:

  • Pour les requêtes de services Web (Syracuse) : Les paramètres du proxy sont configurés nativement dans l'interface de Sage X5.
    • Pour les requêtes Curl : Les détails du proxy (hôte, port et authentification) peuvent être transmis directement en tant qu'arguments (via l'option -x) dans une valeur de paramètre spécifique du connecteur dans Sage X5.

Exemple de configuration Curl pour un proxy avec certificats SSL :
-x https://proxy.yourdomain.com:443 --proxy-user user:password --cacert /path/to/your/proxy-ca-bundle.crt

Note : Cette configuration est gérée dans les paramètres internes du connecteur par notre équipe technique.

Interception SSL et magasins de certificats : Si votre proxy effectue une inspection SSL, il présentera son propre certificat interne. Les composants du connecteur ne s'appuient pas uniquement sur le magasin de certificats global du système d'exploitation. Par conséquent, l'autorité de certification racine (Root CA) de confiance de votre proxy doit être reconnue au niveau de l'application:

  • Pour Syracuse : Le certificat Root CA du proxy doit être importé via l'interface de gestion des certificats de Sage X3 (Administration > Certificats > Certificats).
    • Pour Curl : Le chemin d'accès au package de certificats (CA bundle) de votre proxy doit être fourni à notre équipe afin qu'il puisse être référencé dans les arguments de la commande à l'aide de l'option --cacert.

Contrôle de l'exfiltration de données / Inspection du contenu : Les systèmes proxy qui surveillent l'exfiltration de fichiers peuvent signaler ou bloquer les charges utiles JSON ou CSV sortantes. Comme les règles de proxy varient d'une organisation à l'autre, une brève phase de test est recommandée pour observer les journaux (logs) du proxy et implémenter les exceptions nécessaires pour le trafic légitime du connecteur.

5.3.4 Liste blanche des IP sources (trafic entrant)

Le connecteur fonctionne en mode "Push", ce qui signifie que Yooz initie la connexion pour envoyer des données à Sage X5. Pour sécuriser cette ouverture, la mise en œuvre d'une stratégie stricte de liste blanche d'adresses IP est requise.

  • Exigence : Le client est responsable de la configuration et de la maintenance d'une liste de contrôle d'accès (ACL) sur son pare-feu périphérique. Cette liste définit quelles adresses IP externes sont autorisées à se connecter au port dédié.
  • Configuration Yooz : Pour activer le connecteur, l'adresse IP officielle de l'infrastructure Yooz doit être ajoutée à cette liste blanche.
    • IP autorisée pour l'Europe : 40.89.133.43 and 40.89.178.3 (cette adresse IP correspond à la passerelle Yooz Gateway hébergée sur Microsoft Azure pour l'environnement de production, instances Europe).
    • IP autorisée pour les États-Unis : 20.88.165.37 (cette adresse IP correspond à la passerelle Yooz Gateway hébergée sur Microsoft Azure pour l'environnement de production, instances US).
5.3.5 Disponibilité du service cible (Web Services Sage X3)

Le connecteur Yooz n'interagit pas avec l'interface utilisateur standard utilisée par vos employés. Il communique spécifiquement avec le moteur de services web Classic SOAP de Sage X5.

  • Exigence : Les "pools de services web classic SOAP" doivent être correctement configurés pour gérer le flux de données entrant.
  • Note de mise en œuvre : La configuration et le démarrage de ces pools de services web spécifiques seront effectués lors de l’installation et paramétrage du connecteur.
  • Séparation des flux : Cela garantit que le trafic entrant est pris en charge par la couche d'interface automatisée, distincte de la couche de session utilisateur interactive.
5.3.6 Traduction d'adresses réseau (NAT)

Étant donné que le serveur Sage X3 est hébergé sur site (on-premise, au sein de votre réseau privé), il n'est pas directement visible depuis Internet.

  • Exigence : Une règle de redirection de port (port forwarding / NAT) doit être créée sur votre équipement réseau périphérique afin de traduire la requête publique vers l'adresse IP interne du serveur Sage X3 (ou du reverse proxy, selon l'option de sécurité choisie).
  • Configuration des ports : Bien que le port HTTPS standard (443) soit recommandé pour des raisons de simplicité et de conformité, l'utilisation d'un port externe personnalisé (par exemple : 8443, 4443) est entièrement prise en charge si votre politique réseau interne l'exige.
5.4. Options de mise en œuvre de la sécurité

Nous proposons un cadre de sécurité évolutif. Selon la taille de votre organisation, vos ressources internes et votre politique de gestion des risques, vous pouvez sélectionner le niveau de protection approprié. Ces options sont cumulatives : l'Option B inclut les exigences de l'option A, et l'option C implique une architecture compatible avec A et B.

5.4.1 Option A : Contrôle d'accès réseau (couches 3/4)

Contexte recommandé : Petites et Moyennes Entreprises (PME).

Cette option s'appuie sur votre pare-feu périphérique existant pour filtrer le trafic uniquement en fonction de l'adresse IP de l'émetteur.

Mise en œuvre

  1. Créez une règle NAT (redirection de port) sur votre pare-feu.
  2. Appliquez une liste de contrôle d'accès (ACL) stricte qui rejette tout le trafic par défaut (Deny All).
  3. Autorisez uniquement l'adresse IP Yooz dédiée (définie au chapitre 5.5).

Périmètre de sécurité

  • Cette configuration bloque toutes les connexions non autorisées provenant du grand public sur Internet.
  • Limitation : Bien que sécurisée contre les scans réseau externes, cette méthode permet au trafic d'atteindre l'interface du serveur Web Sage X3 s'il provient de l'IP autorisée, sans possibilité d'inspecter l'URL (URI) spécifique demandée.
5.4.2 Option B : Filtrage applicatif et Reverse Proxy (Couche 7)

Contexte recommandé : PME et entreprises de taille intermédiaire (ETI).

Cette architecture introduit un composant intermédiaire (reverse proxy, tel que Nginx, HAProxy ou IIS) pour isoler le serveur ERP du flux réseau direct. Cette option est fortement recommandée pour réduire la surface d'attaque.

Mise en œuvre

  1. Le pare-feu redirige le trafic vers le reverse proxy (situé dans une DMZ ou un VLAN spécifique), et non directement vers le serveur Sage X5.
  2. Le reverse proxy termine la connexion SSL (déchiffrement) et inspecte la requête HTTP.

Politique de sécurité (filtrage d'URI)

  • Autoriser : Uniquement le chemin d'accès exact pour le service web : /soap-generic/syracuse/collaboration/syracuse/CAdxWebServiceXmlCC.
  • Bloquer : Le chemin racine /, la page de connexion /auth et tous les autres chemins système doivent être rejetés avec un code d'erreur HTTP 403 Forbidden.

Périmètre de sécurité

  • Même si une connexion réseau est établie depuis l'IP Yooz, l'interface utilisateur générale et le portail de connexion de Sage X3 restent techniquement inaccessibles.
  • Seul le point de terminaison spécifique à l'importation automatique des données est ouvert.
5.4.3 Option C : Pare-feu applicatif web (WAF) et inspection du contenu (Payload)

Contexte recommandé : Grandes entreprises et environnements corporate.

Pour les organisations équipées d'appliances de sécurité dédiées (par exemple : Fortinet, F5, Palo Alto) ou se conformant à des normes strictes (telles que l'ISO 27001), un WAF peut être ajouté pour inspecter le contenu profond des paquets de données.

Mise en œuvre

  1. Intégration du flux réseau dans l'appliance WAF de l'entreprise.
  2. Politique de sécurité (Deep Packet Inspection) : Le WAF analyse la charge utile XML/SOAP pour détecter et bloquer les injections de code malveillant (injections SQL, XSS) au sein du flux de données.

Note importante concernant le calibrage

  • Sage X3 utilise des messages XML SOAP complexes. Pour éviter les "faux positifs" (blocage involontaire de factures légitimes), nous recommandons une phase initiale en mode d'apprentissage (Learning Mode).
  • Nous pouvons fournir un exemple de charge utile XML pour aider votre équipe de sécurité à calibrer les règles du WAF et autoriser les caractères standards utilisés dans la facturation.
5.5 Complexité de mise en œuvre et impact opérationnel

Le choix de la bonne architecture de sécurité est un équilibre entre l'atténuation des risques et les ressources informatiques disponibles. Le tableau comparatif suivant met en évidence l'effort requis pour la configuration et la maintenance.

Option A : Contrôle d'accès réseau

  • Complexité : Faible.
  • Compétences requises : Administration réseau standard.
  • Configuration : Déploiement rapide (généralement < 1 heure). Nécessite uniquement la configuration d'une règle de pare-feu classique.
  • Maintenance : Aucune maintenance continue n'est requise, sauf en cas de modification des adresses IP de l'infrastructure.

Option B : Filtrage applicatif (Reverse Proxy)

  • Complexité : Modérée.
  • Compétences requises : Administration système / gestion de serveur web (Nginx, IIS, HAProxy).
  • Configuration : Nécessite l'installation et la configuration d'un service proxy, la gestion de la terminaison SSL et l'écriture de règles de filtrage d'URL spécifiques.
  • Maintenance : Faible. Une fois la configuration stabilisée, elle nécessite très peu d'interventions.

Option C : WAF et inspection du contenu

  • Complexité : Élevée.
  • Compétences requises : Ingénieur sécurité senior / NetSecOps.
  • Configuration : Intégration complexe. Nécessite une phase d'apprentissage pour profiler le trafic applicatif légitime.
  • Maintenance : Élevée. Nécessite une surveillance continue pour gérer les "faux positifs" (factures légitimes bloquées par sécurité). Toute mise à jour du format Yooz ou du niveau de patch de Sage X3 peut nécessiter des ajustements de règles.
5.6 Rôles et responsabilités de mise en œuvre

La sécurité est une responsabilité partagée. Le tableau ci-dessous présente la répartition des tâches entre le client (ou son prestataire informatique), l’intégrateur et Yooz.

Composant / PérimètreDescription de la tâchePartie responsable
Certificat SSLFourniture et installation d'un certificat SSL public valide sur le point d'entrée (pare-feu/Proxy).Service informatique du client
Sécurité réseauConfiguration des règles de pare-feu (NAT) et des listes de contrôle d'accès (liste blanche d'IP).Service informatique du client
Sécurité applicativeConfiguration des règles du reverse proxy (option B) ou du WAF (option C).Service informatique du client
Configuration Sage X3Activation et paramétrage des pools de "services web classic SOAP" au sein de l'ERP.Intégrateur X3
Tests de connectivitéValidation du canal sécurisé (Telnet/Ping) et tests fonctionnels de transfert du connecteur.Yooz ou Client
Calibrage du WAFFourniture d'exemples de charges utiles XML pour aider au réglage des règles du WAF (si l'option C est choisie).Yooz ou intégrateur X3
5.7 Conclusion

En mettant en œuvre les mesures de sécurité décrites dans ce document, la connexion automatisée entre Yooz et Sage X3 peut être établie de manière pérenne sans compromettre l'intégrité ou la sécurité de votre système ERP.

Pour les clients sur site (On-Premise)
Pour les clients gérant leur propre infrastructure ou serveurs, la responsabilité de la sécurisation du flux entrant incombe entièrement à votre service informatique interne ou à votre infogéreur.
Bien que l'option A (Contrôle d'accès réseau) fournisse une base de départ fonctionnelle, nous recommandons fortement de mettre en œuvre au minimum l'option B (Reverse Proxy) pour tout environnement de production. Cette architecture offre le meilleur équilibre entre sécurité et exploitabilité en rendant l'interface utilisateur et le portail de connexion de l'ERP complètement inaccessibles depuis Internet.

Veuillez sélectionner l'architecture de votre choix (A, B ou C) et transmettre ces spécifications techniques (notamment les informations du chapitre 3) à votre administrateur réseau.

6. Paramètres de connexion sécurisée X3 vers Yooz

L’objectif est d’établir une communication sécurisée entre l'ERP Sage X3 et la plateforme Yooz. L'ancienne méthode d'authentification par login/mot de passe est obsolète ; elle est remplacée par le protocole OAuth 2.0 nécessitant trois paramètres obligatoires.

Étape 1 - Récupérer l'Application ID

Il s’agit de l’identifiant de l'environnement Yooz. L'application ID permet au connecteur d'indiquer à l'API sur quel dossier client (tenant) pointer.
Connectez-vous à l'application Yooz du client. Placez le curseur de votre souris (sans cliquer) sur le logo Yooz en haut à gauche de l'écran.
Une infobulle apparaît : repérez la ligne Application et copiez l'identifiant au format UUID (ex: 82f7576c-c88e-4868-bb51...)
Vous pouvez faire un CTRL+C lorsque l’infobulle est affichée, cela copie les informations, faites ensuite un coller dans un document texte.

Étape 2 : Récupérer les clés API (Client ID et Client Secret)

Ces deux clés constituent les identifiants sécurisés qui autorisent Sage X3 à interagir avec Yooz. Deux options pour les obtenir :

Option A (recommandée) : Demandez-les directement au chef de projet Yooz. Pour des raisons de sécurité, ils vous seront généralement transmis via un lien à usage unique (type One-Time Secret).

Option B (En autonomie) : Si vous avez les droits Administrateur dans Yooz, allez dans le menu Réglages > Interopérabilité > API publique (ou Code d'autorisation OAuth 2.0).

Cliquez sur le bouton pour obtenir les token API.

Vous obtenez les informations client id et client secret.

Dernier point, vous devez vérifier le partenaire autorisé. Pour cela, aller dans le menu Réglages > Interopérabilité > Logiciel tiers.

Puis sélectionnez votre code partenaire dans la liste

Si vous ne trouvez pas votre code partenaire dans la liste, vous pouvez sélectionner ‘Deveho’.

Étape 3 : Renseigner les paramètres de connexion dans Sage X3

C'est ici que vous insérez les trois valeurs récupérées précédemment pour activer le lien.
Dans Sage X3, naviguez vers : Paramétrage > Paramètres généraux > Valeurs paramètres

Sélectionnez le chapitre EXAPP (Applications externes)

Dépliez les détails et sélectionnez le groupe YOOZ
Renseignez strictement les trois paramètres suivants :
XRJ31APPID (applicationId) = Collez l'application ID
XRJ31CLIID (Yooz Client Id) = Collez le client ID
XRJ31CLISC (Yooz Client Secret) = Collez le client secret

Conseil pratico-pratique

Lors du copier-coller des identifiants (particulièrement le client secret), assurez-vous de ne laisser aucun espace vide (ni avant, ni après la chaîne de caractères) sous peine de déclencher une erreur "401 - Invalid client credentials" lors des tests de communication.

Étape 5 : Vérification des services web REST

Les 2 services web REST utiles pour le connecteur doivent déjà être présents sur la solution Sage X3. Si ce n’est pas le cas, vous pouvez les obtenir par import des fichiers Json. Ceci est décrit dans le chapitre 3-Installation technique et mises à jour.
Par défaut, ils sont codés XRJ31YOOZ et XRJ31TOKEN.

Vous devez vérifier que ces services web pointent bien (URL de base) vers l'URL de l’application Yooz du client.
Les URL des applications Yooz peuvent être
https://eu1.getyooz.com
https://preproduction1v2.getyooz.com
https://us1.getyooz.com
https://uspreproduction1.getyooz.com

Il faut donc 2 services web REST dans X3 qui comportent la racine de l’application Yooz du client avec les suffixes suivants
/yooz/v2/api/
/auth/realms/yooz/protocol/openid-connect/token

Exemple pour une application Yooz en
https://eu1.getyooz.com

🚨IMPORTANT

Dans le cas où une même solution Sage X3 comporterait des dossiers qui ne communiquent pas avec la même application Yooz, il est possible de :

  • Déclarer 2 nouveaux services web qui pointent vers la 2ème instance Yooz (avec une autre url)
  • Renseigner, dans les valeurs paramètres XRJ31RESTT et XRJ31RESTY (chapitre “EXAPP”, groupe “YOOZ”), les codes de ces services web

Il est indispensable de créer ces nouveaux services web mutualisés sur une solution X3, et utilisables par tous les dossiers.

Le connecteur se comporte alors comme cela : il prend en priorité les services web qui sont définis dans les valeurs paramètre. Si les valeurs paramètres sont vides, il appelle “en dur” les services web XRJ31YOOZ et XRJ31TOKEN.
Les informations Client Id et Client Secret sont stockées au niveau dossier, il est donc tout à fait possible d’avoir des valeurs différentes par dossier.

Étape 6 : Vérification et dépannage

Si vous avez renseigné correctement toutes les informations, vous pouvez effectuer une vérification de la connectivité Sage X3 vers Yooz.

Pour cela, lancer la fonction XRJ31CTR Contrôle connecteur Yooz, via le menu Exploitation > Imports/Exports.
La trace affiche le statut de la communication sortante (X3 => Yooz).

Si la trace affiche “Succès” cette partie est validée.
Et si la trace affiche une erreur 401, vous devez contacter votre interlocuteur Yooz car des paramétrages sur Yooz doivent être ajustés.

3-Installation technique et Mises à jour

Contexte et objectif

Ce chapitre décrit l’installation technique du connecteur Yooz pour Sage X3. La procédure s’appuie sur les fonctions standard de Sage X3 et s’applique aux versions courantes de Sage X3 v12. L’installation est réalisée par intégration de patchs X3 en couche verticale, complétée par l’import de fichiers JSON, la création d’une tâche récurrente et le paramétrage du pool de Web Services SOAP.

Ce chapitre précise les modes opératoires pour :

Ce document intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

Prérequis et préparation

Avant de débuter l'installation technique du connecteur, il est impératif d'avoir généré et intégré le fichier Serial Yooz sur la solution Sage X3 de votre client (voir 0-Obtention et activation du serial).

  • Droits nécessaires : Se connecter à Sage X3 avec un compte ADMIN ou un utilisateur possédant le badge ERPDEV.
  • Langue de session : Standard (ENG ou FRA).
  • Disponibilité système : L'installation complète ne prend pas plus que 3 heures.
🚨IMPORTANT

L'étape 1 du déploiement (Mise à jour des tables standards) est la seule opération qui exige la déconnexion totale de tous les utilisateurs. Les étapes suivantes peuvent être réalisées avec des sessions actives.

Mode opératoire

1 Téléchargement du package d’installation

  1. Télécharger le fichier pour l’installation (fichier ZIP)

📄 Télécharger le pack d'installation V12

Format : .zip  — Taille : 12.8 MB  — Version : v1.90
  1. Le mot de passe pour le fichier ZIP est transmis avec le fichier serial, si ce n’est pas le cas vous pouvez revenir vers votre contact Yooz.
Versioning

Les informations relatives au versioning du connecteur Yooz pour Sage X3 sont disponibles dans la section Release Notes du site web. Cela permet de consulter les versions disponibles du connecteur, ainsi que les informations associées aux évolutions, corrections ou mises à jour publiées.

2 Intégration des patchs

Préparation des fichiers patchs (optionnel)

Cette étape est optionnelle. Elle est nécessaire uniquement si les patchs doivent être intégrés depuis le serveur d’application Sage X3.

1. Copier l’archive récupérée à l’étape précédente dans le sous-répertoire <PATCH> du dossier cible X3.

2. Décompresser l’archive dans ce répertoire.

3. Vérifier que les répertoires Step1, Step2, Step3, Step4, Json (ou Step5 selon la version du patch) et le fichier PatchFiles.xlsx sont présents dans le package.

NOTE : Si l’accès au serveur d’application X3 n’est pas disponible, l’intégration de patch peut être effectuée avec le type de destination Client. Dans ce cas, les fichiers sont intégrés un par un depuis le poste de travail.

Intégration des 3 premiers patchs

Les trois premières étapes d’intégration s’effectuent depuis la même fonction Sage X3.

1. Ouvrir la fonction Intégration de patchs par le menu : Développement > Utilitaires > Patchs > Intégration de patch (fonction PATCH)

2. Pour chaque étape, renseigner le champ Patch avec le chemin correspondant, puis lancer l’intégration.

ÉtapeChemin à renseigner dans le champ PatchPoint de vigilance
Step1[PATCH]/YoozConnectorSageX3-Installation/Step1Cette étape met à jour des tables standards. Elle doit impérativement être réalisée sans aucune session utilisateur active.
Step2[PATCH]/YoozConnectorSageX3-Installation/Step2Peut être réalisée avec des sessions utilisateurs actives.
Step3[PATCH]/YoozConnectorSageX3-Installation/Step3Peut être réalisée avec des sessions utilisateurs actives.

3. Lancer l’intégration du patch puis attendre l’affichage de la trace avant de continuer.

La trace ne doit contenir ni warning ni erreur. Si une anomalie est présente, elle doit être analysée et corrigée avant de poursuivre l’installation.

Intégration du patch Step4 - Mise à jour des objets standards

Le Step4 concerne la mise à jour d’éléments standards, principalement des écrans standards Sage X3.

Le fichier PatchFiles.xlsx, disponible dans le répertoire de documentation du package, permet d’identifier les objets concernés par Step4.

Deux approches sont possibles :

Option 1 - intégration par patch : à privilégier lorsque le niveau de patch Sage X3 est compatible avec le patch fourni.

Option 2 - mises à jour manuelles : à privilégier si la solution Sage X3 n’est pas au dernier niveau de patch, ou si les objets standards ont déjà été adaptés. Dans ce cas, les modifications sont saisies manuellement à partir du fichier PatchFiles.xlsx.

Option 1 - Intégration du patch Step4

1. Ouvrir la fonction Intégration de patchs par le menu : Développement > Utilitaires > Patchs > Intégration de patch (fonction PATCH)

2. Renseigner le champ Patch tel que [PATCH]/YoozConnectorSageX3-Installation/Step4

3. Lancer l’intégration du patch puis attendre l’affichage de la trace avant de continuer.

La trace ne doit contenir ni warning ni erreur. Si une anomalie est présente, elle doit être analysée et corrigée avant de poursuivre l’installation.

Option 2 - Mises à jour manuelles

1. Ne pas intégrer le patch Step4 dans Sage X3.

2. Ouvrir le fichier PatchFiles.xlsx et appliquer manuellement les modifications listées pour les objets cochés en Step4.

3. Après saisie des modifications, valider les objets concernés et vérifier qu’aucune erreur de validation n’est présente.

3 Import des fichiers JSON

Cette étape peut être réalisée à tout moment, avec des sessions utilisateurs actives.

Ouvrir l’assistant d’import par le menu : Administration > Utilitaires > Imports > Outils d’import

1. Sélectionner l’option Client JSON file.

2. Cliquer sur Select file.

3. Sélectionner un fichier JSON dans le répertoire Json du package d’installation. Selon le package utilisé, le répertoire peut aussi être indiqué comme Step5.

4. Répéter l’opération pour chaque fichier JSON à importer.

5. Se reconnecter à Sage X3 après l’import. Les nouveaux menus Yooz deviennent alors disponibles. Ils peuvent être retrouvés en saisissant Yooz dans la barre de recherche du menu.

4 Création de la tâche récurrente XRJ31EXE

La tâche et la tâche récurrente ne sont pas livrées par patch, car ces données sont stockées dans le dossier X3. Cette tâche permet d’automatiser les traitements de synchronisation du connecteur Yooz X3, afin d’assurer les échanges réguliers entre Sage X3 et Yooz via les Web Services.

  1. Créer d’abord la tâche batch dans la fonction : Exploitation > Serveur batch > Gestion des tâches (fonction GESABT)

  2. Créer une tâche de code XRJ31EXE, basée sur la fonction XRJ31EXE.

  1. Créer ensuite la tâche récurrente : Exploitation > Serveur batch > Gestion des abonnements (fonction GESABA)

  2. Créer une tâche récurrente basée sur la tâche XRJ31EXE. Elle doit être planifiée avec une fréquence élevée afin de maintenir une bonne synchronisation entre Sage X3 et Yooz.

🚨IMPORTANT

Ne pas activer immédiatement la tâche récurrente. L’activation doit être synchronisée avec les actions fonctionnelles et avec l’équipe projet.

5 Paramétrage du user Yooz (dans les modules Administration et Paramétrage)

Cette étape permet de préparer le compte technique utilisé par le connecteur et par les appels Web Services. Le compte doit être disponible dans l’administration Sage X3 / Syracuse et rattaché au bon endpoint.

1. Ouvrir Administration > Administration > Utilisateurs.

2. Créer ou contrôler le user technique Yooz prévu pour le connecteur.

3. Renseigner les endpoints nécessaires. Le user doit pouvoir accéder au dossier X3 concerné.

4. Ajouter les groupes et rôles nécessaires selon la politique d’habilitation du client.

5. Vérifier que le compte est actif et que le mot de passe est connu au moment de créer le pool de Web Services.

🚨IMPORTANT

Le user technique utilisé par le pool SOAP doit être stable. Éviter les comptes nominatifs, car une désactivation utilisateur ou un changement de mot de passe peut interrompre les flux Yooz vers Sage X3.

Le user Yooz doit également être contrôlé dans les fonctions de paramétrage X3. Il est utilisé dans les propriétés objets lors des retours ou des imports depuis l’application Yooz.

1. Ouvrir Paramétrage > Utilisateurs > Utilisateurs (fonction GESAUS).

2. Créer ou contrôler l’utilisateur YOOZ utilisé par le connecteur.

3. Ajouter l’adresse e-mail de workflow lorsque le projet prévoit l’envoi de notifications ou de traces.

4. Contrôler les habilitations X3, l’accès au dossier et les droits nécessaires sur les objets traités par le connecteur.

5. Enregistrer puis valider l’utilisateur si la fonction le demande.

NOTE : Le user Yooz doit être cohérent entre l’administration Syracuse, le setup X3 et le pool de Web Services. Les écarts de droits entre ces trois niveaux sont une cause fréquente d’erreurs de connexion ou de traitements en échec.

7 Création du Pool de Web Services SOAP Yooz

Le pool de Web Services SOAP permet à Yooz d’appeler les Web Services Sage X3. Il s’agit du point technique utilisé par les flux entrants depuis Yooz vers X3, notamment pour les imports ou retours gérés par le connecteur.

Ouvrir la fonction : Administration > Administration > Web services.

1. Ajouter l’endpoint correspondant au dossier Sage X3 concerné.

2. Ajouter un user disposant des droits nécessaires. Le user doit être celui préparé dans les étapes précédentes ou un compte technique équivalent.

3. Créer un pool par endpoint. Lorsque plusieurs dossiers ou endpoints sont exposés, chacun doit disposer de son propre pool.

4. Renseigner un alias de pool explicite. Cet alias est communiqué à Yooz avec le mot de passe associé.

5. Contrôler que le user du pool dispose de droits suffisants pour exécuter les services nécessaires au connecteur.

6. Enregistrer la configuration du pool et vérifier qu’aucune erreur n’est signalée dans l’administration.

Après la création du pool, effectuer une publication globale depuis la fonction GESAWE de tous les Web Services AOWS*. Cette publication rend les Web Services nécessaires disponibles pour les appels SOAP du connecteur.

1. Ouvrir la fonction Développement > Dictionnaire des scripts > Scripts > Web services (fonction GESAWE)

2. Filtrer les Web Services AOWS*.

3. Lancer la publication globale.

4. Contrôler que la publication est terminée sans erreur.

🚨IMPORTANT

Transmettre à Yooz uniquement les éléments nécessaires : l’URL SOAP publiée, le code alias du pool et le mot de passe associé. Ne pas transmettre de captures contenant des secrets ou des mots de passe visibles.

NOTE : Le chemin SOAP attendu par Yooz doit être accessible depuis l’extérieur selon l’architecture validée : /soap-generic/syracuse/collaboration/syracuse/CAdxWebServiceXmlCC. Lorsque l’accès passe par un reverse proxy, vérifier que ce chemin est bien routé vers Sage X3.

8 Ajout du badge YOOZ aux Rôles

Le badge YOOZ est créé lors de l’intégration du serial. Il doit être ajouté aux rôles des utilisateurs qui exploitent le connecteur, ainsi qu’au rôle utilisé par le compte technique ou par le serveur batch.

1. Ouvrir Administration > Utilisateurs > Rôles.

2. Identifier les rôles utilisés par les utilisateurs du connecteur Yooz X3.

3. Ajouter le badge YOOZ aux rôles concernés.

4. Ajouter également le badge YOOZ au rôle affecté au compte utilisé par le serveur batch et/ou le pool Web Services.

5. Demander une reconnexion des utilisateurs si nécessaire afin que les nouveaux droits soient pris en compte.

🚨IMPORTANT

Ne pas oublier le rôle du batch server. Si le badge YOOZ n’est pas affecté au compte qui exécute XRJ31EXE, les traitements automatiques peuvent échouer même si les utilisateurs interactifs disposent des droits nécessaires.

9 Étape complémentaire : Patch Hotfix

Le package d’installation peut contenir un sous-répertoire Hotfix. Cette étape est à réaliser uniquement si des fichiers sont présents dans ce répertoire.

1. Contrôler dans le package la présence du répertoire Hotfix.

2. S’il contient des fichiers, ouvrir la fonction Intégration de patchs : Développement > Utilitaires > Patchs > Intégration de patch (fonction PATCH).

3. Renseigner le champ Patch avec le chemin [PATCH]/YoozConnectorSageX3-Installation/Hotfix.

4. Lancer l’intégration du patch, puis attendre l’affichage de la trace avant de continuer.

5. Analyser la trace. Elle ne doit contenir ni warning ni erreur.

NOTE : L’étape Hotfix suit la même logique que les patchs Step2 ou Step3 : intégrer, attendre la trace, puis traiter toute anomalie avant de poursuivre.

10 Paramètres techniques de connexion Yooz

La méthode d’authentification disponible avec Yooz est basée sur Client ID / Client Secret. L’équipe Yooz doit autoriser Deveho comme partenaire, définir les droits dans l’application Yooz et communiquer les identifiants nécessaires au projet.

10.1 Paramètres de connexion

Ouvrir la fonction : Paramètres > Paramètres généraux > Valeurs paramètres (fonction ADPVAL), chapitre EXAPP, groupe YOOZ.

ParamètreRôle / utilisationVigilance
XRJ31APPIDIdentifiant de l’application Yooz appelée par Sage X3.Valeur fournie par le PM Yooz. Obligatoire.
XRJ31CLIIDIdentifiant client utilisé pour l’authentification API / OAuth.Si incorrect : authentification refusée.
XRJ31CLISCSecret client utilisé avec le Client ID.Donnée confidentielle à ne pas exposer dans les captures.
XRJ31URLDOURL Yooz de l’environnement cible : test, préproduction ou production.Vérifier que l’URL correspond bien aux identifiants fournis.
XRJ31TIMZOFuseau horaire utilisé dans les échanges, ex. Europe/Paris.Si incorrect : risque de décalage de dates/heures.
XRJ31USRLALangue utilisée dans les échanges, ex. fr ou en.Si incorrect : langue inattendue côté Yooz.
🚨IMPORTANT

Avant tout test de flux, vérifier que l’URL Yooz, l’Application ID, le Client ID et le Client Secret correspondent au même environnement. Un mélange de valeurs test et production peut envoyer des données au mauvais environnement.

10.2 Options Curl et configuration proxy

Lors de l’envoi de certains documents, comme les commandes d’achat ou les réceptions, le connecteur utilise une commande Curl pour communiquer avec Yooz. Le paramètre XRJ31CURLO permet d’ajouter des options techniques à la requête.

1. Ouvrir Paramètres > Paramètres généraux > Valeurs paramètres (chapitre EXAPP, groupe YOOZ).

2. Renseigner le paramètre XRJ31CURLO uniquement si une option technique est nécessaire.

3. Dans le cas d’un réseau protégé par un proxy, utiliser une option de type : -x <[protocol://][user:password@]proxyhost[:port]>.

4. Tester l’envoi d’un document après modification afin de contrôler que le proxy ou l’option ajoutée ne bloque pas l’appel Yooz.

🚨IMPORTANT

Ne pas renseigner d’option Curl sans validation de l’équipe infrastructure. Une option incorrecte peut bloquer tous les flux sortants REST vers Yooz.

10.3 Gestion de deux applications Yooz sur un même environnement X3

Lorsque le même environnement X3 porte plusieurs dossiers, par exemple un dossier de test et un dossier de production, il peut être nécessaire de gérer deux applications Yooz distinctes depuis le même environnement technique.

1. Ouvrir Administration > Administration > Web services > Rest web services.

2. Dupliquer les deux Web Services REST avec un nouveau code lorsque le projet nécessite deux applications Yooz.

3. Renseigner ensuite les valeurs paramètres dédiées dans Paramètres > Paramètres généraux > Valeurs paramètres (chapitre EXAPP, groupe YOOZ).

4. Utiliser XRJ31RESTT et XRJ31RESTY pour indiquer les codes de Web Services REST à utiliser pour l’application Yooz complémentaire.

5. Si les environnements Sage X3 sont séparés physiquement ou techniquement, ces paramètres spécifiques ne sont généralement pas nécessaires

🚨IMPORTANT

Lorsque deux applications Yooz doivent être alimentées depuis le même dossier X3, contrôler XRJ31RESTT et XRJ31RESTY avant les reprises de référentiels et avant l’activation de XRJ31EXE.

11 Procédure de mise à jour automatique du connecteur (XRJ31UPD)

La fonction Yooz connector update permet de mettre à jour le connecteur depuis Sage X3. Elle doit être utilisée lorsque la version cible du connecteur nécessite une mise à jour du noyau du connecteur, de certains champs techniques, d’index, d’écrans standards ou de fonctions complémentaires.

Ouvrir la fonction : Usage > Imports / exports > Yooz connector update (fonction XRJ31UPD).

  1. Mettre à jour le noyau spécifique du connecteur Yooz X3.

  2. Ajouter les champs et index manquants sur les tables standards lorsque la version cible le requiert.

  3. Ajouter les champs nécessaires sur les écrans standards concernés.

  4. Ajouter les fonctions complémentaires livrées dans la version cible : Importer les fichiers JSON associés à la nouvelle version via Administration > Utilitaires > Imports > Outils d’import.

NOTE : Si le client ne souhaite pas patcher les éléments standards, appliquer manuellement les modifications décrites dans le fichier PatchFiles.xlsx.

12 Paramètre complémentaire côté Yooz

Une étape complémentaire peut être nécessaire dans l’application Yooz, notamment pour les retours de paiement vers Sage X3.

1. Ouvrir l’application Yooz avec un utilisateur disposant des droits d’administration nécessaires.

2. Accéder à la section Advanced parameters.

3. Contrôler le paramètre relatif à la réimportation d’un fichier avec le même checksum.

4. Positionner le paramètre à Off lorsque le flux de retour de paiement Yooz vers Sage X3 l’exige.

5. Valider le changement avec le chef de projet Yooz avant de lancer les tests de feedback paiement.

🚨IMPORTANT

Ce paramètre est côté Yooz. Il doit être modifié uniquement lorsque le flux projet le nécessite et après validation par l’équipe Yooz.

4-Synchronisation des Référentiels

Contexte et objectif

Ce chapitre décrit le paramétrage fonctionnel et le mode opératoire permettant d'initialiser les référentiels Yooz à partir de Sage X3, puis de maintenir ces référentiels à jour via le connecteur Yooz X3.

Le principe général est le suivant : les données de référence restent administrées dans Sage X3, les codes organisation Yooz nécessaires sont renseignés dans les fonctions X3, puis les enregistrements sont transmis à Yooz par les fonctions d'usage du connecteur.

Ce chapitre précise les modes opératoires pour :

  • Contrôler les prérequis issus de l'installation technique du connecteur.

  • Paramétrer les fonctions X3 qui pilotent l'envoi des référentiels.

  • Lancer une reprise massive des données de base depuis X3 vers Yooz.

  • Exécuter le Web Service Yooz et vérifier les interfaces générées.

Ce document intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

Prérequis et préparation

Avant de démarrer la synchronisation des référentiels, il est impératif de vérifier que l'installation technique du connecteur soit terminée sur le dossier Sage X3 concerné.

  • Droits nécessaires : se connecter à Sage X3 avec un compte ADMIN ou un utilisateur disposant des habilitations nécessaires sur les fonctions de paramétrage et d'usage du connecteur.

  • Connexion Yooz : disposer des informations communiquées par le chef de projet Yooz : identifiant d'application, identifiants client, URL cible, langue, fuseau horaire et options techniques éventuelles.

  • Préparation Yooz : les organisations et les axes analytiques attendus doivent être créés ou validés côté Yooz avant l'envoi des référentiels correspondants depuis X3.

  • Traçabilité : activer temporairement la génération des fichiers d'appel si une analyse détaillée des flux est nécessaire pendant le setup.

🚨IMPORTANT

L'activation de la tâche récurrente doit être réalisée uniquement après validation de la reprise initiale. Avant cette validation, privilégier des lancements manuels par objet afin de contrôler les volumes et les éventuelles erreurs.

Référentiels concernés

Le tableau ci-dessous synthétise les référentiels à préparer, les fonctions X3 associées et le comportement attendu côté Yooz.

RéférentielFonction / menu X3Objet interfaceParamétrage clé
Sociétés / SitesParamétrage > Structure organisationnelle > SitesOrganisations YoozRenseigner le code organisation Yooz sur le site X3 ; vérifier le site financier et les codes achat / vente.
UtilisateursParamétrage > Utilisateurs > UtilisateursAUSCocher Yooz sur les utilisateurs à transmettre ; vérifier l'adresse email et les droits associés.
FournisseursDonnées de base > Tiers > FournisseursBPSParamétrer la catégorie fournisseur : code organisation Yooz, formule éventuelle et case Yooz.
ClientsDonnées de base > Tiers > ClientsBPCParamétrer la catégorie client : code organisation Yooz, formule éventuelle et case Yooz.
Plans de comptes / ComptesParamétrage > Structure organisationnelle > Plan de comptesCOA / GACCocher Yooz sur le plan ; renseigner les organisations Yooz et la formule de filtre si nécessaire.
Axes analytiques / SectionsDonnées de base > Tables comptables > Analytique > Sections analytiquesCCECréer l'axe dans Yooz, cocher Yooz sur le type de dimension et contrôler les sections à envoyer.
Taux de taxesDonnées de base > Tables communes > Taxes > Taux de taxeTVTCocher Yooz sur les taux à transmettre ; vérifier la législation, le type de taxe et la règle de taxe.
Conditions de paiementDonnées de base > Tables tiers > Conditions de paiementTPTCocher Yooz ; renseigner le code organisation Yooz ou le référentiel globalisé attendu (YZ_PAYMENT_METHOD).
Articles / Produits Catégorie articleDonnées de base > Articles > Articles / Catégorie articleITM / ITGSelon le périmètre achat, paramétrer la catégorie produit : code organisation Yooz ou référentiel globalisé (YZ_ITEM), formule éventuelle et case Yooz. Seuls les produits actifs sont transmis.

Remarque : Les articles de frais ou de service peuvent également être envoyés lorsque le périmètre achat nécessite des lignes hors référence achat dans Yooz. Ce point est à valider selon le flux projet.

Mode opératoire

1 Paramétrer les valeurs générales

  1. Ouvrir la fonction Valeurs paramètres par le menu Paramètres > Paramètres généraux > Valeurs paramètres (fonction ADPVAL)

  2. Renseigner le chapitre EXAPP et le groupe YOOZ. Les valeurs de connexion sont communiquées par le chef de projet Yooz et doivent être saisies au niveau dossier, sauf instruction contraire.

ParamètreTypeValeur à renseignerRôle / utilisationResponsable / vigilance
XRJ31FILGNTraçabilitéYes en setup / recette ; No en production sauf besoin d’analyseGénère les fichiers JSON envoyés à Yooz afin de faciliter l’analyse des fluxConsultant X3 — recommandé temporairement. À désactiver si la conservation des fichiers n’est plus nécessaire
XRJ31PURGETraçabilitéNombre de jours de rétention souhaité. 0 = conservation illimitée.Définit la durée de conservation des éléments générés ou conservés par le connecteur.Client / Consultant X3 — à définir selon la politique de conservation. Éviter 0 en production sauf besoin explicite (ou accumulation de traces)

2 Paramétrer les sociétés / sites et les organisations Yooz

Dans le connecteur, le site X3 est le point de rattachement opérationnel vers l'organisation Yooz. Les sites financiers X3 correspondent généralement aux organisations Yooz; les sites non financiers peuvent être rattachés à une organisation Yooz lorsque les exports sont réalisés via le site financier.

1. Ouvrir la fonction Sites : Setup > Organizational Structure > Sites (Fonction GESFCY)

2. Contrôler le site, la société légale, le pays, le numéro fiscal et le statut de site financier.

3. Renseigner le code organisation Yooz correspondant. Selon le périmètre, distinguer le code d'organisation achat et le code d'organisation vente.

4. Vérifier que le code saisi existe bien côté Yooz et qu'il respecte la casse et le format attendu.

Cas 1 : Site non financier rattaché à un site financier

Cas 2 : Site financier direct

🚨IMPORTANT

Le code organisation Yooz est un identifiant de rapprochement. Il doit être stable et identique entre Sage X3 et Yooz ; toute divergence génère des erreurs de synchronisation ou des données rattachées à la mauvaise organisation.

3 Paramétrer les utilisateurs X3 à envoyer à Yooz

Les utilisateurs X3 peuvent être transmis à Yooz afin d’être créés ou mis à jour côté Yooz. Un utilisateur technique YOOZ doit également être préparé pour être utilisé dans les propriétés objets lors des retours ou des imports depuis Yooz.

  1. Ouvrir Paramétrage > Utilisateurs > Utilisateurs (fonction GESAUS).

  2. Créer ou contrôler l’utilisateur technique YOOZ utilisé par le connecteur.

  3. Vérifier l’adresse e-mail de workflow si elle est requise par le projet.

  4. Cocher Yooz sur les utilisateurs X3 à transmettre à Yooz.

  5. Contrôler que chaque utilisateur transmis possède une adresse e-mail valide et des droits cohérents.

  6. Dans l’administration Syracuse, vérifier les endpoints et groupes associés à l’utilisateur technique.


⚙️VALEURS PARAMÈTRES UTILES
XRJ31USRLA : langue transmise dans la création / mise à jour utilisateur Yooz.
XRJ31TIMZO : fuseau horaire transmis pour l’utilisateur Yooz

🚨IMPORTANT

La case Yooz pilote l’envoi de l’utilisateur vers Yooz. Cocher la case crée ou met à jour l’utilisateur côté Yooz ; la décocher peut entraîner une suppression ou une désactivation selon le comportement du connecteur. Valider l’effet attendu avant toute modification de masse.

4 Paramétrer les axes analytiques et les sections

Les axes analytiques X3 sont envoyés vers Yooz sous forme de dimensions. La création ou la validation de l'axe côté Yooz est un prérequis avant l'import des sections analytiques.

  1. Ouvrir Paramétrage > Structure organisationnelle > Types de dimensions (fonction GESDIE).

  2. Cocher la case “Yooz” pour les dimensions voulues

  3. Renseigner le code Yooz de l’axe lorsque l’axe doit être envoyé.

  4. Ajouter une formule Yooz si seules certaines sections doivent être incluses ou exclues.

  5. Renseigner le code de jeu de dimensions Yooz lorsque plusieurs axes ou jeux de dimensions sont gérés.

  1. Contrôler les sections dans Données de base > Tables comptables > Analytique > Sections analytiques (fonction GESCCE).

🚨IMPORTANT

Ne pas lancer la reprise CCE à ce stade si le paramétrage de l’axe n’a pas encore été validé. La reprise CCE envoie les sections analytiques vers Yooz. Elle doit donc être exécutée seulement après validation du type d’axe analytique et du mapping attendu côté Yooz.

5 Paramétrer les plans de comptes et les comptes comptables

Le plan de comptes X3 pilote l'envoi des comptes vers Yooz. En présence de plusieurs plans, le mapping des organisations Yooz et les règles de propagation entre plans doivent être clarifiés pendant le setup.

  1. Ouvrir Paramétrage > Structure organisationnelle > Plans de comptes (fonction GESCOA).

  2. Cocher Yooz sur le ou les plans de comptes concernés.

  3. Renseigner les codes organisations Yooz si plusieurs organisations ou référentiels sont utilisés.

  4. Séparer plusieurs codes par un point-virgule lorsque le paramétrage projet le prévoit.

  5. Ajouter une formule Yooz si seuls certains comptes doivent être envoyés.

  1. Contrôler les comptes dans Données de base > Tables comptables > Générale > Comptes (fonction GESGAC).

Exemple : Une formule peut être utilisée pour exclure des classes de comptes non utilisées dans Yooz ou pour limiter l'envoi au périmètre achat / vente défini pendant le cadrage.

6 Paramétrer les taux de taxes et les conditions de paiement

Les taux de taxes et les conditions de paiement sont des référentiels utilisés par les flux factures. Ils doivent être cohérents entre Sage X3 et Yooz avant de tester les flux achats, finance ou ventes.

Taux de taxes
  1. Ouvrir Données de base > Tables communes > Taxes > Taux de taxe (fonction GESTVT).

  2. Cocher Yooz sur les taux à transmettre.

  3. Contrôler la législation et le code taxe. Le code transmis à Yooz est généralement construit sous la forme LEG_TAXE.

  4. Vérifier les cas d’autoliquidation / intracommunautaire : ils peuvent être matérialisés côté Yooz avec un type de taxe spécifique.

  5. Contrôler les taux négatifs : le taux peut être envoyé en valeur positive avec un indicateur de taxe négative.

  6. Valider le pourcentage de TVA récupérable lorsque le périmètre l’exige.

Conditions de paiement
  1. Ouvrir Données de base > Tables tiers > Conditions de paiement (fonction GESTPT).

  2. Cocher Yooz sur les conditions de paiement à transmettre.

  3. Renseigner les codes organisations Yooz si le référentiel n’est pas globalisé.

  4. Si la législation est renseignée, contrôler la restriction attendue sur les organisations Yooz correspondant aux sociétés et sites financiers concernés.

  5. Vérifier que les modes de règlement historiques ne sont pas confondus avec les conditions de paiement : le flux standard utilise GESTPT.

7 Paramétrer les fournisseurs et les clients

Les tiers sont pilotés par leur catégorie. La catégorie définit l’activation Yooz, les organisations Yooz cibles, la formule de filtrage et, le cas échéant, le mode référentiel dédié ou globalisé.

⚙️VALEURS PARAMÈTRES UTILES
XRJ31SIRET : active l’envoi du SIRET / SIREN vers Yooz lorsque le projet le demande.
XRJ31IBANT : détermine si les IBAN fournisseurs doivent être envoyés à Yooz. À activer uniquement si le périmètre le justifie, car il s’agit de données sensibles.

Fournisseurs
  1. Ouvrir Données de base > Tiers > Catégories fournisseurs (fonction GESBSG).

  2. Cocher Yooz sur les catégories fournisseurs à transmettre.

  3. Renseigner les codes organisations Yooz ou le référentiel globalisé prévu (YZ_SUPPLIER)

  4. Ajouter une formule Yooz si certains fournisseurs de la catégorie doivent être exclus.

  5. Préciser le comportement référentiel dédié si le périmètre fournisseur est géré par organisation.

  1. Contrôler les fiches dans Données de base > Tiers > Fournisseurs (fonction GESBPS).

Cas particulier : Exceptions Tiers / Société (GESBPR)

Lorsque le périmètre fournisseur est géré par organisation et que des exceptions existent, le connecteur s'adapte automatiquement.

  • Mécanisme de bascule : Dès qu'une exception Tiers/Société est détectée, le système ignore les données standards de la fiche Fournisseur (GESBPS) pour privilégier les données de la fiche Tiers (GESBPR - table BPEXCEPT).

  • Création multiple : Le connecteur génère autant de fiches fournisseurs dans Yooz qu'il y a d'exceptions.

  • Données substituées : Pour chaque site mappé, les valeurs transmises à Yooz proviennent de l'exception (régime de taxe, condition de paiement, escompte, code comptable).

Vigilance

Un contrôle rigoureux des fournisseurs multi-sociétés dans GESBPR est impératif avant de lancer la reprise de données initiale.

Clients
  1. Ouvrir Données de base > Tiers > Catégories clients (fonction GESBCG).

  2. Renseigner le code organisation Yooz ou le référentiel globalisé prévu (YZ_CUSTOMERS).

  3. Ajouter une formule Yooz si certains clients doivent être exclus.

  4. Cocher Yooz sur les catégories à transmettre.

  1. Contrôler ensuite les fiches dans Données de base > Tiers > Clients (fonction GESBPC).

🚨IMPORTANT

La désactivation d’une catégorie ou d’un tiers déjà transmis peut générer une demande de suppression ou d’inactivation côté Yooz selon le comportement du connecteur. Valider l’effet attendu avant toute modification de masse.

8 Paramétrer les articles / produits (utile dans le cadre du flux d’achat)

Les articles / produits ne sont nécessaires que lorsque le périmètre achat prévoit l’envoi de produits vers Yooz, par exemple pour gérer des lignes hors référence achat ou des articles de frais / service.

  1. Ouvrir Données de base > Articles > Catégories articles (fonction GESITG).

  2. Renseigner le code organisation Yooz cible pour un référentiel dédié, ou le code globalisé prévu par le projet.

  3. Ajouter une formule Yooz pour inclure ou exclure certains articles de la catégorie.

  4. Cocher Yooz sur les catégories articles à transmettre.

  1. Contrôler les fiches articles : seuls les produits actifs doivent être envoyés.

🚨IMPORTANT

Ne pas intégrer les articles dans le périmètre si les flux achat du projet n’en ont pas besoin.

9 Lancer la reprise initiale et contrôler les interfaces

La reprise initiale sert à envoyer vers Yooz les référentiels déjà existants dans X3 et qui répondent aux critères configurés.
Elle doit être utilisée après le paramétrage manuel des référentiels, et avant l’activation des traitements récurrents.

À savoir

La reprise n’est pas un outil de paramétrage. Elle se contente d'envoyer les données ERP déjà éligibles selon les cases Yooz cochées, les codes organisations, les formules et les statuts actifs. Une mauvaise formule ou un code organisation erroné se répercutera immédiatement sur la volumétrie envoyée.

Un utilitaire important d’initialisation est la fonction pour forcer l'horodatage (fonction XRJ31YOOZFLG) : Cette fonction est utilisée exclusivement pour les clients qui exploitent déjà l'application Yooz avant l'installation du connecteur. Simule un premier envoi pour empêcher le renvoi massif de l'historique et éviter les doublons.

⚙️VALEURS PARAMÈTRES UTILES
XRJ31FILGN : positionner à Oui pendant les tests si les fichiers JSON doivent être téléchargés pour analyse.
XRJ31PURGE : contrôle la rétention des éléments de suivi lorsque la purge est activée.
XRJ31RESTT / XRJ31RESTY : à contrôler avant reprise si deux applications Yooz sont alimentées depuis le même dossier X3

  1. Contrôler que les organisations Yooz, axes et référentiels attendus existent côté Yooz.

  2. Vérifier les cases Yooz, les formules et les codes organisation sur chaque fonction X3 concernée.

  3. Ouvrir Usage > Imports/Exports > Reprise données référentielles Yooz (fonction XRJ31YOOZREP).

  4. Lancer la reprise uniquement sur les objets validés pendant le setup

  1. Exécuter le Web Service Yooz via la fonction XRJ31EXE ou le traitement prévu.

  2. Contrôler les interfaces dans Exploitation > Imports/Exports > Interfaces Yooz (fonction XRJ31YOOZINT).

    • La fonction Interfaces Yooz permet de suivre les enregistrements présents dans la table XRJ31YOOZSUI. Elle doit permettre de filtrer par objet, événement et dates, de visualiser les erreurs, de télécharger les fichiers d’appel lorsque XRJ31FILGN est actif, et de relancer les requêtes en erreur ou en attente.
  3. Analyser les erreurs, corriger le paramétrage source, puis relancer les enregistrements concernés.

À savoir

La reprise n’est pas un outil de paramétrage. Elle envoie les données qui sont déjà éligibles selon les cases Yooz, les codes organisation, les formules et les statuts actifs. Une mauvaise formule ou un mauvais code organisation se répercute immédiatement sur le volume envoyé.

Cas pratique détaillé

Voici une description détaillée, point par point, d’une reprise initiale des données. Nous allons prendre le cas de la reprise initiale des fournisseurs pour ce mode opératoire, il faut savoir que ce qui est précisé pour ce cas est valable pour tous les autres.

Vérification du paramétrage

Il faut toujours commencer par vérifier le paramétrage pour l’entité concernée. Se référer aux paragraphes précédents, les informations sont découpées par entité. Pour les fournisseurs, c’est la partie Paramétrer les Fournisseurs et les Clients.

Lancer la fonction de reprise des données référentielles

Il s’agit de la fonction XRJ31YOOZREP dans le menu Usage > Imports/Exports > Reprise données référentielles Yooz.
Pour la ligne “BPS” qui concerne les fournisseurs, la première intention sera de cocher la case Envoyer toutes les données. Et s’il s’agit d’une nouvelle occurrence de reprise suite à correction des erreurs de données, il sera possible de cocher Envoyer les données non envoyées afin de ne pas soumettre toutes les données mais uniquement celles qui n’ont pas encore été envoyées.

Cliquez ensuite sur le bouton Transmettre à Yooz.
Il sera alors affiché une trace qui précise le nombre d’enregistrements insérés dans la table de suivi, destinée au traitement à l’étape suivante.

Lancer la fonction d’interface Yooz

Il s’agit de la fonction XRJ31YOOZINT dans le menu Usage > Imports/Exports > Interfaces Yooz.
Vous devez avoir un Nb enregistrements à transmettre supérieur à 0. Si ce n’est pas le cas, vous devez refaire l’étape précédente. Il est aussi possible que l’abonnement sur la tâche XRJ31EXE soit actif, ce n’est pas logique si vous êtes encore en reprise initiale, vous pouvez désactiver cet abonnement et vérifier qu’il n’y a plus de requête sur la tâche XRJ31EXE.

Cliquer sur le bouton de la roue circulaire Transmission Yooz.

L’écran qui s’affiche ensuite vous permet de spécifier les entités à transmettre, il est conseillé de décocher les cases pour ne garder que celle de l’entité concernée, ici “BPS”.
Mais, vous pouvez aussi laisser toutes les cases cochées, il n’y a normalement pas d’autre donnée à transmettre.

Si certains exports sont en erreur, vous avez un message avec le nombre d'occurrences. Ces erreurs correspondent à des contrôles effectués par Yooz, car les données transmises ne sont pas acceptables par l’application Yooz.

Vous pouvez cliquer sur OK, une trace est affichée avec le détail des erreurs. Le bouton Copie en partie droite d’écran permet de récupérer un fichier en local sur son poste.
Toutefois, et c’est une limite de X3, les messages d’erreur dans cette trace sont limités à 250 crt. Ce n’est donc pas toujours la meilleure solution pour analyser les erreurs.

La solution la plus adaptée pour obtenir le message d’erreur complet est la suivante.
Dans cette même fonction XRJ31YOOZINT Interfaces Yooz, utiliser la partie basse de l’écran.
Renseigner l’entité, ici “BPS”, l’évènement “Création”, le statut “Erreur” et la date du jour.

Vous pouvez alors, pour chaque ligne, cliquer sur l’option Error message.

Exemple du détail d’un message d’erreur.

Ce n’est pas toujours très explicite et évident à décrypter, c’est l’erreur renvoyée par l’API Yooz.
Pour ce cas, c’est le contenu de la zone STATE qui n’est pas valide, cela correspond à la région. Dans X3 ce sont les subdivisions par pays.
Il faut donc corriger les données dans X3 (dans ce cas, la région SAT). Sur les fournisseurs, les contrôles de Yooz sont plus stricts que ceux de Sage X3.

Autre exemple d’erreur

Dans ce cas, c’est l’IBAN qui pose problème.

🚨IMPORTANT

L’option Télécharger toutes les erreurs dans la fonction Interfaces Yooz (XRJ31YOOZINT) vous permet de récupérer toutes les erreurs d’export vers Yooz. Cela génère un fichier <YOOZErrors.zip>. Dans l’archive ZIP un sous-répertoire pour chaque entité qui contient un fichier pour chaque enregistrement en erreur. À la racine, un fichier <AllErrors.txt> avec une consolidation. Cette fonctionnalité est disponible dans la version après la 80.

10 Check-list de validation avant recette

ContrôleRésultat attenduResponsable
Connexion YoozLes identifiants, l'URL, la langue et fuseau horaire pointent vers le bon environnement.Consultant X3 / CP Yooz
OrganisationsChaque site financier ou site mappé possède le bon code organisation Yooz.Consultant X3 / Métier
UtilisateursLes utilisateurs cochés Yooz ont un e-mail valide et sont visibles côté Yooz après envoi.Consultant X3 / Client
Axes analytiquesLes axes existent côté Yooz et les sections actives sont créées ou mises à jour.Consultant X3 / Métier
ComptesLes comptes attendus sont transmis selon la formule du plan de comptes.Consultant Finance
Taxes et conditions de paiementLes codes Yooz sont cohérents avec les législations et restrictions d’organisation.Consultant Finance
Fournisseurs / ClientsLes catégories, formules, organisations et exceptions BP / Company sont contrôlées.Consultant Finance / Métier
Articles / ProduitsUniquement les articles actifs et utiles au périmètre achat sont envoyés.Consultant Achat
Suivi interfacesAucune ligne en erreur non analysée dans XRJ31YOOZINT ; les logs sont exploitables.Consultant X3
🚨IMPORTANT

La reprise initiale est considérée validée lorsque les référentiels du périmètre sont visibles dans Yooz, que les volumes sont cohérents avec les critères de filtre, et qu’aucune erreur bloquante ne subsiste dans le suivi des interfaces. Il est fortement conseillé de terminer cette étape de reprise initiale avant de passer aux étapes suivantes.

5-Flux Achats et Finance

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.

Le périmètre fonctionnel du chapitre est le suivant :

  • Achats : commandes d’achat et réceptions, avec envoi de X3 vers Yooz ou import de Yooz vers X3 selon le scénario retenu.

  • Factures sur commande / réception : intégration des factures d’achat dans X3 via l’objet PIH et la fonction GESPIH.

  • Finance : intégration des factures hors commande et frais généraux dans X3 via l’objet BIS et la fonction GESBIS.

  • Bon à payer : mise à jour du statut de bon à payer dans X3 à partir de la validation Yooz.

  • Feedbacks : retour comptable et retour de paiement vers Yooz afin de suivre l’avancement de la facture jusqu’au paiement.

Ce document intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationSetupRecetteMise 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.

Fonctions X3 concernées :

UsageChemin d’accès en françaisFonction / objet
Commandes d’achatAchats > Commandes > CommandesGESPOH / POH
Réceptions d’achatAchats > Réceptions > RéceptionsGESPTH / PTH
Factures d’achatAchats > Factures > FacturesGESPIH / PIH
Factures tiers fournisseursComptabilité tiers > Facturation > Factures tiers fournisseursGESBIS / BIS
Règlements fournisseursComptabilité tiers > Règlements > Saisie des règlementsGESPAY
Exécution Web Services YoozExploitation > Imports/Exports > Exécution Web Services YoozXRJ31EXE
Suivi des interfacesExploitation > Imports/Exports > Interfaces YoozXRJ31YOOZINT

⚙️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. Dans le premier, les achats sont créés dans Sage X3 puis transmis à Yooz pour rapprochement et traitement de la facture. Dans le second, 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

À savoir

Le pilotage du flux n'est pas arbitraire, il dépend directement de la typologie des articles. Un fonctionnement hybride est possible en appliquant la répartition suivante : Cas où Sage X3 pilote : Achats stockés, articles avec traçabilité ou marchandises soumises à une réception logistique stricte. Cas où Yooz pilote : Achats non stockés, frais généraux, investissements ou prestations de services (lorsque la demande d’achat et la réception métier sont gérées dans le workflow Yooz).

1 - Cas A : Achats gérés dans Sage X3

Dans ce scénario, 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.

L’application Yooz regroupe fonctionnellement la commande d’achat et la réception dans un même flux d’achat. Sage X3 distingue en revanche la commande d’achat, gérée dans la fonction GESPOH, et la réception d’achat, gérée dans la fonction GESPTH. Le connecteur assure donc la correspondance entre ces deux logiques, sans demander à l’utilisateur de ressaisir les informations dans Yooz.

Le type de facture Yooz attendu pour ce cas est une facture d’achat sur commande. Après validation de la facture dans Yooz, elle est intégrée dans Sage X3 comme facture d’achat via l’objet PIH et la fonction GESPIH.

1.1 - Logique générale du flux

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 :

ÉtapeApplication maîtreObjet / fonctionRôle dans le flux
1Sage X3GESPOH / POHCréation de la commande d’achat. La commande peut contenir des lignes soumises à réception et des lignes non soumises à réception.
2Sage X3GESPTH / PTHCré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.
3Sage X3XRJ31YOOZSUI puis XRJ31EXEMise en file d’attente dans la table XRJ31YOOZSUI puis envoi des commandes, réceptions ou retours vers Yooz via la tâche batch XRJ31EXE.
4YoozPO / PO invoicesRapprochement de la facture fournisseur avec la commande ou la réception transmise par Sage X3.
5Sage X3GESPIH / PIHImport 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.
6Sage X3 puis YoozFeedbacks / PAYRetour comptable après validation de la facture dans X3, puis retour de paiement après règlement.

1.2 - Étape 1 : Création des commandes d'achat dans X3 et export vers Yooz

Voici la description simple du flux :

  • La commande est créée dans Sage X3 via GESPOH.

  • La commande doit être dans un état suffisamment avancé pour être transmise à Yooz : selon le paramétrage et le processus client, cela correspond généralement à une commande signée et/ou imprimée.

  • Le connecteur génère un enregistrement dans la table de suivi XRJ31YOOZSUI. La fonction "Interfaces Yooz" permet de visualiser ces éléments en attente de transmission, avant l'exécution de la tâche XRJ31EXE

  • L’objet envoyé vers Yooz depuis X3 n’est pas l’en-tête de la commande (POH), mais bien les lignes (POQ). En effet, une même commande peut contenir des lignes de nature différente. Les lignes facturables sont envoyées, les lignes non facturables sont exclues.

Voici un exemple de déroulement du flux:

  1. Création de la commande

  1. Signature de la commande

Se rendre dans le moniteur de workflow (fonction SAIWRKPLN, transaction “PUR”), pour signer la commande d’achat. Il est possible de vérifier le statut de la commande dans la fonction des commandes d’achats (GESPOH).





À savoir

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.3 - Étape 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.

CasRègle Sage X3Moment d’envoi vers Yooz
1 - Article non soumis à réceptionLa 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éceptionLa 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éceptionCas 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.

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

Lorsque l’article n’est pas soumis à réception, la commande Sage X3 peut être utilisée directement comme support de rapprochement dans Yooz. Ce cas correspond aux achats pour lesquels il n’y a pas d’entrée en stock ni de réception physique attendue dans X3 (paramètre article RCPFLG = 1).

Yooz reçoit une ligne d’achat permettant de rapprocher la facture fournisseur avec la commande. Les axes analytiques transmis à Yooz sont ceux portés par les lignes de commande, complétés le cas échéant par les champs personnalisés sortants.

Dans ce cas, Yooz ne doit pas attendre une réception. Si la facture fournisseur arrive, elle peut être traitée et rapprochée immédiatement avec la commande transmise par X3.

(Cette partie couvre le cas des articles non soumis à réception mais liés à une commande. Un achat non soumis à réception peut être également traité comme dans la partie 3.1.2 - Cas des factures de frais généraux sans commande (BIS) si vous avez besoin d’un service non relié à une commande d'achat).

  1. Création de la commande basée sur un article non soumis à réception :

  1. Le déclencheur (Signature et Impression) :

Une fois la commande créée, il faut effectuer deux actions standards pour débloquer l'envoi :

  • Signer la commande (si un circuit de signature est paramétré sur votre dossier pour cet acheteur).

  • Imprimer la commande (via l'icône imprimante en haut à droite de l'écran).

  1. Envoi vers Yooz : Une fois que la commande est signée et imprimée, elle est prête à être envoyée vers Yooz. Elle est automatiquement insérée dans la table de suivi des interfaces pour être traitée par l'abonnement récurrent du connecteur (XRJ31EXE). On peut ainsi la retrouver dans Yooz :

À savoir

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 !

Cas 2 : Achat soumis à réception

Pour un article nécessitant une entrée en stock ou une réception physique (champ ITMMASTER.RCPFLG positionné à 2), la facturation se base exclusivement sur les quantités réellement livrées. La commande d'achat initiale n'est donc pas transmise à Yooz de manière isolée.

La réception est obligatoire pour déclencher la transmission. Les données envoyées à Yooz combinent alors les références de la commande d'origine et les lignes de réception effectives, ce qui permet un rapprochement exact avec la facture fournisseur.

Pré-requis de gestion des réceptions

Pour que le flux s'exécute correctement, les règles suivantes s'appliquent :

  • Sites : Le site de réception doit appartenir à une société pour laquelle au moins une organisation Yooz est renseignée.

  • Articles gérés par lot : Le découpage des quantités doit impérativement être réalisé dans le détail des quantités de la réception X3, et non uniquement au niveau de la ligne de réception. Cela évite un écart entre ce que X3 connaît et ce que la facture fournisseur peut réellement porter.

  • Lignes non facturables : Elles sont nativement exclues de l’envoi vers Yooz.

À savoir

Le connecteur exige qu'une réception soit issue d'une commande. Si un utilisateur tente de créer une réception directe alors que le connecteur est actif, X3 force automatiquement le paramètre PTHDIR (Direct Receipt) à "Non" et affiche une alerte : "Le connecteur Yooz est activé donc le paramètre PTHDIR qui autorise les réceptions directes est forcé à Non”. Mise à jour sur ce point : une valeur paramètre XRJ31PTHDIR permet de ne pas faire ce contrôle et d’autoriser les réceptions directes. Qui ne seront pas transmises à Yooz.

Flux nominal de réception
  1. Création de la commande d’achat

L'acheteur crée et signe sa commande. À ce stade, la commande n'est pas encore envoyée à Yooz, le connecteur attend la réception.

  1. Création de la réception

À la livraison, le réceptionnaire crée la réception en la rattachant à la commande d'origine en faisant un picking (après avoir renseigné le site de réception).

  1. Transmission vers Yooz

Après la création de la réception, le connecteur transmet à Yooz les données de la commande initiale via l’abonnement XRJ31EXE, mises à jour avec les quantités réellement réceptionnées. On peut retrouver la commande liée à la réception via le numéro de commande dans Yooz.


Cas de réceptions multiples

Les scénarios logistiques standards de X3 sont supportés. Une ligne de commande peut être réceptionnée en plusieurs fois (reliquats), une commande peut donner lieu à plusieurs réceptions, et plusieurs commandes peuvent être regroupées dans un seul bon de réception. Dans tous les cas, le rapprochement Yooz reste cohérent avec les quantités effectivement réceptionnées.

1.4 - Cas particulier : Forçage de l’envoi d’une commande avant réception

Ce mécanisme n'est pas un flux parallèle standard. Il s’agit d’une dérogation stricte à la règle de base, utilisée uniquement lorsque le calendrier l'impose (typiquement le « grand import », où la facture fournisseur arrive et doit être payée avant que la marchandise n'atteigne le quai).

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, même si l’article est soumis à réception. 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 : La commande doit avoir été imprimée au moins une fois.

Une fois le bouton pressé, la commande s'ajoute à la liste des éléments à envoyer à Yooz, et l’abonnement XRJ31EXE envoie ensuite la commande à Yooz.

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.

Vigilance métier

Inverser l'ordre chronologique naturel (Facture avant Réception) a des impacts directs en comptabilité et en gestion de stock. Cela oblige les équipes financières à effectuer des retraitements manuels comme la valorisation des stocks ou les clôtures de fin de mois.

1.5 - 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.

Où s'effectue la correction dans Sage X3 ?

  • Achats non soumis à réception (Cas 1) : Les corrections (mise à jour / suppression) s'effectuent directement sur la commande d'achat (GESPOH).

  • Achats soumis à réception (Cas 2) : Il n’y a pas la possibilité de modifier la réception ni la commande manuellement, mais la suppression est bien prise en compte

Voici le comportement de l'interface selon les événements métier :

Événement X3Comportement attendu côté interfaceStade & Lieu de correction (où et jusqu'à quand corriger ?)
GESTION DES QUANTITÉS - CAS 2
Ajustement de quantité à la hausseLa nouvelle quantité est mise à jour dans Yooz (nouvelle ligne).Action logistique : Créer une nouvelle réception (GESPTH2) sur la commande initiale.
Ajustement de quantité à la baisseLe connecteur transmet les quantités annulées sous forme de lignes avec montants négatifs à Yooz.Action logistique : Créer un retour fournisseur (GESPNH). Impossible de modifier la réception X3 initiale, il faut passer par le flux de retour.
GESTION DES DONNÉES / MODIFICATION
Modification d’un champ sur la commande (compte, analytique...)La simple modification de la commande ne déclenche aucun envoi. La donnée est mise à jour dans Yooz uniquement lors de l'enregistrement de la prochaine réception.Correction directe : Si réception partielle : Correction sur la commande (GESPOH). L'information sera envoyée lors de la création de la réception du reliquat. Si réception complète : Commande soldée. Plus aucune modification possible.
Saisie ou modification d'un champ sur la RéceptionLa donnée propre à la ligne de réception prime sur celle de la commande. Il est tout à fait possible d'avoir plusieurs lignes de réception avec des données distinctes pour un même article issu de la même commande.Correction directe : Correction à réaliser sur la réception (GESPTH2) avant la comptabilisation de la facture.
Ligne non facturableLa ligne n’est pas envoyée à Yooz.N/A (géré nativement au paramétrage de l'article).
SOLDES ET SUPPRESSIONS
Solde complet de la commande (PORDER.CLEFLG = 2)Cas 1 : Toutes les lignes sont envoyées en suppression (DELETE) vers Yooz. Cas 2 : Aucun impact si la réception n'a pas eu lieu (Yooz ne connaît pas la commande).Action fonctionnelle : À faire sur la commande (GESPOH). Utilisé pour purger le portefeuille de commandes non abouties.
Solde d’une ligne de commande (PORDER.CLEFLG = 1 et PORDERQ.LINCLEFLG = 2)Cas 1 : La ligne soldée est envoyée en suppression (DELETE) vers Yooz. Cas 2 : Aucun impact si la ligne n'a pas été réceptionnée.Action fonctionnelle : À faire sur la commande (GESPOH).
Suppression (annulation) d'une Réception (Cas 2)La suppression physique d'une réception dans X3 déclenche l'envoi d'une instruction DELETE vers Yooz.Correction directe : Uniquement si la réception X3 vient d'être créée par erreur et n'est ni validée, ni facturée. On supprime la pièce dans GESPTH2.
Vigilance

Si le solde de la commande s'effectue naturellement par la facturation (la commande est soldée dans X3 parce qu'une facture a été émise et rapprochée à 100 %), cela ne déclenche aucune suppression dans Yooz. Le cycle de vie est simplement considéré comme achevé.

1.6 - Retours physiques aux fournisseurs (PNH/PRT)

Les retours fournisseurs concernent uniquement le flux basé sur les réceptions (cas 2). Un retour fournisseur est obligatoirement créé à partir d’une réception d’achat Sage X3 ; il ne concerne donc pas les commandes envoyées à Yooz sans réception.

Le retour ne crée pas un "document de retour" indépendant dans Yooz. Le connecteur va retrouver la commande d'origine dans Yooz et compléter le flux d'achat existant en y ajoutant des lignes supplémentaires avec des montants négatifs (la quantité reste positive, mais le prix unitaire et le montant sont inversés). Pour que ce flux s'enclenche, le retour doit être validé dans Sage X3. (Note : ce flux de retour vers Yooz est pertinent lorsque la commande et la réception concernées ont déjà été facturées).

Il suffit donc d’aller dans la fonction des retours d’achats, et de faire un picking sur la réception concernée.

Il faut ensuite valider le retour dans X3, puis laisser l'interface s'exécuter (ou relancer manuellement XRJ31EXE). Côté Yooz, une ligne supplémentaire avec un montant négatif s’ajoute à la commande d’origine.

💡 Pourquoi le retour s'ajoute-t-il en quantité positive avec un total négatif ?

C'est un comportement technique normal. Le connecteur ne vient pas "soustraire" la quantité de la ligne de réception initiale, il crée une nouvelle ligne distincte dédiée à ce retour. Cela peut paraître contre-intuitif pour le stock, mais c'est indispensable pour la comptabilité :

  • La quantité est en positif (3) : Cela permet au comptable de rapprocher facilement cette ligne avec la future facture d'avoir du fournisseur (qui indiquera bien 3 articles repris).

  • Le prix et le montant total sont en négatif : C'est ce signe "-" qui sert de déclencheur (trigger) au connecteur. Il indique formellement au système qu'il s'agit d'un flux inverse et permettra de générer automatiquement un véritable avoir (AVR) lors du retour dans Sage X3.

À savoir

Nativement, l'application Yooz ne sait pas rapprocher un document de type "Avoir d'achat" avec une commande. Pour contourner cela, la procédure exige de traiter l'avoir fournisseur dans Yooz comme une "facture d'achat sur commande" classique, mais en saisissant des montants négatifs (en-tête et lignes). C'est grâce à ces montants négatifs que le modèle d'import Sage X3 (XRJ31PIH) va comprendre la manœuvre et générer automatiquement un véritable avoir (type AVO ou AVR) lors de l'intégration finale dans l'ERP.

(Voir la gestion des avoirs dans le point 3.3 - Import des avoirs)

1.7 - Cas standards de recette

CasObjectifDéroulé synthétiqueRésultat attendu
A1 - Commande sans réceptionValider l’envoi d’une commande X3 à Yooz pour un article non soumis à réception.Créer une commande (GESPOH) avec un article non réceptionnable (RCPFLG=1) et facturable. Signer et imprimer la commande. Exécuter XRJ31EXE.La commande est immédiatement disponible dans Yooz pour rapprochement facture. Aucune réception n’est attendue (rapprochement 2-way).
A2 - Commande avec réceptionValider l'envoi de la commande après réception physique.Créer une commande avec un article réceptionnable (RCPFLG=2). Valider la commande. Créer la réception (GESPTH). Exécuter XRJ31EXE.La réception est disponible dans Yooz (avec les infos de la commande d'origine). Yooz propose un rapprochement sur la quantité reçue (3-way match).
A3 - Commande mixteContrôler le filtrage des lignes facturables et non facturables.Créer une commande contenant au moins une ligne facturable (LININVFLG = 1) et une ligne non facturable (LININVFLG = 2), puis réceptionner et envoyer à Yooz.Seules les lignes facturables (1) sont poussées et proposées au rapprochement dans Yooz. Les lignes non facturables (2) sont ignorées.
A4 - Réceptions partielles / multiplesValider le comportement sur des reliquats de livraison.Réaliser une première réception partielle, l'envoyer. Réaliser une seconde réception sur la même commande, l'envoyer. Rapprocher la facture dans Yooz.Yooz cumule et propose les quantités réellement réceptionnées. La facture PIH importée dans X3 solde correctement les lignes de réception correspondantes.
A5 - Forçage avant réceptionTester le cas dérogatoire (grand import / FOB) où la facture arrive avant la réception physique.Créer une commande avec article réceptionnable. La signer et l'imprimer (obligatoire pour activer le bouton). Cliquer sur "Envoyer à Yooz sans réception".La commande est envoyée à Yooz sans attendre le bon de réception. La facture peut être rapprochée dans Yooz et s'importe en PIH rattachée à la commande X3.
A6 - Solde / modificationVérifier que Yooz reste aligné sur les suppressions X3.Solder manuellement une ligne non facturée ou la commande complète dans X3, puis exécuter l’interface.Le connecteur transmet une action DELETE à Yooz. Les lignes où la commande disparaît de la bannette de rapprochement Yooz. (Note : un solde dû à la facturation ne déclenche pas de suppression).
A7 - Retour fournisseurValider la bonne transmission des retours pour la gestion des avoirs.Créer un retour validé (GESPND) rattaché à une réception qui a déjà été facturée, puis l'envoyer à Yooz.Yooz reçoit une nouvelle ligne rattachée à la commande d'origine. La quantité est positive, mais le prix et le montant sont négatifs. L’avoir peut être rapproché de cette ligne.
A8 - Gestion des écartsValider le déclenchement du circuit d'approbation en cas de litige prix/quantité.Rapprocher dans Yooz une facture dont le montant ou la quantité diffère de la commande/réception X3, au-delà des seuils de tolérance.Yooz bloque le rapprochement automatique et déclenche le workflow d'écart/litige vers le demandeur. La facture ne s'exporte vers X3 qu'après approbation dans Yooz.

2 - Cas B : Achats gérés dans Yooz

Dans ce scénario, Yooz est l’application maître pour la saisie des achats. Ce choix répond généralement à un besoin de simplicité, d'économie (coût des licences Sage X3) et s'adapte parfaitement aux flux de produits peu complexes.

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. En cas d'ajustement de la quantité, une nouvelle création de réception est envoyée pour l'écart.

À savoir

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, Sage X3 réplique)

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.

Voici la répartition des étapes :

ÉtapeApplication maîtreObjet / fonctionRôle dans le flux
1YoozDemande d'achat (PR)Création de la demande d’achat et exécution du workflow de validation métier.
2YoozCommande (PO)Création de la commande après validation du besoin. Ce document devient la référence métier du flux.
3Sage X3Commande (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.
4YoozRéception (GR)Saisie de la réception logistique (si requise par l'article) directement sur la ligne de commande Yooz.
5Sage X3Réception (GESPTH)Import de la réception. Création d'une pièce X3 pour chaque nouvelle quantité réceptionnée transmise.
6YoozFacture (Invoice)Capture, contrôle, rapprochement (sur commande ou réception) et validation de la facture fournisseur.
7Sage X3Facture 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).

À savoir

Automatisation : L'action "Exporter" dans Yooz déclenche un flux 100% automatisé vers l'ERP. Le modèle d'import cible réceptionne et traduit la donnée pour créer la pièce. Aucun import manuel n'est requis dans Sage X3. Règle de rapprochement : La nécessité d'une réception logistique dicte le rapprochement de la facture. Sans réception attendue, la facture est traitée dès disponibilité de la commande. Avec réception, la facture attend la validation des quantités livrées. (Note : le forçage d'une facture avant réception appartient exclusivement au flux du Cas A).

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.

  1. Création de la demande d’achat

  1. Approbation : La validation de la demande d'achat génère automatiquement la commande (PO) dans Yooz.


  1. 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.

Vigilance

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).

Vigilance

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 :

  1. Cocher "Activer la réception par défaut sur la demande d’achat".

  1. 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.

  • Ajustement à la hausse (gestion du delta) : Toute augmentation de la quantité réceptionnée dans Yooz transmet uniquement l'écart à l'ERP. Sage X3 crée alors une nouvelle pièce de réception pour cette quantité supplémentaire.

  • Ajustement à la baisse : La transmission de corrections négatives nécessite un encadrement strict (risque d'interprétation en tant que retour fournisseur ou annulation selon le statut de la pièce X3).

À savoir

Exemple : Une ligne de 10 unités est commandée. Saisie d'une réception de 4 unités dans Yooz ➔ Création d'une réception de 4 dans X3. Ajustement ultérieur de la réception à 7 unités dans Yooz ➔ Transmission de l'écart de 3 ➔ Création d'une nouvelle réception de 3 dans X3. La facture fournisseur sera ensuite rapprochée des 7 unités physiquement constatées.

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 (ex: YOOZ1) 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.

  • Gestion des retours fournisseurs : Le flux Yooz ne gère pas nativement les documents de type "Retour". La gestion d'un retour ou d'une annulation partielle nécessite impérativement la saisie de quantités ou montants en négatif (signe "moins") dans Yooz.

Sécurité et contrôle des factures (Anti-doublon) :

  • Blocage strict à l'import : Une facture Yooz déjà importée ne peut pas être intégrée deux fois. Si une tentative d'import ou de validation survient avec un numéro Yooz (XRJ31NUMYOOZ) déjà présent dans l'ERP, le système bloque l'action. Le message d'erreur suivant est renvoyé : "Cette facture provenant de Yooz a déjà importée dans Sage X3. Import refusé."

  • Duplication manuelle autorisée (Contournement) : En cas de besoin métier, la duplication manuelle d'une facture issue de Yooz directement dans Sage X3 reste possible (pour créer un modèle, par exemple). Lors de cette action, le connecteur vide automatiquement les champs d'identification propres à Yooz (XRJ31NUMYOOZ, XRJ31URLFAC, XRJ31YOOZDAT) sur la nouvelle pièce générée. L'enregistrement s'effectue alors sans déclencher l'alerte anti-doublon.

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).

À savoir

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).

2.6 - Cas standards de recette

CasObjectifDéroulé synthétiqueRésultat attendu
B1 - Commande Yooz ➔ X3Valider la réplication de la commande.Créer et valider une commande dans Yooz. Exporter vers Sage X3. Contrôler GESPOH.Création de la commande via modèle XRJ31POH. Créateur = utilisateur API (ex: YOOZ1). Verrouillage automatique en lecture seule.
B2 - Réception Yooz ➔ X3Valider l’import des réceptions et la gestion du delta.Réceptionner une quantité partielle dans Yooz. Exporter. Réceptionner le solde. Exporter. Contrôler GESPTH.Création d'un bon de réception distinct pour chaque export (gestion par delta). Le cumul X3 correspond à la quantité Yooz.
B3 - Limites logistiquesSécuriser l'incompatibilité logistique avancée.Tenter de réceptionner dans Yooz un article géré par lot, numéro de série ou emplacement strict.Blocage ou échec de l'intégration. Validation impérative du maintien de ce type d'article dans le flux du Cas A.
B4 - Modification de commandeVérifier la mise à jour de l'engagement ERP.Modifier une quantité ou un prix sur une commande Yooz (non réceptionnée). Réexporter vers Sage X3.Mise à jour de la ligne existante dans X3 via le modèle XRJ31POH. Aucune intervention manuelle dans l'ERP.
B5 - Facture sur commande (PIH)Valider la continuité du flux Procure-to-Pay.Rapprocher la facture (commande/réception) dans Yooz. Décocher "Exporter comme facture achat (non PO)". Exporter.Intégration dans GESPIH via XRJ31PIH. Soldage de la réception X3. Alimentation des champs Chrono (XRJ31NUMYOOZ) et URL.
B6 - Champs personnalisés entrantsContrôler le mapping de données additionnelles.Paramétrer le mapping entrant. Renseigner le champ custom dans Yooz. Exporter vers X3.Alimentation correcte du champ cible. Rappel : le champ X3 doit être visible à l'écran et saisissable. Redémarrage du pool SOAP obligatoire après modification du mapping.

3 - Traitement financier commun : PIH, BIS, BAP et feedbacks

Cette partie factorise le traitement financier commun aux deux scénarios du chapitre Les sections 1 et 2 doivent continuer d'expliquer qui est maître de la commande et de la réception. La section 3 commence au moment où la facture a été contrôlée dans Yooz et doit produire une pièce financière dans Sage X3, puis suivre son cycle jusqu’au paiement.

Le principe de lecture est le suivant : PIH pour les factures d’achat rattachées à une commande ou à une réception, BIS pour les factures fournisseurs hors commande / frais généraux, XRJ31BAP pour la mise à jour du bon à payer, puis feedbacks Yooz pour informer Yooz de la comptabilisation et du paiement.

TraitementFonction X3Modèle / objetRôle fonctionnel
Facture d’achat sur commande ou réceptionAchats > Factures > Factures GESPIHPIH / XRJ31PIHCréer dans X3 une facture d’achat rattachée à la commande ou à la réception d’origine.
Facture hors commande / frais générauxComptabilité tiers > Facturation > Factures tiers fournisseurs GESBISBIS / XRJ31BISCré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)XRJ31IPDFImporter physiquement le document PDF validé dans Yooz pour l'attacher à la facture dans Sage X3.
Bon à payerComptabilité tiers > Échéances de facture GESDUD (ou via GESPIH/GESBIS)XRJ31BAP / GACCDUDATE.FLGPAZMettre à jour le statut de bon à payer sans réimporter la facture entière.
Feedback comptableValidation / comptabilisation PIH ou BISAPI : /yooz/v2/api/feedbacksRetourner à Yooz le numéro de facture X3 (YZ_POSTING_NUMBER) et la date d'import ERP (YZ_IMPORT_DATE_ERP).
Feedback de paiementComptabilité tiers > Règlements > Saisie des règlements GESPAYObjet PAY / Action PAYMENTInformer 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énariosExempleDocument rapproché dans YoozPoint de vigilance
Achat non soumis à réceptionFrais généraux, servicesCommande d’achatLa facture peut être traitée dans Yooz dès que la commande y est visible
Achat soumis à réceptionMarchandises, stockRéception ou quantités réceptionnéesLe rapprochement doit suivre scrupuleusement les quantités réellement réceptionnées et facturables
Commande envoyée avant réceptionGrand ImportCommande d’achatLa réception physique de la marchandise pourra être saisie ultérieurement dans Sage X3
Ajout de frais non prévusLigne diverseCommande / réception complétée dans YoozL’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é.
  1. Capture et rapprochement dans Yooz**.** La facture fournisseur est réceptionnée dans Yooz. Les données reconnues (fournisseur, montants, taxes, échéances) sont vérifiées. Le document est ensuite rapproché avec la commande ou la réception correspondante, en s'assurant de la correspondance exacte des lignes.

(La facture peut arriver directement dans l'outil ou y être déposée manuellement).

  1. 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.

  2. 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é, par exemple XRJ31PIH3 pour la législation portugaise.

  3. 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 :

  • Contrôle des dates : Le système peut vérifier que la date du document d'achat (commande ou réception) n'est pas postérieure à celle de la facture. Ce contrôle strict peut toutefois être désactivé lors du paramétrage initial selon le besoin.

  • Articles de frais et lignes diverses : Les coûts additionnels ajoutés manuellement dans Yooz (frais de port, douane) doivent s'appuyer sur des "articles génériques" créés dans Sage X3, obligatoirement non gérés en stock. Si l'unité de mesure est introuvable à l'import, elle est forcée par défaut à "UN" (Unité).

  • Éléments de facturation : Dans Yooz, une majoration de prix doit obligatoirement inclure un code et un montant de TVA. À l'inverse, une minoration ou une remise est transmise sans aucun code ni montant de TVA.

  • Immobilisations : Le système distingue automatiquement les achats standards, les services et les immobilisations grâce à la donnée "Type d'achat" renseignée sur les lignes. Les informations complémentaires (comme le compte collectif d'immobilisation) transitent via des champs personnalisés.

  • Champs personnalisés : Jusqu'à 10 champs d'en-tête et 10 champs de ligne peuvent être importés de Yooz vers Sage X3. Le champ cible dans l'ERP doit obligatoirement être présent à l'écran et saisissable.

  • Pièces jointes et PDF : Pour une traçabilité optimale, la facture générée dans Sage X3 inclut un lien URL cliquable vers l'image Yooz et peut également rapatrier le fichier PDF physiquement en pièce jointe.

À savoir

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 (Sage X3 envoie la commande/réception vers Yooz dans le cas A ; Yooz envoie la commande/réception vers Sage X3 dans le cas B). La méthode de création et d'import de la facture d'achat finale dans Sage X3 reste, elle, strictement identique pour les deux scénarios.

À savoir

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 de frais généraux, les prestations hors commande ou les factures fournisseurs non rattachées à un document d’achat 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.

  1. Saisie et imputation dans Yooz : La facture est capturée dans Yooz et traitée comme une "facture sans PO". Le comptable l'impute manuellement en s'appuyant sur les référentiels synchronisés avec X3 : choix du fournisseur, de l'organisation, du compte général, des taxes, de l'analytique, etc.

  1. Validation Yooz et export Finance : 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. Le document créé n’est pas lié à une commande POH ni à une réception PTH.

  1. Traçabilité et PDF : Comme pour les PIH, 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. Ces informations sont nécessaires pour le contrôle utilisateur, le non-doublon, le BAP et les feedbacks. (Note : En cas de duplication manuelle de la pièce dans X3, ces champs sont automatiquement vidés).

  2. Validation comptable dans X3 : La facture tiers suit ensuite son cycle de validation X3 habituel. La suite du flux est strictement identique aux factures sur commande : le connecteur se chargera de mettre à jour Yooz avec le feedback de comptabilisation.

Vigilance

Il ne faut pas créer une commande fictive dans X3 pour faire entrer une facture de frais généraux dans le flux PIH. Si la facture n’a pas de support d’achat réel, le flux cible est BIS.

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 : Il est possible de gérer des immobilisations directement via ce flux. 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 - 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 (ce champ est renseigné quand la facture est exportée depuis Yooz vers X3).

Le feedback comptable est envoyé au moment où la facture en provenance de Yooz est validée dans Sage X3. La validation de la facture crée la pièce comptable. Les champs suivants sont alors mis à jour dans le bloc YZ_INVOICE de Yooz :

Champ YoozSource Sage X3Rôle
YZ_POSTING_NUMBERPINVOICE.NUM ou numéro de pièce X3 utilisé comme référence comptablePermet à Yooz d’afficher le numéro de pièce / facture créé dans X3.
YZ_IMPORT_DATE_ERPDate de validation ou d’import ERP, par exemple PINVOICE.UPDDAT selon le traitementPermet à Yooz d’indiquer que la facture a été intégrée et comptabilisée dans l’ERP.
  1. Validation dans X3 : La facture (PIH ou BIS) est validée dans l'ERP. Le champ STA passe à 3 (statut “validé” ou “comptabilisé”) et la pièce comptable devient disponible. Cette action génère un enregistrement dans la table de suivi XRJ31YOOZSUI.

  1. Envoi du feedback : La tâche récurrente XRJ31EXE s'exécute. Elle lit la table de suivi et déclenche l'appel API vers Yooz. Les données envoyées ciblent le document exact grâce à son numéro Yooz.

  2. Envoi à Yooz : La facture dans Yooz est mise à jour avec le numéro de pièce X3 et la date de validation ERP. Dès que la mise à jour est un succès, l’envoi est tracé (statut mis à jour dans la table XRJ31YOOZSUI) pour éviter une répétition inutile du feedback. Le paiement sera traité ultérieurement (flux PAY).

3.3 - 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. L'export est rattaché à une étape spécifique choisie lors du paramétrage (par exemple, lors de l'approbation finale par un responsable).

⚙️ 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").

  1. Mise à jour (Modèle XRJ31BAP) : L'information est transmise à Sage X3 via un export dédié. Ce modèle se contente d'actualiser le statut des échéances de la facture existante (GACCDUDATE.FLGPAZ), sans réimporter le reste du document.

  2. Déblocage du paiement : 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.

À savoir

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.

Vigilance

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.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 est déclenché exclusivement lors du passage au statut "En banque" pour mettre à jour la facture d'origine.

  1. Saisie dans X3 : Utilisation de la saisie des règlements (GESPAY - ex: transaction FCHQE) ➔ Nouveau ➔ Sélection des échéances (picking sur open items) ➔ Saisie des différents champs ➔ Comptabilisation (validation).

  1. Déclencheur "En banque" : L'action de comptabilisation valide le passage au statut "En banque" ou l'utilisation de la proposition automatique de règlements (PAYPROPAL).

  1. Mise à jour Yooz : Transmission du montant (YZ_AMOUNT_PAID) et de la date comptable (YZ_DATE_OF_PAYMENT) 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".
Règles métiers et particularités

Paiements partiels : Gérés nativement. Le workflow Yooz reste en attente tant que la somme des paiements ne couvre pas le total de la facture. Annulation (Flux négatifs) : En cas d'erreur dans X3, un feedback avec montant négatif rétablit le reste à payer dans Yooz. Attention : Annulation strictement impossible si la facture est déjà considérée comme totalement payée (fin de workflow Yooz). Indépendance des Avoirs : Le traitement d'un avoir est totalement décorrélé du règlement (applicable avant ou après). Ce point fait l'objet du chapitre 3.5. 🚨 Cas non supportés (aucun envoi déclenché) : Factures soldées par lettrage manuel simple, lettrage avec un avoir, ou règlements groupés mixant factures Yooz et non-Yooz.

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.

CasOrigine fonctionnelleTraitement YoozImport X3 attendu
Avoir sur retour fournisseurRetour fournisseur validé sur une réception déjà facturéeLe 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 montantLa 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 commandeCorrection Finance sans document d’achatAucun rapprochement commande ou réception.Traitement via BIS si le document relève de la comptabilité tiers fournisseur.
Avoir sur facture déjà comptabiliséeCorrection 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.
  • Étape 1 - Identifier la nature de l’avoir. Avant l’import, il faut distinguer un avoir sur retour, une remise ou un document correctif de frais généraux. Le choix détermine si le flux cible est PIH ou BIS.

  • Étape 2 - Conserver le rattachement fonctionnel. Pour un avoir sur retour, le retour ne crée pas un nouvel achat indépendant dans Yooz. Il complète l’achat d’origine avec des lignes négatives. Le rattachement à la commande d’origine reste donc indispensable.

  • Étape 3 - Importer avec le bon signe et le bon type. Le modèle d’import reprend la logique de la facture d’achat, avec adaptation des champs de type de pièce. Les montants ou quantités négatifs portés dans Yooz doivent être traduits dans le format attendu par Sage X3 afin de générer l’avoir et non une nouvelle facture positive.

  • Étape 4 - Poursuivre le cycle financier. Une fois l’avoir importé, les règles de BAP, de feedback comptable et, si applicable, de paiement suivent le même principe que les autres pièces. À noter que pour un avoir, Yooz transmettra systématiquement la valeur "3" (Attente avoir) pour le statut d'approbation, contrairement aux factures classiques (1 ou 4).

À savoir

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ée 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).

Vigilance

L’import d’un avoir directement rapproché à une facture déjà comptabilisée ne doit pas être présenté comme un flux standard automatisé. Le cas documenté est l’avoir rattaché à l’achat ou au retour. Les corrections post-comptabilisation doivent être cadrées comme des avoirs ou des documents correctifs.

3.6 - Cas standards de recette

CasObjectifDéroulé synthétiqueRésultat attendu
F1 - Facture PIH sur commandeValider l’import d’une facture d’achat rattachée à une commande.Rapprocher la facture dans Yooz avec la commande, valider, puis exporter.Une facture d'achat (GESPIH) est créée via XRJ31PIH, avec le bon fournisseur, lignes, taxes, axes. Les champs N° Yooz (XRJ31NUMYOOZ) et l'URL sont alimentés.
F2 - Facture PIH sur réceptionValider l’import d’une facture d’achat rattachée à une réception.Rapprocher la facture avec les quantités réceptionnées, valider et exporter.La facture GESPIH respecte la réception d’origine. Le testeur vérifie que X3 n'a pas exigé de saisie manuelle d'article.
F3 - Facture BIS hors commandeValider le flux Finance (frais généraux).Traiter une facture Yooz sans commande. Vérifier que l'option "Exporter comme facture sur commande" est bien décochée.Une facture tiers (GESBIS) est créée via XRJ31BIS. Le paramétrage (taxes, analytique) redescend correctement sans document d'achat fictif.
F4 - Lignes diverses / éléments de facturationContrôler les frais (port) et remises au pied de la facture.Ajouter dans Yooz une ligne avec un code article correspondant au code de l'élément de facturation X3.X3 importe la ligne dans le tableau des éléments de facturation (et non dans les lignes articles). Note : Les majorations portent un code TVA, les minorations (remises) s'exportent sans code.
F5 - Avoir sur retour ou FinanceValider la bonne typologie de document (AVO/AVR).Avoir Finance : Utiliser le type "avoir" Yooz (montants > 0). Avoir sur commande : Utiliser le type "Facture sur commande" Yooz avec des montants négatifs.X3 crée le bon document correctif selon le flux. L'import des montants négatifs génère bien un avoir d'achat X3.
F6 - BAP (Bon à Payer)Contrôler la mise à jour de l'échéance.Valider l’approbation finale dans Yooz, déclencher l'export du BAP.Le champ GACCDUDATE.FLGPAZ de l'échéance X3 passe à "4" (Bon à payer) sans recréer ni bloquer la facture existante.
F7 - Feedback comptableInformer Yooz de la comptabilisation.Valider (comptabiliser) la facture importée dans X3. Contrôler le retour via XRJ31EXE.Yooz reçoit le numéro de facture X3 (YZ_POSTING_NUMBER) et la date d'import ERP.
F8 - Feedback de paiementInformer Yooz du règlement (cash-out).Régler la facture via Saisie de règlements (GESPAY) uniquement. Passer le statut à « En banque ».Yooz reçoit le montant payé et la date. Le statut Yooz passe à "Payé". (Vigilance : Le lettrage manuel ou les paiements mixtes ne déclenchent pas le flux en standard).
F9 - PDF et URL YoozContrôler l’accès au justificatif depuis l'ERP.Importer une facture. Cliquer sur l'icône Yooz dans X3. Si l'option "Exporter le PDF vers X3" est active dans Yooz, vérifier les pièces jointes.La facture X3 contient le lien Yooz cliquable (XRJ31URLFAC) et la pièce jointe PDF est rattachée au document X3.
F10 - Non-doublonSécuriser l'unicité de l'intégration.Tenter un réimport volontaire d’une facture ayant déjà été intégrée dans Sage X3.Le connecteur rejette l'import. Message attendu dans la trace : "Cette facture provenant de Yooz a déjà importée dans Sage X3. Import refusé."

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 / fonctionUsage dans le chapitre 5Contrôle attendu dans XRJ31YOOZINT
POQEnvoi 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.
PNDEnvoi des retours fournisseurs rattachés à l'achat d'origine.Le nombre de bons de retour validés devant être poussés vers Yooz.
PIHEnvoi 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.
BISEnvoi du feedback comptable pour les factures tiers.Le nombre de confirmations de validation comptable à transmettre à Yooz suite à la validation d'une facture GESBIS.
PAYEnvoi 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ôlerRôle dans l’analyse
ChronoIdentifiant unique de la ligne d'interface. Indispensable pour retrouver le détail d'une erreur dans le fichier de trace (.tra) du traitement XRJ31EXE.
ObjetPermet d’identifier le flux sortant concerné : POQ, PND, PIH, BIS, PAY, etc.
CléPermet de retrouver le document source dans Sage X3 (ex: n° de commande ou n° de facture). C’est le point de départ de l’analyse utilisateur.
Code événementPermet de distinguer l'action déclenchée. Les codes standards sont C (Création), M (Modification) ou A (Annulation/Suppression).
StatutÉtat d'exécution interne X3. Indique si l'enregistrement est "À exécuter" (0), "Exécuté avec succès" (1), ou "Exécuté avec erreur" (-1).
CodeCode de retour HTTP renvoyé par l'API Yooz. Un code 2xx (200, 201, 202, 204) indique un succès. Un code 4xx (400, 403, 404) ou 5xx (500, 502, 504) indique une erreur (donnée invalide, droits insuffisants, timeout...).
Date heureHorodatage de la création de la ligne ou de sa dernière tentative d'exécution vers Yooz.
[Action] Message d'erreurAccessible 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 (ex: SIRET invalide, axe analytique inconnu).
[Action] Télécharger le fichierSi 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.

Cas pratique :
En export de commande d’achat, cas d’une erreur 403

Création dans Yooz : Commande d'achat POFR0120078 1000 1

Ceci concerne une limitation de vos droits dans Yooz, vous devez contacter votre CP Yooz.

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 niveau du dossier.

ActionÉcran X3Moment d’utilisationRésultat attendu
Exécution en manuelWeb 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 batchGestion 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 fichiersInterfaces 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êtesInterfaces 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.
Vigilance - Relance & doublons

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à. La vraie vigilance concerne 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.

À savoir

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 fluxExemples du chapitre 5Où 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.

  1. 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.

  2. 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

  3. Corriger la donnée source. La correction s'effectue côté X3, côté Yooz ou dans le paramétrage du connecteur.

  4. 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".

  5. 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’erreurExemple concretAction de correction recommandée
Référentiel absentFournisseur, 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érentPTHDIR (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 choisiTentative 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.
DoublonRejet 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 YoozFeedback 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ésChamp 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)

À la fin de l'exécution des scénarios métiers, les critères suivants actent la réussite de l'intégration et autorisent le passage en production :

  1. Documents créés : Les commandes, réceptions, factures d'achat (PIH), factures tiers (BIS), échéances BAP et paiements attendus existent dans l’application cible et respectent le mapping standard.

  2. Traçabilité : Les numéros de chrono Yooz (XRJ31NUMYOOZ), les URL cliquables vers Yooz (XRJ31URLFAC), et les horodatages de transmission (XRJ31YOOZDAT) sont présents.

  3. Cohérence Financière : Les montants HT / TTC, taxes, devises, conditions de paiement, comptes et dimensions analytiques sont strictement identiques entre Yooz et Sage X3.

  4. Stabilité technique : Le tableau de bord de suivi (XRJ31YOOZINT) ne contient aucune erreur inexpliquée. Les relances (après correction de données) aboutissent sans créer de doublons.

  5. Limites de cadrage acceptées : Les limites inhérentes au connecteur (retours physiques, achats stockés dans le cas B, factures complémentaires/frais d'approche) ont été testées, comprises et validées par les utilisateurs clés.

  6. Check-list Éditeur : La complétion des tests s'aligne sur la checklist de validation standard fournie par l'éditeur du connecteur pour sécuriser le déploiement.

Vigilance - Prérequis avant tests

Les scénarios de recette ci-dessous ne doivent être exécutés que si l'environnement X3 est techniquement prêt (flux réseaux ouverts, utilisateur de service équipé d'un badge ERPFULL) et si le dossier de Test est strictement gelé (aucun écrasement par les données de production n'est autorisé sous peine de supprimer l'installation du connecteur).

6-Flux Factures de vente

Contexte et objectif

Intégration des factures de vente (SIH) et factures tiers clients (BIC). Notions de conformité liées à la plateforme agréée / PDP Yooz.

Ce document intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

Champ d'application

Prérequis et préparation

Pour assurer la transmission des factures de vente de Sage X3 vers Yooz, il est nécessaire que les informations standard pour l’e-invoicing soient disponibles. On peut donc rencontrer 2 contextes :

  • Cas 1 : L’e-invoicing est activé sur la solution Sage X3
  • Cas 2 : L’e-invoicing n’est pas activé sur la solution Sage X3 ou l’e-invoicing n’est pas disponible pour la version de Sage X3

Dans le cas 1, vous pouvez passer à la suite dans ce chapitre.

Pour le cas 2, vous devez passer par cette étape préliminaire : 9-RFE Gestion des versions Sage X3 non compatibles

Valeurs paramètres

Les valeurs paramètres sont dans le chapitre EXAPP et groupe YOOZ

La valeur paramètre XRJ31AIMMS sert à définir une destination d'impression de type "Message" dans Sage X3. Son rôle est de permettre la génération et l'impression de fichiers PDF (notamment pour les factures de vente) afin de pouvoir les envoyer automatiquement vers l'application Yooz.

La valeur paramètre XRJ31BICRP (Rapport sur les factures clients) : Ce paramètre définit l'état d'impression à utiliser pour les factures tiers clients (les factures saisies directement en comptabilité tiers). La valeur standard généralement renseignée est le code BPCINV2.

La valeur paramètres XRJ31SIHRP (Rapport sur les factures de vente) : Ce paramètre définit l'état d'impression à utiliser pour les factures de vente (les factures issues du module de gestion commerciale). La valeur standard généralement renseignée est le code SBONFACP (ou parfois SBONFACP2).

Précisions importantes :
Il faut y saisir les codes des états Crystal Reports qui sont réellement utilisés par le client pour imprimer ses factures.
Ces paramètres offrent une certaine souplesse : ils peuvent être configurés de manière globale au niveau du dossier, ou bien être déclinés de manière plus fine au niveau de la société ou du site.

Site

Il faut renseigner, pour chaque site X3 qui émet des factures de vente,
le code organisation Yooz (uniquement sur le site Financier)
l’adresse électronique en tant qu’émetteur

Type de facture

Il faut cocher la case Yooz des types de factures qui sont à transmettre.
En attente de confirmation pour les informations du code type e-facture

Catégories clients

Dans le code organisation Yooz il faut renseigner :

  • soit un code organisation Yooz qui va recevoir les clients de cette catégorie
  • soit plusieurs codes organisation Yooz (séparés par un point virgule ‘;’)
  • soit la valeur ‘YZ_CUSTOMER’ pour un référentiel globalisé

Cocher la case Yooz pour activer l’envoi vers Yooz des clients de cette catégorie.

La zone Formule Yooz permet de saisir une formule qui sera évaluée afin de restreindre les clients à transmettre.

La case à cocher Ref Tiers/Société sert à gérer les exceptions de paramétrage multi-sociétés lors de l'envoi des référentiels clients de Sage X3 vers Yooz. Concrètement, elle détermine la source des données (comme les conditions de paiement, l'escompte, le régime de taxe ou le code comptable) qui sera envoyée à Yooz :

  • Si la case est décochée : Le connecteur envoie les informations standards globales renseignées sur la fiche client principale
  • Si la case est cochée : Le connecteur va lire la table des exceptions de la fonction Tiers/Société. Cela permet de créer dans Yooz une fiche client contenant des valeurs spécifiques applicables uniquement à une société X3 donnée

Ainsi, si une règle Tiers/Société spécifique existe pour une société X3, ce sont ces données d'exception qui seront envoyées vers l'organisation Yooz correspondante. Pour toutes les autres organisations Yooz listées dans la catégorie client qui n'ont pas d'exception paramétrée, le connecteur enverra les valeurs standards de la fiche client

Clients

Sur les fiches client, il faut vérifier et, si besoin, compléter ces données :

  • Code SIRET et numéro de TVA intracommunautaire (bloc ‘Identité’)
  • code adresse électronique (bloc ‘Identité’)
  • Menu local ‘Sélection RFE’ (bloc ‘Commerciales’ qui peut prendre les valeurs ‘E-Invoicing’, ‘E-Reporting’ ou ‘Hors champ’.

Autres paramètres dédiés à l'e-invoicing

Vous pouvez consulter ce paragraphe ‘Tâches de paramétrage’ dans le chapitre 9-RFE Gestion des versions Sage X3 non compatibles.

Mode opératoire

Ce flux concerne les 2 fonctions facture module (GESSIH) vente et comptabilité tiers (GESBIC).

Depuis les factures (module vente et comptabilité tiers), le bouton ‘Transmettre à Yooz’ est actif si

  • La catégorie client est activée pour Yooz.
  • Le client est paramétré valeur ‘E-Invoicing’ ou ‘E-Reporting’ pour ‘Sélection RFE’.

La facture peut être envoyée unitairement par ce bouton.
Et aussi en masse via la fonction Envoyer Factures à Yooz (XRJ31INVSD)

Le transfert de la facture Sage X3 vers Yooz se place donc AVANT l’étape de validation.

Ceci permet d’autoriser des modifications de facture dans le cas où l’envoi à Yooz serait en échec.
Un échec se matérialise par un message d’erreur dans la table de suivi et aussi par l'absence d’attribution d’un numéro de facture Yooz.

7-Administration, Suivi et Utilitaires

Contexte et objectif

Liste des fonctions pour les habilitations (définir les niveaux user Yooz ou admin Yooz). Fonctionnement de la tâche récurrente (XRJ31EXE), l'outil de reprise de données en masse (XRJ31YOOZREP), la fonction de contrôle d'intégrité du connecteur. La gestion des erreurs et traces (workflow YOOZ-LOG qui envoie les logs d'erreurs par e-mail) et le tableau de suivi des interfaces (XRJ31YOOZSUI).

Ce chapitre intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

Documentation à venir.

8-Personnalisation Avancée

Contexte et objectif

L'exploitation des champs personnalisés (custom fields) sortants (vers Yooz) et entrants (vers X3). L'utilisation des points d'entrée pour les adaptations spécifiques (ex: forcer un code taxe, modifier le compte centralisateur).

Ce chapitre intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

1 Champs Yooz personnalisés

Le connecteur Sage X3 pour Yooz prend en charge la fonctionnalité des champs personnalisés de Yooz, tant pour les flux sortants que pour les flux entrants.

  • Pour les flux sortants (Sage X3 > Yooz), vous pouvez renseigner jusqu’à 10 champs personnalisés Yooz pour chaque objet/document suivant :
    • Fournisseurs (GESBPS)
    • Clients (GESBPC)
    • Dimensions analytiques (GESCCE)
    • Comptes (GESGAC)
    • Utilisateurs (GESAUS)
    • Taux d’imposition (GESTVT)
    • Conditions de paiement (GESTPT)
    • Articles (GESITM)
    • Commandes d’achat/réceptions (GESPOH/GESPTH) – jusqu’à 10 champs personnalisés Yooz pour l’en-tête et les lignes.
    • Retours fournisseurs (GESPND) – jusqu’à 10 champs personnalisés Yooz pour l’en-tête et les lignes.
  • Pour les flux entrants (Yooz > Sage X3), vous pouvez envoyer jusqu’à 10 champs personnalisés Yooz vers Sage X3 pour les factures suivantes :
    • Factures d’achat (GESPIH)
    • Factures comptables fournisseurs (GESBIS)
    • Commandes d’achats (GESPOH)
    • Réceptions (GESPTH)

Les champs personnalisés sont soumis aux contraintes imposées par les normes Sage X3 ou par le contexte spécifique de l’application.

Champs personnalisés Yooz flux sortant

Paramétrage > Exploitation > Imports/Exports > Champs personnalisés Yooz flux sortant

  1. Ajoutez l'objet sur lequel vous souhaitez configurer un champ personnalisé.
  2. Sélectionnez un emplacement compris entre 1 et 10.
  3. Entrez une formule qui va renvoyer une chaîne de caractères. (Vous pouvez utiliser l’assistant de formule pour vous aider si besoin)

Exemple pour indiquer l'année de création dans le champ personnalisé n° 1 du formulaire « Fournisseur » de Yooz (cf: ligne 1 de la capture d’écran ci-dessus)

Une fois les champs personnalisés Yooz configurés, les modifications apportées à ces champs seront transmises à Yooz lors du prochain envoi (tâche récurrente ou manuellement via le service web).

Champs personnalisés Yooz flux entrant

Paramétrage > Exploitation > Imports/Exports > Champs personnalisés Yooz flux entrant

  1. Sélectionnez le modèle correspondant, par exemple XRJ31PIH pour les factures, XRJ31BIS pour les factures de tiers, etc.
  2. Sélectionnez la table X3 que vous souhaitez enrichir avec les données provenant de Yooz.
  3. Sélectionnez le champ de position présent dans l'importation ; il y a 10 positions disponibles pour chaque table.
  4. Sélectionnez le champ X3 que vous souhaitez remplir avec les données provenant de Yooz.

Exemple pour indiquer les désignations et les codes affaires à la fois dans l’en-tête et à la ligne (cf: ligne 1 à 4 de la capture d’écran ci-dessus)
En important ce fichier :

On retrouve bien dans l’en-tête :

Et dans la ligne :

2 Points d'entrée

Plusieurs points d'entrée ont été mis en place pour permettre un développement spécifique via le connecteur Yooz.

XRJ31BICLIB

PARAM_ETAT

Ce point d'entrée est appelé juste avant l'impression du PDF de la facture fournisseur à envoyer à Yooz.

Si vous souhaitez ajouter un nouveau paramètre à l'impression :

[L]NBPAR += 1 : [L]TBPAR([L]NBPAR) = 'societe' : [L]TBVAL([L]NBPAR) = [F:SIH]CPY

Tables renseignées avec des valeurs significatives :
- COMPANY [F:CPY]
- FACILITY [F:FCY]
- GACCDUDATE [F:DUD]
- SINVOICE [F:SIH]
- XRJ31YOOZSUI [F:XRJ31YS]

---

PE_CHANGEBIC

Ce point d'entrée permet de modifier le contenu de la facture tiers client.

Voici la liste des variables que vous pouvez modifier
- [L]YZ_PURCHASE_ORDER_NUMBER - BT-13
- [L]YZ_MARKET_NUMBER - BT-12

---

XRJ31IMPBIS

=ACTION

Ce script est appelé en tant que script spécifique pour l'import des factures fournisseurs depuis Yooz. Pour chaque action de cet import (IMPORT, IMP_ZONE, ..), un point d'entrée du même nom est appelé.

---

XRJ31IMPPIH

=ACTION

Ce script est appelé en tant que script spécifique pour l'import des factures d'achat depuis Yooz. Pour chaque action de cet import (IMPORT, IMP_ZONE, …), un point d'entrée du même nom est appelé.

DEF_UOM

Ce point d'entrée vous permet de modifier [M:PIH3]UOM(nolign-1) d'une ligne diverse qui est remplie avec 'UN' par défaut.

---

XRJ31IMPPOH

=ACTION

Ce script est appelé en tant que script spécifique pour l'import des commandes d'achat depuis Yooz. Pour chaque action de cet import (IMPORT, IMP_ZONE, …), un point d'entrée du même nom est appelé.

---

XRJ31IMPPTH

=ACTION

Ce script est appelé en tant que script spécifique pour l'import des réceptions d'achat depuis Yooz. Pour chaque action de cet import (IMPORT, IMP_ZONE, …), un point d'entrée du même nom est appelé.

---

XRJ31PNDLIB

SPEFLD

Ce point d'entrée permet de modifier le contenu des retours d'achat.

Voici la liste des variables que vous pouvez modifier
- [L]YBPSNUM - Le fournisseur

---

XRJ31SIHLIB

PARAM_ETAT

Ce point d'entrée est appelé juste avant l'impression du PDF de la facture de vente à envoyer à Yooz.

Si vous souhaitez ajouter un nouveau paramètre à l'impression :

[L]NBPAR += 1 : [L]TBPAR([L]NBPAR) = 'sitedeb' : [L]TBVAL([L]NBPAR) = [F:SIV]SALFCY

Tables renseignées avec des valeurs significatives :
- COMPANY [F:CPY]
- FACILITY [F:FCY]
- SINVOICE [F:SIH]
- SINVOICEV [F:SIV]
- GACCDUDATE [F:DUD]
- XRJ31YOOZSUI [F:XRJ31YS]

---

PE_CHANGESIH

Ce point d'entrée permet de modifier le contenu de la facture de vente.

Voici la liste des variables que vous pouvez modifier
- [L]YZ_PURCHASE_ORDER_NUMBER - BT-13
- [L]YZ_MARKET_NUMBER - BT-12

---

XRJ31YOOZLIB

BEFNEWSUI

Le connecteur utilise une file d'attente pour lister tous les éléments à envoyer à Yooz, et ces éléments seront envoyés lors de l'exécution de la fonction XRJ31EXE (généralement en tant que tâche récurrente).
Ce point d'entrée est appelé avant l'ajout d'un enregistrement dans la file d'attente.

Une transaction est ouverte, le point d'entrée est appelé juste avant l'écriture *write [F:XRJ31YS]*.

Si vous souhaitez ignorer cette création :

[L]XRJ31SKIP = 1

Si vous souhaitez générer un nouveau chrono :

Call NUMERO('YOOZ','',date$,'',[F:XRJ31YS]CHRONO,WRET) From SUBANM

Tables renseignées avec des valeurs significatives :
- XRJ31YOOZSUI [F:XRJ31YS]

PE_CHANGEPO

Ce point d'entrée permet de modifier le contenu de la commande d'achat.

Voici la liste des variables que vous pouvez modifier
- [L]YBPSNUM - Le fournisseur
- [L]YFCY - Le site

[L]XRJ31WTRAIT contient le script appelant

3 Développements spécifiques

Certains développements spécifiques sont communs à de nombreux clients ; voici quelques exemples faciles à mettre en œuvre

Envoi de commandes sans reçu

Si vous souhaitez envoyer des commandes sans attendre de reçu, définissez la valeur 2 pour le champ XRJ31SKPRCP dans PORDER.
Par exemple, si vous souhaitez envoyer toutes les commandes par défaut, vous pouvez utiliser/ajouter le script suivant dans le script SPEPOH. Cela vous permet de filtrer le comportement si nécessaire.

$ACTION
Case ACTION
When "INICRE" : Gosub INICRE
Endcase
Return

$INICRE
[F:POH]XRJ31SKPRCP=2
Return

Ne vous inquiétez pas : la commande ne sera pas envoyée immédiatement. Elle suivra le flux standard, ce qui signifie que vous devrez tout de même signer et imprimer le bon de commande.

---

Forcer le code fiscal (TVA) lors de l’importation d’une facture basée sur un bon de commande

Lorsque vous souhaitez importer des factures d’achat liées à un bon de commande et que vous souhaitez forcer le code TVA importé (champ PINVOICED.VAT) plutôt que de laisser le système standard le recalculer, vous pouvez :
- Créer un point d’entrée sur le processus standard TRTX3 (contactez votre intégrateur si vous avez besoin d’aide à ce sujet).
- Utiliser le script suivant pour appeler le point d’entrée standard ALIVATCOD

$ACTION
Case ACTION
When "ALIVATCOD" : Gosub ALIVATCOD
Endcase
Return

$ALIVATCOD
If GIMPORT & dim([F:AOE]OBJ)>0 & find([F:AOE]OBJ,"PIH")
If !clalev([F:XRJ31FI]) : Local File XRJ31SPEFLDI [F:XRJ31FI] : Endif
Filter [XRJ31FI] Where TEMPLATE=[F:AOE]EXT & TABLE="PINVOICED"
For [F:XRJ31FI]
If find([F:XRJ31FI]FLD,"VAT","VAT(0)")
[L]TAXES(0) = evalue("GIMP("+right$([F:XRJ31FI]POSITION,2)+")")
GPE=1
Endif
Next
Endif
Return

Then, configure the "Yooz custom fields in" connector function as follows (function code : GESXRJ31FI):

9-RFE Gestion des versions Sage X3 non compatibles

Contexte et objectif

Ce chapitre adresse le contexte suivant :

  • Yooz assure le rôle de PA en émission des factures de vente
  • Sage X3 n’est pas compatible e-invoicing (X3 v12 antérieur à 2024 R1 ou X3 v11)

Ce chapitre précise les modes opératoires pour :

  • l’enrichissement du dictionnaire Sage X3, avec une partie par patch et une autre par actions manuelles

  • les tâches de paramétrage

Ce document intervient sur ces phases de l’implémentation :

Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

Mode opératoire

Mise à jour par patch Sage X3

Une partie des modifications peut être apportée par un patch Sage X3.
Cela concerne les tables diverses et menus locaux/messages.

Commencer par la récupération du fichier patch Sage X3

📄 Télécharger le patch SRC_YOOZX3-EINV_1_v12_p39.dat

Format : .dat  — Taille : 2.5 MB  — Version : 1

Ensuite intégrer ce patch sur le dossier Sage de test ou de production du client. Une première intégration en test est vivement conseillée.

Vérifier la présence des tables diverses : 18, 206, 207, 208, 209, 210, 211, 212, 970, 971, 972. Et du menu local/message 7796.
La présence de ces éléments confirme la bonne réalisation de cette partie.

Modifications manuelles

Il s’agit d’ajouter des champs dans les tables du standard et des zones dans les écrans du standard.
Il est précisé ci-dessous le détail des ajouts à opérer. Il faudra renseigner le code activité XRJ31 sur toutes ces nouvelles zones pour éviter toute perte.

Quand cela est possible, les libellés de zone sont mutualisés.
On précise que les tables diverses sont déjà disponibles, via l’intégration du patch au paragraphe précédent.

Détails pour les tables du standard. Il faut bien entendu valider la table après l’enregistrement des modifications. C’est donc une opération à réaliser sans session utilisateur. Placer un code activité XRJ31 sur chaque champ.

TableChampIntituléTypeTable liéeExpressionAnnulationVérificationObligatoire
SINVOICEBUSPROTYPCode type e-factureADI 207ATABDIV207;BUSPROTYPBloquantOuiNon
TABSIVTYPEINVTYP1Code type e-factureADI 206ATABDIV206;EINVTYP1BloquantOuiNon
FACILITYXRJ31EINBT22NoteA 250
FACILITYXRJ31EINBT21Code type e-factureA 3
TABUNITINTSAUCode CEE-ONUADI 18ATABDIV18;INTSAUBloquantOuiNon
TABVATVATCATCode type e-factureADI 208ATABDIV208;VATCATBloquantOuiNon
BPARTNERINTSRVCODCode serviceA 100
BPARTNERELCADDAdresse électroniqueA 125
FACTORXRJ31CRNNuméro SIRETA 125
FACTORXRJ31ELCADDAdresse électroniqueA 125
TABPAMPAYMETTYPCode type e-factureADI 211ATABDIV211;PAYMETTYPBloquantOuiNon
SFOOTINVDISCRGREACODCode type e-factureADI 212ATABDIV212;DISCRGREACODBloquantOuiNon
BPDLVCUSTXRJ31ELCADDAdresse électroniqueA 125
BPDLVCUSTXRJ31CRNNuméro SIRETA 125
Options

L’ajout des zones sur la table FACTOR n’est pas nécessaire si vous n’avez pas le cas de confier vos factures à un factor. Et l’ajout des zones sur la table BPDLVCUST (client livré) n’est pas utile si vous n’avez pas besoin de lire les informations d’adressage des factures sur le client livré.

En ce qui concerne les écrans du standard. Il faut bien entendu valider l’écran après l’enregistrement des modifications.
L’emplacement des zones est proposé, il est possible de procéder différemment. Placer un code activité XRJ31 sur chaque zone.

EcranZoneEmplacementIntituléTypeLienSaisieActObligatoire
SIH1BUSPROTYPen dernière position du bloc 1Code type e-factureADI 207LongSaisieNon
TSV1EINVTYP1en dernière position du bloc 2Code type e-factureADI 206LongSaisieNon
FCY4ELCADDen dernière position du bloc 1Adresse électroniqueA 125SaisieXRJ31Non
FCY0XRJ31EINBT22en dernière position du bloc 1NoteA 250SaisieXRJ31Non
FCY0XRJ31EINBT21en dernière position du bloc 1Code type e-factureA 3SaisieNon
TUN1INTSAUen dernière position du bloc 1Code CEE-ONUADI 18NonSaisieNon
TVT1VATCATen dernière position du bloc 2Code type e-factureADI 208LongSaisieNon
BPR1INTSRVCODen dernière position du bloc 1Code serviceA 100SaisieNon
BPR1ELCADDen dernière position du bloc 1Adresse électroniqueA 125SaisieNon
BPC1INTSRVCODen dernière position du bloc 1Code serviceA 100SaisieNon
BPC1ELCADDen dernière position du bloc 1Adresse électroniqueA 125SaisieNon
FCT1CRNen dernière position du bloc 1Numéro SIRETA 125SaisieNon
FCT1ELCADDen dernière position du bloc 1Adresse électroniqueA 125SaisieNon
TAM1PAYMETTYPen dernière position du bloc 3Code type e-factureADI 211LongSaisieNon
SFI1DISCRGREACODen dernière position du bloc 5Code type e-factureADI 212LongSaisieNon
BPC4XRJ31ELCADDen dernière position du bloc 1Adresse électroniqueA 125InvisibleXRJ31Non
BPC4XRJ31CRNen dernière position du bloc 1Numéro SIRETA 125InvisibleXRJ31Non
BPC4XXRJ31ELCADDen dernière position du bloc 2Adresse électroniqueA 125SaisieXRJ31Non
BPC4XXRJ31CRNen dernière position du bloc 2Numéro SIRETA 125SaisieXRJ31Non
BPD1XRJ31ELCADDen dernière position du bloc 1Adresse électroniqueA 125SaisieXRJ31Non
BPD1XRJ31CRNen dernière position du bloc 1Numéro SIRETA 125SaisieXRJ31Non
Précision

Concernant la modification de l’écran SIH1, il faudra lancer la fonction de validation des transactions (GENMSKTRT) pour les codes transaction SLI et SLA.

Options

L’ajout des zones sur la table FACTOR n’est pas nécessaire si vous n’avez pas le cas de confier vos factures à un factor. Et l’ajout des zones sur la table BPDLVCUST (client livré) n’est pas utile si vous n’avez pas besoin de lire les informations d’adressage des factures sur le client livré.

Tâches de paramétrage

À partir de ce point, les zones indispensables pour la facturation électronique sont en place, vous pouvez passer à l’alimentation des valeurs.
Nous allons passer en revue les différentes entités à paramétrer.

🚨IMPORTANT

Vous pouvez évidemment vous limiter à paramétrer uniquement les données qui sont utilisées. En effet, vous pouvez avoir des tables de paramétrage qui contiennent de nombreuses informations, qui ne sont pas toutes utiles. Cette remarque s’applique à tous les éléments, elle ne sera pas rappelée à chaque fois.

Unités

Il s’agit de la fonction GESTUN du menu Données de base > tables communes.
Vous devez renseigner la colonne Code CEE-ONU, une liste de valeurs est présente pour vous aider à sélectionner la bonne information.

Mode de règlement

Il s’agit de la fonction GESTAM du menu Données de base > Tables tiers.
Vous devez renseigner la zone Code type e-facture, une liste de valeurs est présente pour vous aider à sélectionner la bonne information.

Taux de taxe

Il s’agit de la fonction GESTVT du menu Données de base > Tables communes > Taxes.
Vous devez renseigner la zone Code type e-facture, une liste de valeurs est présente pour vous aider à sélectionner la bonne information.

Éléments de facturation

Il s’agit de la fonction GESSFI du menu Paramétrage > Ventes.
Vous devez renseigner la zone Code type e-facture, une liste de valeurs est présente pour vous aider à sélectionner la bonne information.

Types de factures client

Il s’agit de la fonction GESTSV du menu Paramétrage > Ventes > Types de documents.
Vous devez renseigner la zone Code type e-facture, une liste de valeurs est présente pour vous aider à sélectionner la bonne information.
Selon vos cas de gestion métier, il est peut-être nécessaire d’ajouter de nouveaux types de factures client.

Sites

Il s’agit de la fonction GESFCY du menu Paramétrage > Structure générale.
Vous devez renseigner la zone Adresse électronique qui est celle du site qui émet la facture. C’est donc votre adresse électronique, selon la qualification “adresse électronique du vendeur”, qui correspond au terme métier BT-34. Cette donnée est obligatoire.
Vous pouvez également renseigner une note et son code pour la facturation électronique. Ces données sont facultatives.
Voici une liste des codes possibles pour la note
AAI : Information générale (souvent utilisé pour les éléments en pied de page des factures papier)
BLU : Éco-participation (DEEE) ou autres taxes environnementales
ACC : Clause de subrogation pour l'affacturage (factoring)
SUR : Remarques libres du fournisseur
CUS : Information douanière

Factors

Il s’agit de la fonction GESFCT du menu Données de base > Tiers.
Vous devez renseigner les zones Numéro SIRET et Adresse électronique sur le ou les factor qui sont impliqués sur des flux de facturation électronique client.

Clients / Tiers

Il s’agit des fonctions GESBPR ou GESBPC du menu Données de base > Tiers.
Vous devez renseigner les zones Code service et Adresse électronique sur tous les clients concernés par la facturation électronique.