Documentation architecture multi-magasins KWISATZ

Architecture des communications multi-sites

L’architecture interfaces de communication multi-sites permet à chaque magasin de travailler sur une base locale tout en échangeant périodiquement avec une base centrale. Le Back-Office diffuse les référentiels et consolide les ventes ; les Front-Office restent opérationnels pendant une coupure réseau.

Fiche : COM-MULTI-001 Modules : interface de communication du back-office / interface de communication de la caisse Public : intégrateur ou administrateur réseau Risque : critique Catégorie : Interfaces, e-commerce et multi-sitesMise à jour : 6 août 2026

Réponse directe

Installez interface de communication du back-office sur la licence centrale configurée en Back-Office et interface de communication de la caisse dans chaque licence Front-Office. Attribuez à chaque site un code magasin, des numéros de caisses et une connexion uniques. Le Back-Office descend produits, stocks, clients, grilles ou documents ; le Front-Office remonte les tickets et données prévues. Activez la surveillance et testez systématiquement la réexpédition des tickets.
Ne modifiez jamais directement au siège un ticket fiscal provenant d’une caisse distante. La correction ou la contre-passation doit être effectuée sur le site d’origine, puis retransmise par le flux normal.

Conseil technicien général

1. Repères de version

Les références de version ci-dessous sont conservées comme repères documentaires. Les menus, options et comportements doivent être contrôlés sur la version et la sérialisation réellement installées ; une évolution plus récente peut avoir modifié le fonctionnement.

2. Licence et disponibilité

La dépendance de licence mentionnée dans ce document provient des sources. Sa disponibilité peut varier selon la version, la sérialisation, le partenaire ou l’installation ; faites-la valider techniquement avant de modifier l’environnement.

3. Distinguer KWISATZ des opérations externes

Un enregistrement dans KWISATZ ne prouve pas automatiquement qu’une opération a été exécutée dans un système externe : débit ou remboursement TPE, mouvement physique d’espèces, envoi de SMS ou d’e-mail, ou action réalisée sur une plateforme.

4. Protection des données

5. Choisir l’architecture

Architecture classique

BACK-OFFICE CENTRAL
KWISATZ + interface de communication du back-office
        │
        ├──────── Internet / VPN ────────┐
        │                                │
FRONT-OFFICE A                    FRONT-OFFICE B
KWISATZ + interface de communication de la caisse               KWISATZ + interface de communication de la caisse
Base locale magasin A             Base locale magasin B

Chaque magasin encaisse sur sa propre base. Le siège prépare les mises à jour et consolide les informations reçues. Les échanges ne sont pas des accès directs à une base unique : ils sont exécutés par les modules de communication à intervalles réguliers.

Architecture hiérarchique

SUPER CONCENTRATEUR / SIÈGE
            │
       CONNEXION N°
            │
   CONCENTRATEUR INTERMÉDIAIRE
       interface de communication du back-office / interface de communication du back-office
        │              │
     interface de communication de la caisse A         interface de communication de la caisse B

Une architecture avec concentrateur intermédiaire peut être utilisée pour regrouper plusieurs sites, franchises ou régions. Le interface de communication du back-office intermédiaire utilise alors une connexion déterminée pour communiquer avec le concentrateur supérieur.

Plus l’architecture comporte de niveaux, plus les codes de connexion, les responsabilités et les délais de reprise doivent être documentés.
L’option -VSS de certains automates adresse la demande au Super Concentrateur au lieu du module local standard.

6. Rôle de chaque composant

Composant Rôle principal
KWISATZ Back-Office Gère le référentiel central, les tarifs, les achats, les stocks consolidés, les clients, documents et analyses.
interface de communication du back-office Prépare et distribue les données aux Front-Office ; reçoit les flux magasins et les intègre au siège.
KWISATZ Front-Office Encaisse localement et mouvemente le stock associé au code magasin local.
interface de communication de la caisse Intègre les actualisations du siège puis transmet les tickets, documents et autres données configurées.
Connexion Décrit un magasin ou un trajet d’échange : destination, données autorisées, filtres et état de communication.
HeartBeat Signale périodiquement la présence d’un interface de communication de la caisse au interface de communication du back-office et alimente le tableau de bord.
interfaces de communication multi-sites fonctionnent en tâche de fond. Toutes les x minutes, ils recherchent les fichiers ou commandes à traiter, intègrent les flux reçus et préparent les envois suivants.

