Net sales: use forecast (otb + pickup) instead of otb-only for future dates

The forecasting API's total.otb is booked-to-date only; total.forecast adds
expected pickup and equals otb for past dates anyway. Using otb-only for
future days understated expected net sales in the current-week/month
forecast sections. Relabelled "(OTB)" cards to "(Forecast)" to match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
jtricerolph 2026-07-23 17:39:10 +00:00
parent 320a0ce1ec
commit 69b4c50e14
3 changed files with 10 additions and 9 deletions

View file

@ -303,14 +303,14 @@ export default function Monthly() {
)}
</div>
<div className="summary-card">
<div className="label">% Net Sales (OTB)</div>
<div className="label">% Net Sales (Forecast)</div>
<div className="value">{pctSalesFull != null ? `${pctSalesFull.toFixed(1)}%` : '—'}</div>
{pyWagesFull != null && pySalesFull > 0 && (
<div className="sub">PY {((pyWagesFull / pySalesFull) * 100).toFixed(1)}%</div>
)}
</div>
<div className="summary-card">
<div className="label">Net Sales (OTB)</div>
<div className="label">Net Sales (Forecast)</div>
<div className="value">{fmtMoney(netSalesFull)}</div>
{pySalesFull > 0 && <div className="sub">PY {fmtMoney(pySalesFull)}{pyPct(netSalesFull, pySalesFull)}</div>}
</div>

View file

@ -272,11 +272,11 @@ export default function Weekly() {
</div>
</div>
<div className="summary-card">
<div className="label">% Net Sales (OTB)</div>
<div className="label">% Net Sales (Forecast)</div>
<div className="value">{pctSalesFull != null ? `${pctSalesFull.toFixed(1)}%` : '—'}</div>
</div>
<div className="summary-card">
<div className="label">Net Sales (OTB)</div>
<div className="label">Net Sales (Forecast)</div>
<div className="value">{fmtMoney(netSalesFull)}</div>
{pySalesFull > 0 && <div className="sub">PY {fmtMoney(pySalesFull)}{pyPct(netSalesFull, pySalesFull)}</div>}
</div>