Tableau de bord
Vue d'ensemble  …
📂
Base de données vide
Aucune donnée n'a encore été importée.
Commencez par importer vos fichiers CSV pour alimenter OptiGest.
Ordre recommandé :
1ï¸Â⃣ Importer Achats fournisseurs → 2ï¸Â⃣ Importer Mouvements ventes → 3ï¸Â⃣ Consulter le tableau de bord
📦 Top 5 produits vendus
💰 Marge brute par référence
ðŸâ€â€ž Rotation des stocks (ventes/stock)
i
💡 Comment lire ce graphique
Rotation ≥ 1× : vous avez vendu autant ou plus que votre stock → produit qui tourne, àréapprovisionner
Entre 0,5× et 1× : vente correcte, stock confortable
Entre 0,1× et 0,5× : vente lente, stock àsurveiller
Proche de 0× : stock dormant, surstock probable  liquider ou ne plus commander
📅 É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
| # |
Référence |
Nature |
Cylindre |
Sphère |
Addition |
Axe |
Qté |
P. Achat |
P. Vente |
Remise % |
Montant HT |
Qté vnd. |
|
Matrice de gestion
Vue stock Sphère × Cylindre filtrée par référence
Stock restant = Initial + Achats + Retours − Ventes ·
Moy/mois = Moyenne mensuelle des ventes ·
Couverture = Stock / Moy/mois ·
À commander = (Moy/mois × Cible) − Stock
| Réf |
Nature |
Sphère |
Cylindre |
ADD |
Initial |
Achats |
Retours |
Ventes |
Restant |
Stock min |
Niveau |
Statut |
Paiements clients
Solde = Total ventes − Paiements reçus
| Code | Client | Ventes | Paiements | Solde client | BL non soldes | Dernier paiement | Statut | |
Historique des règlements
| Date | Code | Client | Montant | Mode | Référence | Note | |
É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)
| Date | Direction | Tiers | Référence | Note |
Encaissement |
Décaissement |
Solde caisse |
💵 Portefeuille Caisse
Historique des encaissements et décaissements par mode de paiement
| Date | Type | Tiers | Mode | Catégorie | Référence | Note |
Encaissement |
Décaissement |
Solde |
📋 Charges & Dépenses
Suivi des charges opérationnelles et leur impact sur la caisse
| Date | Catégorie | Description |
Mode paiement | Référence | Note |
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 ; Addition ; 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;Addition;Stock_Initial;Stock_Min;Prix_Achat;Prix_Vente
SV;Verre Simple Vision;-4.00;0.00;0.00;20;5;9.50;23.00
SV;Verre Simple Vision;-4.00;-0.50;0.00;15;5;10.00;24.00
SV;Verre Simple Vision;-2.00;-1.00;0.00;18;5;10.50;25.00
BF;Verre Bifocal;+1.00;0.00;+2.00;12;3;22.00;55.00
PR;Verre Progressif;-3.00;-1.00;+2.50;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+Addition) → 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
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
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
📋 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
Mode d'import :
Colonnes requises :
fournisseur_nom · date ·
montant · mode ·
ref · note
Mode accepté : especes · cheque · virement · carte
⚠Importer APRÈS les mouvements achats
ðŸÂÂ
Cliquez ou glissez le fichier règlements fournisseurs
📊Excel (.xlsx) | 📄 CSV (; ou ,)
ℹ︠Conseils
- Le nom fournisseur doit être identique àcelui importé
- Fournisseurs non trouvés → ligne en erreur
- Montant positif uniquement (en DH)
- Plusieurs règlements par fournisseur acceptés
Mode d'import :
Matrice de réapprovisionnement
Prevision ventes recentes x mois cible + securite 4 - stock actuel
| Réf |
Nature |
Sphère |
Cylindre |
Stock initial |
Stock actuel |
Prevision/mois |
Couverture |
À commander |
Budget estimé |
⚠Le rôle Administrateur conserve toujours toutes les permissions pour garantir l'accès au système.
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 |
Aucun avoir sur cette période
Catalogue
Création · Modification · Suppression  Produits, Clients, Fournisseurs, Natures
📦 Produits
👥 Clients
ðŸÂ Fournisseurs
ðŸÂ·ï¸ Natures
Paramètres
Configuration de l'application
📊Paramètres de stock
Masquer les badges rupture / stock bas dans le menu
Envoi automatique lors d'une rupture de stock
ðŸÂ¢ Informations société (impressions)
ðŸâ€Â¢ Numérotation des documents
🧾 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
📠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
✅ Si 2 utilisateurs travaillent en même temps, les données se synchronisent automatiquement toutes les 1 minutes  stock, ventes, paiements.
Empêche la validation si rupture
Quantité disponible sous chaque ligne
👥 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.
🗓︠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.
Chargement des statistiques…
📤 Export des données (Excel)
Télécharge chaque fichier au format .xlsx (nom : entité_AAAA-MM-JJ.xlsx). Les fichiers vides sont signalés sans téléchargement.
📸 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.
| Date | Doc | Client | Réf | Sph | Cyl | Qté | PA | PV | Par |
ðŸâ€â€™ Journal des connexions
Historique des 200 dernières connexions àl'application.
| Date/Heure | Utilisateur | Nom complet | Rôle | IP |
📋 Journal des actions
Historique de toutes les actions (validations, créations, modifications, suppressions).
| Date / Heure |
Utilisateur |
Action |
Entité |
Détails |
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
| Réf |
Nature |
S |
C |
Stock actuel |
Vente/mois |
Couverture |
Qté àcommander |
Budget (PA) |
Légende :
Seuil critique ≤ 4
🟠Réappro
🟢 OK
| Réf |
Nature |
S |
C |
Stock initial |
Stock |
Prevision/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 |
|
Ventes par client
Période : …
| Client |
Ventes (DH) |
Avoirs (DH) |
Net (DH) |
| TOTAL |
0,00 |
0,00 |
0,00 |
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 |
Prevision/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
| # |
Référence |
Nature |
Cylindre |
Sphère |
Addition |
Axe |
Qté reçue |
Prix achat |
Remise % |
Montant HT |
|
Paiements fournisseurs
Solde = Total achats − Paiements effectués
Soldes par fournisseur
| Fournisseur | Achats | Payé | Solde dû | Dernier pmt | Statut | |
Répartition des paiements
Historique des règlements fournisseurs
| Date | Fournisseur | Montant | Mode | Référence | Note |
💳 Enregistrer un paiement
📋 Nouvelle charge
📋 Relevé de compte â€â€
Imprimer les releves de tous les clients
Un releve sera genere pour chaque client ayant un mouvement ou un solde sur la periode.
ðŸÂ¦ Paiement fournisseur
📱
📱 Envoyer via WhatsApp â€â€
Scanner avec le téléphone
📱 Scannez le QR avec l'appareil photo de votre téléphone.
WhatsApp s'ouvre avec le message pré-rempli.
Appuyez sur Envoyer.
Ctrl+P pour imprimer
👁️
OptiGest
Gestion Lentilles Optiques — Connexion requise
❌ Identifiants incorrects — réessayez
📋 Copier un bon de livraison
ðŸâ€Â Modifier un rôle
⚠Le rôle Administrateur conserve toujours toutes les permissions pour garantir l'accès au système.
📄 Pages accessibles
ðŸâ€â€˜ Permissions d'action
ðŸâ€Â Consulter un document
Sélection des lignes — Carte d'authenticité
Choisissez quelle ligne correspond à l'OD (œil droit) et à l'OG (œil gauche).
Maximum 1 ligne par œil · 2 lignes par carte.
| # |
Référence |
Nature |
Sphère |
Cylindre |
OD |
OG |
— |