Troubleshooting

A payment was not detected

If the customer paid you but reminders continued, PayBlah has not recorded that payment on this invoice yet. Record it, or check the one live card path that can write it for you.

3 of 9 in Troubleshooting

Plan: Stop-on-recorded-payment is never gated. Mark paid works on every plan including trial (Starter). Card detection needs a usable tenant Stripe payments connection. Accounting sync writes a payment only while that books connection is actually connected.

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

  1. Open the invoice. Is the outstanding balance actually zero in PayBlah?
  2. 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.
  3. 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.
  4. 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.

Last reviewed 13 August 2026. PayBlah is accounts-receivable automation software. You remain the creditor. Confirm local rules with your own advisor for your territory (US, UK, Ireland, or Australia).