Most shops we talked to do not need a full ledger — they need to know how much was paid up front, how much is still owed, and whether the customer is paid in full. RepairNode models this with one simple field (the deposit) and a 3-state UI on top.

How payment status works

The repair record stores two money values:

  • Final cost — what the customer is being charged.
  • Deposit — what the customer has paid so far.

The balance is calculated as cost − deposit, and the payment status is inferred from the relationship between deposit and cost.

Three states

  • Unpaid (red) — deposit is zero. Customer owes the full cost.
  • Partial (amber) — deposit is greater than zero but less than cost. Customer owes the balance.
  • Paid (green) — deposit equals or exceeds cost. Balance is zero (or negative if there was an overpayment).

Setting payment status

You can change the payment state in three places:

  1. 1
    In the new-repair form
    Pick Unpaid, Partial, or Paid below the cost field. Partial reveals a deposit input; Paid auto-fills the deposit equal to the cost.
  2. 2
    In the repair detail action sheet
    Tap the Payment quick action. A small bottom sheet asks for the new state and (for Partial) the deposit amount.
  3. 3
    By editing the repair
    Open the form via Edit. The same payment selector is on the form.

Cost, deposit, and balance card

The repair detail screen shows a three-cell row: Cost, Deposit, Balance. The balance label is color-coded:

  • Green when the balance is zero (paid in full).
  • Red when there is money still owed.
  • Amber when the deposit is greater than the cost (overpayment — show the customer they are owed change).

Payment badges on the list

The Repairs tab shows a payment badge inside each card's tag wrap row — red for Unpaid, amber for Partial, green for Paid. The filter sheet has a Payment chip row so you can show only unpaid or partial repairs at a glance.

Edge cases

  • Warranty — turning the warranty switch on sets the cost to 0. Payment state collapses to Paid automatically because there is nothing to pay.
  • Quote pending — hides the cost and deposit fields entirely. Payment state is shown as a neutral Pending quote badge until you remove the switch and enter a cost.
  • Refunds — record a refund by reducing the deposit. The balance becomes a positive number again, which honestly reflects that the customer is now owed nothing.
  • Order deposits — Parts Orders use the exact same model: a single deposit field with the payment state derived from it.
Was this article helpful? Feedback is sent anonymously to the RepairNode team.