Lancement du module de comptabilité : import automatique des ventes depuis la caisse TopOrder, scan de documents par QR code avec extraction IA des montants et TVA, et génération de rapports comptables.
Connexion à une caisse TopOrder par société : clé API chiffrée, identifiant de boutique, activation/désactivation depuis les paramètres
Synchronisation incrémentale des commandes : premier import depuis l'historique complet, synchronisations suivantes depuis la dernière date ; récupération des montants HT/TVA officiels du TPE via les factures TPE
Import idempotent en écritures comptables avec lignes produits détaillées (catégorie, TVA, HT/TTC) et support des avoirs (montants négatifs)
Synchronisation asynchrone via Symfony Messenger avec suivi de statut en temps réel
Page de paramètres TopOrder : saisie des identifiants, activation, bouton de synchronisation manuelle avec retour d'état en direct
Bouton « Synchroniser TopOrder » dans le menu d'actions comptabilité avec confirm modal et polling automatique toutes les 3 s
Statistiques CA par catégorie TopOrder : chiffre d'affaires HT/TTC et quantités regroupés par catégorie parente sur la période filtrée
Détail d'une écriture TopOrder : tableau des lignes produits (libellé, code, quantité, PU TTC, TVA, total HT, total TTC)
Scan de documents par QR code : le comptable génère un lien depuis son bureau, le collaborateur scanne le QR, prend une photo sur son mobile et l'IA extrait automatiquement montant, TVA et date
Mode "Attacher un justificatif" : associez une photo à une écriture existante sans passer par l'OCR
[Comptabilité] Bouton de suppression d'écriture : confirmation via modal à la place du `confirm()` natif du navigateur
[Comptabilité] Upload mobile : les erreurs serveur non-JSON (413, timeout) remontaient comme « Erreur réseau » sans distinction de cause — le message est maintenant explicite