ITMOR / hanouti.
GUIDE UTILISATEUR · 0.2.0

Votre épicerie,
bien tenue.

Les gestes essentiels, de la première fiche à la sauvegarde.

Guide PDF

Installer ou mettre à jour

Téléchargez Hanouti 0.2.0 sur itmor.com/hanouti/. Ouvrez l’APK sur un téléphone Android 6 ou ultérieur, avec Android System WebView à jour. Android peut demander d’autoriser l’installation depuis le navigateur ou le gestionnaire de fichiers.

Si Hanouti 0.1.0 est déjà installé, exportez une sauvegarde puis installez cette mise à jour par-dessus. Le nom du paquet et la clé de signature sont conservés. Ne désinstallez pas l’ancienne version : une désinstallation efface la base locale.

Au premier lancement, indiquez le nom de l’épicerie. Dans Ma boutique, renseignez l’adresse, le téléphone et le pied du ticket. La gestion se fait en dirhams marocains, pour une boutique sur un appareil.

Catalogue Marjane et photos

Le catalogue public consulté annonce 32 714 références. 32 674 identifiants distincts sont intégrés ; 40 références annoncées n’ont pas pu être récupérées. Le relevé est daté du 2026-11-13. Il couvre le catalogue public accessible sans choisir un magasin ; il ne garantit pas l’assortiment de chaque magasin ni tous les produits commercialisés par le groupe.

Depuis Caisse, Achats ou Stock, ouvrez Catalogue Marjane. Recherchez par nom, marque ou référence, choisissez un rayon et parcourez les pages. Les fiches sont incluses dans l’APK et restent consultables hors connexion.

32 631 fiches possèdent un lien de photo fourni par Marjane. Les photos sont chargées via Internet à l’affichage et conservées dans un cache local limité à environ 100 Mo. Les 38 photos préchargées restent visibles sans réseau ; une photo absente ou non encore chargée peut être indisponible hors connexion. Les sauvegardes ne copient pas ce cache.

Touchez une fiche, vérifiez le format et l’unité (pièce ou kilogramme), scannez ou saisissez le code de l’emballage et confirmez votre prix de vente. Ajouter le produit crée sa fiche dans votre boutique avec un stock nul. Recevez ensuite un achat ou saisissez l’inventaire initial.

Les données publiques consultées ne fournissent pas l’EAN. L’identifiant Marjane n’est jamais utilisé comme code-barres. Le scan caméra fonctionne avec les codes enregistrés dans vos fiches. Les 35 codes du catalogue initial restent disponibles.

Le prix Marjane est un repère de vente au détail, daté et modifiable. Il n’est pas un coût d’achat fournisseur. Les prix peuvent varier selon le magasin, le conditionnement, la date et les conditions de promotion. Aucune actualisation tarifaire automatique n’est activée.

Achats et stock

Pour le stock de départ : Stock > produit > Inventaire. Renseignez la quantité réelle, son coût unitaire et le motif. L’inventaire initial ne crée pas un bénéfice.

Pour un nouvel approvisionnement : Achats > produit > quantité et coût unitaire net. Sélectionnez ou créez le fournisseur, saisissez la référence de sa facture et le montant payé, puis validez. Le stock augmente et le solde impayé est rattaché au fournisseur.

Saisissez les cartons dans l’unité de la fiche : un carton de 12 bouteilles correspond à 12 unités si la fiche représente une bouteille. Une fiche « lot de 6 » se vend comme un lot. Vérifiez toujours le conditionnement.

Le coût du stock est calculé au coût moyen pondéré. Les ventes avec stock insuffisant sont bloquées. Les écarts d’inventaire doivent être motivés ; les pertes affectent le résultat estimé.

Ventes, crédit et règlements

Dans Caisse, recherchez ou scannez les produits, ajustez les quantités, ouvrez le panier puis Encaisser. Une remise globale est possible. Une vente à crédit exige un client nommé ; une vente comptant peut rester au client comptoir.

Le montant reçu peut dépasser le total d’une vente : la monnaie à rendre est affichée. Pour un achat, le paiement ne peut pas dépasser la facture. Valider enregistre le mouvement et ouvre le ticket.

Dans Comptes, choisissez un client ou un fournisseur, ouvrez sa pièce et enregistrez un règlement partiel ou total. Un règlement réduit la dette ; il ne crée pas une nouvelle vente. Le reçu de règlement peut être imprimé.

L’historique conserve les documents. Une annulation intégrale exige un motif et rétablit les montants et le stock à sa date. Les pièces avec règlements ultérieurs et les achats ayant déjà des mouvements ultérieurs sont bloqués à l’annulation. Les retours partiels ne sont pas gérés.