7. Licences et identifiants uniques

  • une licence centrale définie comme Back-Office ;
  • une licence Front-Office par magasin ou caisse autonome selon le contrat ;
  • les modules interfaces de communication multi-sites sérialisés pour le périmètre prévu ;
  • un code de dossier cohérent sur chaque installation ;
  • un code magasin unique par point de vente ;
  • un numéro de caisse unique dans son périmètre ;
  • un numéro de connexion unique au siège ;
  • une version compatible entre les différents composants.
Deux magasins ne doivent jamais partager le même code magasin ou la même identité de caisse. Les tickets, stocks et statistiques pourraient être affectés au mauvais site ou produire des doublons.
Les zones de configuration et de réexpédition documentées acceptent des numéros de connexion jusqu’à 99. N’improvisez pas une nouvelle connexion sans vérifier les numéros déjà utilisés.

8. Configurer les préférences KWISATZ

Dans Outils > Préférences > Général, vérifiez les zones de communication multi-magasins.

Zone Back-Office Front-Office
Type de connexion Licence Back-Office connectée à des licences Front-Office. Licence Front-Office connectée à une licence Back-Office.
Adresse IP du gestionnaire Adresse du module interface de communication du back-office ou du service local utilisé par KWISATZ. Adresse du module interface de communication de la caisse local.
Port N° Port d’écoute du gestionnaire d’actualisation. Port d’écoute du gestionnaire d’actualisation.
Code du magasin local Selon l’usage central et les mouvements concernés. Magasin dont le stock est mouvementé par les tickets locaux.
Ne pas actualiser le stock local Non applicable au même titre. Empêche la mise à jour du stock local lors d’une actualisation reçue.
L’option Ne pas actualiser le stock local ne doit être activée qu’après validation du modèle de stock. Elle peut expliquer un écart entre le stock du siège et celui de la boutique.

9. Paramétrer les connexions

Chaque connexion représente une destination ou un magasin. Elle doit définir au minimum :

  • numéro de connexion ;
  • code et libellé du magasin ;
  • dossier source et dossier destination ;
  • adresse ou mode de transport ;
  • périodicité des boucles ;
  • données à exporter et importer ;
  • filtres de produits ;
  • options de conservation des valeurs locales ;
  • état actif ou suspendu ;
  • gestion du HeartBeat si utilisée.

Valeurs locales

Dans certaines configurations, un magasin doit conserver des informations locales au lieu de les écraser par le référentiel central. Les versions documentées proposent notamment des options de conservation pour :

  • les données Dépôt/Vente ;
  • les informations restauration ;
  • les informations Web ou e-commerce ;
  • d’autres groupes de champs selon la version.
Une option « Conserver valeurs locales » doit être décidée champ par champ. Elle peut empêcher une correction centrale de parvenir au magasin.

10. Flux descendants : du siège vers les magasins

Flux Contenu Contrôle
Produits Codes, désignations, prix, TVA, familles, options de caisse et autres champs sélectionnés. Indicateur d’actualisation, Chrono_MAJ et filtre par connexion.
Grilles Rayons, familles, lignes, marques et autres grilles annexes. À envoyer avant les produits qui utilisent les nouveaux codes.
Stocks Quantités ou mises à jour de stock selon le paramétrage. Vérifier le magasin ciblé et l’option de stock local.
Clients Fiches clients et données prévues par l’interface. Règle de création, actualisation et conflits.
Fournisseurs Fiches fournisseurs utilisées par les sites lorsque le flux est activé. Limiter aux magasins qui en ont besoin.
Documents commerciaux Commandes, livraisons, factures ou autres documents sélectionnés. Numérotation, origine, statut et période.
Historiques clients Informations utiles à la consultation ou au suivi client en magasin. Volume et données personnelles.
Inventaires en préparation Inventaire préparé au siège et transmis au site. Magasin, date et état de l’inventaire.
Envoyez les grilles avant les produits lorsque de nouveaux rayons, familles, lignes ou marques sont créés.

