From 8e13dcb94cb760e9807ed0ab3ebd33abf35cd99f Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Tue, 4 Nov 2025 10:34:39 +0000 Subject: [PATCH] Add TTC amount configuration and display for financial tracking Introduces `nocodbInvoiceAmountTTCColumnName` to `Groups.tsx` and `amountTTC` to `PaymentSchedule` interface in `PaymentSchedulePage.tsx` to support TTC calculations and display. Updates backend routes in `routes.ts` to include `amountTTC` and modifies `PaymentSchedulePage.tsx` to show both HT and TTC totals. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 01a3488a-852e-4c10-8349-442dbf9fc720 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/vfXE6SO --- ...-4571-B600-92377646DB7C}_1762252125737.png | Bin 0 -> 47283 bytes client/src/pages/Groups.tsx | 18 ++++- client/src/pages/PaymentSchedulePage.tsx | 71 ++++++++++++++---- server/routes.ts | 1 + 4 files changed, 76 insertions(+), 14 deletions(-) create mode 100644 attached_assets/{23C5A9FE-38C6-4571-B600-92377646DB7C}_1762252125737.png diff --git a/attached_assets/{23C5A9FE-38C6-4571-B600-92377646DB7C}_1762252125737.png b/attached_assets/{23C5A9FE-38C6-4571-B600-92377646DB7C}_1762252125737.png new file mode 100644 index 0000000000000000000000000000000000000000..68346adf5660b88ff93d1b618bfed8953eddbd5e GIT binary patch literal 47283 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

- +
+
+ + handleChange('nocodbInvoiceAmountTTCColumnName', e.target.value)} + placeholder="ex: Montant_TTC" + /> +
+
{ return filteredSchedules.reduce((sum, schedule) => sum + schedule.amount, 0); }, [filteredSchedules]); - // Grouper par mode de paiement + // Calculer le total du mois (TTC) + const monthTotalTTC = useMemo(() => { + return filteredSchedules.reduce((sum, schedule) => sum + schedule.amountTTC, 0); + }, [filteredSchedules]); + + // Grouper par mode de paiement (HT) const paymentMethodTotals = useMemo(() => { const totals: Record = {}; filteredSchedules.forEach(schedule => { @@ -102,6 +108,16 @@ export default function PaymentSchedulePage() { return totals; }, [filteredSchedules]); + // Grouper par mode de paiement (TTC) + const paymentMethodTotalsTTC = useMemo(() => { + const totals: Record = {}; + filteredSchedules.forEach(schedule => { + const method = schedule.paymentMethod || 'Non défini'; + totals[method] = (totals[method] || 0) + schedule.amountTTC; + }); + return totals; + }, [filteredSchedules]); + if (!selectedStoreId) { return (
@@ -188,10 +204,21 @@ export default function PaymentSchedulePage() { -
- {monthTotal.toFixed(2)} € +
+
+ HT: + + {monthTotal.toFixed(2)} € + +
+
+ TTC: + + {monthTotalTTC.toFixed(2)} € + +
-

+

{filteredSchedules.length} échéance{filteredSchedules.length > 1 ? 's' : ''}

@@ -203,11 +230,20 @@ export default function PaymentSchedulePage() { -
- {Object.entries(paymentMethodTotals).map(([method, total]) => ( -
- {method}: - {total.toFixed(2)} € +
+ {Object.entries(paymentMethodTotals).map(([method, totalHT]) => ( +
+
{method}
+
+ HT: + {totalHT.toFixed(2)} € +
+
+ TTC: + + {paymentMethodTotalsTTC[method]?.toFixed(2) || '0.00'} € + +
))}
@@ -272,9 +308,18 @@ export default function PaymentSchedulePage() { )}
-
-
- {schedule.amount.toFixed(2)} € +
+
+ HT: + + {schedule.amount.toFixed(2)} € + +
+
+ TTC: + + {schedule.amountTTC.toFixed(2)} € +
diff --git a/server/routes.ts b/server/routes.ts index 8611f21..5103197 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -445,6 +445,7 @@ export async function registerRoutes(app: Express): Promise { invoiceReference: delivery.invoiceReference, dueDate: delivery.dueDate, amount: delivery.invoiceAmount ? parseFloat(delivery.invoiceAmount) : 0, + amountTTC: delivery.invoiceAmountTTC ? parseFloat(delivery.invoiceAmountTTC) : 0, supplierName: supplier?.name || 'Fournisseur inconnu', paymentMethod: supplier?.paymentMethod || null, groupId: group.id,