import React, { useState } from "react"; import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; import { safeFormat } from "@/lib/dateUtils"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Badge } from "@/components/ui/badge"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { useToast } from "@/hooks/use-toast"; import { apiRequest } from "@/lib/queryClient"; import { useStore } from "@/components/Layout"; import { useAuthUnified } from "@/hooks/useAuthUnified"; import { Search, Edit, FileText, Settings, Eye, AlertTriangle, X } from "lucide-react"; export default function BLReconciliation() { const { user } = useAuthUnified(); const { selectedStoreId } = useStore(); const { toast } = useToast(); const queryClient = useQueryClient(); // Redirection pour les employés if (user?.role === 'employee') { return (
Accès restreint
Seuls les managers et administrateurs peuvent accéder au module de rapprochement BL/Factures.
Gestion des rapprochements manuels et automatiques
Les livraisons de fournisseurs en mode manuel apparaîtront ici.
| Fournisseur | N° BL | Date Livr. | Montant BL | Ref. Facture | Montant Fact. | Magasin | Actions |
|---|---|---|---|---|---|---|---|
|
{delivery.supplier?.name}
|
{delivery.blNumber || (
Non renseigné
)}
|
{safeFormat(delivery.scheduledDate, 'dd/MM/yy')}
|
{delivery.blAmount ?
`${parseFloat(delivery.blAmount).toFixed(2)}€` :
Non renseigné
}
|
{delivery.invoiceReference || (
Non renseigné
)}
|
{delivery.invoiceAmount ?
`${parseFloat(delivery.invoiceAmount).toFixed(2)}€` :
Non renseigné
}
|
{delivery.group?.name}
|
|
Les livraisons de fournisseurs en mode automatique sont validées automatiquement lorsqu'elles ont le statut "delivered" et un numéro de BL. {canModify ? ( " Vous pouvez dévalider ces rapprochements si nécessaire." ) : ( " Seuls les directeurs et administrateurs peuvent modifier ces rapprochements." )}
Les livraisons de fournisseurs en mode automatique apparaîtront ici.
|
Fournisseur
|
N° BL | Date Livr. | Date Valid. | Montant BL | Ref. Facture | Montant Fact. | Magasin | Actions |
|---|---|---|---|---|---|---|---|---|
|
{delivery.supplier?.name}
|
{delivery.blNumber || '-'}
|
{safeFormat(delivery.scheduledDate, 'dd/MM/yy')}
|
{delivery.reconciled && delivery.updatedAt ?
safeFormat(delivery.updatedAt, 'dd/MM/yy') :
'-'
}
|
{delivery.blAmount ?
`${parseFloat(delivery.blAmount).toFixed(2)}€` :
'-'
}
|
{delivery.invoiceReference || '-'}
|
{delivery.invoiceAmount ?
`${parseFloat(delivery.invoiceAmount).toFixed(2)}€` :
'-'
}
|
{delivery.group?.name}
|
{canModify ? (
<>
>
) : (
)}
|