StockFlow
Le manuel illustré, écran par écran, pour gérer le stock et les ventes de votre commerce : caisse, produits, réceptions, inventaires, clients, rapports et déclaration fiscale. Sur le web, l'application bureau (Windows) et la tablette/le téléphone Android. L'application continue de fonctionner sans internet. The illustrated, screen-by-screen manual for running your shop's stock and sales: checkout, products, receiving, stock counts, customers, reports and tax declaration. On the web, the desktop app (Windows) and Android tablet/phone. The app keeps working without internet.
Connexion & création de compteSign in & create an account
Un seul compte par numéro de téléphone, pour toutes vos boutiques. L'écran est le même sur le web, l'application bureau et le mobile. One account per phone number, for all your shops. The screen is the same on web, desktop and mobile.
- 1Se connecterLog in · l'onglet par défaut : téléphone + mot de passe.the default tab: phone + password.
- 2Créer un compteCreate an account · ajoute un champ « Votre nom ». Un seul compte sert pour toutes vos boutiques.adds a "Your name" field. One account works for all your shops.
- 3TéléphonePhone · votre identifiant. Les espaces et tirets sont ignorés (6 90 12 34 56 = 690123456).your login. Spaces and dashes are ignored (6 90 12 34 56 = 690123456).
- 4Mot de passePassword · au moins 6 caractères ; 👁️ affiche ou masque la saisie.at least 6 characters; 👁️ shows or hides it.
- 5Se connecter / Créer mon compteLog in / Create my account · valide et ouvre « Mes boutiques ».submits and opens "My shops".
- 6VersionVersion · en bas de chaque page : utile pour le support (« quelle version avez-vous ? »).at the bottom of every page: useful for support ("which version do you have?").
Pas à pasStep by step
- Créer un compte : onglet Créer un compte → votre nom, votre téléphone, un mot de passe (6 caractères minimum) → Créer mon compte. Si le numéro a déjà un compte, connectez-vous plutôt.Create an account: Create an account tab → your name, phone and a password (6+ characters) → Create my account. If the number already has an account, log in instead.
- Se connecter : téléphone + mot de passe → Se connecter. Vous arrivez sur « Mes boutiques ».Log in: phone + password → Log in. You land on "My shops".
- Une boutique reste ouverte : à la réouverture de l'application, la dernière boutique utilisée se rouvre directement, même sans internet.Your shop stays open: when you reopen the app, the last shop you used opens directly, even offline.
Mes boutiquesMy shops
Juste après la connexion. Ouvrez une boutique en un clic, créez-en une nouvelle avec un assistant en 4 étapes, ou demandez à rejoindre l'équipe d'une boutique avec son code. Toute la suite de l'application concerne la boutique ouverte. Right after signing in. Open a shop in one click, create a new one with a 4-step wizard, or ask to join a shop's team with its code. Everything else in the app is about the open shop.
Vos boutiques (2)Your shops (2)
- 1Créer une boutiqueCreate a shop · l'assistant de création (à gauche, la plus grande colonne).the creation wizard (left, the wider column).
- 2Rejoindre avec un codeJoin with a code · demander l'accès à une boutique existante.ask for access to an existing shop.
- 3ÉtapesSteps · Général, La boutique, Équipement, Contenu de départ. Touchez une étape pour y aller directement.General, The shop, Equipment, Starter content. Tap a step to jump to it.
- 4Type de commerce & paysBusiness type & country · le type pré-coche ce que vous gérez (péremption, poids…), le pays règle la devise et la TVA.the type pre-selects what you manage (expiry, weight…), the country sets currency and VAT.
- 5Suivant / Créer la boutiqueNext / Create the shop · Entrée passe aussi à l'étape suivante.Enter also moves to the next step.
- 6Vos boutiquesYour shops · un clic ouvre la boutique. Rôle, devise et code d'invitation (gérants) sous le nom ; badge orange = demandes d'accès à traiter.one click opens the shop. Role, currency and invite code (managers) under the name; orange badge = join requests to handle.
- 7En attente de validationWaiting for approval · votre demande n'est pas encore acceptée par le gérant ; la boutique s'ouvrira dès qu'elle le sera.your request isn't accepted by the manager yet; the shop opens as soon as it is.
- 1CatégoriesCategories · celles de votre type de commerce. Touchez ✕ pour en retirer une.those of your business type. Tap ✕ to remove one.
- 2AjouterAdd · tapez un nom puis Entrée (ou +) pour ajouter votre propre catégorie.type a name then Enter (or +) to add your own category.
- 3Services · créés au prix 0 : fixez vos prix ensuite dans Services. Liste vide = module services désactivé.created at price 0: set your prices later in Services. Empty list = services module off.
- 4Fournisseur diversVarious supplier · fournisseur passe-partout pour vos premières réceptions.a catch-all supplier for your first receipts.
- 5Produits d'exempleSample products · quelques produits sans stock pour découvrir l'application (ils apparaissent en rupture). Archivez-les quand vous êtes prêt.a few products with no stock to discover the app (they show as out of stock). Archive them when ready.
- 6Créer la boutiqueCreate the shop · tout est créé en une fois, avec la succursale « Boutique principale » à l'adresse de l'étape 2.everything is created at once, with the "Main shop" branch at the address from step 2.
Pas à pasStep by step
- Étape 1 · Général : choisissez le type de commerce, le nom de la boutique, une description (facultative) et le pays : la devise et le taux de TVA se remplissent tout seuls. Le type de commerce prépare aussi le reste : équipement, seuil de stock bas et contenu de départ.Step 1 · General: pick the business type, the shop name, an optional description and the country: currency and VAT rate fill in by themselves. The business type also prepares the rest: equipment, low-stock threshold and starter content.
- Étape 2 · La boutique : adresse, téléphone, NIU, message en bas du reçu, système comptable (OHADA, TVA générique ou sans taxe), régime fiscal (standard avec TVA, ou impôt libératoire) et taux de TVA.Step 2 · The shop: address, phone, taxpayer number (NIU), receipt footer, accounting system (OHADA, generic VAT or no tax), tax regime (standard with VAT, or flat tax) and VAT rate.
- Étape 3 · Équipement : ce que vous gérez (péremption & lots, vente au poids, numéros de série, variantes, assemblage), cartes cadeaux de récompense, seuil de stock bas par défaut.Step 3 · Equipment: what you manage (expiry & batches, sale by weight, serial numbers, variants, assembly), reward gift cards, default low-stock threshold.
- Étape 4 · Contenu de départ : ce qui est créé avec la boutique pour vendre tout de suite : les catégories et les services de votre type de commerce (touchez ✕ pour en retirer, ajoutez les vôtres), un fournisseur « Fournisseur divers » et quelques produits d'exemple sans stock (à archiver quand vous êtes prêt) → Créer la boutique. La succursale s'appelle « Boutique principale » et reprend l'adresse de l'étape 2.Step 4 · Starter content: what is created with the shop so you can sell right away: the categories and services of your business type (tap ✕ to remove one, add your own), a "Various supplier" supplier and a few sample products with no stock (archive them when ready) → Create the shop. The branch is called "Main shop" and takes the address from step 2.
- Rejoindre : onglet Rejoindre avec un code → code donné par le gérant (format PHRM-XXXXX, majuscules et espaces sans importance) → Envoyer la demande. Le gérant l'accepte dans Personnel.Join: Join with a code tab → code from the manager (PHRM-XXXXX format, case and spaces don't matter) → Send the request. The manager accepts it in Staff.
- Succursale : si la boutique a plusieurs succursales, l'application demande où vous travaillez et s'en souvient sur cet appareil.Branch: if the shop has several branches, the app asks where you work and remembers it on this device.
Tableau de bord & alertesDashboard & alerts
La vue d'ensemble de la journée : recettes, ventes, état du stock. Chaque tuile est cliquable et ouvre la liste correspondante. Les alertes regroupent tout ce qui demande une action. Today at a glance: revenue, sales, stock health. Every tile is clickable and opens the matching list. Alerts gather everything that needs action.
Évolution des recettesRevenue trend
État du stockStock health
Ventes récentesRecent sales
- 1Réconciliation requiseNeeds reconciliation · apparaît si un lot est passé en négatif après des ventes hors ligne, ou si deux appareils ont ouvert la même caisse. Le gérant clique Examiner, corrige le stock puis « Marquer examiné ».appears if a batch went negative after offline sales, or two devices opened the same register. The manager clicks Review, fixes the stock then "Mark reviewed".
- 2Six tuilesSix tiles · recettes et ventes du jour, produits, stock faible, rupture, expire bientôt. Un clic ouvre la liste filtrée.today's revenue and sales, products, low stock, out of stock, expiring soon. A click opens the filtered list.
- 37J · 30J · 90J · période du graphique des recettes.period of the revenue chart.
- 4État du stockStock health · produits en stock, en stock faible et en rupture.products in stock, low and out of stock.
- 5Ventes récentesRecent sales · les 8 dernières ventes.the last 8 sales.
🔔 AlertesAlerts
⛔ Rupture de stockOut of stock
Produits à zéro, avec un bouton Réceptionner. « En commande » si un bon de commande est déjà ouvert : un clic l'ouvre.Products at zero, with a Receive button. "On order" if a purchase order is already open: a click opens it.
⚠️ Stock faibleLow stock
Stock actuel / seuil, avec Réceptionner.Current stock / threshold, with Receive.
⏰ ExpiréExpired
Lot, date de péremption, unités, et depuis combien de jours. Un clic ouvre l'inventaire du produit.Batch, expiry date, units and how many days ago. A click opens the product's inventory.
⏳ Expire bientôtExpiring soon
Lots qui expirent dans les 30 jours : à vendre en priorité.Batches expiring within 30 days: sell them first.
Point de vente Point of sale🖥️ 📱
Scannez ou cherchez les produits, choisissez le client et le moyen de paiement, encaissez, imprimez le reçu. Le stock est déduit automatiquement, lot par lot, en commençant par celui qui expire le plus tôt (FEFO). Scan or search products, pick the customer and payment method, charge, print the receipt. Stock is deducted automatically, batch by batch, starting with the one that expires first (FEFO).
PanierCart
- 1Recherche / scanSearch / scan · tapez un nom ou un code-barres ; une douchette USB/Bluetooth fonctionne partout sur l'écran. Entrée ajoute le premier résultat.type a name or barcode; a USB/Bluetooth scan gun works anywhere on the screen. Enter adds the first result.
- 2PanierCart · − / + pour la quantité, ✕ pour retirer une ligne.− / + for quantity, ✕ removes a line.
- 3Total · TVA comprise. Pour un client professionnel (🏢 Pro), la TVA est ajoutée en sus.VAT included. For a business customer (🏢 Pro), VAT is added on top.
- 4ClientCustomer · facultatif ; ➕ crée un client sur place. Ses puces montrent son avoir, ce qu'il doit et ses récompenses.optional; ➕ creates a customer on the spot. Chips show their store credit, what they owe and rewards.
- 5Moyen de paiementPayment method · Espèces, Mobile money, Crédit (payer plus tard), Avoir (prépayé), Carte cadeau.Cash, Mobile money, Credit (pay later), Store credit (prepaid), Gift card.
- 6EncaisserCharge · valide la vente, déduit le stock et propose d'imprimer le reçu (ou l'imprime automatiquement si c'est réglé).completes the sale, deducts stock and offers to print the receipt (or prints it automatically if set).
- 7Mettre en attente / ViderHold / Clear · mettre la vente de côté (Ventes en attente) ou vider le panier.set the sale aside (Held sales) or empty the cart.
Pas à pasStep by step
- Ouvrir la caisse (section 6) : un caissier ne peut pas vendre tant que la caisse du jour n'est pas ouverte.Open the register (section 6): a cashier can't sell until the day's register is open.
- Ajouter les produits : scannez ou cherchez. Selon le produit, l'application demande l'unité de vente (Unité, Boîte…), le poids ou la quantité, ou le numéro de série / IMEI.Add products: scan or search. Depending on the product, the app asks for the sale unit (Unit, Box…), the weight or quantity, or the serial / IMEI number.
- Client & paiement : choisissez un client si besoin, puis le moyen de paiement. En espèces, saisissez le montant remis pour voir la monnaie à rendre.Customer & payment: pick a customer if needed, then the payment method. For cash, enter the amount tendered to see the change due.
- Encaisser, puis 🖨 Imprimer / enregistrer le reçu.Charge, then 🖨 Print / save receipt.
- Récompense : si le client a droit à une carte cadeau de récompense, un bandeau 🎁 propose de l'émettre et de l'imprimer.Reward: if the customer earned a reward gift card, a 🎁 banner offers to issue and print it.
⏸️ Ventes en attenteHeld sales
Un client revient plus tard ? Mettez la vente en attente. Dans Ventes → Ventes en attente, ▶️ Reprendre la vente la remet dans le panier (le panier doit être vide), ou 🗑️ la supprime.A customer will be back later? Hold the sale. In Sales → Held sales, ▶️ Resume sale puts it back in the cart (the cart must be empty), or 🗑️ deletes it.
CaisseCash register
Chaque journée commence par l'ouverture de la caisse (fonds de caisse) et se termine par sa fermeture (comptage des espèces). L'application calcule l'écart. Each day starts by opening the register (cash float) and ends by closing it (cash count). The app calculates the difference.
Fermer la caisseClose register
- 1État de la caisseRegister status · qui l'a ouverte, quand, et le fonds de caisse.who opened it, when, and the opening float.
- 2Attendu dans le tiroirExpected in drawer · fonds + ventes en espèces. Le mobile money n'est pas compté dans le tiroir.float + cash sales. Mobile money isn't counted in the drawer.
- 3Espèces comptéesCash counted · comptez seulement les billets et pièces.count notes and coins only.
- 4ÉcartDiscrepancy · équilibré, excédent ou manque, calculé en direct.balanced, over or short, computed live.
- 5Fermer la caisseClose register · clôt la journée ; elle apparaît dans l'historique des postes.ends the day; it appears in the shift history.
- Ouvrir : saisissez le fonds de caisse initial → Ouvrir la caisse. Pour un caissier, toute l'application reste verrouillée tant que la caisse n'est pas ouverte (le gérant n'est jamais bloqué).Open: enter the opening cash float → Open register. For a cashier, the whole app stays locked until the register is open (managers are never locked).
- Fermer : comptez les espèces → Espèces comptées → notes si besoin → Fermer la caisse.Close: count the cash → Cash counted → notes if needed → Close register.
- Suivi : « Recettes journalières » (espèces, mobile money, total par jour, 🖨 Imprimer) et « Historique des postes » avec l'écart de chaque journée.Follow-up: "Daily takings" (cash, mobile money, total per day, 🖨 Print) and "Shift history" with each day's discrepancy.
Historique des ventes & remboursementsSales history & refunds
Toutes les ventes, filtrables par date. Rouvrez une vente pour réimprimer le reçu ou la rembourser, exportez la période en PDF ou en Excel. Every sale, filterable by date. Open a sale to reprint the receipt or refund it, export the period to PDF or Excel.
- 1PériodeDate range · Du / Au ; Effacer pour tout voir.From / To; Clear to see everything.
- 2PDF · Excel · exporte toutes les ventes de la période (pas seulement la page affichée). Sur l'application bureau, le fichier Excel va dans Téléchargements.exports every sale in the range (not just the visible page). In the desktop app, the Excel file goes to Downloads.
- 3Cases à cocherCheckboxes · sélectionnez des ventes (ou Tout sélectionner) pour imprimer leurs reçus d'un coup.select sales (or Select all) to print their receipts at once.
- 4Une venteA sale · un clic ouvre le détail : lignes, lot et n° de série, paiement, monnaie.a click opens the detail: lines, batch and serial, payment, change.
- 5Télécharger N reçusDownload N receipts · un seul document avec tous les reçus sélectionnés.a single document with all selected receipts.
- Réimprimer un reçu : ouvrez la vente → 🖨 Imprimer le reçu.Reprint a receipt: open the sale → 🖨 Print receipt.
- Rembourser (gérant) : ouvrez la vente terminée → Rembourser la vente → confirmez. Le stock revient en rayon et les paiements sont annulés (crédit, avoir, carte cadeau compris). Le statut passe à « Remboursée ».Refund (manager): open the completed sale → Refund sale → confirm. Stock goes back on the shelf and payments are reversed (credit, store credit, gift card included). Status becomes "Refunded".
ProduitsProducts
Le catalogue : prix, codes-barres, conditionnements (boîte, plaquette, unité), seuils de stock bas, et les options propres à votre activité (péremption, poids, numéros de série, variantes, assemblage). The catalog: prices, barcodes, packaging (box, blister, unit), low-stock thresholds, and the options specific to your trade (expiry, weight, serial numbers, variants, assembly).
- 1RechercheSearch · par nom ou code-barres. Scanner un code ouvre directement l'inventaire du produit.by name or barcode. Scanning a code opens the product's inventory directly.
- 2Nouveau produitNew product · ouvre le formulaire (ci-dessous).opens the form (below).
- 3Stock · un clic ouvre l'inventaire : stock, valeur, lots et dates de péremption (orange à moins de 30 jours, rouge si expiré).a click opens the inventory: stock, value, batches and expiry dates (orange under 30 days, red if expired).
- 4🛒 CommanderOrder · sur un produit en rupture : prépare un bon de commande chez son fournisseur.on an out-of-stock product: drafts a purchase order with its supplier.
Le formulaire produitThe product form
✨ Catégories suggéréesSuggested categories
- 1Seuil de stock basLow-stock threshold · pré-rempli selon le type de commerce (pharmacie 10, épicerie 20…). C'est seulement le niveau d'alerte, pas une limite : vous pouvez recevoir et stocker autant que vous voulez.prefilled from the business type (pharmacy 10, grocery 20…). It's only the alert level, not a limit: you can receive and hold as much as you want.
- 2Raccourcis de conditionnementPackaging shortcuts · un clic ajoute un niveau (Boîte, Plaquette, Carton…) adapté à votre commerce ; il reste à saisir le nombre d'unités.one click adds a level (Box, Blister, Carton…) suited to your trade; you then enter the number of units.
- 3Séries de variantesVariant sets · Web et bureau : un clic remplit les tailles, pointures ou couleurs à créer.Web and desktop: one click fills in the sizes, shoe sizes or colours to create.
- 4Catégories suggéréesSuggested categories · dans Catégories, ✨ Ajouter les catégories suggérées propose celles de votre type de commerce qui vous manquent. Sur Android, cela marche aussi hors ligne.in Categories, ✨ Add suggested categories offers the ones of your business type you don't have yet. On Android it also works offline.
Toujours présentAlways there
Nom, code-barres (scanner ou saisir), catégorie (+ pour en créer une), fournisseur (obligatoire sauf réglage contraire), prix d'achat, prix de vente, seuil de stock bas, TVA spécifique (vide = taux de la boutique), Favori (épinglé au point de vente).Name, barcode (scan or type), category (+ to create one), supplier (required unless set otherwise), purchase price, sale price, low-stock threshold, VAT override (blank = shop rate), Favorite (pinned at the point of sale).
📦 Niveaux de conditionnementPackaging levels
+ Ajouter un niveau : nom (Boîte), nombre d'unités (10), prix spécifique facultatif. Au point de vente, on choisit « Vendre en » Unité ou Boîte ; le stock est toujours compté en unités.+ Add level: name (Box), number of units (10), optional price override. At the point of sale you choose "Sell as" Unit or Box; stock is always counted in units.
⚖️ 🔢 Poids & numéros de sérieWeight & serial numbers
Vente au poids ou à la mesure (kg, m, L ; prix par unité de mesure). Suivi des numéros de série / IMEI : chaque unité vendue est choisie par son numéro.Sell by weight or measure (kg, m, L; price per unit of measure). Serial / IMEI tracking: each unit sold is picked by its number.
🎨 🛠️ Variantes & assemblageVariants & assembly
Variantes (S, M, L…) avec leur propre stock, code-barres et prix. Nomenclature : composants d'un produit fini, puis « Assembler » une quantité.Variants (S, M, L…) with their own stock, barcode and price. Bill of materials: components of a finished product, then "Build" a quantity.
🏷️ CatégoriesCategories
Ajouter, ✏️ renommer, 🗑️ supprimer (avec confirmation), ✨ ajouter les catégories suggérées pour votre type de commerce.Add, ✏️ rename, 🗑️ delete (with confirmation), ✨ add the suggested categories for your business type.
🗄️ ArchivesArchived
Les produits archivés disparaissent du catalogue et du point de vente, sans perdre leur historique. ♻️ Restaurer les remet en vente.Archived products disappear from the catalog and point of sale without losing their history. ♻️ Restore puts them back on sale.
Mouvements de stockStock movements
Le stock ne se tape jamais « à la main » : il change par des mouvements tracés. Réception d'une livraison (nouveau lot), ajustement (casse, perte) avec un motif, ou retour au fournisseur. Stock is never typed in "by hand": it changes through tracked movements. Receiving a delivery (new batch), adjustment (breakage, loss) with a reason, or return to the supplier.
📥 Réceptionner du stockReceive stock · Paracétamol 500 mg
- 1Numéro de lotBatch number · obligatoire ; chaque réception crée un lot.required; each delivery creates a batch.
- 2PéremptionExpiry · obligatoire si le suivi des péremptions est actif. Les ventes puisent d'abord dans le lot qui expire le plus tôt.required if expiry tracking is on. Sales take from the batch expiring first.
- 3Réceptionner enReceive in · Unité ou Boîte : la conversion en unités est affichée. Pour un produit à numéros de série, saisissez un numéro par ligne à la place de la quantité.Unit or Box: the conversion to units is shown. For a serial product, enter one number per line instead of a quantity.
- 4Coût unitaireUnit cost · sert aux marges, à la valeur du stock et à la TVA déductible.used for margins, stock value and deductible VAT.
- 5RéceptionnerReceive · enregistre le lot ; le stock augmente aussitôt.saves the batch; stock goes up immediately.
- Réceptionner : Achats → Réceptionner du stock → cherchez ou scannez le produit → remplissez le lot → Réceptionner. Depuis un bon de commande, utilisez plutôt Réceptionner sur la ligne (section 11).Receive: Purchasing → Receive stock → search or scan the product → fill the batch → Receive. From a purchase order, use Receive on the line instead (section 11).
- Ajuster : fiche produit → ✏️ Ajuster → choisissez le lot → variation (+ ou −, ex. −3 pour de la casse) → motif obligatoire → Appliquer l'ajustement. Un lot ne peut pas passer sous zéro.Adjust: product → ✏️ Adjust → pick the batch → change (+ or −, e.g. −3 for breakage) → reason required → Apply adjustment. A batch can't go below zero.
- Retour fournisseur : fiche produit → ↩️ Retour fournisseur → lot → quantité (au plus le stock du lot) → motif (abîmé, périmé, erreur) → Retour fournisseur.Return to supplier: product → ↩️ Return to supplier → batch → quantity (at most the batch stock) → reason (damaged, expired, wrong item) → Return to supplier.
Inventaire, stock en masse & étiquettesStock count, bulk stock & labels
Comptez le stock réel et corrigez les écarts en une fois, enregistrez tout un stock existant depuis un fichier Excel, et imprimez des étiquettes avec code-barres. Count the real stock and fix the differences in one go, register a whole existing stock from an Excel file, and print barcode labels.
- 1RechercheSearch · par produit ou numéro de lot.by product or batch number.
- 2ComptéCounted · saisissez ce que vous avez réellement en rayon.enter what you really have on the shelf.
- 3ÉcartVariance · vert si plus, rouge si moins.green if more, red if less.
- 4ValiderPost · seules les lignes avec un écart sont ajustées.only lines with a difference are adjusted.
📋 Enregistrement de stock en masseBulk stock registration
1. ⬇ Télécharger le modèle Excel. 2. Remplissez-le (nom, code-barres, catégorie, prix, seuil, lot, péremption AAAA-MM-JJ, quantité) puis ⬆ envoyez-le ou collez les lignes. 3. Vérifier les lignes : prêtes ✅ ou en erreur ❌. 4. Enregistrer N articles. Un produit existant (même code-barres, sinon même nom) est réapprovisionné ; les autres sont créés.1. ⬇ Download the Excel template. 2. Fill it (name, barcode, category, prices, threshold, batch, expiry YYYY-MM-DD, quantity), then ⬆ upload it or paste the rows. 3. Check rows: ready ✅ or error ❌. 4. Register N items. An existing product (same barcode, else same name) is restocked; the others are created.
🏷️ Imprimer des étiquettesPrint labels
Cherchez les produits, réglez le nombre de copies, puis 🖨 Imprimer. Étiquettes 50 × 30 mm : nom, prix et code-barres. Un produit sans code-barres est signalé. Passe par la fenêtre d'impression (ou Enregistrer en PDF).Search products, set the number of copies, then 🖨 Print. 50 × 30 mm labels: name, price and barcode. A product with no barcode is flagged. Uses the print dialog (or Save as PDF).
Fournisseurs & bons de commandeSuppliers & purchase orders
Gardez vos fournisseurs sous la main, passez commande, puis réceptionnez la livraison ligne par ligne, même en plusieurs fois. Keep your suppliers at hand, place orders, then receive the delivery line by line, even in several goes.
- 1PDF · Excel · bon de commande à imprimer ou envoyer au fournisseur.order document to print or send to the supplier.
- 2StatutStatus · En attente, Partiel, Réceptionné ou Annulé ; « N j de retard » quand la livraison tarde.Pending, Partial, Received or Cancelled; "N d overdue" when the delivery is late.
- 3Reçu / commandéReceived / ordered · avancement de chaque ligne.progress of each line.
- 4RéceptionnerReceive · quantité reçue, lot, péremption (si suivie), coût réel ou numéros IMEI : crée le lot en stock. « Annuler le reste » arrête d'attendre le solde.quantity received, batch, expiry (if tracked), actual cost or IMEI numbers: creates the batch in stock. "Cancel outstanding" stops waiting for the rest.
- 5Annuler la commandeCancel order · seulement tant que rien n'est reçu (En attente).only while nothing has been received (Pending).
- Fournisseur : Achats → Fournisseurs → + Nouveau fournisseur : nom, téléphone, e-mail. 📇 affiche le contact (téléphone et e-mail cliquables).Supplier: Purchasing → Suppliers → + New supplier: name, phone, email. 📇 shows the contact (clickable phone and email).
- Commander : Bons de commande → + Nouvelle commande → fournisseur → ajoutez les produits avec quantité et coût unitaire → notes → Créer la commande. Astuce : 🛒 Commander sur un produit en rupture prépare la commande pour vous, avec assez pour repasser au-dessus du seuil (2 × seuil moins le stock actuel), modifiable.Order: Purchase orders → + New order → supplier → add products with quantity and unit cost → notes → Create order. Tip: 🛒 Order on an out-of-stock product drafts it for you, with enough to get back above the threshold (2 × threshold minus current stock), editable.
- Réceptionner la livraison : ouvrez la commande → Réceptionner sur chaque ligne livrée. Le stock reçu reste acquis même si vous annulez le reste. Vous pouvez recevoir plus que commandé : l'application demande seulement de confirmer.Receive the delivery: open the order → Receive on each delivered line. Received stock is kept even if you cancel the rest. You can receive more than ordered: the app just asks you to confirm.
- 1Livraison plus grandeBigger delivery · unités offertes, cartons arrondis : l'application vous prévient au lieu de bloquer.bonus units, rounded cartons: the app warns you instead of blocking.
- 2RecevoirReceive · tout entre en stock et la ligne passe en Reçu. Une ligne déjà complète ne peut plus rien recevoir.everything goes into stock and the line becomes Received. A line already complete can't receive anything more.
Clients, crédit & cartes cadeauxCustomers, credit & gift cards
Suivez ce que vos clients vous doivent, l'argent qu'ils ont déposé d'avance, et récompensez les fidèles avec des cartes cadeaux. Track what your customers owe, the money they deposited in advance, and reward regulars with gift cards.
- 1🏢 Pro · client professionnel : la TVA est ajoutée en sus sur ses achats ; son NIU figure sur la facture.business customer: VAT is added on top of their purchases; their NIU appears on the invoice.
- 2CréditCredit · ce que le client vous doit (ventes « Crédit, payer plus tard »), en rouge.what the customer owes you ("Credit, pay later" sales), in red.
- 3AvoirStore credit · argent déposé d'avance par le client, qu'il peut dépenser, en vert.money deposited in advance by the customer, to spend, in green.
- 4🎁 RécompensesRewards · cartes cadeaux gagnées (une tous les N achats, réglage dans Mon entreprise).gift cards earned (one every N purchases, set in My business).
🎁 Cartes cadeauxGift cards
Clients → Cartes cadeaux : saisissez la valeur → Émettre la carte. Liste avec code, valeur initiale, solde et statut ; 🚫 Désactiver / ✅ Activer ; 🗑 Supprimer seulement une carte jamais utilisée. Une carte n'est liée à personne : quiconque a le code peut l'utiliser.Clients → Gift cards: enter the value → Issue card. List with code, initial value, balance and status; 🚫 Deactivate / ✅ Activate; 🗑 Delete only an unused card. A card isn't tied to anyone: whoever has the code can use it.
💳 Crédits clientsCustomer credits
Gestion → Crédits clients : total dû, avoirs en cours, récompenses. Filtres « Doit de l'argent » / « A un avoir », 🖨 Imprimer. Un clic ouvre le relevé du client, et chaque ligne ouvre la vente.Management → Customer credits: total owed, outstanding store credit, rewards. Filters "Owes money" / "Has store credit", 🖨 Print. A click opens the customer statement, and each entry opens the sale.
Rapports & analysesReports & analysis
Chiffre d'affaires, marges, meilleurs produits, et des outils pour commander juste : prévision de la demande, stock dormant, rapport d'inventaire. Revenue, margins, top products, and tools to order the right amount: demand forecast, dead stock, inventory report.
Détail par jourDaily breakdown
Meilleurs produitsTop products
- 1PériodePeriod · 30 derniers jours par défaut.last 30 days by default.
- 2IndicateursKey figures · recettes, coût, bénéfice, TVA (comprise dans les recettes), nombre de ventes, vente moyenne.revenue, cost, profit, VAT (included in revenue), number of sales, average sale.
- 3Détail par jourDaily breakdown · l'évolution jour après jour.day-by-day evolution.
- 4Meilleurs produitsTop products · ce qui se vend le plus.what sells most.
📈 Prévision de la demandeDemand forecast
Sur 30 ou 90 jours : vendu, par jour, stock, couverture (rouge si 7 jours ou moins), quantité à recommander suggérée, tendance ▲▼.Over 30 or 90 days: sold, per day, stock, cover (red at 7 days or less), suggested reorder quantity, trend ▲▼.
🪦 Stock dormantDead stock
Produits non vendus depuis 60, 90 ou 180 jours, avec la valeur immobilisée et la date de dernière vente (« jamais vendu »).Products unsold for 60, 90 or 180 days, with the money tied up and the last sale date ("never sold").
📦 Rapport d'inventaireInventory report
Produits, unités, valeur au coût et au prix de vente, marge potentielle. Filtres par catégorie, fournisseur, stock et péremption ; regroupé par catégorie ; 🖨 Imprimer.Products, units, cost and retail value, potential margin. Filters by category, supplier, stock and expiry; grouped by category; 🖨 Print.
📤 ExportsExports
Historique des ventes, cartes cadeaux, bons de commande et rapports fiscaux s'exportent en PDF et en Excel (vrais nombres : sommes et tris fonctionnent).Sales history, gift cards, purchase orders and tax reports export to PDF and Excel (real numbers: sums and sorting work).
Déclaration fiscaleTax declaration
La TVA collectée sur les ventes, la TVA déductible sur les achats, et la TVA due, avec les comptes SYSCOHADA (zone OHADA). Plus les journaux comptables, en PDF ou en Excel. VAT collected on sales, deductible VAT on purchases and VAT due, with SYSCOHADA accounts (OHADA zone). Plus the accounting journals, as PDF or Excel.
- 1PDF | Excel · le format de tous les boutons de rapport à côté.the format of every report button next to it.
- 2JournauxJournals · ventes, achats, livre de caisse, compte de résultat et déclaration TVA de la période.sales, purchases, cash book, income statement and VAT declaration for the period.
- 3TVAVAT · collectée − déductible = due. Une TVA due négative est un crédit à reporter.collected − deductible = due. Negative VAT due is a credit carried forward.
- 4Comptes SYSCOHADASYSCOHADA accounts · affichés seulement si le système comptable est OHADA (Mon entreprise → Taxe et devise).shown only if the accounting system is OHADA (My business → Tax & currency).
Personnel & accèsStaff & access
Le gérant ajoute son équipe, accepte les demandes d'accès faites avec le code d'invitation, et choisit pour chaque caissier les écrans auxquels il a accès. The manager adds the team, accepts join requests made with the invite code, and picks which screens each cashier can use.
🔑 Demandes d'accès (1)Join requests (1)
- 1Nouveau membreNew staff · nom, téléphone, rôle (Caissier ou Gérant) et un mot de passe. Si le numéro a déjà un compte StockFlow, la personne est simplement ajoutée et garde son mot de passe.name, phone, role (Cashier or Admin) and a password. If the number already has a StockFlow account, the person is simply added and keeps their password.
- 2Demandes d'accèsJoin requests · personnes qui ont utilisé votre code d'invitation : choisissez le rôle, puis Accepter ou Refuser.people who used your invite code: pick the role, then Accept or Decline.
- 3🔑 Réinitialiser le mot de passeReset password · possible seulement pour un compte qui ne sert que dans votre boutique.only possible for an account used in your shop alone.
- 4🚫 DésactiverDeactivate · retire l'accès à cette boutique uniquement ; la personne garde son compte et ses autres boutiques. Vous ne pouvez pas vous désactiver vous-même.removes access to this shop only; the person keeps their account and other shops. You can't deactivate yourself.
- 5Accès du caissierCashier access · cochez les écrans autorisés. Un gérant a toujours accès à tout.tick the allowed screens. An admin always has full access.
Mon entrepriseMy business
Les réglages de la boutique, en 5 onglets. Ce sont les mêmes champs que l'assistant de création : ce que vous y avez saisi s'affiche ici, modifiable, avec un seul bouton Enregistrer. The shop's settings, in 5 tabs. They're the same fields as the creation wizard: what you entered there shows here, editable, with a single Save button.
🏢 EntrepriseBusiness
Code d'invitation (📋 Copier, à donner à un collègue), logo, nom, description, adresse, téléphone, message de pied de reçu, NIU. Sur mobile : aussi la liste des succursales (changer, ajouter).Invite code (📋 Copy, to give a colleague), logo, name, description, address, phone, receipt footer, taxpayer number (NIU). On mobile: also the list of branches (switch, add).
💱 Taxe et deviseTax & currency
Pays (règle devise et TVA), système comptable (OHADA, TVA générique, sans taxe), régime (standard ou impôt libératoire), taux de TVA. Changer de devise ne fait que renommer les montants ; « 🔄 Convertir les prix et soldes au taux du jour » les convertit (internet nécessaire).Country (sets currency and VAT), accounting system (OHADA, generic VAT, no tax), regime (standard or flat tax), VAT rate. Changing currency only relabels amounts; "🔄 Convert prices & balances at today's rate" converts them (needs internet).
🎁 Fidélité et récompensesLoyalty & rewards
Cartes cadeaux de récompense : une carte de valeur fixe tous les N achats ; le caissier est invité à l'émettre à l'encaissement.Reward gift cards: a fixed-value card every N purchases; the cashier is prompted to issue it at checkout.
📦 Ce que vous gérezWhat you manage
Péremption et lots (FEFO), vente au poids, numéros de série / IMEI, variantes, assemblage. N'activez que ce qui sert : le reste reste masqué.Expiry & batches (FEFO), sale by weight, serial / IMEI numbers, variants, assembly. Turn on only what you use: the rest stays hidden.
📋 Règles de saisieData-entry rules
Seuil de stock bas par défaut (pré-rempli sur les nouveaux produits) ; « Autoriser les produits sans fournisseur » (réglage de cet appareil) ; sur mobile, le module services.Default low-stock threshold (prefilled on new products); "Allow products without a supplier" (this device's setting); on mobile, the services module.
🔑 Changer mon mot de passeChange my password
Depuis Personnel (web, bureau) ou Plus (mobile) : mot de passe actuel, puis le nouveau (6 caractères minimum).From Staff (web, desktop) or More (mobile): current password, then the new one (6+ characters).
Imprimante & reçusPrinter & receipts
Reçus sur papier thermique (58 ou 80 mm) ou en page entière (A4, PDF). Impression automatique après chaque vente si vous le souhaitez. Receipts on thermal paper (58 or 80 mm) or full page (A4, PDF). Automatic printing after each sale if you like.
🖥️ Web & bureauWeb & desktop
Gestion → Imprimante : largeur du reçu, impression automatique, 🖨 Imprimer un reçu de test. Sur l'application bureau, une imprimante thermique USB ou Bluetooth (appairée dans Windows) imprime directement, sans fenêtre : Détecter mon imprimante → choisir → Connecter ; ou une imprimante réseau (ex. 192.168.1.50:9100). Sinon, l'impression passe par la fenêtre du système (ou Enregistrer en PDF).Management → Printer: receipt width, auto-print, 🖨 Print a test receipt. In the desktop app, a USB or Bluetooth thermal printer (paired in Windows) prints directly, with no dialog: Detect my printer → pick → Connect; or a network printer (e.g. 192.168.1.50:9100). Otherwise printing goes through the system dialog (or Save as PDF).
📱 Android
Plus → Imprimante : imprimante actuelle et appareils disponibles en Bluetooth ou USB. « Appairer un appareil Bluetooth » ouvre les réglages Android. Touchez un appareil pour le choisir, puis imprimez une page de test.More → Printer: current printer and available Bluetooth or USB devices. "Pair a Bluetooth device" opens Android settings. Tap a device to choose it, then print a test page.
Hors ligne & synchronisationOffline & sync
Coupure d'internet ou de courant : la boutique continue. L'application bureau et le mobile gardent une copie des données sur l'appareil, vendent et enregistrent hors ligne, puis envoient tout au serveur dès que la connexion revient. Internet or power outage: the shop keeps going. The desktop app and mobile keep a copy of the data on the device, sell and record offline, then send everything to the server as soon as the connection returns.
- 1Bandeau hors ligneOffline strip · vous travaillez sur la copie de l'appareil.you're working on the device's copy.
- 2Non synchroniséeNot synced · vente faite sur cet appareil, pas encore envoyée.sale made on this device, not sent yet.
- 3Enregistré sur cet appareilSaved on this device · les réceptions, ajustements, comptages, nouveaux clients, fournisseurs et catégories partent eux aussi au retour du réseau.receiving, adjustments, counts, new customers, suppliers and categories are also sent when the network is back.
- Synchroniser à la main : 🔄 dans l'en-tête (web, bureau) ou depuis l'Accueil (mobile). L'application envoie d'abord vos ventes et opérations, puis télécharge les nouveautés. Un message indique le résultat : « Synchronisé · N éléments mis à jour · N envoyé(s) ».Sync by hand: 🔄 in the header (web, desktop) or from Home (mobile). The app first sends your sales and operations, then downloads updates. A message shows the result: "Synced · N items updated · N sent".
- Si deux appareils hors ligne vendent le même dernier article : le stock d'un lot peut passer en négatif. Le tableau de bord affiche alors « Réconciliation requise » ; le gérant corrige le stock (section 4).If two offline devices sell the same last item: a batch can go negative. The dashboard then shows "Needs reconciliation"; the manager fixes the stock (section 4).
- Une modification refusée par le serveur (ex. donnée déjà modifiée ailleurs) est annulée sur l'appareil et signalée.A change refused by the server (e.g. data already changed elsewhere) is undone on the device and reported.
Données & maintenanceData & maintenance
Réservé au gérant. Sauvegardes de l'appareil, restauration, et remise à zéro en cas de problème. Managers only. Device backups, restore, and a full reset if something goes wrong.
💾 Sauvegarde automatiqueAutomatic backup
Chaque jour vers 2 h (ou au premier lancement suivant), 14 jours conservés, sur l'application installée. « Lancer la sauvegarde maintenant » si besoin.Every day around 2 AM (or at the next launch), 14 days kept, in the installed app. "Run a daily backup now" if needed.
⬇️ Sauvegarder les donnéesBack up data
Une copie complète de ce qui est sur l'appareil, dans le dossier Téléchargements. Gardez-la en lieu sûr.A full copy of what's on the device, in the Downloads folder. Keep it somewhere safe.
♻️ RestaurerRestore
Choisir le fichier → vérifier le contenu par type de données → « Ajouter les nouveautés » ou « Remplacer la sélection » → éventuellement envoyer les ventes restaurées au serveur. Une sauvegarde d'une autre entreprise est refusée.Choose the file → review the contents per data type → "Add new only" or "Replace selected" → optionally send the restored sales to the server. A backup from another business is refused.
🧹 RéinitialiserReset
Efface les données de cet appareil seulement et vous déconnecte ; les données du serveur sont intactes et se rechargent à la connexion. Synchronisez d'abord : une vente non envoyée serait perdue.Wipes this device only and signs you out; server data is safe and reloads at sign-in. Sync first: an unsent sale would be lost.
SupportSupport
Un bug, un blocage ou une question ? Écrivez au support depuis l'application, avec des captures d'écran. Vous suivez la réponse dans « Mes demandes ». A bug, a blocker or a question? Write to support from the app, with screenshots. You follow the answer in "My requests".
- 1OngletsTabs · écrire une nouvelle demande, ou suivre les vôtres.write a new request, or follow yours.
- 2TypeType · Bug, Je suis bloqué (traité en priorité) ou Question.Bug, I'm blocked (handled first) or Question.
- 3Description · ce que vous faisiez et ce qui s'est passé.what you were doing and what happened.
- 4CapturesScreenshots · jusqu'à 5 images (5 Mo chacune, 15 Mo au total), ou Ctrl+V pour coller.up to 5 images (5 MB each, 15 MB total), or Ctrl+V to paste.
- 5EnvoyerSend · la version de l'application, l'appareil, la boutique et l'écran précédent sont joints automatiquement. Hors ligne, la demande part au retour de la connexion.app version, device, shop and previous screen are attached automatically. Offline, the request is sent when the connection returns.
Super-adminSuper-admin
Pour l'équipe mfSPACE.lu qui exploite la plateforme : toutes les entreprises, appareils, utilisateurs et demandes de support. For the mfSPACE.lu team running the platform: every business, device, user and support request.
🖥️ Console (web)Console (web)
Vue d'ensemble, Entreprises (activer / désactiver), Appareils et sessions (bloquer, effacer à distance), Utilisateurs, Support (file des demandes, priorités, délais, réponses), Journal d'audit, Administrateurs.Overview, Companies (activate / deactivate), Devices & sessions (block, remote wipe), Users, Support (request queue, priorities, deadlines, replies), Audit log, Administrators.
🏪 Entrer dans une entrepriseEnter a business
Depuis la console (web) ou « Choisir une entreprise » (bureau, mobile), le super-admin travaille dans une boutique comme son gérant. Un bandeau orange le rappelle en permanence ; « Quitter » revient au choix des entreprises.From the console (web) or "Choose a business" (desktop, mobile), the super-admin works inside a shop like its manager. An orange banner reminds them at all times; "Exit" goes back to the business picker.