User guide
Everything you need to run the month-end freight accrual — set up a new period, work the eight close steps, and reconcile when invoices arrive. Each step links straight to the tab that does the work; the calculation flow lives on Method & sensitivity and the reconciliation flow on Closed periods.
Setting up a new period
Get the month's data into the engine — then work the close steps below.
- 1.Open Run a close.
- 2.Load a bundled sample period to see it priced instantly, or upload the month's shipments CSV (and any newly-arrived carrier invoices) — validated against the schema, every fallback flagged.
- 3.Confirm the close period (auto-inferred from the file).
- 4.Click Run close — the deterministic engine prices the accrual in your browser and saves it with its inputs and the rate-card version in force, so the close reproduces bit-for-bit.
- 5.The period is now ready — work the eight close steps below.
Closing the period — the eight steps
Expand any step for what to look for and the action to take. Each step opens the tab that does the work.
1Review the accrualOverview◷ Month-end close (Day 1) · Go/no-go: total, confidence band, bias, tie-outs
Start here. The Overview shows the recommended accrual, the ±1σ confidence band, the six-month bias, and whether every control tie-out passes. This is your go/no-go decision point before any drill-down.
- ✓Total accrual and confidence band are reasonable for the month's volume
- ✓Accrual bias is near zero — no systematic over- or under-statement
- ✓All tie-outs pass (the header badge is green)
- ✓The calibration line reads sensibly (printed card vs the calibrated rate)
2Drill into carrier & shipment detailShipment backup◷ Month-end close (Day 1) · Every dollar ties to a shipment — full calc trace
Every booked dollar ties to a shipment. Open Shipment backup for the full calc trace of any shipment (base → fuel → accessorials → minimum/residential), filter to flagged rows, or switch to the map for a geographic read.
- ✓Per-carrier split is sensible (Peak 40 / Heartland 65 / Coastal 55)
- ✓A sample shipment's calc trace is correct end-to-end
- ✓Flagged shipments are the ones you would expect
- ✓Nothing was priced on a silent fallback
3Review exceptions & controlsExceptions◷ Month-end close (Day 1) · Review & annotate every flag; ready-to-close gate
Every fallback and assumption raises a flag — no silent defaults. Review the register, pin a disposition note to each material flag, and confirm the period is “ready to close.”
- ✓Zero error (blocking) flags
- ✓Warnings reviewed and acceptable (dedup, imputed weight, mileage fallback, rate divergence)
- ✓Each material flag carries a reviewer note
- ✓The banner reads “Ready to close”
4Validate accuracyAccuracy◷ Monthly review · Reconstruction + out-of-sample back-test
Two honest views of the engine's own accuracy. Reconstruction proves the pricing mechanics reproduce six months of invoices to the cent (in-sample); the expanding-window back-test is the out-of-sample test, calibrated only from prior months.
- ✓Reconstruction error ≈ $0 — the mechanics are correct
- ✓Out-of-sample MAPE is within your tolerance
- ✓Bias is near zero — it matters more than per-month error
- ✓The per-carrier breakdown explains the misses
5Test sensitivity & check ratesMethod & sensitivity · Rates◷ When uncertain · quarterly · What moves the number; printed vs calibrated rates
Drag the assumptions in the sensitivity lab to see what moves the number (and see how the accrual is calculated, end to end). Check Rates for printed-card-vs-calibrated divergence and any rate-card change effective this month.
- ✓What a fuel-surcharge or volume change does to the accrual
- ✓Calibrated index vs the printed card (divergence is flagged in both directions)
- ✓Whether a carrier repriced — if so, save a new effective-dated card
- ✓Worst-case / best-case range for CFO reporting
6Book the journal entryJournal entries◷ Month-end close (Day 1) · DR 6200 / CR 21500 — export NetSuite CSV
The pre-formatted entry is ready to book: DR 6200 Freight Expense by carrier, CR 21500 Accrued Freight Liability. Export the NetSuite-import CSV and keep the shipment backup as support.
- ✓Debits = credits (the entry balances)
- ✓Subledger split by carrier
- ✓The entry reverses on receipt of the carrier invoices
- ✓The memo states the accrual basis
7Approve & lock the periodApproval◷ Month-end close (Day 1) · Control gates + attestation → lock + archive
The controlled close-out: every automated control gate must pass, the approver attests the manual reviews, and on sign-off the period locks and a full archive saves.
- ✓All control gates green
- ✓The three attestations checked and the approver recorded
- ✓Archive saved (JE, shipment backup, portable HTML, approval record)
- ✓A timestamped entry appears in the approval audit trail
8Reconcile when invoices arriveClosed periods◷ 15–30 days after month-end · Estimate vs actual + true-up when invoices arrive
When the carriers' invoices land, Closed periods compares the estimate to actual, scores the variance against materiality bands, and books a balanced true-up journal entry (see the reconciliation flow there).
- ✓Variance vs materiality (green ≤5% / amber ≤10% / red >10%)
- ✓The true-up JE balances
- ✓Actuals reconcile to the invoice register
- ✓The variance is fed into next month's calibration
Go deeper
The two detailed process diagrams live on the tabs they belong to.
- →How the accrual is calculated — the branching data-flow (manifest → group by carrier → per-carrier pricing → total), on Method & sensitivity.
- →Reconciliation flow — book → invoices arrive → compare vs materiality → true-up → feed next month, on Closed periods.
Quick reference — what each tab is for
Where to go for what. Tab names link straight there.
| Tab | Purpose | When to use |
|---|---|---|
| Overview | Executive accrual summary + go/no-go | Every month-end |
| Run a close | Load a sample or upload, price, save, reproduce | Each month / to try it |
| Exceptions | Flags, dispositions, ready-to-close control | Every month-end |
| Journal entries | The booked entry + NetSuite export | Booking |
| Approval | Sign-off, lock, archive, audit trail | Close-out |
| Shipment backup | Per-shipment calc trace (+ map) | Audit / spot-check |
| Rates | Effective-dated cards + calibration divergence | When rates change |
| Accuracy | Reconstruction + out-of-sample back-test | Monthly / accuracy review |
| Closed periods | Estimate vs actual + true-up + reconciliation flow | When invoices arrive |
| May scenario | Adaptability — the fuel-spike what-if | Demonstration |
| vs. Denise | Honest head-to-head vs the prior manual estimate | Benchmarking |
| Method & sensitivity | Calculation flow + what-if lab + methodology | Understanding / audit |
Frequently asked questions
Honestly, not on headline error. A trailing-3-month average (Denise) runs ≈8.3% out-of-sample MAPE versus the engine's ≈15.0%, because it smooths month-to-month rate noise a per-shipment engine can't foresee. The engine wins where a trailing average can't: every dollar ties to a shipment (auditable), it adapts to rate changes and new carriers, it carries controls, it's repeatable, and it is near-unbiased (−0.2% vs Denise's chronic −3.2%). The full head-to-head is on the vs. Denise tab.
Go to Rates, edit the card, and save a new version effective from the month it changed. History keeps its old card (prior closes reconstruct unchanged) and the next close prices on the new one. Printed-card-vs-calibrated divergence is always flagged, never silent.
On the Run a close tab (the optional invoices slot). Invoices do two jobs: they extend the calibration window (the engine recalibrates and the window rolls forward) and they become the “actual invoiced” that the estimate is trued-up against on Closed periods.
Three places: Method & sensitivity (calculation flow, formulas, data sources, assumptions, limitations), Accuracy (reconstruction + back-test), and Approval (the locked archive — JE, shipment backup, portable HTML, approval record, and the timestamped audit trail). Every figure derives only from the bundled data and config.