LOT 36 — ventes d'un autre espace : vraie cause ================================================ INSTALLATION : décompressez à la racine du site en remplaçant les 3 fichiers, puis php artisan optimize:clear app/Http/Controllers/DashboardController.php app/Services/Reconciliation/RouterSalesRefresher.php app/Services/SaleService.php CAUSE La relecture des ventes lancée par le tableau de bord s'exécutait APRÈS la réponse, quand l'espace de l'utilisateur est déjà oublié. Elle lisait alors les routeurs de TOUS les espaces et pouvait créer une vente avec le revendeur / type « Autres » d'un autre espace. CORRECTIF (3 niveaux) 1. Le tableau de bord garde l'espace de l'utilisateur pour cette relecture. 2. Sans espace actif, la relecture fait une passe PAR espace (jamais tous les espaces mélangés). 3. Une vente lue sur un routeur prend l'espace de son revendeur, et est refusée si revendeur et type de ticket sont d'espaces différents. RÉPARER L'EXISTANT (commande du lot précédent) php artisan sales:audit-spaces (liste, ne modifie rien) php artisan sales:audit-spaces --apply (remet les ventes de routeur dans l'espace de leur routeur)