Step 5.5 — Reserve Reconciliation (Monthly)

Triggered by: End of each calendar month. Monthly close cadence. Part of: Step 7.3 Monthly Cadence.

Note

This is a compensating control for HaulPay’s opaque remittance detail. Reserve movements may not be clearly shown per transaction. Monthly reconciliation catches discrepancies that HaulPay’s delivery doesn’t proactively surface — directly addressing the CBCG Report findings.


🎯 Ideal State

The objective: Reconcile HaulPay’s reserve account movements for the month against Forza’s own calculations. Verify that reserves are being held correctly, released on schedule, and fully accounted for.

Reserve Mechanics Overview

Under the factoring arrangement:

  1. HaulPay advances a portion of the invoice amount at invoice acceptance.
  2. The remainder (the reserve) is held by HaulPay.
  3. When the Shipper pays, HaulPay releases the reserve to Forza after deducting fees.
  4. If the Shipper doesn’t pay within the aging window (Tier 2 recourse only), HaulPay applies a chargeback against outstanding reserves or future remittance.

Reserve % and aging window are unknown per tech stack meeting (“Don’t know, need to review contract”). Contract review is required before reserve reconciliation can be performed accurately.

Monthly Reconciliation Workflow

  1. Pull HaulPay reserve statement for the month from the portal.
  2. Build expected-reserve worksheet: For every invoice submitted in the month, calculate expected reserve held at the contractual percentage.
  3. Build expected-release worksheet: For every invoice paid by the Shipper in the month, calculate expected reserve release.
  4. Build expected-chargeback worksheet: Pull the month’s chargebacks from the chargeback tracker (Step 5.4). These should appear as deductions from reserves.
  5. Compare HaulPay’s reserve statement to Forza’s expected state.
  6. Flag discrepancies for HaulPay follow-up.
  7. Record the reconciled state in QuickBooks-Online with appropriate ledger entries.

Three Types of Discrepancies

TypeWhat It MeansAction
HaulPay holds more reserve than expectedReserves not being released on schedule — Shipper may have paid, HaulPay hasn’t creditedContact HaulPay, confirm release is pending, document timing expectation
HaulPay holds less reserve than expectedReserves may have been applied to undocumented chargebacks or fees — exactly the CBCG Report concernRequires HaulPay detail request
HaulPay reserve release without matching Shipper paymentPossible payment not properly matched (Step 5.2) or HaulPay-side errorCross-reference against remittance tracker and chargeback tracker

Bulk Reserve Release Review

Watch for bulk reserve releases without clear invoice-level attribution. HaulPay may release reserves in aggregated batches rather than per-invoice. Accounting verifies the batch total matches the sum of expected per-invoice releases.

Metrics to Track

  • Reserve balance at month-end (expected vs. actual)
  • Reserve release timing (days from Shipper payment to reserve release)
  • Discrepancy count and magnitude
  • Unexplained reserve movements (the biggest risk indicator)

Owner: Concetta (primary). Nick (material discrepancies, HaulPay relationship escalation).

🤖 SYSTEM AUTOMATION:

Reserve statement pull is manual from HaulPay portal. The expected-state worksheets can be semi-automated from the remittance tracker and chargeback tracker data once those tools exist. The comparison is human.

🛑 HARD GATE:

Monthly close does not complete without reserve reconciliation. Unreconciled reserve discrepancies accumulate into financial risk — the exact failure mode the CBCG Report documented.


📍 Current State

  • No documented reserve reconciliation workflow.
  • Reserve percentage unknown — Accounting cannot calculate expected reserves without the contract.
  • Aging window unknown — affects chargeback-against-reserve timing.
  • HaulPay reserve statements may or may not be pulled regularly — no documented cadence.
  • Historical reserve activity not systematically reconciled — CBCG Report findings represent this gap’s historical materialization.

🚧 Gap

  1. No reserve reconciliation SOP or cadence.
  2. Reserve percentage and aging window both unknown — contract review prerequisite.
  3. No expected-state worksheet methodology documented.
  4. Bulk reserve release tracking not happening — directly maps to CBCG Report findings.
  5. No discrepancy tracking mechanism.
  6. No HaulPay escalation protocol for material reserve discrepancies.

🛠️ Gap Closure Actions

  • Obtain and review HaulPay factoring agreement (Nick action item from tech stack meeting) Owner: Nick or Concetta | Effort: External
  • Extract from contract: reserve percentage, aging window, chargeback mechanics, reserve release triggers Owner: Casey + Concetta | Dependency: Contract obtained | Effort: Low
  • Document the monthly reserve reconciliation SOP with the 7-step workflow Owner: Casey + Concetta | Dependency: Contract terms known | Effort: Medium
  • Build the expected-reserve and expected-release worksheet templates Owner: Casey + Concetta | Dependency: Contract terms known + remittance tracker built | Effort: Medium
  • Establish monthly reconciliation as a standing Accounting responsibility with a specific close-day timeline Owner: Casey + Concetta | Effort: Policy
  • Document discrepancy escalation protocol — 3 discrepancy types, HaulPay follow-up process, Nick escalation threshold Owner: Casey + Concetta + Nick | Effort: Low
  • Build a one-time historical reserve reconciliation for the period since last CBCG Report analysis Owner: Casey + Concetta | Dependency: Contract terms + worksheets built | Effort: High
  • Add reserve metrics to Phase 7 monthly monitoring cadence Owner: Casey + Concetta | Effort: Low