11. Flux remontants : des magasins vers le siège

  • tickets de caisse et règlements ;
  • mouvements de stock issus des ventes ;
  • clients créés ou modifiés selon la politique ;
  • documents de gestion autorisés ;
  • inventaires ou résultats d’inventaire ;
  • informations de fidélité prévues ;
  • journaux techniques, accusés et états de traitement.
Le magasin reste autonome pour encaisser. Une coupure Internet retarde la consolidation, mais ne doit pas bloquer la vente locale lorsque la base et les périphériques locaux sont opérationnels.
Une reprise après coupure ne doit pas consister à copier manuellement les tables ou à réimporter la même période sans contrôle.

12. Actualisation des produits

Indicateur d’actualisation

La fiche produit contient un indicateur utilisé dans les configurations multi-magasins :

Valeur Effet
OK L’article est considéré à jour et n’est pas inclus dans la prochaine mise à jour standard.
Actualiser L’article a été créé ou modifié et doit être envoyé.
Effacer Une instruction de suppression est préparée pour les magasins.
Article jamais actualisé Les mises à jour de cet article sont ignorées afin de conserver une situation locale particulière.

Chrono_MAJ

Le champ Article.Chrono_MAJ permet de sélectionner les produits modifiés sur une période précise, avec heure de modification. Il est utilisé par les exportations récentes et par l’automate -A1 -PARAM1=n.

KWISATZ.EXE -DDEMO -P1 -A1 -PARAM1=5

Cet exemple demande l’export des produits modifiés entre aujourd’hui et J-5.

Filtre par connexion

Depuis les versions récentes de la branche 3.57, le filtre ACTU_FILTRE_PRODUITS défini sur chaque connexion est réellement appliqué lors de la génération des mises à jour. Il permet de limiter les produits transmis selon le magasin ciblé.

Testez tout filtre sur une petite sélection. Un filtre trop restrictif peut priver un magasin d’un article nécessaire ; un filtre trop large peut écraser des milliers de fiches inutilement.

Réduire la volumétrie

Les photos, libellés étendus et libellés catalogue sont responsables de ralentissements importants. Les modules proposent des options pour désactiver leur export lorsque ces données ne sont pas nécessaires.

13. Tickets de caisse et intégrité fiscale

Les tickets sont créés, sécurisés et chronologisés sur la caisse d’origine. La copie reçue au Back-Office est un ticket distant.

Règles essentielles

  • la caisse d’origine est la source fiscale ;
  • les corrections doivent être effectuées sur cette caisse ;
  • la contre-passation directe d’un ticket distant est interdite dans les versions récentes ;
  • la modification administrative à distance est fortement limitée ;
  • la retransmission ne doit pas créer une deuxième copie logique ;
  • la séquence doit être contrôlée par caisse et période.

Contrôle des séquences

Accès : Outils > Recalculs/Contrôles > Contrôle des séquences de tickets, selon la version.

  1. Choisissez tickets distants.
  2. Renseignez la période.
  3. Renseignez le numéro de caisse.
  4. Lancez le contrôle.
  5. Enregistrez la liste des ruptures.
  6. Vérifiez que les tickets existent sur le site source.
  7. Demandez leur réexpédition.
  8. Refaites le contrôle après intégration.
Ne recréez pas manuellement un ticket manquant au siège. Réexpédiez l’original depuis le interface de communication de la caisse de la caisse concernée.

Demande de réexpédition

Accès : Outils > Transfert de données > Demande de réexpédition des tickets. Renseignez la connexion et la période à retransmettre.

Vérifiez la connexion avant d’envoyer la commande. Une demande adressée au mauvais magasin peut produire un trafic massif et compliquer le diagnostic.

14. Documents commerciaux et inventaires

Le tableau de bord des connexions permet d’envoyer un ordre au module pour exporter :

  • les grilles ;
  • les clients ;
  • les fournisseurs ;
  • les tickets de caisse ;
  • les documents commerciaux ;
  • les historiques clients ;
  • les inventaires en préparation.

Export des documents

L’automate -A30 déclenche l’export des documents de gestion. La version interactive permet de sélectionner les types et la période. L’option -SA sélectionne selon la date de modification plutôt que la date de valeur.

