fix: net profit deducts stripe fees from chart calculation

This commit is contained in:
Krao Hasanee
2026-06-02 10:49:11 -04:00
parent 573c4a69fa
commit 4fce77abb9
+4 -4
View File
@@ -492,9 +492,9 @@ export default function Invoices() {
const chartYear = exportYear; const chartYear = exportYear;
const chartData = useMemo(() => MONTHS.map((month, mi) => { const chartData = useMemo(() => MONTHS.map((month, mi) => {
const paid = invoices const paidInvs = invoices.filter(inv => inv.status === 'paid' && new Date(inv.invoice_date).getFullYear() === chartYear && new Date(inv.invoice_date).getMonth() === mi);
.filter(inv => inv.status === 'paid' && new Date(inv.invoice_date).getFullYear() === chartYear && new Date(inv.invoice_date).getMonth() === mi) const paid = paidInvs.reduce((s, inv) => s + Number(inv.total || 0), 0);
.reduce((s, inv) => s + Number(inv.total || 0), 0); const netPaid = paidInvs.reduce((s, inv) => s + Number(inv.total || 0) - Number(inv.stripe_fee || 0), 0);
const outstanding = invoices const outstanding = invoices
.filter(inv => inv.status === 'sent' && new Date(inv.invoice_date).getFullYear() === chartYear && new Date(inv.invoice_date).getMonth() === mi) .filter(inv => inv.status === 'sent' && new Date(inv.invoice_date).getFullYear() === chartYear && new Date(inv.invoice_date).getMonth() === mi)
.reduce((s, inv) => s + Number(inv.total || 0), 0); .reduce((s, inv) => s + Number(inv.total || 0), 0);
@@ -505,7 +505,7 @@ export default function Invoices() {
.filter(i => i.status === 'paid' && new Date(i.created_at).getFullYear() === chartYear && new Date(i.created_at).getMonth() === mi) .filter(i => i.status === 'paid' && new Date(i.created_at).getFullYear() === chartYear && new Date(i.created_at).getMonth() === mi)
.reduce((s, i) => s + (i.items || []).reduce((a, x) => a + Number(x.unit_price || 0) * Number(x.quantity || 1), 0), 0); .reduce((s, i) => s + (i.items || []).reduce((a, x) => a + Number(x.unit_price || 0) * Number(x.quantity || 1), 0), 0);
const totalExp = exp + subExp; const totalExp = exp + subExp;
return { month, Revenue: +paid.toFixed(2), Outstanding: +outstanding.toFixed(2), Expenses: +totalExp.toFixed(2), Profit: +(paid - totalExp).toFixed(2) }; return { month, Revenue: +paid.toFixed(2), Outstanding: +outstanding.toFixed(2), Expenses: +totalExp.toFixed(2), Profit: +(netPaid - totalExp).toFixed(2) };
}), [invoices, expenses, subInvoices, chartYear]); }), [invoices, expenses, subInvoices, chartYear]);