Chasing stops when a payment is recorded on that customer invoice. PayBlah does not hold the customer’s money. A recorded payment on an invoice you never chased is not claimed as “recovered by PayBlah.”
Do not mix these two pipes:
- Customer pays you — bank, cash, or Checkout on your Stripe account. That is the money this article is about.
- You pay PayBlah — Billing / checkout for your subscription. That does not settle a customer invoice.
Before you start
- Portal Pay part of it is a promised amount. It is not a payment.
- Portal I've already paid is a message. Match the bank, then record the money.
- A CSV/XLSX re-import cannot update an invoice number already on the book. Duplicates are skipped.
How PayBlah can learn about the money
- Open the invoice. Is the outstanding balance actually zero in PayBlah?
- Mark paid → enter Amount (leave empty for the full balance) and Date paid (today or earlier) → Record payment. This is the live path for bank transfer and any offline payment. Source label: manual entry.
- Tenant Stripe Checkout — if the customer used Continue to secure payment on your portal, and Connections → Customer payments has a usable Stripe connection, Checkout completion writes a payment (source
payblah_link). Funds land on your Stripe account. PayBlah never receives the card details or the funds. If card is off, the portal tells them to pay you the usual way — that is not a failed detection. - Accounting sync — only while a Xero, QuickBooks, or Sage connection is actually connected and a sync run records the payment (source
accounting_sync). Connect buttons exist; production OAuth is not launched. A sandbox / sample-data fixture is not a live vendor payment feed.
Those are the live write paths. Do not expect GoCardless, PayPal, open banking, or a generic “payment provider webhook” to mark an invoice paid. A first-time file import can record an already-paid remainder on a new row; it cannot change a number that already exists.
Expected result
A full payment stops Workflow sends for that invoice and the badge becomes Paid. A part payment pauses chasing (Part paid · paused) and the remainder stays owed. Activity shows the payment line. Attribution stays honest: paid after a reminder is not the same as “PayBlah caused this payment.”
If it still looks unpaid
- Wrong invoice or wrong customer — record (or reverse, Admin) on the correct row. Do not re-import the same number to “fix” it.
- They paid PayBlah instead of you — that is a PB- billing invoice. It will not appear on the customer portal receipt.
- They only promised a date or a part amount — open the promise; do not treat it as cash.
- Card Checkout was used but the payments connection is not usable — nothing was charged, or the webhook could not apply. Record the money by hand if it actually landed on your Stripe account.
- Then contact Support with subject Something isn't working.