diff --git a/frontend/src/pages/Monthly.tsx b/frontend/src/pages/Monthly.tsx index 97c7e24..37c6cd0 100644 --- a/frontend/src/pages/Monthly.tsx +++ b/frontend/src/pages/Monthly.tsx @@ -273,6 +273,11 @@ export default function Monthly() {
PY MTD {((pyWages / pySalesMTD) * 100).toFixed(1)}%
)} +
+
Net Sales MTD
+
{fmtMoney(netSalesMTD)}
+ {pySalesMTD > 0 &&
PY {fmtMoney(pySalesMTD)}{pyPct(netSalesMTD, pySalesMTD)}
} +
Full month forecast
@@ -304,6 +309,11 @@ export default function Monthly() {
PY {((pyWagesFull / pySalesFull) * 100).toFixed(1)}%
)} +
+
Net Sales (OTB)
+
{fmtMoney(netSalesFull)}
+ {pySalesFull > 0 &&
PY {fmtMoney(pySalesFull)}{pyPct(netSalesFull, pySalesFull)}
} +
) : ( @@ -335,6 +345,11 @@ export default function Monthly() {
PY {((pyWagesFull / pySalesFull) * 100).toFixed(1)}%
)} +
+
Net Sales
+
{fmtMoney(netSalesFull)}
+ {pySalesFull > 0 &&
PY {fmtMoney(pySalesFull)}{pyPct(netSalesFull, pySalesFull)}
} +
)} diff --git a/frontend/src/pages/Weekly.tsx b/frontend/src/pages/Weekly.tsx index f0b9291..437fb74 100644 --- a/frontend/src/pages/Weekly.tsx +++ b/frontend/src/pages/Weekly.tsx @@ -64,6 +64,7 @@ export default function Weekly() { const [netSalesMTD, setNetSalesMTD] = useState(0) const [netSalesFull, setNetSalesFull] = useState(0) const [pySalesMTD, setPySalesMTD] = useState(0) + const [pySalesFull, setPySalesFull] = useState(0) const [pyWages, setPyWages] = useState(null) const [pyDepts, setPyDepts] = useState<{id: string; name: string; cost: number}[]>([]) const [monthlyBudg, setMonthlyBudg] = useState(null) @@ -95,6 +96,7 @@ export default function Weekly() { setNetSalesMTD(salesRes.days.filter(d => d.date <= cutoffDate).reduce((s, d) => s + d.net_sales, 0)) setNetSalesFull(salesRes.days.reduce((s, d) => s + d.net_sales, 0)) setPySalesMTD(salesRes.days.filter(d => d.date <= cutoffDate).reduce((s, d) => s + d.py_sales, 0)) + setPySalesFull(salesRes.days.reduce((s, d) => s + d.py_sales, 0)) // PY dept breakdown const pyDeptList = pyActRes.departments.map(dep => ({ @@ -244,6 +246,11 @@ export default function Weekly() {
PY WTD {((totalPyWages / pySalesMTD) * 100).toFixed(1)}%
)} +
+
Net Sales WTD
+
{fmtMoney(netSalesMTD)}
+ {pySalesMTD > 0 &&
PY {fmtMoney(pySalesMTD)}{pyPct(netSalesMTD, pySalesMTD)}
} +
Full week forecast
@@ -268,6 +275,11 @@ export default function Weekly() {
% Net Sales (OTB)
{pctSalesFull != null ? `${pctSalesFull.toFixed(1)}%` : '—'}
+
+
Net Sales (OTB)
+
{fmtMoney(netSalesFull)}
+ {pySalesFull > 0 &&
PY {fmtMoney(pySalesFull)}{pyPct(netSalesFull, pySalesFull)}
} +
) : ( @@ -291,13 +303,13 @@ export default function Weekly() {
Net Sales
{fmtMoney(netSalesFull)}
- {pySalesMTD > 0 &&
PY {fmtMoney(pySalesMTD)}{pyPct(netSalesFull, pySalesMTD)}
} + {pySalesFull > 0 &&
PY {fmtMoney(pySalesFull)}{pyPct(netSalesFull, pySalesFull)}
}
% of Net Sales
{pctSalesFull != null ? `${pctSalesFull.toFixed(1)}%` : '—'}
- {pyWages != null && pySalesMTD > 0 && ( -
PY {((totalPyWages / pySalesMTD) * 100).toFixed(1)}%
+ {pyWages != null && pySalesFull > 0 && ( +
PY {((totalPyWages / pySalesFull) * 100).toFixed(1)}%
)}