From 4ef73d193dfec0ba2aa5ed9344cbc4f0cd262cd9 Mon Sep 17 00:00:00 2001 From: Krao Hasanee Date: Tue, 9 Jun 2026 23:35:45 -0500 Subject: [PATCH] fix: invoice delete un-bills only, never overwrites task work status Co-Authored-By: Claude Opus 4.8 --- src/pages/team/TeamInvoiceDetail.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/team/TeamInvoiceDetail.jsx b/src/pages/team/TeamInvoiceDetail.jsx index 2e4e5e4..a87b5ba 100644 --- a/src/pages/team/TeamInvoiceDetail.jsx +++ b/src/pages/team/TeamInvoiceDetail.jsx @@ -239,7 +239,8 @@ export function TeamInvoiceDetailPanel({ try { const { data: freshItems } = await supabase.from('invoice_items').select('task_id, submission_id').eq('invoice_id', invoiceId); const taskIds = (freshItems || []).filter(i => i.task_id && !i.submission_id).map(i => i.task_id); - if (taskIds.length > 0) await supabase.from('tasks').update({ invoiced: false, status: 'client_approved' }).in('id', taskIds); + // Un-bill only. Never touch task work status — it's independent of invoice lifecycle. + if (taskIds.length > 0) await supabase.from('tasks').update({ invoiced: false }).in('id', taskIds); const submissionIds = (freshItems || []).filter(i => i.submission_id).map(i => i.submission_id); if (submissionIds.length > 0) await supabase.from('submissions').update({ invoiced: false }).in('id', submissionIds); const { error } = await supabase.from('invoices').delete().eq('id', invoiceId);