Tableau de bord
👤

Tableau de bord

Vue d'ensemble —

📊 CA par client
📦 Top 5 produits vendus
💰 Marge brute par référence
🔄 Rotation des stocks (ventes/stock) i
📅 Évolution CA — 6 derniers mois
🥧 Répartition ventes par référence
📦 Évolution des quantités — 6 derniers mois Vendues Achetées
⚠️ Alertes stock
🧾 Derniers documents
🏆 Top clients par CA
🏭 Dettes fournisseurs

Saisie des ventes

Tab = cellule suivante  ·  Entrée = ligne suivante  ·  ↑↓ = naviguer  ·  Suppr = effacer ligne

BL
# Référence Nature Cylindre Sphère Addition Axe Qté P. Achat P. Vente Remise % Montant HT Qté vnd.
Total document
0,00 Dhs

Matrice de gestion

Vue stock Sphère × Cylindre filtrée par référence

OK
Stock bas
Rupture
Stock restant = Initial + Achats + Retours − Ventes  ·  Moy/mois = Moyenne mensuelle des ventes  ·  Couverture = Stock / Moy/mois  ·  À commander = (Moy/mois × Cible) − Stock

État du stock

Calcul temps réel : Initial + Achats + Retours − Ventes

Réf Nature Sphère Cylindre Initial Achats Retours Ventes Restant Stock min Niveau Statut

Paiements clients

Solde = Total ventes − Paiements reçus

Soldes par client
ClientVentesPayéSolde dûDernier pmtStatut
Répartition des paiements
Historique des règlements
DateClientMontantModeRéférenceNote

État de trésorerie

Encaissements clients vs Décaissements fournisseurs

Période Encaissements clients Décaissements fournisseurs Flux net Solde cumulatif
💵 Détail de la caisse (Espèces)
DateDirectionTiersRéférenceNote Encaissement Décaissement Solde caisse

💵 Portefeuille Caisse

Historique des encaissements et décaissements par mode de paiement

DateTypeTiersModeCatégorieRéférenceNote Encaissement Décaissement Solde

📋 Charges & Dépenses

Suivi des charges opérationnelles et leur impact sur la caisse

DateCatégorieDescription Mode paiementRéférenceNote Montant Actions

Importer des données

Format : CSV (.csv) séparateur ; ou , — Encodage UTF-8 recommandé

