Overview
Manage failed payments effortlessly with dunning. Salesbricks automatically classifies payment failures, alerts the right people, and triggers automatic retries so that you can recover revenue without lifting a finger.To enable dunning for your account, please contact Salesbricks Support.


dunning_auto_retries field when creating or updating an invoice.
When a payment fails, Salesbricks resolves the setting in this order: the invoice override, then the order override, then the account-wide setting.
The retry schedule (3, 7, and 14 days) is fixed and cannot be changed from the Salesbricks UI or API. The overrides only turn retries on or off.
Automatic payment retries
When a payment fails, Salesbricks classifies the failure as either a soft decline or a hard decline to determine whether an automatic retry is appropriate. Soft declines are failures caused by temporary issues like insufficient funds, a network error, or a payment provider timeout. These are eligible for automatic retry. Salesbricks will schedule up to three retry attempts:- 3 days after the first payment failure
- 7 days after the second failure
- 14 days after the third failure
What a retry needs
An automatic retry runs only when all of the following are true at the scheduled time:- The customer has a saved default card on file. Retries always charge that card.
- The invoice still has an unpaid balance.
- The order is closed and its subscription is not paused. Retries resume when the subscription is unpaused.
Notifications on failure
Every failed card payment, soft or hard, triggers the same set of alerts:- Customer email: “We couldn’t process your payment”, with an Update payment method button that opens the customer portal. For soft declines, the email also shows the date of the next attempt.
- Seller email: “Card payment from [customer] failed”, including the failure reason. When a retry is scheduled, it also shows the next retry date and the total number of retries before collection stops.
- Slack: a payment failed message, if you have the Slack integration connected.
- Webhook:
invoice.payment.failed. See Webhooks below.
Collection logs
To see the details of any payment failure, click on the invoice row in the Billing & Payments tab to open the Collection logs panel. This shows you a snapshot of the invoice’s current collection state:- Collection status: the current status of the payment (e.g. Action needed, For retry)
- Total payment attempts: how many times payment has been attempted
- Last attempt: the date of the most recent payment attempt
- Next attempt: the scheduled date of the next automatic retry, if applicable
- Failure reason: the reason returned by the payment provider (e.g. Card declined)
- Accounts payable emails: the email addresses on file for this invoice. Edit the list and click Update to change who receives invoice and payment emails.
Notes
Below the collection details is a Notes section. Click Add note to record internal context about the collection, such as a call with the customer or a promise to pay. Notes are visible only to your team, never to the customer.
Invoice log
Scroll down in the Collection logs panel to see the Invoice log which provides a full timeline of every event on the invoice, including each payment attempt, status changes, and emails sent to the customer. If a payment has failed and you want to trigger a retry immediately rather than waiting for the next scheduled attempt, click Retry this payment in the invoice log. This works for both soft and hard declines. A manual retry does not count toward the three automatic attempts. If a manual retry fails with a soft decline, the automatic schedule restarts from the beginning, with the next attempt 3 days later.
Collection statuses
Every invoice in the Billing & Payments tab displays a Collection status so you can quickly see the state of each payment at a glance.
The Collection logs panel and the invoice log use slightly different wording for the same states. In the invoice log, For retry appears as Will retry and Collected appears as Success.
Webhooks
Salesbricks fires webhooks at key points in the payment lifecycle that you can use to trigger actions in your own systems — for example, suspending service on a failed payment and restoring it once collected.- invoice.payment.failed — Fired when a payment attempt fails.
- invoice.payment.succeeded — Fired when a payment succeeds, including payments collected via automatic retry.