AutoDealer.io Docs
BHPH financing

Record a loan payment (and NSF)

Record a BHPH loan payment, see how it's allocated and the new balance, quote a payoff, reverse a returned (NSF) payment, and void a mistake.

Who: Owner, Manager, or AccountingPlan: Max

Last updated

Every in-house (BHPH) loan lives under Loans. Open a loan to record payments, quote or take a payoff, reverse a bounced payment (NSF), or void a mistake. A payment made through your own Stripe account posts to the loan by itself, and comes back off by itself if it bounces or you refund it, so record here only money you took another way (cash, check, money order, an outside processor). You correct a Stripe payment in Stripe, not here (see Payments made through Stripe). Money applies fees → interest → principal as of the date you pick, and every figure is replayed from the ledger.

WhereDashboardLoansLoan number

Record a payment

  1. Go to Loans and click the loan to open it.
  2. Click Record payment (in the loan's header actions).
  3. Enter the Amount. To take a full payoff, click the Payoff button next to the amount to fill in today's payoff figure.
  4. Pick the Method: Cash, Check, Card, ACH, Debit, Money order, or Other.
  5. Set the Effective date (defaults to today). This is the date the money is applied and interest is figured to.
  6. Add a Reference if you want (check number, confirmation, etc.). This one's optional.
  7. Click Record payment.

The dialog notes Payoff today in its description, so you always know the full amount to clear the loan before you type. To quote a payoff through a specific date instead, use the Payoff quote button in the loan header.

How the payment is applied

A payment is allocated in this order, as of its effective date:

  1. Fees (any unpaid late or NSF fees) first.
  2. Interest accrued to the effective date next.
  3. Principal with whatever's left.

After you save, the loan updates:

  • The Principal balance, Next due, and Payoff today cards at the top recompute.
  • The new row appears in the Payment ledger with its Fees / Interest / Principal split.
  • The Amortization schedule rows show paid, partial, due, or late.

Each ledger row shows exactly how that payment was split across Fees, Interest, and Principal. That's your receipt of how the money landed. The ledger header shows the total received to date.

When a payment drives the principal balance to zero, the loan automatically flips to Paid off and the Record payment button disappears from the header.

Double-clicking or a slow connection won't post the payment twice. The form is idempotent: a retry returns the original payment instead of recording a second one. If you see "Network error. The payment was NOT confirmed," just retry from the same dialog; it's protected against double-recording.

Mark a payment returned (NSF)

Use this when a check bounces or a bank payment you took outside Stripe is returned. The money never actually cleared, so it has to come back off the balance. A payment made through Stripe that bounces, or loses a dispute, comes off the loan by itself, so its row has no NSF button.

  1. Open the loan and find the payment in the Payment ledger.
  2. Click NSF on that row.
  3. Type a Reason (required), e.g. "ACH returned: insufficient funds."
  4. Optionally tick Also charge the configured NSF fee to add your dealership's NSF fee.
  5. Click Mark returned.

What happens: the original payment is not deleted. A reversal row is posted that nets the payment back out, so its full amount comes back onto the balance (the borrower loses that credit), and the audit trail is preserved. If you ticked the fee, your configured NSF fee is added as a fee charge on the loan.

The Also charge the configured NSF fee box only does something if you've set an NSF fee ($) amount in Settings → In-house financing. If that's blank, no fee is charged even with the box ticked.

NSF only applies to actual payments (installments, extra principal, and payoffs). You can't NSF a late fee, a pickup receipt, an NSF reversal, an already-voided payment, or a payment made through Stripe; those rows don't show an NSF button. Each payment can only be reversed once.

Void a payment

Void is for a payment that should never have been recorded (wrong loan, wrong amount, duplicate keyed by hand). Unlike NSF, it isn't about a returned check.

  1. Open the loan and find the payment in the Payment ledger.
  2. Click Void on that row.
  3. Type a Reason (required).
  4. Click Void payment.

The voided row stays visible (struck through) and the balance, payoff, and schedule recompute as if the payment never happened. If voiding pushes the principal back above zero, a previously Paid off loan returns to Active.

Voiding can't be undone. If a payment actually bounced, use NSF instead, since it keeps the cleaner record (and can add the NSF fee). Use Void only for a genuine data-entry mistake.

Payments made through Stripe

A payment the borrower made through your own Stripe account is corrected in Stripe, the same way as on a deal. Its row shows Refund in Stripe where the NSF and Void buttons would be. Voiding it here would leave Stripe saying the money came in while the loan says it didn't.

  • To give the money back: refund all of it in your Stripe Dashboard. The loan takes the whole payment off by itself, and the row shows Reversed.
  • If the amount was wrong: refund all of it in Stripe, then take a new payment for the right amount.
  • If the bank returns it or a dispute is lost: nothing to do here. The loan takes it off by itself when Stripe reports it.

A partial refund doesn't change the loan: it still counts the whole payment, and your managers get a notice saying so. To fix the loan, refund the rest in Stripe (the loan then takes the whole payment off) and take a new payment for what the customer owes.

When Stripe takes a payment back, the app writes its own reversal row on the loan. That row shows From Stripe and has no Void button: voiding it would put money Stripe already gave back onto the loan again.

Who can do what

  • Record a payment, take a payoff, record a pickup receipt, assess a late fee: Owner, Admin / Manager, or Accounting.
  • NSF a payment, void a payment, change loan status: Owner or Admin / Manager only.

The NSF and Void buttons only appear on the ledger for Owners and Managers, and only on payments that aren't already voided and didn't come in through Stripe.

FAQ

What's the difference between NSF and Void?

NSF is for a payment that was returned (bounced check / returned ACH). It leaves the original on the record, reverses it, and can add your NSF fee. Void is for a payment that shouldn't have been entered at all. It just backs it out. Both recompute the balance; NSF keeps the better paper trail.

Why is the payoff different from the principal balance?

Payoff includes principal + interest accrued to today + any unpaid fees. The principal balance is just the loan principal. The loan's Payoff today card shows the payoff and breaks out the interest (and any fees) included in it, and the Payoff quote button lets you quote it through a future date.

Can I record a payment with a past effective date?

Yes. Set the Effective date to when the money was actually received. Interest is figured to that date and the balance recomputes accordingly. The loan is replayed from the full ledger, so a back-dated payment lands correctly.

Where do I set the NSF fee amount?

In Settings → In-house financing, under Returned payments (NSF) → NSF fee ($). It's charged only when you mark a payment returned and tick the box to apply it. Leave it blank for no NSF fee.

A payment bounced and I'd already marked the loan paid off. What now?

Mark the payment NSF. The reversal pushes the principal back above zero, and the loan automatically returns from Paid off to Active.

Can I edit a payment after saving?

No. There's no edit. If something's wrong, Void the payment (or NSF it if it bounced) and record a corrected one. For a payment made through Stripe, refund all of it in your Stripe Dashboard and take a new payment for the right amount instead.

On this page