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
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
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."