Intégrations / ERP / Sage 100
Guide d’intégration de Sage 100 pour l’ordonnancement de la production avec SkyPlanner APS
Ce guide d’intégration de Sage 100 explique aux partenaires Sage et aux équipes informatiques comment connecter Sage 100 à SkyPlanner APS. Il couvre les deux produits qui portent ce nom : Sage 100 aux États-Unis et au Canada avec Production Management, et Sage 100 en Allemagne et en Autriche avec Sage 100 Produktion. L’intégration entre SkyPlanner et Sage 100 fonctionne dans les deux sens :
- Les ordres de fabrication, appelés Work tickets ou Fertigungsaufträge, sont importés avec leurs étapes ou Arbeitsgänge, ainsi que les postes de charge, les articles, les stocks et les commandes fournisseurs.
- Les dates planifiées sont renvoyées pour chaque étape ou Arbeitsgang.
- Les temps saisis par les opérateurs sont renvoyés sous forme de saisies de main-d’œuvre (US) ou de Rückmeldungen (DE).
Lors de la mise en service, l’équipe SkyPlanner configure l’intégration en fonction de votre installation Sage 100, puis en assure le support après le démarrage en production. Ce guide s’adresse aux partenaires et aux développeurs qui souhaitent y contribuer ou développer eux-mêmes une intégration à partir de la REST API documentée de SkyPlanner (référence de l’API).
Sage 100 aux États-Unis : les interfaces d’intégration
La version américaine de Sage 100 fonctionne sur site, dans les éditions Standard, Advanced ou Premium. Ses interfaces d’intégration se trouvent sur le serveur Sage 100.
Business Object Interface (BOI).
« The Business Objects Interface allows third-party developers with the necessary skills to access Sage 100 programs and applications using Component Object Model (COM). » (Cette interface permet aux développeurs tiers disposant des compétences nécessaires d’accéder aux programmes et applications via Component Object Model (COM).) (Aide Sage 100) Le portail développeur de Sage la décrit comme « Sage 100’s internal API layer, giving you access to the same logic used by the application itself. » (Sa couche API interne, qui donne accès à la logique utilisée par l’application elle-même.) (developer.sage.com) Les écritures passent par BOI : chaque création ou mise à jour est soumise aux mêmes contrôles que si elle était effectuée par un utilisateur dans Sage 100.
ODBC.
Le pilote ProvideX ODBC permet de lire les tables Sage 100 pour produire des rapports et extraire des données en masse. Un pilote ODBC client/serveur est disponible sur Advanced. L’intégration utilise ODBC pour lire en masse les ordres de fabrication, les articles et les commandes fournisseurs, et BOI pour les écritures.
Visual Integrator (VI).
Les traitements d’import et d’export VI transfèrent les données entre Sage 100 et des fichiers ou des sources ODBC. Sage précise : « One of the most powerful features of the Visual Integrator module is its ability to directly import data from and export data to an ODBC data source. » (L’une des fonctions les plus puissantes du module Visual Integrator est sa capacité à importer et exporter directement des données depuis et vers une source ODBC.) (source) VI fait partie de l’offre Essentials et convient aux échanges par fichiers.
eBusiness Web Services repose sur SOAP et couvre « the Sage 100 sales order, customer, and customer contact entities. » (Les entités correspondant aux commandes clients, aux clients et à leurs contacts.) (source) Ce service peut transmettre les commandes clients ; les données de production passent par BOI et ODBC.
L’intégration s’exécute dans l’environnement de Sage 100, avec un compte utilisateur Sage 100 disposant des droits nécessaires pour les tâches qu’elle utilise dans Production Management, Inventory et Purchase Order. Les flux sortants sont envoyés à la REST API de SkyPlanner via HTTPS.
Sage 100 en Allemagne : les interfaces d’intégration
La version allemande de Sage 100 fonctionne sur Microsoft SQL Server, en installation locale ou dans sa variante cloud. Sage indique qu’il est possible de « Partnerlösungen via API-Schnittstelle ergänzen » (ajouter des solutions partenaires via une interface API) (Sage 100). Les extensions de production référencées par Sage s’appuient sur Sage AppDesigner et sur les objets métier de Sage 100.
L’intégration emprunte la même voie que les solutions des partenaires Sage. Elle lit les Fertigungsaufträge, Arbeitsgänge, Arbeitsplätze, Ressourcenlisten, Artikel et Bestellungen dans la base SQL Server de Sage 100. Les dates des Arbeitsgänge et les Rückmeldungen sont renvoyées par le mécanisme d’écriture défini lors du cadrage par votre partenaire Sage et l’équipe SkyPlanner. Les enregistrements respectent ainsi la logique propre à Sage 100. Votre partenaire Sage confirme la version (par exemple 9.0) et la configuration des accès.
Authentification et accès
| Système | Mode d’authentification |
|---|---|
| Sage 100 aux États-Unis, BOI | Session utilisateur Sage 100 sur le serveur Sage 100, avec les droits de rôle nécessaires pour chaque tâche utilisée |
| Sage 100 aux États-Unis, ODBC | DSN sur l’installation Sage 100, avec accès en lecture |
| Sage 100 en Allemagne | Compte utilisateur Sage 100 pour la réécriture et accès en lecture à SQL Server, définis avec votre partenaire Sage |
| SkyPlanner | Jeton API dans l’en-tête Authorization-Token, créé dans SkyPlanner Settings > API |
La REST API de SkyPlanner est documentée dans Swagger/OpenAPI. Le tutoriel d’intégration vous guide dans vos premiers appels.
Détection des modifications
Les modifications dans Sage 100 sont récupérées par des lectures planifiées. Lisez les Work tickets ou Fertigungsaufträge ouverts à intervalles courts, et les stocks et commandes fournisseurs toutes les heures. Filtrez par statut et par date de modification pour ne récupérer que les données modifiées à chaque lecture.
SkyPlanner envoie des webhooks lorsque le planning change : la réécriture dans Sage 100 est donc déclenchée par les événements.
Correspondance des données
| Sage 100 (US) | Sage 100 (DE) | Objet SkyPlanner | Sens | Fréquence |
|---|---|---|---|---|
| Item | Artikel | Produits et matières | Sage 100 → SkyPlanner | Chargement initial, puis quotidien |
| Bill of Materials, matières des modèles | Stückliste dans la Ressourcenliste | Structure du produit, sous-produits, matières par produit | Sage 100 → SkyPlanner | À chaque modification |
| Poste de charge : opérateurs ou machines, horaires par jour de la semaine, fermetures | Arbeitsplatz, Ressource (Mitarbeiter, Maschine) | Postes de travail, groupes de postes de travail, personnel, équipes | Sage 100 → SkyPlanner | Chargement initial |
| Étapes des modèles de Work ticket, codes d’activité | Arbeitsplan, Arbeitsgänge avec Rüst- et Stückzeiten | Étapes de fabrication avec temps de préparation et d’exécution | Sage 100 → SkyPlanner | À chaque modification |
| Work ticket avec étapes et date d’échéance | Fertigungsauftrag avec Arbeitsgänge et Liefertermin | Ordres et opérations avec dates d’échéance | Sage 100 → SkyPlanner | Lectures à intervalles courts |
| Quantités en stock par entrepôt | Lagerbestand | Niveaux de stock | Sage 100 → SkyPlanner | Toutes les heures |
| Lignes de commande fournisseur, dates requises | Bestellungen, Liefertermine | Commandes fournisseurs avec date de livraison prévue | Sage 100 → SkyPlanner | Toutes les heures |
| Lignes de commande client, dates promises | Kundenaufträge | Échéances clients, priorité client | Sage 100 → SkyPlanner | Lectures à intervalles courts |
| Dates des étapes du Work ticket (BOI) | Arbeitsgang-Termine | Début, fin et poste de travail prévus pour chaque étape | SkyPlanner → Sage 100 | À chaque modification, via webhook |
| Labor Entry, clôture du Work ticket (BOI) | Rückmeldung : temps, quantités | Temps saisis et confirmations des opérateurs | SkyPlanner → Sage 100 | À chaque confirmation ou par poste |
| Non géré dans Sage 100 | Non géré dans Sage 100 | Matrice des temps de changement, outils en tant que ressources à capacité limitée, opérateurs par opération, postes de travail alternatifs | Géré dans SkyPlanner | Lors de la mise en service |
Schémas d’intégration
1. Chargement initial des données de base. Chargez d’abord les articles et les postes de charge, puis les modèles ou Arbeitspläne avec leurs étapes. Un poste de charge de la version américaine comportant trois machines et deux opérateurs devient, dans SkyPlanner, trois postes de travail, un groupe de postes de travail et deux personnes. Chacun dispose alors de sa propre ligne dans le planning.
2. Synchronisation des ordres. Lisez les Work tickets ou Fertigungsaufträge ouverts avec leurs étapes, ainsi que les stocks et les commandes fournisseurs en cours. SkyPlanner vérifie les stocks et les livraisons attendues avant de placer une opération dans le planning. Sage 100 continue de proposer des ordres de fabrication, et SkyPlanner ordonnance ceux que vous lancez.
3. Réécriture du planning. Pour chaque étape placée ou déplacée par le moteur, SkyPlanner transmet le début, la fin et le poste de travail prévus. Dans la version américaine de Sage 100, l’intégration met à jour les dates des étapes du Work ticket via BOI. Dans la version allemande de Sage 100, elle met à jour les dates des Arbeitsgänge par le mécanisme défini lors du cadrage. Sage 100 conserve la gestion des quantités, des affectations et du calcul des coûts.
4. Déclarations d’atelier. Les opérateurs déclarent leur travail avec SkyPlanner Mobile Confirmations ou Production Timer, et ces relevés de temps maintiennent le planning à jour. Dans la version américaine de Sage 100, le temps déclaré alimente Labor Entry pour l’opération du ticket de fabrication, et la déclaration finale clôture le ticket. Dans la version allemande de Sage 100, il devient une Rückmeldung avec les temps et les quantités. Si votre usine saisit déjà les temps dans Betriebsdatenerfassung ou une application de lecture de codes-barres, retenez un seul canal de saisie.
5. Responsabilité des données et règles de gestion des conflits. Consignez ces règles avant la mise en production :
| Données | Système responsable |
|---|---|
| Articles, nomenclatures, modèles, quantités des ordres, coûts | Sage 100 |
| Séquence des opérations, heures de début et de fin, affectation aux postes de travail | SkyPlanner |
| Matrice des temps de réglage, outillage, opérateurs par opération, ressources alternatives | SkyPlanner |
| Labor et Rückmeldungen | Sage 100, alimenté par les relevés de temps de SkyPlanner |
La principale source de conflits est l’utilisation d’un second outil d’ordonnancement. Si les planificateurs continuent à lancer Enhanced Scheduling dans la version américaine de Sage 100 ou à déplacer des tâches sur la Plantafel dans la version allemande de Sage 100, deux systèmes pilotent les dates. Confiez à SkyPlanner la gestion des dates des opérations. Avec Autopilot, SkyPlanner recalcule automatiquement le planning lorsque la production évolue.
Étapes types du projet
La mise en œuvre s’achève généralement en quelques semaines après le début de l’accompagnement. Au préalable, validez le planning pendant l’essai gratuit de 30 jours à partir d’un export CSV ou Excel des tickets de fabrication ou des Fertigungsaufträge en cours. Le projet se déroule ensuite comme suit :
- Cadrage. Confirmez le produit (version américaine ou allemande de Sage 100), la version et l’installation, les modes d’accès en lecture et en écriture, les fréquences de synchronisation et le canal de saisie des temps.
- Accès. Votre partenaire Sage configure l’utilisateur Sage 100, ses droits et l’accès à la base de données.
- Chargement initial. Articles, postes de charge, modèles ou Arbeitspläne, nomenclatures et horaires de travail.
- Synchronisation des ordres. Synchronisation à intervalles définis des tickets de fabrication ou des Fertigungsaufträge, des commandes d’achat et des stocks.
- Paramétrage des contraintes dans SkyPlanner. Matrice des temps de réglage, outillage, nombre d’opérateurs par opération et machines ou personnel de remplacement.
- Retour du planning. Transmission à Sage 100 des dates prévues pour les opérations, puis des données Labor et des Rückmeldungen.
- Tests en parallèle et mise en production. Comparez les dates avec le planning actuel, corrigez les données de base, puis activez l’écriture dans Sage 100.
Points à prévoir pour une intégration avec Sage 100
- Identifiez votre édition de Sage 100. Les versions américaine et allemande de Sage 100 ont des modèles de données et des interfaces différents. Précisez le produit et la version dès le premier échange de cadrage.
- Postes de charge regroupant plusieurs machines. Dans la version américaine, un poste de charge constitue une unité de capacité composée de « one or more persons or machines » (une ou plusieurs personnes ou machines). Décidez pour chaque poste de charge s’il doit devenir un poste de travail, plusieurs postes de travail ou un groupe.
- Temps de réglage et d’exécution. Les modèles et les Arbeitspläne contiennent les temps utilisés par SkyPlanner pour l’ordonnancement. Comparez-les aux temps réels avant la mise en production.
- Calendriers. Dans la version américaine, les postes de charge contiennent les horaires par jour de la semaine et les périodes de fermeture. Chargez-les comme horaires de travail dans SkyPlanner, puis ajoutez les horaires et les absences de chaque opérateur.
- Unités de mesure. Les opérations peuvent être définies à la pièce, au lot ou à l’heure. Établissez la correspondance des unités pour chaque opération.
- Droits BOI. BOI applique les droits associés aux rôles de Sage 100. L’absence d’un droit sur une tâche bloque l’écriture. Testez chaque écriture avec l’utilisateur dédié à l’intégration.
- Un seul système responsable des dates. Désactivez les calculs d’ordonnancement parallèles ou les déplacements sur la Plantafel dès que SkyPlanner prend en charge les dates.
Intégration avec Sage 100 : qui la configure et en assure le support ?
- L’équipe SkyPlanner la configure pendant l’accompagnement initial et en assure le support après la mise en production.
- Votre partenaire Sage peut participer. Il connaît votre version de Sage 100, configure les utilisateurs et les droits, et valide l’accès à la base de données.
- Vos développeurs peuvent réaliser leurs propres développements à partir de la REST API documentée de SkyPlanner. Un jeton API suffit pour commencer, et l’équipe SkyPlanner vous aide si nécessaire.
Une fois la connexion établie, le moteur Arcturus ordonnance les ordres à partir des données à jour de Sage 100, et les dates prévues sont reportées sur chaque opération. SkyPlanner est disponible à partir de 199 € par mois, avec 5 postes de travail inclus et une facturation mensuelle. L’intégration fait l’objet d’un devis préalable adapté à vos processus et à vos besoins, présenté avec votre abonnement : vous connaissez ainsi le coût total avant de commencer. Consultez les tarifs, les fonctionnalités et la comparaison avec les fonctions de planification natives de Sage 100 dans notre guide sur l’ordonnancement à capacité finie avec Sage 100. La page Sage 100 en présente une vue d’ensemble. Sage 200 et Sage X3 disposent de leurs propres guides, accessibles depuis les pages Sage 200 et Sage X3. Retrouvez les autres ERP dans la rubrique des intégrations ERP.
Avis d’industriels sur SkyPlanner
6 moisde visibilité sur la capacité disponible pour les commerciaux
« SkyPlanner apporte une base solide et fiable à toute la planification de la production. »
Anu Järvinen, responsable de production
Fredman Operations · Papiers d’emballage aptes au contact alimentaire
Les commerciaux voient la capacité disponible six mois à l’avance. Les demandes de modification du planning, qui nécessitaient auparavant une heure ou plus, obtiennent désormais une réponse en quelques secondes.
100%de respect des délais de livraison depuis 2021
« SkyPlanner nous donne de la visibilité sur la capacité et rend la planification prévisible. »
Dan Berglund, COO/CFO
Opes Corporation · Industries chimique et agroalimentaire
Les délais de livraison sont respectés à 100% depuis le début de l’utilisation de SkyPlanner, en 2021.
FAQ
Sage 100 dispose-t-il d’une REST API pour les tickets de fabrication ?
La version américaine de Sage 100 expose sa logique métier via Business Object Interface, avec ODBC pour la lecture et Visual Integrator pour les traitements par fichiers. SkyPlanner lit les tickets de fabrication via ODBC et BOI, et écrit les dates des opérations et les temps de main-d’œuvre via BOI. Pour la version allemande de Sage 100, la lecture s’effectue dans la base SQL Server, et le mode d’écriture est défini avec votre partenaire Sage lors du cadrage.
Qui réalise l’intégration avec Sage 100 ?
L’équipe SkyPlanner configure l’intégration bidirectionnelle selon votre installation Sage 100 pendant l’accompagnement initial et en assure le support après la mise en production. Votre partenaire Sage configure les utilisateurs, les droits et l’accès à la base de données, et peut participer au projet. Vos développeurs peuvent également s’appuyer sur la REST API documentée de SkyPlanner : un jeton API suffit pour commencer.
Comment les dates prévues sont-elles réécrites dans Sage 100 ?
Dans la version américaine de Sage 100, l’intégration met à jour les dates prévues de chaque opération du ticket de fabrication via BOI et alimente Labor Entry à partir des relevés de temps des opérateurs. Dans la version allemande de Sage 100, elle met à jour les dates des Arbeitsgang de chaque Fertigungsauftrag et enregistre les Rückmeldungen via le mode d’écriture défini par votre partenaire Sage et l’équipe SkyPlanner lors du cadrage.
Sage 100 peut-il transmettre les modifications en temps réel ?
SkyPlanner récupère les modifications de Sage 100 par des lectures programmées : à intervalles rapprochés pour les ordres en cours, et toutes les heures pour les stocks et les commandes d’achat. Dans l’autre sens, les webhooks de SkyPlanner transmettent les modifications du planning dès qu’elles se produisent.
Peut-on tester SkyPlanner avant de réaliser l’intégration ?
Oui. L’essai gratuit de 30 jours permet d’utiliser jusqu’à 20 postes de travail avec des imports CSV ou Excel de vos tickets de fabrication ou Fertigungsaufträge, sans carte bancaire. Démarrez l’essai ou contactez l’équipe commerciale pour cadrer l’intégration.