Aller au contenu principal
SUSHI TORI

Aide — RestoTrax

Ce guide couvre tous les écrans, ce que chacun garantit, et ce qu'il refuse. Il est écrit pour être lu une fois en entier, puis consulté par sa table des matières.


1. Les six écrans, et qui les utilise

ÉcranAdresseQuiCompte requis
Borne/bornele client, seulnon — elle est anonyme
Comptoir/comptoirle vendeuroui
Mobile/mobilele serveur en salleoui
Cuisine/cuisinela cuisineoui
Écran d'appel/appelaffiché au murnon — c'est un écran public
Gestion/adminle patronoui

Les droits ne viennent jamais de l'écran. Le même téléphone dans la main du patron et dans celle d'un serveur embauché hier ne donne pas les mêmes pouvoirs : c'est la matrice des rôles qui décide, et elle seule.


2. Prendre une commande

2.1 Le canal, d'abord

Chaque commande commence par sur place, à emporter ou livraison. Ce n'est pas une politesse : le canal décide du prix et du taux de TVA. Il ne se devine pas après coup, et c'est une information qui ne se reconstitue jamais.

2.2 Choisir des plats

Les plats sont rangés par rayons. Sur la borne, un seul rayon est affiché à la fois et la barre du haut permet d'en changer d'un geste. Au comptoir, tous les rayons sont empilés — on y cherche à la souris.

Ce que le client voit et ce que le vendeur voit diffèrent volontairement :

2.3 Les menus se composent

Un menu n'entre pas directement dans le panier : il ouvre un composeur, un étage à la fois. Les suppléments sont affichés sur le choix qui les porte (« + 1,50 € »), jamais découverts au total — un prix qui change après le choix est la première cause d'abandon devant une borne.

Un menu entre ensuite au panier ventilé, une ligne par étage. C'est indispensable : un menu couvre plusieurs taux de TVA (un plat et une boisson n'ont pas le même), et une ligne unique en porterait un seul. Le client paierait le même prix, et la TVA déclarée serait fausse.

2.4 La livraison

Trois champs, et aucun n'est décoratif :

Le refus nomme toujours son motif : « hors zone » et « sous le minimum » n'appellent pas la même réponse au téléphone.

2.5 La carte de fidélité

Le client donne son numéro de téléphone ; il sert uniquement à compter ses commandes. Au bout du seuil déclaré, la suivante est remisée.

Trois garanties :

La remise s'applique ligne à ligne, pour que chaque ligne garde son taux de TVA.


3. La cuisine

L'écran cuisine montre les commandes dans l'ordre d'arrivée, avec le temps écoulé — c'est la décision de la cuisine : quoi lancer d'abord. Au-delà du seuil déclaré, le ticket passe en rouge.

Aucun prix n'y figure. Ce serait du bruit là où il faut lire vite, et cela exposerait le chiffre d'affaires à tout le passage.

Le cycle de vie d'une commande :

commandée → en préparation → prête → servie
                    ↘ (renvoyer) ↙
   toutes sauf « servie » → annulée

4. L'écran d'appel

Affiché en salle, sans compte. Deux colonnes : « en préparation » et « prêt — à retirer », la seconde deux fois plus grosse, parce que c'est la seule qui appelle un geste.

Il n'affiche que des numéros. Ni nom, ni plat, ni montant, ni téléphone. Un écran de salle est lu par tout le monde : « California saumon pour 06 99 88 77 66 » dirait à la salle entière ce que mange le client et comment le joindre.

Le son

Un bouton « Activer le son » apparaît à l'allumage. Il faut le presser une fois, et cela n'est pas un oubli de notre part : aucun navigateur ne joue un son sans un geste humain préalable. C'est une protection contre les publicités sonores, elle s'applique aussi à nous, et elle ne se contourne pas.

Une fois armé, un carillon retentit uniquement quand un numéro devient prêt — jamais sur la liste entière. Un écran qui sonne à chaque rafraîchissement est un écran qu'on débranche.

Pour un afficheur poussif ou une salle où l'on ne veut pas de son : /appel?muet=1.


5. La gestion

5.1 La carte

/admin/carte — rayons, plats, nature (qui décide la TVA), temps de préparation, allergènes.

⚠️ Les allergènes saisis engagent l'exploitant. Ceux qui avaient été déduits des libellés ne valent pas déclaration : ils sont à confirmer en cuisine. Et « non renseigné » n'est jamais affiché comme « sans allergène ».

5.2 Les prix

/admin/prix — un prix par canal, et daté. Poser un prix clôt l'ancien au lieu de l'effacer : un ticket de mars se recalcule au prix de mars.

5.3 Les fiches techniques

/admin/fiches — les grammages, plat par plat. Sans eux, aucune marge n'est calculable, et l'application refuse d'en inventer une.

L'écran affiche ce qui reste à saisir, et distingue deux manques qu'il ne faut pas confondre :

⚠️ Les quantités sont dans l'unité ACHETÉE. Le riz s'achète cru et se sert cuit : le noter cuit surévaluerait le coût matière de 140 %, sans qu'aucune erreur ne soit levée.

5.4 Les matières et les factures

