Files
LogiFlow/migrations/20261009_backfill_auto_reconciliation.sql
MichaelandClaude Opus 5.5 2274c9bb4a fix(reconciliation): auto-reconcile deliveries from automatic suppliers on validation
POST /api/deliveries/:id/validate never set reconciled=true for suppliers in
automatic reconciliation mode, so their deliveries showed in neither the
Manuels tab (auto suppliers excluded) nor Validées (reconciled=false).

- validate endpoint now marks reconciled + validatedAt for auto suppliers
- Validées tab includes all deliveries from auto suppliers
- migration backfills reconciled for existing delivered deliveries with BL

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 09:18:43 +02:00

23 lines
900 B
SQL

-- Backfill rapprochement automatique
--
-- Contexte : l'endpoint POST /api/deliveries/:id/validate ne posait pas
-- reconciled = true pour les fournisseurs en rapprochement automatique
-- (automatic_reconciliation = true). Ces livraisons n'apparaissaient ni dans
-- l'onglet "Manuels" (exclues car fournisseur auto) ni dans "Validées"
-- (reconciled = false). Même cas pour les livraisons antérieures au passage
-- d'un fournisseur en mode automatique.
--
-- Applique le même critère que l'auto-validation côté serveur :
-- livraison livrée + numéro de BL renseigné.
UPDATE deliveries d
SET reconciled = true,
validated_at = COALESCE(d.validated_at, NOW())
FROM suppliers s
WHERE d.supplier_id = s.id
AND s.automatic_reconciliation = true
AND d.status = 'delivered'
AND d.bl_number IS NOT NULL
AND TRIM(d.bl_number) <> ''
AND (d.reconciled IS NULL OR d.reconciled = false);