KWISATZ.EXE -DDOSSIER -P99 -A30 -J1 -SA
Un document modifié après sa date de valeur peut être oublié par un export fondé uniquement sur la période comptable. Utilisez -SA dans les reprises qui doivent suivre les modifications.
Avant de réexporter un document, vérifiez son identifiant, son origine et son état à destination. Une copie manuelle peut rompre les liens entre commandes, livraisons et factures.

15. Automates utiles

Automate Action
-A1 Demande une mise à jour des produits à interface de communication du back-office ou interface de communication de la caisse. -PARAM1 limite aux derniers jours ; -VSS vise le Super Concentrateur.
-A2 Demande une mise à jour des stocks à interface de communication du back-office.
-A3 Demande une mise à jour des clients à interface de communication du back-office ou interface de communication de la caisse ; -VSS est disponible.
-A9 Demande l’export des grilles : rayons, familles, lignes, marques, etc.
-A30 Demande l’export des documents de gestion ; sélection interactive ou journée calculée.
-A40 Demande à interface de communication de la caisse la transmission des ventes de la journée ; l’option -J permet de cibler une journée antérieure.
Les anciennes documentations mentionnent parfois des numéros sur trois chiffres tels que -A001. Utilisez la syntaxe attendue par la version installée et testez le raccourci en environnement de recette.
Ne planifiez pas simultanément plusieurs exports complets sur une liaison lente. Échelonnez produits, photos, stocks, clients et tickets.

16. Surveillance des modules

Depuis KWISATZ

Dans les préférences, la section Module d’actualisation interfaces de communication multi-sites propose :

  • Lancement automatique : démarre le module à l’ouverture du dossier s’il est absent ;
  • Activer la surveillance : contrôle périodiquement sa présence ;
  • Fréquence en minutes : définit la fréquence du contrôle.

Tableau de bord des connexions

La fenêtre permet de visualiser l’état des connexions magasins et de demander les exports ou l’arrêt du module.

HeartBeat

Le HeartBeat permet aux interface de communication de la caisse de signaler leur présence au interface de communication du back-office. Le port documenté par défaut est 12007. Le tableau de bord du interface de communication du back-office affiche la date et l’heure du dernier signal reçu pour chaque module connecté.

Un HeartBeat récent prouve la présence du module, pas le succès de tous les traitements. Contrôlez aussi les files, erreurs et derniers fichiers intégrés.

Commandes locales

Certaines installations utilisent un port local dédié aux ordres envoyés par KWISATZ aux modules, historiquement documenté autour de 6202. Vérifiez la valeur réelle dans la configuration et n’ouvrez pas ce port sur Internet.

Veille et redémarrage

Les modules peuvent utiliser des tranches horaires de veille. Vérifiez qu’ils en sortent correctement. Les versions récentes ont reçu des ajustements pour les boucles longues, les commandes et le redémarrage automatique.

Ne considérez pas l’icône du module comme une preuve de fonctionnement. Un programme ouvert peut rester bloqué, en veille ou avec une commande en attente.

17. Réseau et sécurité

Recommandations

  • utiliser un VPN site-à-site ou une solution de transport chiffrée ;
  • attribuer des adresses stables aux équipements ;
  • n’autoriser que les flux et destinations nécessaires ;
  • ne jamais partager les dossiers de données moteur de données sur Internet ;
  • protéger les comptes et mots de passe de communication ;
  • journaliser les connexions et échecs ;
  • séparer les ports d’administration des utilisateurs ordinaires ;
  • mettre à jour Windows et tous les composants KWISATZ ;
  • prévoir une connexion de secours pour le siège ;
  • conserver des sauvegardes locales dans chaque site et au siège.
Les modules multi-sites échangent des données commerciales et clients. N’utilisez pas un partage Windows public, un FTP anonyme ou un port d’écoute exposé sans filtrage.
Une caisse autonome peut continuer à vendre pendant une coupure, mais le siège ne disposera pas des ventes récentes avant la reprise des échanges.

18. Sauvegardes et continuité

