diff --git a/backend/src/lib/newbook.js b/backend/src/lib/newbook.js index e667ebb..b788a4b 100644 --- a/backend/src/lib/newbook.js +++ b/backend/src/lib/newbook.js @@ -279,7 +279,8 @@ export function parseTransactionBreakdown(rawData) { const desc = t.item_description || '' const payType = t.payment_type || '' const isVoided = t.item_type === 'payments_voided' || t.item_type === 'refunds_voided' - const displayType = isVoided ? payType + ' -void' : payType + const isRefund = t.item_type === 'refunds_raised' || t.item_type === 'refunds_voided' + const displayType = (isRefund ? payType + ' -refund' : payType) + (isVoided ? ' -void' : '') const category = categorise(payType) const item = { @@ -288,6 +289,7 @@ export function parseTransactionBreakdown(rawData) { details: '', amount: parseFloat(t.item_amount || 0), is_voided: isVoided, + is_refund: isRefund, } const ticketMatch = desc.match(/^Ticket:\s*(\d+)\s*-\s*(.+)$/i) diff --git a/frontend/src/pages/DailyCashUp.tsx b/frontend/src/pages/DailyCashUp.tsx index 90bb27c..0d160e9 100644 --- a/frontend/src/pages/DailyCashUp.tsx +++ b/frontend/src/pages/DailyCashUp.tsx @@ -929,6 +929,8 @@ function TransactionChecklist({ breakdown, checked, onToggle }: { {items.map((item, i) => { const key = `${section}:${category}:${i}` const isDone = checked.has(key) + // Refunds are a transaction type, not a negative value — amount stays positive + const isRefund = item.is_refund return (