Cahier des Charges Technique

ERP Intégré
Stations-Service

Système de gestion multi-activités — Carburant · Huiles · Vidange · Lavage · Tickets · Wallets · Citernes · Cuves · Audit & Contrôle

Application Web + Mobile Multi-stations Arabe / Français Double validation N1 + N2 Audit complet Mode hors-ligne
1

Objectif Général

Mettre en place un système ERP unique, robuste, sécurisé et évolutif, destiné à la gestion complète d'un réseau de stations-service.

📊
Suivi précis

Ventes, stocks, achats, livraisons, paiements

💰
Trésorerie

Gestion détaillée de la trésorerie et des flux financiers

🔒
Contrôle strict

Prévention des erreurs humaines et du détournement

🔍
Traçabilité totale

Audit complet de toutes les opérations

📈
Performance

Vision claire hebdomadaire et mensuelle du fonds de roulement

Temps réel

Savoir à tout moment où est chaque litre et chaque franc

2

Principes Fondamentaux — Anti-Erreur / Anti-Fraude

🎯 Source unique de vérité
  • Ventes carburant : compteurs des pompes uniquement
  • Stocks : livraisons, ventes, ajustements validés uniquement
  • Trésorerie : journaux quotidiens validés uniquement
Aucun chiffre saisi manuellement sans justification et validation
✅ Double validation obligatoire (N1 + N2)
  • N1 : Responsable station / comptable
  • N2 : Direction
Sans validation N2, aucune opération n'impacte les stocks, la trésorerie ou les rapports
🚫 Aucune suppression définitive
  • Aucune donnée ne peut être supprimée définitivement
  • Toute modification est historisée : avant / après / utilisateur / date
⚖️ Comparaisons automatiques
  • Stock réel vs stock théorique
  • Caisse réelle vs caisse théorique
  • Wallets vs montants transférés en banque
Toute anomalie déclenche une alerte automatique
3

Architecture Technique

🌐 Application Web

Administration & Finance — accès siège et direction

📱 Application Mobile

Stations & terrain — mode hors-ligne avec synchronisation

🔧 Infrastructure

Multi-stations · Arabe/Français · Sauvegarde auto · Export Excel/PDF

4

Module — Gestion des Stations-Service

📋 Fiche Station
  • Nom, localisation, zone, GPS
  • Activités : carburant, huiles, vidange, lavage
  • Statut juridique et fiscal
  • Responsable / gérant
  • Date de mise en exploitation
🏠 Propriété / Location
  • Type : propriété ou location
  • Si location : montant du loyer
  • Périodicité, date début / fin de contrat
  • Alertes de renouvellement automatiques

Multi-fournisseurs par station

Une station peut être liée à plusieurs fournisseurs simultanément. Pour chaque relation station ↔ fournisseur :

  • Produits fournis
  • Prix d'achat spécifiques par produit
  • Conditions commerciales
  • Date de début
  • Statut : actif / suspendu / terminé
  • Comparaison des fournisseurs
5

Structure Technique — Cuves & Pompes

🛢️ Définition des Cuves
  • Identifiant unique
  • Produit stocké
  • Capacité maximale (en litres)
  • Seuil minimum (alerte stock bas)
  • Statut : active / hors service
⛽ Gestion des Pompes
  • Chaque pompe est reliée à une cuve
  • Chaque pompe possède un ou plusieurs pistolets
  • Chaque pistolet possède un compteur (index)

Calcul quotidien des ventes carburant

Chaque jour, le système calcule automatiquement :

  • Saisie des index début et fin
  • Calcul automatique des litres vendus
  • Détail par produit, pompe et station
  • Application du prix de vente par produit et par station
Les ventes carburant sont toujours basées sur les compteurs — jamais sur une saisie libre

Module Avancé — Écarts & Historique des Cuves

📉 Détection des écarts
  • Détection automatique après chaque opération
  • Affichage en litres et pourcentage (%)
  • Justification obligatoire (évaporation, erreur, fuite…)
  • Double validation N1 + N2 requise
