diff --git a/src/app/admin/finance-management/page.tsx b/src/app/admin/finance-management/page.tsx
index 9d6f73d..96d72ae 100644
--- a/src/app/admin/finance-management/page.tsx
+++ b/src/app/admin/finance-management/page.tsx
@@ -278,6 +278,7 @@ export default function FinanceManagementPage() {
Invoice |
Customer |
Issued |
+ Due Date |
Amount |
Status |
Actions |
@@ -286,12 +287,12 @@ export default function FinanceManagementPage() {
{invLoading ? (
<>
- |
- |
+ |
+ |
>
) : filteredBills.length === 0 ? (
- |
+ |
Keine Rechnungen gefunden.
|
@@ -301,6 +302,24 @@ export default function FinanceManagementPage() {
{inv.invoice_number ?? inv.id} |
{inv.buyer_name ?? '—'} |
{inv.issued_at ? new Date(inv.issued_at).toLocaleDateString() : '—'} |
+
+ {(() => {
+ if (!inv.due_at) return —
+ const due = new Date(inv.due_at)
+ const now = new Date()
+ const diffDays = Math.ceil((due.getTime() - now.getTime()) / (1000 * 60 * 60 * 24))
+ let cls = 'bg-green-100 text-green-700' // plenty of time
+ if (inv.status === 'paid') cls = 'bg-green-100 text-green-700'
+ else if (diffDays < 0) cls = 'bg-red-100 text-red-700'
+ else if (diffDays <= 3) cls = 'bg-red-100 text-red-700'
+ else if (diffDays <= 7) cls = 'bg-amber-100 text-amber-700'
+ return (
+
+ {due.toLocaleDateString()}
+
+ )
+ })()}
+ |
€{Number(inv.total_gross ?? 0).toFixed(2)}{' '}
{inv.currency ?? 'EUR'}
|