Documentation développeur Caisses Caisse v2 Fonctionnel Finalisation
November 26, 2025 at 2:48 AMFinalisation du panier
Vue d’ensemble
La finalisation du panier est l’étape qui valide la vente, génère les tickets et crée un nouveau panier vide pour la vente suivante.
Conditions de finalisation
Paiement complet
Le panier ne peut être finalisé que si :
- Le total payé est supérieur ou égal au total TTC
- Tous les paiements sont validés
Si le paiement est incomplet :
- Un message d’erreur s’affiche : “Il reste X à régler”
- Le panier reste ouvert pour ajouter des paiements supplémentaires
Numéro de beeper
Si le panier contient des produits envoyés en cuisine :
- Le numéro de beeper doit être saisi avant la finalisation
- Un modal s’affiche automatiquement si le numéro n’est pas renseigné
Processus de finalisation
1. Vérification
Avant de finaliser, le système vérifie :
- Que le paiement est complet
- Que le numéro de beeper est renseigné (si requis)
- Que tous les calculs sont à jour
2. Recalcul final
Le panier est recalculé une dernière fois pour s’assurer que :
- Tous les prix sont corrects
- Toutes les taxes sont calculées
- Tous les totaux sont à jour
3. Enregistrement
Le panier est enregistré dans le système :
- Sauvegarde dans ElasticSearch
- Envoi d’un message Kafka pour la finalisation Odoo (asynchrone)
- Création d’un nouveau panier vide
4. Génération des tickets
Les tickets sont générés :
- Ticket de caisse : Reçu de la transaction
- Billets de cinéma : Un par séance achetée
- Tickets de cuisine : Pour les produits envoyés en cuisine (si applicable)
5. Impression
Les tickets sont imprimés automatiquement :
- Conversion des tickets HTML en images
- Envoi à l’imprimante ESC/POS
- Découpe automatique entre les tickets
6. Finalisation
Une fois l’impression terminée :
- Le panier est marqué comme finalisé
- Un nouveau panier vide est créé
- L’interface est prête pour une nouvelle vente
Modal de finalisation
Pendant la finalisation, un modal s’affiche avec :
- Phase “Enregistrement” : Indication que le panier est en cours d’enregistrement
- Phase “Impression” : Indication que les tickets sont en cours d’impression
- Barre de progression : Visualisation de l’avancement
Erreurs
Si une erreur survient :
- Un message d’erreur s’affiche dans le modal
- Les détails de l’erreur sont visibles
- Le panier reste ouvert pour correction
Cas d’erreur
Erreur d’enregistrement
Si l’enregistrement échoue :
- Un message d’erreur s’affiche
- Le panier reste ouvert
- Le caissier peut réessayer après correction
Erreur d’impression
Si l’impression échoue :
- Un message d’alerte s’affiche
- La vente est quand même enregistrée
- Les tickets peuvent être réimprimés ultérieurement
Erreur de validation
Si la validation échoue (données invalides) :
- Un message d’erreur détaillé s’affiche
- Le panier reste ouvert
- Les erreurs doivent être corrigées avant de réessayer
Nouveau panier
Après chaque finalisation :
- Un nouveau panier vide est automatiquement créé
- Le panier précédent est conservé dans l’historique
- Le caissier peut immédiatement commencer une nouvelle vente
Bonnes pratiques
Avant la finalisation
- Vérifier que tous les articles sont corrects
- Vérifier que le paiement est complet
- S’assurer que le numéro de beeper est renseigné (si requis)
- Vérifier que l’imprimante est prête
Pendant la finalisation
- Ne pas interrompre le processus
- Attendre la fin de l’impression
- Vérifier que tous les tickets ont été imprimés
Après la finalisation
- Vérifier que les tickets sont corrects
- Donner les tickets au client
- Vérifier que le nouveau panier est vide et prêt