Skip to content

Recording Payments

Available to: Owner, Accounting

Only Owner and Accounting roles can record payments. Project Managers can see payment status on jobs but cannot post payments.

Payments are recorded against an invoice as they are received. Hardhat Flow supports multiple partial payments against a single invoice, with the balance due updating automatically after each entry.


Recording a Payment

  1. Navigate to Invoices and open the invoice you want to apply payment to.
  2. Click Record Payment.
  3. Fill in the payment fields (see below).
  4. Click Save.

The system updates the balance due immediately and advances the invoice status if applicable.


Payment Fields

Field Description
Amount Dollar amount of this payment. Must be greater than zero.
Payment Date Date the payment was received. Defaults to today.
Payment Method How the payment was made (check, ACH, wire, credit card, cash, etc.).
Notes Optional internal notes (e.g., check number, reference, partial reason).

How Partial Payments Work

There is no concept of a "partial payment" designation — all payments are simply recorded against the invoice. The system handles the math.

Each time a payment is recorded:

  1. The payment amount is subtracted from the current balance due.
  2. If the resulting balance is greater than zero, the invoice moves to Partially Paid.
  3. If the resulting balance equals zero, the invoice moves to Paid and then immediately to Workflow Complete (set automatically by the system).

Example:

Event Amount Balance Due Status
Invoice created $10,000.00 Invoice Submitted
Payment 1 recorded $4,000.00 $6,000.00 Partially Paid
Payment 2 recorded $4,000.00 $2,000.00 Partially Paid
Payment 3 recorded $2,000.00 $0.00 Paid → Workflow Complete

Payments cannot be deleted

All deletes in Hardhat Flow are soft deletes. If a payment was entered in error, contact your system administrator. Do not attempt to re-record a negative payment.


Invoice Status Progression

[Invoice Submitted]
        │
        ▼  (first payment recorded, balance > 0)
 [Partially Paid]
        │
        ▼  (payment recorded, balance = 0)
     [Paid]
        │
        ▼  (system-set automatically)
[Workflow Complete]

Invoice Submitted

The invoice has been created and sent to the client. No payment has been received yet.

Partially Paid

One or more payments have been recorded, but the full amount has not been collected. The invoice remains open. Continue recording payments as they arrive.

The balance due has reached exactly zero. The invoice is considered fully paid.

Workflow Complete

System-set — no action required

Workflow Complete is set automatically by the system when balance_due = 0. You do not need to manually advance the status. This state indicates the entire Bid → Job → Invoice → Payment lifecycle has concluded for this piece of work.

Once a job reaches Workflow Complete, it moves off the active queue and into the historical record. All associated records — the bid, job, invoice, and payments — remain fully accessible for reporting and audit purposes.


Viewing Payment History

All payments recorded against an invoice are listed in the Payment History section of the invoice detail page, in chronological order. Each entry shows the amount, date, method, and any notes recorded at the time.