Record payment on invoice

An authorized user records a payment against a Sent or Overdue Invoice. Invoice auto-closes when fully paid.

When this happens: You click Record Payment on an Invoice detail page.

Step by step

  1. 1

    Click Record Payment on a Sent or Overdue Invoice.

    EasyCRM shows payment form: Payment Date (≤ today), Amount (> 0, ≤ Balance Due), Payment Method (dropdown: Bank Transfer, Credit Card, Cash, Check, Stripe, Other), Reference / Transaction ID (optional), Notes (optional).

  2. 2

    Fill in the payment details. Clicks Save.

    EasyCRM checks: Date ≤ today; Amount > 0 and ≤ Balance Due. EasyCRM creates PaymentRecord entity. EasyCRM updates Invoice: Amount Paid += payment amount; Balance Due -= payment amount. EasyCRM checks if total payments ≥ Invoice Total. Fully paid — updates Invoice status to Paid Sends notification: InvoicePaid. Partial payment — Invoice remains in Sent (or Overdue). Activity log: Payment of $[X] recorded via [Method].

Other paths

Partial payment

At step 8b, Balance Due remains > 0. Invoice detail shows updated Amount Paid and Balance Due fields. Multiple payments displayed in the Payments section.

Delete payment record

Click Delete on a payment record in the Payments section. Confirmation: Are you sure you want to delete this payment record of $[X]? Deletes the payment. Reverses amount: Balance Due increases. If Invoice was Paid and is no longer fully paid — status reverts to Sent (or Overdue if past due).

Stripe webhook payment

Stripe sends a payment webhook. Auto-creates a PaymentRecord with Method = Stripe and the Stripe transaction ID. Continues from step 6 of the main flow.

If something goes wrong

Payment exceeds balance

If Amount > Balance Due. EasyCRM shows: Payment amount ($X) exceeds the outstanding balance ($Y) Save blocked.

Invoice already fully paid

Invoice status = Paid Record Payment button is hidden. API returns 400.

Invoice is voided

Invoice status = Void No payment actions available.

Good to know

  • Payment cannot exceed Balance Due.
  • Partial payments are supported; Invoice remains active until fully paid.
  • Auto-status change to "Paid" when total payments ≥ Invoice Total.
  • Deleting a payment may revert Invoice status from "Paid" to "Sent"/"Overdue."
  • Nightly job marks unpaid invoices past due date as "Overdue."