/admin/matieres — ce qui entre en stock, et dans quelle unité. La changer après coup fausse tous les coûts.

/admin/relecture — rattacher un code fournisseur à une matière. Aucune suggestion n'est présélectionnée : une liste ouverte sur la meilleure suggestion se valide d'un clic distrait, et une matière mal rattachée fausse la marge de tous les plats qui la contiennent, pendant des mois. Une correspondance déclarée une fois ressert à chaque facture.

5.5 Les charges et le seuil de rentabilité

/admin/charges — le montant de chaque échéance, pas son équivalent mensuel : une facture d'électricité de 450 € tous les deux mois se saisit 450, pas 225.

Le seuil de rentabilité refuse de se calculer tant qu'aucun taux de marge n'est déclaré. Il pourrait l'être avec une valeur choisie au hasard : il serait alors crédible et faux, et l'on prendrait des décisions avec.

Une charge qui change de montant ne se corrige pas : on l'arrête, et on en déclare une nouvelle. Sinon le passé devient faux.

5.6 Les taux de TVA

/admin/tva — aucune vente n'est possible tant qu'ils ne sont pas déclarés. Le moteur refuse d'en inventer un : un 0 ferait passer la vente pour exonérée, un 20 la surtaxerait.

Chaque règle porte le texte appliqué : un contrôle doit pouvoir être expliqué, pas seulement subi. Ces taux relèvent du comptable.

5.7 La livraison

/admin/livraison — la zone se dit de deux façons, et il en faut au moins une : en nommant les communes, ou en donnant un rayon. Les deux peuvent coexister.

Le minimum peut varier avec la distance (paliers), ou relever du commerce (« je décide au cas par cas »). Tant que ni l'un ni l'autre n'est déclaré alors qu'un maximum a été annoncé, l'écran le rappelle — parce qu'une règle à moitié déclarée s'oublie.

5.8 Les comptes

/admin/agents — créer, changer un code, changer un rôle, retirer. Avec effet immédiat : retirer un droit le retire tout de suite, même sur un poste ouvert depuis le matin.


6. Ce que l'application refuse de faire

Ces refus ne sont pas des manques : ce sont des garanties.

RefusPourquoi
Vendre sans taux de TVA déclaréun taux inventé se découvre au contrôle
Vendre de l'alcool sans son taux propre10 % au lieu de 20 % sous-déclarerait une TVA en silence
Calculer une marge sans fiche techniqueune marge inventée oriente des décisions
Compter une matière sans prix comme gratuiteun coût nul afficherait 100 % de marge
Livrer sans connaître la distanceun rayon ne dit rien sans elle — la réponse est « on ne sait pas »
Deviner le canalle prix et la TVA en dépendent
Annuler une commande sans motifl'historique ne décrirait que les succès
Retirer le dernier administrateurl'application deviendrait inadministrable

7. ⚠️ L'encaissement

Il est fermé, et c'est délibéré. Tant que RestoTrax enregistre des commandes, c'est un journal de service. Le jour où il enregistre un règlement — même tapé à la main sur un terminal autonome — il entre dans la loi anti-fraude à la TVA : inaltérabilité, sécurisation, conservation, archivage.

Ce n'est pas l'intégration d'un terminal qui déclenche l'obligation, c'est l'enregistrement du paiement. La question est à instruire avec un comptable avant d'ouvrir cet écran, jamais pendant.

L'ouvrir demande deux gestes cumulatifs : déclarer un terminal (TPE_DIALECTE) et poser RESTOTRAX_ENCAISSER=1. Un seul aurait pu être fait par inadvertance ; les deux ensemble sont une décision.


8. Les données personnelles

L'application conserve des adresses de livraison et des numéros de téléphone (carte de fidélité). Tout vit dans un fichier, sur la machine de l'exploitant. Rien ne sort.

Le numéro de téléphone peut être conservé sous forme d'empreinte (FIDELITE_EMPREINTE=hmac) : la recherche continue de fonctionner puisque le client le fournit à chaque fois, mais une base qui fuite ne livre pas un fichier de numéros.

L'écran d'appel, lui, ne montre jamais ces données.


9. Que faire si…

…j'ai oublié mon code. Un autre administrateur vous en pose un nouveau depuis /admin/agents. Il ne peut pas retrouver l'ancien : il n'est pas conservé.

…un plat n'apparaît pas sur la borne. Il est en rupture, ou il n'a pas de prix pour ce canal. Le comptoir, lui, le montre en le grisant — avec la raison.

…un plat refuse d'être ajouté. Le message dit le motif exact : le plus souvent un prix absent pour ce canal, ou un taux de TVA non déclaré pour sa nature.

…le seuil de rentabilité ne s'affiche pas. Aucun taux de marge n'est déclaré. C'est voulu : un seuil calculé sur un taux inventé serait crédible et faux.

…l'écran d'appel reste muet. Le bouton « Activer le son » n'a pas été pressé depuis le dernier allumage.

…une commande est bloquée. Le refus nomme sa cause : soit la transition n'existe pas depuis cet état, soit le rôle n'a pas la permission. Les droits se lisent sur /admin/roles.