fix: net profit deducts stripe fees from chart calculation
This commit is contained in:
@@ -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]);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user