📚 Historique complet par cuve
  • Historique des niveaux
  • Livraisons, ventes, écarts, validations
  • Analyse mensuelle : total entrées / sorties / écarts
  • Section spéciale : "Cuves à surveiller"

Cuve arrêtée

Motifs :
  • Maintenance
  • Suspicion de perte
  • Contrôle
Effets :
  • Pas de livraison possible
  • Pas de vente possible
  • Stock figé — contrôle de jauge réelle
6

Workflow Complet — Achat Carburant → Citerne → Cuve → Station

Commande d'achat chez le fournisseur Statut : Commandée
  • Fournisseur, compte, produit (Gasoil / Essence)
  • Volume total, prix unitaire, régime fiscal (TTC / HT)
  • Date d'achat — le stock station ne change pas encore
Création des Bons de Livraison (BL) Statut : Partiellement / Livrée

Une commande peut être livrée en plusieurs BL (ex : 100 000 L → 40 000 + 30 000 + 30 000 L)

  • Numéro BL, volume
  • Calcul automatique : volume livré / restant à livrer
Affectation BL → Citerne (Chargement) Statut : En citerne
  • Choix : BL, citerne, volume chargé, date
  • Stock fournisseur diminue — stock station inchangé
Livraison depuis la citerne vers la station Statut : Livré
  • Saisie : station, cuve, volume livré, date
  • Création d'un BL station lié au BL fournisseur + citerne
  • La citerne diminue — la cuve station augmente
Clôture du BL & historique
  • Statut BL = "Livré" quand le dernier litre est livré
  • Historique complet conservé : BL, citerne, stations, volumes, dates

Transfert Inter-Stations (Volume non facturé)

Transfert interne de carburant entre deux stations de la même entité, sans achat fournisseur et sans facturation.

Champs obligatoires :
  • Station source & cuve source
  • Station destination & cuve destination
  • Produit, volume transféré, date
  • Motif du transfert, responsable
Règle fondamentale :
  • Station A : diminution stock — aucune écriture de vente
  • Station B : augmentation stock — aucune écriture d'achat
  • Valorisation au CMUP de la station source
  • Statuts : Créé → Validé N1 → N2 → Exécuté → Clôturé

Journal Quotidien Financier

📥 Encaissements
  • Espèces
  • Tickets
  • Wallets (Bankily, Masrivi…)
  • Virements
  • Chèques
  • Ventes à crédit
📤 Dépenses
  • Transport
  • Maintenance
  • Salaires
  • Dépenses diverses
  • Dette clients du jour
  • Règlements de dettes anciennes
7

Module — Suivi des Chèques

CAS 1 — Chèque lié à un Achat Carburant
Principe

Lorsqu'un achat carburant est effectué avec paiement par chèque, le chèque est créé directement depuis l'écran de l'achat. Il est obligatoirement lié :

  • À l'achat & au BL
  • Au fournisseur bénéficiaire
  • Au compte bancaire sélectionné
Il n'est pas possible de créer ce chèque séparément
CAS 2 — Chèque Direct (hors achat carburant)
Principe

Chèque émis directement depuis un compte bancaire. Peut concerner :

  • Un fournisseur (règlement partiel ou total)
  • Une personne / entreprise
  • Une dépense exceptionnelle ou une avance

Lien optionnel avec une dette ou dépense existante pour une meilleure traçabilité

Informations obligatoires du chèque

  • Banque & compte bancaire
  • Numéro du chèque
  • Date d'émission
  • Date d'échéance (date de débit prévue)
  • Montant (= montant facture par défaut, modifiable si paiement partiel)
  • Bénéficiaire (automatiquement le fournisseur)
  • Motif du paiement (Cas 2)
Statut initial : En attente de validation

Alertes automatiques & indicateurs visuels