📦 Produits
👥 Clients
🏭 Fournisseurs
🧾 Mouvements ventes
🛒 Achats fournisseurs
🏷️ Table Nature
🔢 Inventaire physique
💳 Règlements
Colonnes requises (en-têtes obligatoires, ordre libre) :
Reference ; Nature ; Sphere ; Cylindre ; Stock_Initial ; Stock_Min ; Prix_Achat ; Prix_Vente
📂
Cliquez ou glissez votre fichier CSV ici
📄 CSV (; ou ,)  |  📊 Excel (.xlsx)
Format fichier — Produits.csv
Reference;Nature;Sphere;Cylindre;Stock_Initial;Stock_Min;Prix_Achat;Prix_Vente SV;Verre Simple Vision;-4.00;0.00;20;5;9.50;23.00 SV;Verre Simple Vision;-4.00;-0.50;15;5;10.00;24.00 SV;Verre Simple Vision;-2.00;-1.00;18;5;10.50;25.00 BF;Verre Bifocal;+1.00;0.00;12;3;22.00;55.00 PR;Verre Progressif;-3.00;-1.00;8;3;48.00;115.00
Règles :
Reference : 2 car. max (SV, BF, PR…)
Sphere / Cylindre : ±X.XX — virgule acceptée (-2,50)
• Produit existant (même Ref+Sphere+Cyl) → mise à jour
• Nouveau produit → création
Colonnes requises :
Nom ; Ville ; Telephone ; Email ; Remise
👥
Cliquez ou glissez votre fichier CSV ici
📄 CSV (; ou ,)  |  📊 Excel (.xlsx)
Format fichier — Clients.csv
Nom;Ville;Telephone;Email;Remise Optique Lumière;Casablanca;0522-123456;[email protected];50 Vision Plus;Rabat;0537-654321;[email protected];45 Lunettes Express;Marrakech;0524-789012;[email protected];50 OptiVision Pro;Fès;0535-345678;[email protected];40 Optique Centrale;Tanger;0539-901234;[email protected];50
Règles :
Remise : valeur en % (ex: 50 pour 50%)
• Client existant (même Nom) → mise à jour
• Nouveau client → création
• Email et Telephone : facultatifs
Colonnes requises :
Nom ; Ville ; Telephone ; Email
🏭
Cliquez ou glissez votre fichier CSV ici
📄 CSV (; ou ,)  |  📊 Excel (.xlsx)
Format fichier — Fournisseurs.csv
Nom;Ville;Telephone;Email LensCraft Maroc;Casablanca;0522-111222;[email protected] OptiSource;Rabat;0537-333444;[email protected] VisionPro Supply;Tanger;0539-555666;[email protected] EuroLens Import;Fès;0535-777888;[email protected]
Règles :
• Fournisseur existant (même Nom) → mise à jour
• Nouveau fournisseur → création
• Telephone et Email : facultatifs
⚠️ Cet import met à jour les stocks en temps réel. Vérifiez l'aperçu avant de confirmer.
Colonnes acceptées (en-têtes flexibles) :
DATE ; NBON ; CLIENT ; TYPE ; REF ; SPH ; CYL ; Quantité ; PA ; PV ; REMISE ; PROPRIETAIRE
Aussi : Date / Num_Doc / Client / Type / Reference / Sphere / Cylindre / Quantite / Prix_Achat / Prix_Vente / Remise / Owner / Patient
🧾
Cliquez ou glissez votre fichier CSV ici
📄 CSV (; ou ,)  |  📊 Excel (.xlsx)
Format fichier — Mouvements.csv
DATE;NBON;CLIENT;TYPE;REF;SPH;CYL;Quantité;PA;PV;REMISE;PROPRIETAIRE 01/12/2025;999001;AYOUB;BON L;2;-2.00;-1.50;1;15.4;41.00;50;HASSAN ALAMI 01/12/2025;999002;AYOUB;BON L;2;-2.00;-2.00;1;15.4;41.00;50; 01/12/2025;999003;AYOUB;BON L;7;+2.50;-3.50;1;34.1;89.00;50; 01/12/2025;AV-001;AYOUB;AVOIR;2;-2.00;-1.50;1;15.4;41.00;50;HASSAN ALAMI
Règles :
Type : BL (vente) ou AVOIR (retour)
Date : format AAAA-MM-JJ (ex: 2026-03-15)
Remise : valeur en % (ex: 50)
• Toujours ajouté — pas de doublon sur N° doc + ligne
Proprietaire : nom du porteur des verres (optionnel)
⚠️ Cet import met à jour les stocks en temps réel.
Colonnes acceptées (en-têtes flexibles) :
Date ; Num_doc ; Fournisseur ; Num_facture ; Ref ; Sphère ; Cylindre ; Entrées ; Prix_Achat ; Prix_Vente
Aussi : Date / Num_Doc / Fournisseur / Ref_Facture / Reference / Sphere / Cylindre / Quantite / Prix_Achat / Prix_Vente / PV / Tarif
🛒
Cliquez ou glissez votre fichier CSV ici
📄 CSV (; ou ,)  |  📊 Excel (.xlsx)
Format fichier — Achats.csv
Date;Num_Doc;Fournisseur;Ref_Facture;Reference;Sphere;Cylindre;Quantite;Prix_Achat;Prix_Vente 2026-02-10;ACH-0001;LensCraft Maroc;FAC-2026-0145;SV;-4.00;0.00;30;9.50 2026-02-10;ACH-0001;LensCraft Maroc;FAC-2026-0145;SV;-4.00;-0.50;25;10.00 2026-02-18;ACH-0002;OptiSource;FAC-2026-0067;BF;+1.00;0.00;15;22.00 2026-02-25;ACH-0003;VisionPro Supply;FAC-2026-0089;PR;-3.00;-1.00;10;48.00
Règles :
Ref_Facture : numéro de facture fournisseur (facultatif)
Date : format AAAA-MM-JJ
• Toujours ajouté — met à jour le stock immédiatement
Colonnes requises :
Ref_nature ; Libelle ; Groupe
🏷️
Cliquez ou glissez votre fichier CSV ici
📄 CSV (; ou ,)  |  📊 Excel (.xlsx)
Format fichier — Nature.csv
Ref_nature;Libelle;Groupe 2;Verre Simple Vision 1.50;Simple Vision 7;Verre Simple Vision 1.56;Simple Vision 14;Verre Bifocal 1.56;Bifocal 15;Verre Simple Vision 1.60;Simple Vision 30;Verre Progressif 1.56;Progressif 50;Verre Progressif 1.60;Progressif SV;Verre Simple Vision 1.50;Simple Vision PR;Verre Progressif 1.50;Progressif
Règles :
Ref_nature : correspond à la Référence produit (ex: 30, SV, PR…)
Libelle : nom complet affiché dans la grille de saisie
Groupe : famille (Simple Vision, Bifocal, Progressif…)
• Ref existante → mise à jour du libellé
• La nature s'affiche automatiquement lors de la saisie des ventes et achats
Table Nature actuelle
📋 Colonnes requises (en-tête obligatoire, ordre libre) :
Ref ; Sphere ; Cylinder ; Qty
Séparateur : ; , ou tabulation — Excel .xlsx accepté
Méthode : le système recalcule stockInit pour que le stock affiché corresponde exactement à votre comptage physique.
Les ventes et achats existants sont conservés intacts.
🔢
Cliquez ou glissez votre inventaire CSV / Excel
📄 CSV (; ou ,)  |  📊 Excel (.xlsx)
Format fichier — Inventaire.csv
Ref;Sphere;Cylinder;Qty 1.56 ASP UV;-1.00;0.00;45 1.56 ASP UV;-1.25;0.00;38 1.56 ASP UV;-1.50;0.00;52 1.67 SPH;+2.00;-0.50;12 1.67 SPH;+2.00;-0.75;8
Règles :
Ref : référence article (doit exister dans le catalogue)
Sphere : valeur signée (+2.00 ou -1.25 ou 0.00)
Cylinder : valeur signée (0.00 si sphérique)
Qty : quantité physique comptée (entier ≥ 0)
• Produits non trouvés dans le catalogue → ignorés (listés)
• Produits du catalogue absents du fichier → non modifiés
🔢 Champ modifié : stockInit
Calcul : stockInit_nouveau = Qty_physique − (Achats − Ventes + Retours)
Le stock affiché dans la grille = Qty_physique
👥 Clients
🏭 Fournisseurs
Colonnes requises :  client_nom  ·  date  ·  montant  ·  mode  ·  ref  ·  note
Mode accepté : especes · cheque · virement · carte
⚠ Importer APRÈS les mouvements ventes
💳
Cliquez ou glissez le fichier règlements clients
📊 Excel (.xlsx)  |  📄 CSV (; ou ,)
ℹ️ Conseils
  • Le nom client doit être identique à celui importé
  • Clients non trouvés → ligne en erreur (à corriger avant import)
  • Montant positif uniquement (en DH)
  • Plusieurs règlements par client acceptés