Chaque Front-Office

  • sauvegarde quotidienne de la base locale ;
  • contrôle de l’espace disque ;
  • conservation des fichiers en attente ;
  • procédure de reprise après panne du poste ;
  • interdiction de réinstaller sans récupérer les tickets non transmis.

Back-Office

  • sauvegarde de la base consolidée ;
  • sauvegarde des paramètres interface de communication du back-office et connexions ;
  • conservation des journaux et fichiers d’échange ;
  • test de restauration sur un environnement séparé ;
  • surveillance des files et séquences de tickets.
Avant de remplacer une caisse, vérifiez que tous les tickets ont été transmis ou sauvegardez la base source complète.

19. Recette avant mise en production

  1. Créer une connexion pilote.
  2. Vérifier le code magasin et le numéro de caisse.
  3. Envoyer une grille nouvelle.
  4. Envoyer un produit nouveau.
  5. Modifier son prix et le réexporter.
  6. Tester un article « jamais actualisé ».
  7. Tester un filtre produit par connexion.
  8. Envoyer un stock ciblé.
  9. Créer et modifier un client.
  10. Créer un ticket dans le magasin.
  11. Contrôler sa remontée et son origine.
  12. Créer plusieurs règlements sur le ticket.
  13. Tester une coupure réseau pendant plusieurs ventes.
  14. Rétablir la liaison et vérifier la reprise.
  15. Demander la réexpédition d’une période.
  16. Contrôler les séquences au siège.
  17. Tester un document commercial.
  18. Tester l’inventaire en préparation.
  19. Contrôler le HeartBeat et le tableau de bord.
  20. Tester l’arrêt et le redémarrage du module.
L’architecture est validée lorsque chaque référentiel arrive au bon magasin, chaque ticket remonte une seule fois avec la bonne caisse, une coupure ne bloque pas la vente et les séquences sont complètes après reprise.

20. Diagnostic rapide

Le module est marqué absent
Vérifiez le processus interface de communication du back-office ou interface de communication de la caisse, le dossier, le lancement automatique, l’adresse IP et le port du gestionnaire. Relancez le module après avoir conservé son journal.
Le HeartBeat est ancien mais le interface de communication de la caisse paraît ouvert
Vérifiez la configuration HeartBeat, le port 12007, le pare-feu, l’adresse du interface de communication du back-office et la boucle du module. Un interface de communication de la caisse bloqué peut rester visible à l’écran sans envoyer de signal.
Un magasin ne reçoit aucun produit
Vérifiez la connexion, le filtre produit, l’indicateur Actualiser, Chrono_MAJ, l’état actif du interface de communication de la caisse et les erreurs d’intégration.
Certains produits seulement manquent
Contrôlez ACTU_FILTRE_PRODUITS, Article jamais actualisé, les grilles absentes et les options de conservation locale.
Le prix du magasin est écrasé par le siège
Le champ est inclus dans l’actualisation et aucune règle locale ne le protège. Décidez si la valeur doit être centrale ou locale, puis configurez la conservation correspondante avant le prochain export.
Le stock local ne suit pas les mises à jour
Vérifiez Code du magasin local, le magasin ciblé par l’export et l’option Ne pas actualiser le stock local.
Des tickets manquent au Back-Office
Lancez le contrôle des séquences par caisse et période, vérifiez leur présence sur le site source, puis utilisez Demande de réexpédition des tickets.
Un ticket est présent deux fois
Comparez l’origine, la caisse, le numéro, la date et les identifiants. Recherchez une réintégration manuelle ou une réexpédition mal ciblée. Ne supprimez pas directement les données fiscales.
Le Back-Office refuse de modifier un ticket distant
C’est le comportement attendu des versions récentes. Effectuez la correction administrative autorisée ou la contre-passation sur la caisse d’origine, puis retransmettez.
Une commande reste en attente indéfiniment
Contrôlez la présence du interface de communication de la caisse, son HeartBeat, les files du interface de communication du back-office, la connexion ciblée et la version. Les versions récentes corrigent plusieurs cas de commandes spéciales restant en attente.
Le module entre en veille et ne repart pas
Vérifiez les tranches horaires, la version, les comptes à rebours et les options de redémarrage automatique. Supprimez une plage incohérente uniquement après sauvegarde du paramétrage.
Les transferts deviennent très lents
Désactivez l’export des photos et libellés longs si inutiles, filtrez les produits par connexion, échelonnez les automates et vérifiez la bande passante montante du siège.
L’export depuis le menu Back-Office ne transmet pas les tickets
Dans certaines versions, l’item Export des tickets du Back-Office produit seulement un export ASCII. Utilisez le sous-menu Concentrateur ou la Demande de réexpédition pour commander le flux interfaces de communication multi-sites.
Une nouvelle famille arrive après le produit
Réexportez d’abord les grilles, puis le produit. Contrôlez les erreurs d’intégration du interface de communication de la caisse avant de relancer un export complet.
Le mauvais magasin apparaît dans les statistiques
Contrôlez le Code du magasin local, la caisse, le dossier et les paramètres de connexion du Front-Office. Corrigez à la source pour les prochaines ventes.
Un interface de communication de la caisse fonctionne sur une IP publique mais pas sur une ancienne version
Les versions anciennes pouvaient refuser les adresses non privées pour certaines licences autonomes. Utilisez une version récente et privilégiez toujours un VPN.