⏰ Alertes obligatoires
J-3 — 3 jours avant l'échéance
J-1 — 1 jour avant l'échéance
Jour J — Le jour de l'échéance
📊 Contenu de chaque alerte
  • Numéro du chèque
  • Banque et compte bancaire
  • Fournisseur bénéficiaire
  • Montant & date d'échéance
  • Référence Achat / BL
  • État du solde bancaire

Contrôle du solde bancaire

Solde suffisant
⚠️
Solde insuffisant

Manque = X affiché

Solde excédentaire

Surplus = X affiché

Filtres et vues de contrôle

Questions auxquelles le système répond :
  • Combien dois-je payer cette semaine / ce mois ?
  • Combien dois-je payer par banque ?
  • Combien dois-je payer par compte bancaire ?
  • Quel est le manque ou surplus par compte ?
Filtres disponibles :
  • Par période
  • Par banque
  • Par compte
  • Par bénéficiaire

Règles communes aux deux cas

  • Aucun chèque n'a d'impact financier sans validation N2
  • Chaque chèque est obligatoirement lié à un compte bancaire
  • Historique complet : création, modifications, validations, encaissement
  • Aucun chèque ne peut être supprimé définitivement
  • Filtres et tableaux de suivi obligatoires
8

Workflow — Clôture Journalière & Journal Réseau

Rôles & Responsabilités

Rôle Niveau Interface Responsabilités
Gérant de station Saisie Mobile / Web Réceptions, dépenses, wallets, tickets, recettes — en attente de validation
Contrôleur (terrain) N1 Mobile Index pompes, contrôle cuves, livraisons, caisse — valide N1
Direction / Siège N2 + N3 Web Finance, banques, affectation argent du jour — valide N2 & N3 final

Workflow de clôture par station

Démarrage

Sélection : Station · Date · Shift

Index des pompes

Saisie index fin · Photo compteur · Calcul automatique (litres + CA)

Contrôle cuves

Stock théorique vs jauge réelle · Écart en litres · Photo + justification si anomalie

Vérification livraisons

BL hier / aujourd'hui · Comparaison BL + ventes vs jauge · Validation ou justification

Recettes & Dépenses

Espèces · Wallets · Tickets · Crédit · Dépenses avec justificatif

Contrôle caisse

Cash réel vs cash théorique · Écart → justification obligatoire

Soumission & validation N1

Résumé : litres vendus · recettes · dépenses · crédit · cash · stocks

Destination de l'argent du jour

  • Total encaissé
  • Total déposé en caisse (peut être réparti sur plusieurs caisses)
  • Total déposé en banque (peut être réparti sur plusieurs banques)
  • Montant en attente
Si une partie de l'argent n'est pas déposée → la date reste en statut "Non validée définitivement" et une alerte est affichée
⚠️ Tant que N3 n'est pas validé, la journée est considérée ouverte
9

Module — Gestion du Personnel & des Salaires

👤 Fiche Employé

Informations personnelles :

  • Nom, prénom, nationalité
  • Téléphone, adresse, photo
  • Personne / société ayant recruté

Informations professionnelles :

  • Fonction : Pompiste / Gérant / Chauffeur / Technicien
  • Type de contrat : Journalier / Mensuel
  • Date de début — Statut : actif / suspendu / quitté
💼 Organisation & Affectation
  • Station principale + stations secondaires
  • Icône spéciale si travail multi-stations
  • Nombre de jours de travail par semaine
  • Type d'horaires : Jour / Nuit / Rotation

Paramètres salaire :

  • Salaire de base (mensuel ou journalier)
  • Mode de paiement : Espèces / Wallet / Virement

Calcul du salaire mensuel (automatique)

ÉlémentDescription
Salaire brutCalculé selon contrat (mensuel ou jours travaillés)
Avance(s) du moisEnregistrées avec motif et double validation
Retenues pour dettesRemboursements selon échéancier défini
Montant déjà payéSuivi des paiements effectués
Net à payerBrut − avances − retenues − déjà payé

