Step 5.2 — Payment Matching

Triggered from: Step 5.1 (HaulPay remittance) or Step 5.1a (Path B direct payment). Next step: Step 5.3 (if short-pay detected) or load closes cleanly.


🎯 Ideal State

The objective: Every dollar arriving at Forza is matched to a specific load/invoice. Unmatched dollars sit in suspense and grow into reconciliation problems.

Matching Mechanics — HaulPay Remittance (Factored and Path A)

HaulPay typically remits multiple invoices in a single transfer. For each component in the remittance:

  1. Identify the load number or invoice number from HaulPay’s remittance detail.
  2. Locate the corresponding QuickBooks-Online invoice.
  3. Record the payment in QuickBooks-Online against that invoice (gross amount).
  4. Record HaulPay’s fees and deductions separately (factoring fee as expense, reserve holdback as a separate ledger entry, chargebacks as a contra-AR entry).
  5. Verify the net payment matches the Fifth-Third-Bank deposit.
  6. Close the QuickBooks-Online invoice if fully paid; leave open if partially paid → triggers Step 5.3.

The two-way EZ-LoaderQuickBooks-Online sync propagates payment status back to EZ-Loader once recorded in QuickBooks-Online.

Matching Mechanics — Path B Direct Payment

Simpler because there is no HaulPay intermediary:

  1. Identify the load/invoice from the Shipper’s remittance note, reference number, or amount.
  2. Locate the corresponding QuickBooks-Online invoice.
  3. Record the payment in QuickBooks-Online.
  4. Close the invoice if fully paid.

Same-Day Matching as the Standard

Ideal state: every remittance/deposit is matched the day it arrives. Same-day matching catches issues early and keeps the AR picture accurate. Delayed matching compounds — three weeks of unmatched payments is a week of reconciliation work to unwind.

Dependency on bank portal access: Same-day matching requires Accounting to see deposits as they land. Concetta’s read-only permissions force reliance on end-of-day bank statements or HaulPay’s remittance email — not real-time.

Unmatched Amount Handling

If a remittance or deposit can’t be matched to a specific invoice:

  1. Log it in a “suspense” column on the remittance tracker.
  2. Investigate — contact HaulPay (for factored/Path A) or the Shipper (for Path B) for clarification.
  3. Resolve within 3 business days (SLA target).

Metrics to Track

  • Same-day matching rate (% of remittances matched on arrival day)
  • Unmatched amount by age (what’s in suspense and for how long)
  • Short-pay rate (% of invoices paid less than billed — triggers Step 5.3)

Owner: Concetta (Accounting).

🤖 SYSTEM AUTOMATION:

QuickBooks-Online has auto-match features that pair deposits with outstanding invoices based on amount and Shipper. Effectiveness depends on remittance detail quality — HaulPay’s sparse detail limits auto-match utility. Human review catches what auto-match misses.

🛑 HARD GATE:

Unmatched amounts in suspense are a red flag — they represent either a process breakdown (Accounting didn’t have time to match) or a data quality issue (remittance detail insufficient to identify the load). The suspense column should trend toward zero, not accumulate.


📍 Current State

  • Payment matching happens but with bank portal access limitations and remittance detail gaps.
  • Not documented as a same-day standard — matching happens when Accounting has bandwidth.
  • QuickBooks-Online auto-match capability not confirmed as fully configured or actively used.
  • No suspense tracking mechanism for unmatched amounts.
  • No tracked metrics for matching performance.

🚧 Gap

  1. No same-day matching standard.
  2. No suspense tracking — unmatched amounts not visible as a managed queue.
  3. QuickBooks-Online auto-match configuration and utility unverified.
  4. No matching-performance metrics — can’t tell whether matching is keeping up with volume.
  5. Bank portal access limits real-time matching capability.

🛠️ Gap Closure Actions

  • Establish same-day matching as the standard — policy and capacity commitment Owner: Casey + Concetta | Dependency: Concetta’s bank permissions updated | Effort: Policy
  • Build a suspense tracker for unmatched amounts with aging columns — visible to Accounting and Nick weekly Owner: Casey + Concetta | Dependency: Remittance tracker built (Step 5.1) | Effort: Low
  • Evaluate QuickBooks-Online auto-match configuration — optimize rules for HaulPay remittance pattern Owner: Concetta + QBO support | Effort: Medium
  • Establish matching metrics: same-day rate, suspense aging, short-pay rate Owner: Casey + Concetta | Effort: Low
  • Define unmatched-amount SLA — 3 business days to resolve or escalate Owner: Casey + Concetta | Effort: Policy