Imprimer les tickets

Associez l’imprimante dans Réglages Android > Bluetooth. Elle doit utiliser le Bluetooth classique et le protocole ESC/POS. Les imprimantes BLE seules, USB ou à protocole propriétaire ne sont pas pilotées directement.

Dans Ma boutique > Impression des tickets, choisissez 58 mm (384 points) ou 80 mm (576 points), puis imprimez un ticket de test. Au premier envoi, choisissez l’imprimante associée et accordez l’autorisation Bluetooth si Android la demande.

L’imprimante est mémorisée après un envoi réussi. L’option « Imprimer après chaque vente ou achat validé » est désactivée par défaut. « Changer d’imprimante » force un nouveau choix au prochain envoi.

Chaque vente, reçu d’achat interne ou règlement peut être réimprimé depuis son aperçu. « PDF / Android » ouvre l’impression Android pour enregistrer un PDF ou employer un service d’impression installé.

Le rendu en image conserve les accents et les noms arabes. « Ticket envoyé » confirme l’envoi des données, pas la sortie du papier. En cas d’interruption, contrôlez le papier et le ticket déjà sorti avant de réimprimer. Un échec d’impression n’annule pas une vente enregistrée.

Sauvegarder sur Google Drive

Installez et ouvrez Google Drive sur le téléphone, avec le compte voulu. Dans Hanouti : Ma boutique > Sauvegarde automatique sur Drive > Choisir le fichier Drive. Ouvrez le menu du sélecteur Android, choisissez Drive, un dossier privé, puis créez le fichier.

Hanouti conserve l’autorisation sur ce fichier et le met à jour après les opérations lorsque l’application fonctionne. « Sauvegarder maintenant » déclenche une nouvelle tentative. L’écran indique la dernière écriture, la version copiée et les erreurs éventuelles.

Drive effectue lui-même l’envoi vers Google. Une copie transmise au fournisseur Android ne prouve pas encore sa synchronisation dans le cloud. Avant de changer de téléphone, vérifiez que le fichier apparaît et s’ouvre dans Drive. Si Drive n’apparaît pas, ouvrez l’application Drive puis réessayez, ou utilisez un export manuel.

Gardez également des copies datées avec Sauvegarder mes données. Les fichiers JSON contiennent les comptes clients/fournisseurs, les produits de la boutique, les pièces et les mouvements en clair. Ne les placez pas dans un dossier partagé publiquement.

Restaurer une sauvegarde ouvre le sélecteur Android : choisissez le fichier Drive ou local, contrôlez les informations, puis confirmez le remplacement. Hanouti vérifie la structure et la cohérence du stock et du journal. Exportez les données actuelles avant une restauration.

Désactiver la copie automatique retire l’autorisation de Hanouti sans supprimer le fichier. Cette fonction ne fusionne pas les données de deux téléphones et ne constitue pas une synchronisation entre caisses.

Chiffres de gestion et zakat

Chiffre d’affaires : ventes comptant et à crédit, diminuées des annulations à leur date. Marge brute : chiffre d’affaires moins coût des marchandises vendues, figé lors de chaque vente.

Résultat net estimé : marge brute moins charges payées saisies et pertes de stock, plus surplus valorisés. Les impôts, amortissements et charges non saisis ne sont pas déduits. La trésorerie tient compte des encaissements, décaissements, apports et retraits.

La zakat est une estimation séparée. Renseignez la valeur de marché du stock marchand, les liquidités, les créances retenues, les autres actifs et les déductions selon la méthode suivie. Saisissez le nisab applicable et confirmez l’accomplissement du hawl. Le taux affiché est 2,5 % ; sans hawl confirmé, il s’agit d’une simulation.

Validation et limites

Version 0.2.0 de test. Compilation et signatures APK vérifiées ; tests métier et parcours d’interface exécutés. La caméra, l’impression physique, le fournisseur Google Drive et le lancement sur téléphone réel restent à valider sur votre matériel.

Pas de gestion des lots ou péremptions, de TVA ventilée, de clôture fiscale certifiée, de multi-caisse, de rôles utilisateurs ni de retours partiels. Le reçu d’achat est un document interne et ne remplace pas la facture du fournisseur.

Les fiches et photos proviennent de Marjane et des marques mentionnées. Hanouti est une application ITMOR indépendante, sans affiliation annoncée avec Marjane. Les droits sur les photographies restent à leurs ayants droit. Les références initiales issues d’Open Food Facts conservent leurs indications de licence ODbL/DbCL.

Sources

Catalogue public Marjane · Rapport d’import · Sélecteur de documents Android