From 5714543533d64962f5b30dc364212a74ae2dbceb Mon Sep 17 00:00:00 2001 From: renee-png Date: Sat, 13 Jun 2026 17:49:26 -0400 Subject: [PATCH] Accounting: show Payee/Payor on transaction-style lists MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a Payee / Payor column to the bank register (Banking), the reconciliation list, and the Deposits 'awaiting deposit' list — showing the vendor (payee) for money out or the customer/homeowner (payor) for money in. Expenses already shows Vendor and Receive Payments shows Homeowner, so those were left as-is. Co-Authored-By: Claude Opus 4.8 --- src/pages/accounting/AccountingBankingPage.tsx | 8 +++++--- src/pages/accounting/AccountingDepositsPage.tsx | 14 +++++++++----- .../accounting/AccountingReconcileDetailPage.tsx | 9 +++++++-- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/pages/accounting/AccountingBankingPage.tsx b/src/pages/accounting/AccountingBankingPage.tsx index d4b5b6e..7e3985a 100644 --- a/src/pages/accounting/AccountingBankingPage.tsx +++ b/src/pages/accounting/AccountingBankingPage.tsx @@ -832,6 +832,7 @@ export default function AccountingBankingPage() { Date Ref # Description + Payee / Payor Category Payment Deposit @@ -845,7 +846,7 @@ export default function AccountingBankingPage() { {fmtDate(periodFrom)} - Balance forward + Balance forward {money(balanceForward, cur)} @@ -873,6 +874,7 @@ export default function AccountingBankingPage() { {row.description} + {row.vendors?.name ?? row.customers?.name ?? row.payee_name ?? "—"} {row.category ?? "—"} {row.type === "debit" ? money(row.amount, cur) : ""} @@ -905,14 +907,14 @@ export default function AccountingBankingPage() { ))} {filteredRegister.length === 0 && ( - + No transactions yet. Record a deposit or payment to get started. )} {filteredRegister.length > 0 && ( - Totals + Totals {money(totalDebits, cur)} {money(totalCredits, cur)} diff --git a/src/pages/accounting/AccountingDepositsPage.tsx b/src/pages/accounting/AccountingDepositsPage.tsx index 3cc7713..1d0e312 100644 --- a/src/pages/accounting/AccountingDepositsPage.tsx +++ b/src/pages/accounting/AccountingDepositsPage.tsx @@ -77,7 +77,7 @@ export default function AccountingDepositsPage() { queryFn: async () => { const { data } = await accounting .from("transactions") - .select("*") + .select("*, vendors(name), customers(name)") .eq("company_id", cid) .eq("account_id", undepositedId) .eq("type", "debit") @@ -93,7 +93,7 @@ export default function AccountingDepositsPage() { queryFn: async () => { const { data } = await accounting .from("payments_received") - .select("id,payment_date,amount,method,reference,memo,customer_id") + .select("id,payment_date,amount,method,reference,memo,customer_id,customers(name)") .eq("company_id", cid) .eq("deposited", false) .order("payment_date", { ascending: false }); @@ -101,17 +101,19 @@ export default function AccountingDepositsPage() { }, }); - type PendingRow = { key: string; kind: "tx" | "pmt"; id: string; date: string; description: string; reference: string | null; amount: number }; + type PendingRow = { key: string; kind: "tx" | "pmt"; id: string; date: string; description: string; payor: string | null; reference: string | null; amount: number }; const pending = useMemo(() => { const rows: PendingRow[] = [ ...(pendingTx as any[]).map((t) => ({ key: `tx:${t.id}`, kind: "tx" as const, id: t.id, date: t.date, - description: t.description, reference: t.reference ?? null, amount: Number(t.amount), + description: t.description, payor: t.customers?.name ?? t.vendors?.name ?? t.payee_name ?? null, + reference: t.reference ?? null, amount: Number(t.amount), })), ...(pendingPmt as any[]).map((p) => ({ key: `pmt:${p.id}`, kind: "pmt" as const, id: p.id, date: p.payment_date, description: [p.method, p.memo].filter(Boolean).join(" · ") || "Customer payment", + payor: p.customers?.name ?? null, reference: p.reference ?? null, amount: Number(p.amount), })), ]; @@ -329,6 +331,7 @@ export default function AccountingDepositsPage() { Date Description + Payee / Payor Reference Amount @@ -343,13 +346,14 @@ export default function AccountingDepositsPage() { {fmtDate(r.date)} {r.description} + {r.payor ?? "—"} {r.reference ?? "—"} {money(r.amount, cur)} ))} {pending.length === 0 && ( - + + Payee / Payor @@ -497,6 +501,7 @@ export default function AccountingReconcileDetailPage() { {fmtDate(t.date)} {t.description} + {t.vendors?.name ?? t.customers?.name ?? t.payee_name ?? "—"} {t.reference ?? "—"} {t.type === "credit" ? money(t.amount, cur) : ""} @@ -514,7 +519,7 @@ export default function AccountingReconcileDetailPage() { ); })} {filtered.length === 0 && ( - + No unreconciled transactions for this account. )}