Point de Vente (POS)
L’écran principal de vente. Les caissiers y passent l’essentiel de leur journée : créer des ventes, gérer le panier, encaisser, émettre des documents commerciaux — que vous teniez une boutique, une épicerie, un restaurant, une parfumerie ou un magasin d’électronique.
Démo interactive
Essayez le vrai écran de vente ci-dessous : sélectionnez une table (mode restaurant), ajoutez des produits au panier, ajustez les quantités, appliquez une remise, liez un client puis encaissez (essayez « Espèces » pour voir le rendu). Verrouillez la caisse avec le PIN 1122. Tout est simulé.
Disposition de l’écran POS
La disposition est fixe : elle ne se réorganise pas. À gauche le catalogue (et la barre des tables si le mode métier les active), à droite une colonne avec le panier et le pavé d’actions.
🧭 En-tête
« Session POS » avec le statut « ● Active », le bouton « Documents », la pastille du type de document et la pastille client.
📂 Catalogue de produits
Onglets de catégories (« Tous » + vos catégories), grille de produits avec photo et prix, et barre « Rechercher… » qui trouve un produit par nom ou par code-barres.
🪑 Barre des tables
(Si le mode métier active les tables, ex. Café/Bar, Restaurant) Bande horizontale défilante avec le numéro de chaque table et sa couleur : Libre, Occupé, Réservé.
🛒 Panier / Ticket
Lignes, quantités, prix unitaires, remises, promotions, client lié, totaux et bouton « PAYER » (ou « Émettre le … » pour un document sans encaissement).
⚡ Pavé d’actions
Grille fixe de 6 cases : 5 actions + « Plus (n) » qui ouvre les autres actions.
L’en-tête du POS
- 📁 « Documents » — ouvre l’espace Documents commerciaux sans quitter la vente (visible seulement avec la permission view_commercial_docs).
- 🧾 Pastille « Type de document » — affiche le type actif (Ticket de caisse, Facture, Devis…) ; un cadenas apparaît quand le document est finalisé (« Document finalisé : le type ne peut plus changer »).
- 👤 Pastille « Client » — nom du client lié, avec un × pour le retirer. Si le type choisi exige un client, elle affiche « Client requis » en avertissement.
Le pavé d’actions
Le pavé a une taille fixe (2 rangées de 3). Les actions les plus utilisées en cours de vente sont visibles ; les autres sont rangées derrière « Plus (n) » (« Autres actions »). L’ordre ne change pas.
Tiroir-caisse
Ouvre le tiroir. Demande le PIN si l’utilisateur a l’option « Exiger le code PIN pour ouvrir le tiroir ».
Imprimer
Imprime le panier selon son type : ticket thermique pour un ticket de caisse, modèle A4 pour un document commercial.
Remise
Remise sur le ticket entier (pourcentage ou montant fixe).
Annuler
« Annuler le panier ? » → « Oui, annuler ». Nécessite la permission cancel_order.
Verrouiller
Affiche l’écran PIN : la caisse reste bloquée jusqu’à la saisie d’un PIN valide.
Dans « Plus (n) »
Plein écran / Réduire
Bascule l’affichage plein écran.
Actualiser
Recharge produits, catégories, tables et session.
Gestion caisse
Montant de départ, retrait / apport d’espèces, clôture de session.
Sélect. client
Ouvre la recherche client (le bouton affiche le prénom du client lié).
Tables (restaurants & cafés)
- La barre des tables n’apparaît que si le mode métier active les tables (Configuration application → Mode métier).
- Sélectionnez d’abord une table : sans table, ajouter un produit, scanner ou lier un client est refusé (« Sélectionnez d’abord une table. »).
- Chaque table garde son propre panier : touchez une autre table pour passer à sa commande, puis revenez.
- Une table libre devient « Occupé » seulement quand le premier article est ajouté.
- Après l’encaissement complet, la table est libérée.
Créer une vente — Pas à pas
- 1(Mode avec tables) Touchez une table dans la barre des tables.
- 2Filtrez avec les onglets de catégories, ou tapez dans « Rechercher… » (nom ou code-barres), ou scannez directement.
- 3Touchez un produit → 1 unité est ajoutée. Un produit à variantes ouvre « Choisir une variante » ; un produit au poids ouvre la fenêtre de pesée.
- 4Ajustez avec + et − (minimum 1), ou touchez la quantité pour la saisir au pavé numérique.
- 5Touchez le prix unitaire souligné pour le modifier sur cette ligne seulement (« Modifier le prix unitaire de cette ligne » — permission apply_discount ; le prix catalogue ne change pas).
- 6Supprimez une ligne avec l’icône corbeille.
- 7Vérifiez le total, puis touchez « PAYER ».
Variantes et produits au poids
Variantes (modes avec variantes, ex. Boutique) : la fenêtre « Choisir une variante » liste les variantes actives avec leur libellé couleur / taille, le « SKU » et une puce « Stock ». Scanner le code-barres d’une variante l’ajoute directement.
Produits vendus au poids : la fenêtre « Pesée — produit » affiche le « Prix : … / kg » et le panneau Balance avec son état (Connectée, Déconnectée, Simulateur). Utilisez « Lire le poids », « Tare » pour déduire le contenant, ou « Saisie manuelle » ; puis « Confirmer » le poids net. La ligne affiche poids × prix au kilo.
Scanner de code-barres
Branchez un scanner USB (type clavier). Il fonctionne partout sur l’écran POS, sans cliquer dans la recherche. SwiftUP cherche d’abord un code-barres de variante, puis un code-barres produit. Un message confirme « ✓ produit ajouté » ou « Code-barres non reconnu ».
Lier un client
- 1Touchez la pastille client dans l’en-tête (ou « Sélect. client » dans « Plus »).
- 2Recherchez par nom, prénom ou téléphone : chaque résultat montre ses points et son nombre d’achats.
- 3Aucun résultat ? Utilisez « Créer « … » » pour créer le client sur place.
- 4Pour retirer le client : × sur la pastille, ou « Retirer » dans la fenêtre.
Remises et promotions
- 🏷️ Remise ticket — bouton « Remise » : choisissez « Pourcentage » ou « Montant fixe », saisissez la valeur, « Appliquer la remise ». Une nouvelle remise remplace la précédente.
- ❌ Retirer la remise ticket — le × de la puce « Remise manuelle » dans les totaux.
- 🔖 Remise sur un article — icône étiquette sur la ligne (« Remise sur l’article ») ; retirez-la avec « Supprimer la remise de l’article ».
- 🎉 Promotions automatiques — affichées en vert sous la ligne (nom + montant) et dans le total « Promotions ». Le caissier ne les ajoute ni ne les retire.
Encaisser un paiement
- 1Touchez « PAYER » : la fenêtre de paiement affiche le total commande et le « Reste à payer ».
- 2Choisissez le mode de paiement (tuiles).
- 3Saisissez le montant ou utilisez les montants rapides (« Exact » et billets ronds pour les moyens qui rendent la monnaie). La « Monnaie à rendre » est calculée.
- 4Renseignez la référence si le moyen l’exige (ex. numéro de chèque).
- 5« Confirmer ». Un montant partiel est accepté : rouvrez « PAYER » pour régler le reste avec un autre moyen (« Règlements effectués » les liste).
- 6Selon le réglage du moyen de paiement, le tiroir s’ouvre et le ticket s’imprime automatiquement.
Modes de paiement
Les tuiles viennent de Configuration application → Paiements → Moyens de paiement : seuls les moyens actifs et affichés en caisse apparaissent, dans l’ordre choisi. Par défaut :
- 💵 Espèces — rendu monnaie, ouvre le tiroir
- 💳 Carte de crédit / Carte de débit — passent par le TPE (voir Paiement électronique). En mode manuel : « Le paiement a-t-il été accepté sur le terminal (TPE) ? » → Accepté / Refusé
- 🧾 Chèque — numéro de chèque obligatoire (3 à 30 caractères), banque facultative
- 🏦 Virement bancaire — référence du virement obligatoire, banque facultative
- 🎫 Ticket restaurant
- 🎁 Carte cadeau — numéro de la carte cadeau obligatoire (simple référence, pas de solde suivi)
- 📋 Crédit client — vente à crédit pour un client lié
- ➕ Autre
Vente à crédit
Choisissez « Crédit client » avec un client lié. SwiftUP vérifie son crédit avant de valider : solde actuel, limite et crédit disponible. Il bloque si le crédit n’est pas activé pour ce client ou si la limite est dépassée, avertit « Proche de la limite », et affiche le nouveau solde. Le bouton devient « Vente à crédit ».
Points fidélité
- Dans le panier : une puce de points et le nom du programme du client lié.
- Dans la fenêtre de paiement : « … pts disponibles » et l’interrupteur « Utiliser pts ».
- Les points sont utilisés par multiples du seuil du programme du client (ou au taux de conversion configuré s’il n’a pas de programme) ; la remise s’affiche (« -… de remise »).
- Après paiement, les points gagnés sont crédités automatiquement.
Partager l’addition (Café/Bar et Restaurant)
Disponible uniquement en modes Café/Bar et Restaurant, pour un ticket ou une facture. Touchez l’icône « Partager l’addition » à côté de « PAYER ».
- 1« 1 · Comment partager ? » : « Par consommation » (attribuez chaque article à une ou plusieurs personnes), « Parts égales », ou « Montant libre » (la somme des parts doit égaler le total).
- 2Réglez le nombre de « Personnes » et donnez-leur un nom (facultatif). « Créer la répartition ».
- 3« 2 · Parts et encaissement » : touchez « Encaisser » sur une personne. Choisissez le moyen de paiement, la référence si besoin, un « Pourboire », « Appoint » ou « Moitié de la part ». La monnaie à rendre et le reste de la table sont affichés ; un paiement partiel laisse un reste dû à cette personne.
- 4Répétez pour chaque personne. Quand la table est réglée : « Terminer » ou « Terminer et imprimer ».
- 🔒 Une part déjà payée est protégée, et le mode de répartition ne peut plus changer après un premier paiement.
- 🔁 Si le ticket change après la répartition, « Recalculer » les parts : les paiements confirmés sont conservés.
- 🗑️ « Supprimer la répartition » pour recommencer.
- 💳 Les cartes passent par le TPE comme pour un paiement normal.
Choisir le résultat du panier (type de document)
Touchez la pastille « Type de document » dans l’en-tête. Le type est enregistré avec le panier et se verrouille après paiement, fiscalisation ou conversion.
- Ticket de caisse — vente au comptoir, encaissement immédiat
- Facture — vente encaissée puis facture fiscale au nom du client (client requis)
- Devis — offre de prix, sans encaissement ni mouvement de stock (client requis)
- Commande client — livraison et facturation ultérieures ; champ « Livraison prévue » (client requis)
- Bon de livraison — déduit le stock sans encaissement ; options « Avec prix / Sans prix » et « Colis » ; avertit si « Adresse de livraison manquante » (client requis)
- Avoir — correction d’une facture d’origine ; indisponible sans facture chargée
- Un type que vous n’avez pas le droit de créer ou d’émettre est grisé avec la raison.
- Pour un devis, une commande ou un bon de livraison, le bouton devient « Émettre le … » : aucun paiement au POS.
- Si le client manque, la recherche client s’ouvre automatiquement.
Timbre fiscal d'une vente
Nouveau — v2.0.9
Quand le type de document du panier porte un timbre fiscal (réglé dans Configuration application), le panier affiche une ligne « Timbre fiscal » sous le total TTC, et le total devient « Montant dû ». Un utilisateur autorisé peut ajuster ce timbre pour cette seule vente — par exemple pour un client exonéré — sans toucher au réglage général.
- 1Dans le panier, cliquez sur le montant du timbre : le pavé numérique s'ouvre. Saisissez le nouveau montant et validez.
- 2Ou cliquez sur ✖ « Retirer le timbre fiscal » pour le mettre à 0.
- 3La fenêtre « Motif de la modification du timbre » s'ouvre : choisissez « Client exonéré », « Timbre déjà acquitté sur un autre document », « Erreur de saisie » ou « Autre motif » (dans ce cas, « Précisez le motif » est obligatoire), puis « Valider ».
- 4La puce « modifié » signale le timbre ajusté. Cliquez sur ↺ « Rétablir le timbre par défaut » pour revenir au réglage.
- 5Encaissez normalement : le timbre ajusté est inclus dans le montant dû.
- 🔒 Si la législation fixe le timbre de ce document, la puce « Fixé par la loi » s'affiche et le timbre ne peut pas être modifié (ex. : Facture en Tunisie, 1,000 TND).
- ⬆️ Si la loi impose un minimum, un montant inférieur est refusé.
- 💳 Dès qu'un règlement a été reçu (même partiel), le timbre de la vente ne peut plus changer.
- 🔁 Changer le type de document du panier annule l'ajustement : le timbre par défaut du nouveau type s'applique.
Voir aussi : Configuration application (timbre fiscal & législation), Rôles (attribuer la permission).
Documents commerciaux depuis le POS
Le bouton « Documents » de l’en-tête ouvre « Documents commerciaux » : « Rechercher, consulter, encaisser — sans quitter la vente en cours. » Le panier à l’écran n’est pas touché. Permission : view_commercial_docs.
Filtres : numéro, type (dont « Ticket »), statut, client, dates, « impayés uniquement ». La puce « Client du panier » limite la liste au client lié, sur demande.
- 👁️ Voir le détail · Copier le numéro · Historique
- ▶️ Continuer dans le POS — une commande ou un devis : le reste à livrer est chargé dans le panier, puis vous validez le bon de livraison. Si une vente est en cours, « Abandonner la vente et charger » la supprime définitivement.
- ↩️ Reprendre une vente restée ouverte (ticket) — la vente actuelle reste ouverte sur sa table.
- 🧾 Facturer ce ticket — crée la facture d’un ticket payé (jamais deux fois).
- ✅ Devis : Marquer accepté / Marquer refusé ; Convertir en … (crée un brouillon à émettre depuis le module Documents).
- 💶 Facture : Enregistrer un règlement · Commande client : Enregistrer un acompte · Avoir émis : Rembourser.
- 🖨️ Aperçu PDF · Imprimer · Imprimer sans prix (bon de livraison) · Enregistrer le PDF.
- 🚫 Annuler le document (avec motif).
Tiroir-caisse et verrouillage
- 💰 PIN du tiroir : réglage par utilisateur dans sa fiche (Utilisateurs → « Exiger le code PIN pour ouvrir le tiroir »). L’utilisateur saisit alors son PIN à 4 chiffres avant l’ouverture.
- 🔒 « Verrouiller » affiche l’écran PIN immédiatement. L’écran reste affiché même après une actualisation de la page.
- ⏱️ Verrouillage automatique après inactivité : « Délai de verrouillage automatique » dans Configuration application (1 à 60 minutes, 1 par défaut).
Gestion de caisse depuis le POS
- « Modifier le montant de départ » — corrige le fond de caisse de la session.
- « Effectuer un retrait / apport d’espèces » — montant et « Motif » obligatoire.
- « Clôturer la session de caisse » — saisissez le « Montant de clôture (espèces en caisse) ». Opération irréversible.
Messages à l’écran
- 📱 « Nouvelle commande mobile — Table … » et « 🍳 Commande en cuisine — Table … » quand un serveur commande depuis l’application mobile.
- 🔎 Retour de scan (ajouté / non reconnu).
- 🧾 Numéro du document émis, ou raison d’un échec.
- 📡 Bandeau « Vous êtes hors ligne. Certaines fonctionnalités peuvent être indisponibles. »
Qui peut faire quoi (rôles par défaut)
| Action | Admin | Gérant | Caissier | Serveur / Barista |
|---|---|---|---|---|
| Prendre et modifier une commande | ✓ | ✓ | ✓ | ✓ |
| Encaisser (process_payment) | ✓ | ✓ | ✓ | — |
| Remise, prix unitaire de ligne (apply_discount) | ✓ | ✓ | ✓ | — |
| Annuler le panier (cancel_order) | ✓ | ✓ | — | — |
| Modifier le timbre fiscal | ✓ | ✓ | — | — |
| Documents commerciaux depuis le POS | ✓ | ✓ | ✓ | — |
| Devis, commande client, bon de livraison | ✓ | ✓ | ✓ | — |
| Facture (créer + finaliser) | ✓ | ✓ | — | — |
| Avoir | ✓ | ✓ | — | — |
| Rembourser un ticket (refund_order) | ✓ | ✓ | — | — |