Avances & Dettes (Salf)

  • Enregistrement d'une avance sur salaire
  • Définition : montant total, nombre de mensualités, montant à retenir/mois
  • Date, motif, validation N1 + N2 obligatoire
  • Historique complet : salaires payés, avances, retenues, dettes restantes

Bulletins & Rapports PDF

📄 Bulletin individuel (mensuel)
  • Nom, fonction, station(s)
  • Salaire brut, avance, retenue
  • Net à payer
  • Date et utilisateur ayant validé
📋 Rapport mensuel par station
  • Liste complète des employés
  • Brut, avances, retenues, net payé
  • Total masse salariale de la station
10

Module — Gestion & Archivage des Prix

A — Prix de Vente (unifiés)
Principe
  • Prix unifiés pour toutes les stations
  • Définis par produit et par wilaya / zone
  • Applicables en TTC et HT

Structure de prix (numérotée) :

  • N° structure (ex : PRIX-VENTE-2026-001)
  • Produit, wilaya, type (TTC/HT), prix unitaire
  • Date d'effet, date de fin, statut
  • Une seule structure Active à la fois par produit + zone + type
Les ventes passées ne sont jamais recalculées lors d'un changement de prix
B — Prix d'Achat (par fournisseur)
Principe

Prix non unifiés. Chaque fournisseur peut avoir ses propres prix par produit, station et régime fiscal.

  • Fiche prix fournisseur par station et produit
  • Date de début / fin — Statut : Actif / Archivé
  • Proposition automatique du dernier prix actif
  • Modification ponctuelle possible avec historique

Utilisation des prix dans le système

Prix de vente — utilisés pour :
  • Ventes pompes & facturation
  • Calcul du chiffre d'affaires
Prix d'achat — utilisés pour :
  • Achats carburant
  • Calcul du CMUP & valorisation du stock
  • Calcul des marges

Impact d'un changement de prix fournisseur

Le système analyse automatiquement :

  • Impact sur le CMUP
  • Impact sur la marge carburant
  • Impact sur la rentabilité de la station
  • Comparaison entre fournisseurs

Graphiques & Analyses (obligatoires)

GraphiqueTypeDimensions
Évolution des prix de venteCourbeTemps × Prix (Gasoil/Essence TTC & HT)
Évolution des prix d'achatCourbe / BarresPar fournisseur, station, produit
Évolution des margesCourbeMarge par litre, par station, par produit
Impact prix sur le résultatBarres comparativesAvant / après changement, par station et réseau

Alertes intelligentes liées aux prix

  • Alerte si une baisse de prix entraîne une marge négative
  • Alerte si un fournisseur devient non compétitif
  • Alerte si le CMUP augmente fortement
11

Reporting, Dashboard & Audit

📊 Reporting Hebdomadaire & Mensuel
  • Dépenses & profits
  • Dettes fournisseurs
  • Créances clients
  • Trésorerie & stocks
  • Tendance : amélioration ou dégradation
🖥️ Dashboard Exécutif (temps réel)
  • Caisse & banques
  • Stock carburant
  • Ventes du jour
  • Dettes & profits
  • Fonds de roulement
🔐 Audit & Sécurité
  • Audit log complet & inviolable
  • Gestion fine des droits utilisateurs
  • Sauvegardes automatiques quotidiennes
  • Export Excel / PDF
Résultat final attendu : À tout moment, le système doit permettre de savoir quels chèques vont être débités, quand, sur quel compte, pour quel montant, pour quel bénéficiaire, et si le solde bancaire est suffisant ou non.

Modules complémentaires

🎫 Tickets
  • Tickets par fournisseur
  • Achat, stock, utilisation
  • Suivi du reste
📲 Wallets
  • Suivi des ventes par wallet
  • Transferts bancaires
  • Solde restant & alertes
👥 Clients
  • Plafond de crédit
  • Statut Actif / Inactif
  • Blocage automatique si dépassement
  • Suivi des créances
🏦 Cautions Bancaires
  • Module séparé des dettes carburant
  • Paiement par versements
  • Reste à payer, échéances & alertes