21. Actions à éviter

  • attribuer le même code magasin à deux sites ;
  • copier une base de caisse sans traiter les tickets non transmis ;
  • modifier un ticket distant depuis le siège ;
  • réimporter toute une période sans contrôle des doublons ;
  • réinitialiser les indicateurs d’actualisation avant validation des magasins ;
  • envoyer les produits avant leurs nouvelles grilles ;
  • appliquer un filtre produit non testé à toutes les connexions ;
  • confondre module ouvert et module opérationnel ;
  • exposer les ports de communication sans VPN ni filtrage ;
  • arrêter un module en cours de traitement sans conserver son journal ;
  • supprimer manuellement un fichier d’attente sans identifier son contenu ;
  • mettre à jour seulement interface de communication du back-office ou seulement interface de communication de la caisse sans recette de compatibilité.

22. Liste de contrôle

  • Les rôles Back-Office et Front-Office sont définis.
  • Chaque magasin et caisse possède un identifiant unique.
  • Les numéros de connexion sont documentés.
  • interfaces de communication multi-sites utilisent des versions compatibles.
  • Les codes dossiers sont corrects.
  • Le réseau est chiffré et filtré.
  • Les grilles sont envoyées avant les produits.
  • Les filtres produits sont testés par magasin.
  • Les valeurs locales à conserver sont identifiées.
  • Les tickets remontent avec la bonne caisse.
  • Le contrôle des séquences est planifié.
  • La réexpédition des tickets est testée.
  • Le HeartBeat et la surveillance sont actifs.
  • Les logs sont contrôlés quotidiennement.
  • Les sauvegardes locales et centrales sont vérifiées.
  • La procédure de coupure réseau est connue des magasins.

23. Évolutions documentées

Période Évolution
2014 Mise en place et extension du HeartBeat, port par défaut 12007 et tableau de bord de dernière présence.
2020 Connexions et demandes de réexpédition étendues jusqu’au numéro 99.
2021 Ajout de la sélection des produits par Chrono_MAJ.
2022 Optimisations d’export : photos et libellés longs désactivables dans les architectures concentrées.
2025 Renforcement des protections empêchant la modification des tickets distants depuis le Back-Office.
Janvier 2026 Application effective du filtre produits par connexion ACTU_FILTRE_PRODUITS.
2025–2026 Ajustements des commandes longues, de la veille, des boucles de communication et du redémarrage automatique.

24. Sources documentaires

  • MENUS_KWISATZ — Préférences générales, types de connexion et magasin local.
  • MENUS_KWISATZ — Tableau de bord des connexions et transfert de données.
  • MENUS_KWISATZ — indicateurs d’actualisation des articles et contrôle des séquences de tickets.
  • Liste des automates KWISATZ — A1, A2, A3, A9, A30, A40 et option VSS.
  • Suivi de développement KWISATZ — Chrono_MAJ, filtres par connexion, HeartBeat, connexions jusqu’à 99 et protections des tickets distants.
  • Suivi de développement KWISATZ — optimisations d’export, commandes, veille et redémarrage des modules.