ioi Receipt Template XML

Mise à jour le 18 septembre 2026·

Introduction

Ce guide explique comment configurer l’impression de tickets sur Silicon ioi via une imprimante thermique Epson compatible ePos.

La solution repose sur les éléments suivants :

  • Un matériel compatible (imprimante Epson)
  • La configuration du modèle d’imprimante (ioi Printer Model) et de l’imprimante (ioi Printer)
  • Un certificat HTTPS installé sur le poste client
  • Un template de ticket (ioi Receipt Template XML) composé de blocs (ioi Receipt XML Block)
  • L’attribution du template dans le ioi Cash Desk

Matériel #

Imprimante compatible :

  • Epson TM-M30II (RJ45)
  • Epson TM-M30III (WiFi) — recommandée pour éviter le câblage réseau

Connecter l’imprimante au réseau et l’allumer. Elle imprime automatiquement une fiche avec ses informations réseau.

Attention

Si le poste et l’imprimante sont sur des réseaux différents, s’assurer que le poste peut joindre l’imprimante.

ioi Printer Model #

Créer un modèle d’imprimante dans Silicon ioi.

Renseigner :

  • L’identification et la description du modèle
  • La marque : Epson
  • La largeur papier : 580
  • La technologie d’impression : Epson ePos

ioi Printer #

Créer la fiche de l’imprimante dans Silicon ioi.

Renseigner :

  • L’identification et la description de l’imprimante
  • Cocher For cash desk
  • Le modèle d’imprimante (créé à l’étape précédente)
  • L’adresse IP de l’imprimante
  • Le port de l’imprimante

Certificat HTTPS #

Silicon ioi communique avec l’imprimante via le protocole HTTPS. Il est nécessaire d’enregistrer un certificat lié à l’adresse IP de l’imprimante sur le poste client.

Accéder à l’interface web de l’imprimante :

https://adresse_ip_imprimante

Problème de certificat lié à 0.0.0.0 #

Sur une nouvelle imprimante, le certificat par défaut peut être lié à 0.0.0.0 — celui-ci ne fonctionnera pas.

Info

Il faut créer un certificat lié à l’adresse IP réelle de l’imprimante.

Création du certificat sur l’imprimante #

1. En Chrome, si le protocole HTTPS échoue :

Récupérer le certificat proposé et l’enregistrer afin de permettre une connexion sécurisée en https.

Attention

Si le certificat proposé est 0.0.0.0 ça ne fonctionnera pas (cas nouvelle imprimante), il faut que le certificat soit lié à l’adresse ip de l’imprimante.

2. Se rendre dans la configuration de l’imprimante :

Se connecter avec l’utilisateur epson — le mot de passe est le numéro de série de l’imprimante.

3. Créer le certificat :

Mettre l’adresse IP comme nom et spécifier la durée de validité au maximum (10 ans).

4. Envoyer la configuration à l’imprimante :

L’imprimante redémarre.

Export et installation du certificat #

Le certificat est maintenant lié à l’adresse IP. L’exporter :

Puis l’installer :

Sélectionner Ordinateur local :

Placer le certificat dans le magasin Autorités de certification racine de confiance :

Le certificat est visible dans la liste des certificats :

Firefox #

Pour Firefox, ajouter une exception directement dans les paramètres de sécurité.

Paramètres :

Vie privée et sécurité → Certificats → Afficher les certificats :

Serveurs → Ajouter une exception et renseigner l’adresse de l’imprimante :

Impression de test #

Appuyer sur le bouton de test d’impression dans la fiche ioi Printer.

Lors de la première impression, Silicon ioi demande l’autorisation d’interagir avec l’imprimante :

ioi Receipt Template XML #

Créer un template pour le ticket de caisse.

Créer un template, l’activer puis y ajouter des blocs à afficher.

ioi Receipt XML Block #

Un bloc est une zone du ticket qui s’affiche sur toute la largeur de celui-ci. Il n’est pas possible d’afficher deux blocs côte à côte.

Groupes #

Chaque bloc appartient à l’un des 3 groupes suivants :

Groupe Source de données
Header Entête du document
Line Détail du document (avec possibilité d’accéder aux données de l’entête)
Footer Entête du document

Info

L’ordre des groupes est strict, il n’est pas possible d’afficher un bloc Footer avant un bloc Line, ni un bloc Line avant un bloc Header.

Affichage conditionnel #

L’affichage conditionnel est désactivé par défaut (Off).

Lorsqu’il est activé, la condition est définie en Python. La variable print_if est obligatoire et doit retourner un booléen :

  • True → le bloc s’affiche
  • False → le bloc est masqué

L’option “print if not empty (Text only)” permet de masquer automatiquement un bloc si aucune valeur de la base de données n’est présente — évitant d’afficher un bloc contenant uniquement des labels sans valeurs.

Définition du bloc (Jinja) #

Le contenu d’un bloc est défini en Jinja — moteur de templating Python utilisé par Frappe pour générer du contenu dynamique.

Syntaxe de base :

  • Variables : {{ variable }}
  • Instructions : {% instruction %}
  • Commentaires : {# commentaire #}

Avantages de Jinja :

  • Séparation des responsabilités : code Python et présentation sont séparés
  • Réutilisabilité : les templates peuvent être inclus ou étendus
  • Flexibilité : logique conditionnelle, boucles, filtres, etc.
  • Intégration native avec Frappe

Attribution du template dans ioi Cash Desk #

Une fois le template créé et activé, il doit être attribué au ioi Cash Desk pour être utilisé lors des impressions.

Dans la fiche ioi Cash Desk, onglet Parameters, section Printer :

  • Printer : sélectionner l’imprimante configurée (fiche ioi Printer)
  • Receipt template (XML - Preferred for its speed) : sélectionner le template ioi Receipt Template XML à utiliser

Astuce

Un second champ Receipt template (Image mode) est également disponible pour les templates de type ioi Receipt Template Definition (mode image). Pour les nouvelles configurations, le mode XML est recommandé pour ses performances.

Cette page vous a-t-elle aidé ?