Matrice de réapprovisionnement

Règle : couverture ≤ 3 mois → Commande = Vente/mois × 5 − Stock restant

Réf Nature Sphère Cylindre Stock initial Stock actuel Vente/mois Couverture À commander Budget estimé

Facture périodique

Récapitulatif des ventes d'un client sur une période donnée

Date N° Doc Client Type Réf Nature C S Qté PV Unit. Remise Prix Fact.

Rapport Avoirs

Suivi des retours — BL lié · motif · retour physique · impact stock

N° Avoir Date Client BL d'origine Motif Retour physique Montant Nb lignes

Catalogue

Création · Modification · Suppression — Produits, Clients, Fournisseurs, Natures

📦 Produits
👥 Clients
🏭 Fournisseurs
🏷️ Natures
RéfNatureSphCyl Stock InitStock Min PAPV
NomVilleTéléphoneEmailRemise %
NomVilleTéléphoneEmail
Réf NatureLibellé / Désignation

Paramètres

Configuration de l'application

🏢 Informations entreprise

📊 Paramètres de stock

Masquer les badges rupture / stock bas dans le menu

En-dessous de ce seuil, alerte orange (utilisé si le produit n'a pas de stock min propre)

Envoi automatique lors d'une rupture de stock

Numéro pour recevoir les alertes (format : +212XXXXXXXXX)

Navigateur (Web) : ouvre web.whatsapp.com — un onglet par envoi (limitation navigateur).
Application Desktop : ouvre WhatsApp Windows directement — zéro onglet. Nécessite WhatsApp Desktop installé.

🏢 Informations société (impressions)

Affiché en entête de toutes les impressions

Affiché sur les impressions et la connexion

Rue, quartier, N°

Identifiant Commun de l'Entreprise

🧾 Paramètres des ventes

Appliquée à chaque nouvelle ligne

Incrémente le N° de document

🔢 Numérotation des documents

📦 Bon de Livraison (BL)

Aperçu : BL-0001

🧾 Bon d'achat (Fournisseur)

Aperçu : ACH-0001

🧾 Numérotation Facture périodique

Format : NNNN-MM/AA — ex : 0001-04/26 · Repart à 0001 chaque mois automatiquement.

Prochain N° :

📊 Calcul de la moyenne des ventes

Utilisé dans la matrice, réapprovisionnement et couverture stock. Par défaut : 3 mois.

mois
📐 Formule Moyenne = Total qté vendue ÷ N mois configuré
📐 Formule Qté à commander = Moy × Coeff. cible (par ref) − Stock actuel
Ex: Total vendu = 50 · N = 5 mois → Moy = 10/mois
Coeff. 1.56 = 5 mois · Stock = 20 → Qté = (10×5)−20 = 30 unités

Synchronisation automatique des données entre utilisateurs. 0 = désactivé.

min
✅ Si 2 utilisateurs travaillent en même temps, les données se synchronisent automatiquement toutes les 1 minutes — stock, ventes, paiements.

👥 Gestion des utilisateurs ⚠ Réservé aux administrateurs

💾 Les comptes sont sauvegardés automatiquement dans votre navigateur

🔐 Gestion des rôles & permissions

Les permissions définissent ce que chaque rôle peut voir et faire dans l'application.

🔄 Couverture cible par indice de lentille

Nombre de mois de stock cible pour chaque indice. Le système recommande de commander si la couverture tombe en dessous de ce seuil.

IndiceMois cible

🗓️ Sauvegarde hebdomadaire

Chargement…

Un rappel apparaît automatiquement si la dernière sauvegarde date de plus de 7 jours.

🗄️ Données & Persistance

💾 Toutes vos données sont sauvegardées automatiquement dans ce navigateur. Pour les sécuriser durablement, exportez une sauvegarde JSON.

Réinitialiser supprime définitivement toutes les données importées et saisies.
🔀 Fusionner les doublons corrige les noms avec underscores (ex: Khalid_Chine → Khalid Chine).

Chargement des statistiques…

📸 Snapshots automatiques

Le serveur crée automatiquement une copie de sécurité avant chaque opération sensible (Remplacement d'import, reset transactionnel, dédoublonnage, recover-products). Conservés 7 jours. ⚠ Contiennent : produits, clients, fournisseurs, natures, utilisateurs. Ne contiennent PAS le détail des mouvements (juste leur compte). Pour restaurer les mouvements, utilisez une sauvegarde JSON.
Cliquez "Rafraîchir" pour charger les snapshots disponibles…

⚠️ Réinitialisation — Reprise à zéro

Effacé définitivement :
🧾 Mouvements (ventes, achats, retours)  |  💳 Paiements clients  |  🏭 Paiements fournisseurs  |  💰 Charges

Conservé intact :
📦 Produits (avec stockInit mis à jour)  |  👥 Clients  |  🏭 Fournisseurs  |  🏷️ Natures  |  👤 Utilisateurs
💡 Usage prévu : après avoir appliqué l'inventaire physique (stockInit correct), cette action repart sur une base propre — stock affiché = stockInit = comptage réel.

⚠ Action irréversible — faites une sauvegarde JSON avant de continuer.

🔍 Articles vendus à 0 DH

Liste des ventes enregistrées sans prix de vente.

🔒 Journal des connexions

Historique des 200 dernières connexions à l'application.

📋 Journal des actions

Historique de toutes les actions (validations, créations, modifications, suppressions).

Analyse ABC des produits

Classification Pareto — A = 80 % du CA · B = 15 % · C = 5 %

Cliquez sur Actualiser pour calculer la classification ABC.

Comparaison N vs N-1

Évolution du chiffre d'affaires par rapport à l'année précédente

Cliquez sur Actualiser pour générer la comparaison.

Suivi mensuel des bénéfices

Sélectionnez une ou plusieurs références · Quantité · Achats · Ventes · Marge brute

Références
✅ PA récupéré depuis le fichier mouvements (colonne PA)
PA = Prix achat catalogue (refs configurées) ou PA moyen réel des achats

Matrice de réapprovisionnement

Couverture ≤ 3 mois → Commander · Cible = 5 mois · Règle : Cde = Vente/mois × 5 − Stock

Réf Nature S C Stock actuel Vente/mois Couverture Qté à commander Budget (PA)

Couverture stock

Analyse de la couverture en mois par produit selon la consommation moyenne

Légende : 🔴 Rupture 🟠 Réappro 🟢 OK
Réf Nature S C Stock initial Stock Moy/mois Couverture Cible (mois) Statut À commander Budget estim.

Historique des mouvements

Tous les mouvements de stock : ventes, achats et retours

#Saisie ↕ Date ↕ Type N° Doc ↕ Client/Fourn. ↕ Réf Nature C S Qté PA PV Rem. Montant Par

Analyse des ventes

Performances par produit, client et période

Réapprovisionnement

Produits à commander selon la consommation moyenne et les cibles de couverture

Réf Nature S C Stock initial Stock actuel Moy/mois Couverture Cible (mois) Qté vendue Qté à cdée PA Budget estimé

Achats fournisseurs

Tab / Entrée = cellule suivante  ·  Shift+Tab = cellule précédente  ·  ↑↓ = changer de ligne

BON ACHAT
# Référence Nature Cylindre Sphère Addition Axe Qté reçue Prix achat Prix vente Remise % Montant HT
Total bon d'achat
0,00 Dhs
Historique des achats
N° BonDateFournisseurRéf factureLignesMontant total

Paiements fournisseurs

Solde = Total achats − Paiements effectués

Soldes par fournisseur
FournisseurAchatsPayéSolde dûDernier pmtStatut
Répartition des paiements
Historique des règlements fournisseurs
DateFournisseurMontantModeRéférenceNote
📱

📱 Envoyer via WhatsApp —

Scanner avec le téléphone