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)}%
)}