Payments
The Payments page is a ledger of every recorded payment across your business. It gives you a single view of what has been collected, how customers paid, which invoices the payments are tied to, and which completed payments can be reversed or refunded.
Open Payments from the main navigation.
When to use Payments
Use Payments when you need to:
- See what your business has collected over a given period.
- Look up a specific payment by customer name.
- Verify how a customer paid (card, cash, check, or bank transfer).
- Find which invoice a payment is linked to.
Before you start
- Invoices must exist first. Payments are never created directly on the Payments page — they are recorded through the invoice payment flow.
- Stripe must be connected for card charges and pay links. Go to Settings → Integrations → Stripe to connect or verify your Stripe account. Cash and check payments do not require Stripe.
- At least one invoice must be in a payable state (Sent or Draft) before a payment can be recorded against it.
- Refund access requires Stripe write permission and a verified email address. ToolbagCRM's Refund action returns the full remaining amount on an eligible completed Stripe charge; it does not offer an amount field. If Stripe reports a partial refund, ToolbagCRM preserves that refund in the linked invoice's payment history.
- Reversing a non-Stripe payment requires Payments write access. The reversal reason is required and becomes part of the payment's status history.
The payment list
The payment list opens with Track all recorded payments beneath the page title. While a customer search, status, or invoice filter is active, the header instead shows how many payments match.
Status tabs
Use All, Pending, Completed, Failed, Refunded, or Voided to filter the full payment list. Changing the status resets the list to its first page while preserving the customer search and any active invoice filter.
Search
Search by customer name to filter the full payment list. ToolbagCRM keeps the search and status in the page URL, so browser Back and Forward restore the earlier filter state.
When View payments opens the page from an invoice, an Invoice filter active card limits results to that invoice. Use View invoice to return to it or Clear invoice filter to search the full payment ledger.
What each row shows
- Customer name
- Amount — the payment total
- Payment method — Credit Card, Bank Transfer, Cash, or Check
- Check # — the check number for a manually recorded check payment; otherwise an em dash
- Status badge — Completed, Pending, Failed, Refunded, or Voided
- Date — when the payment was recorded
- Invoice link — View invoice to open the linked invoice detail
- Refund — opens the matching charge in Settings → Integrations → Stripe for confirmation; shown only for completed Stripe payments to team members with Stripe write access
- Reverse payment — opens a required-reason confirmation for an eligible completed payment that was not processed by Stripe; shown only to team members with Payments write access
How payments are recorded
Payments are not created directly from this page. They are recorded through the invoice payment flow:
| Method | How it works |
|---|---|
| Charge Card | From the invoice detail, click "Charge Card" to charge the customer's card on file through Stripe. |
| Pay Link | Send the customer a pay link from the invoice detail. They pay by card through Stripe. |
| Record payment | From the invoice detail, record a cash or check payment collected outside Stripe. Enter any positive amount up to the remaining balance. |
Each method records a payment entry that appears in this ledger. Payments are not created here, but eligible completed payments can be reversed or refunded from this page.
Reverse a non-Stripe payment
Use this flow when a completed cash, check, or other non-Stripe payment was recorded in error:
- Open Payments and find the completed payment. If an invoice sent you here after a failed void attempt, View payments opens this page already filtered to that invoice's records.
- Select Reverse payment. On a phone, use the same action on the payment card; on a desktop, use it in the payment row.
- Enter the required reason, then select Reverse payment in the confirmation dialog.
- Confirm that the payment shows Voided. ToolbagCRM keeps the reason in status history and reopens a Paid invoice when the remaining completed payments no longer cover its total.
Stripe-linked payments do not offer Reverse payment. Use their Refund action so Stripe processes the refund and ToolbagCRM can reconcile the result.
In the ToolbagCRM demo, Refund opens a simulated confirmation. Select Refund once to mark the payment Refunded for the current demo session; the status remains after reloading the page. Select Never mind or press Escape to cancel and try again. No live Stripe refund occurs.
Payment methods
ToolbagCRM records payments in four method categories:
| Method | Typical source |
|---|---|
| Credit Card | Stripe card charges (online or card-on-file) |
| Bank Transfer | ACH or bank transfer through Stripe |
| Cash | Manual Record payment action on the invoice |
| Check | Manual Record payment action on the invoice; requires the check number and matching amount confirmation |
Tips
- Use the status tabs to focus on failed or refunded payments when investigating issues.
- Select View invoice on any payment to see the full invoice detail and payment history.
- Use a partial cash or check payment when the customer pays only part of the balance; ToolbagCRM leaves the invoice open for the remainder.
- Review the customer, amount, and charge in the Stripe refund dialog before confirming. ToolbagCRM refunds the charge's full remaining amount and refreshes the Stripe transactions after it succeeds.
Troubleshooting
The page shows "No payments recorded yet"
This is the normal empty state when no invoices have been paid yet. Create an invoice, send it to a customer, and record a payment through the invoice detail page.
A payment shows "Failed" status
Failed payments typically mean the customer's card was declined by Stripe. Open the linked invoice and try charging the card again, or send a fresh pay link. Check your Stripe dashboard for detailed decline reasons.
Payments are not appearing after a customer paid
Payments recorded through pay links appear in the ledger once Stripe confirms the charge. If a payment is missing, verify in your Stripe dashboard that the charge actually completed. Pending payments may take a moment to appear — use the Pending status tab to check.
Refund is not shown for a payment
The Refund action appears only for a completed Stripe payment that has a Stripe payment reference. Your role also needs Stripe write access. Cash, check, pending, failed, and already-refunded payments cannot be refunded from this page.
Reverse payment is not shown for a payment
The Reverse payment action appears only for an eligible completed payment that is not linked to Stripe. Your role also needs Payments write access. Stripe-linked payments must use Refund and cannot be manually reversed in ToolbagCRM.
ToolbagCRM could not look up the charge to refund
On the Stripe page, select Retry in the warning to look up the charge again. Review the matched charge before confirming the full refund. If the lookup still fails, do not refund a different transaction; verify the payment in Stripe or contact ToolbagCRM support.
The refund was submitted but its status is not confirmed
If the refund dialog says Refund was submitted, but we couldn't confirm its status yet, select Check again. ToolbagCRM checks the charge status again without submitting another refund. Leave the dialog open until the refunded status is confirmed; if it remains unconfirmed, verify the charge in Stripe before taking another action.
The invoice shows a partial refund
When Stripe reports a partial refund, the linked invoice keeps the original captured amount and lists each refund amount and date plus the remaining Net amount. A Paid invoice reopens when the net payment no longer covers its total. The Refund action remains available for the charge's remaining amount when the payment is still eligible.
A check payment is rejected
Enter a check number and type the payment amount again in Confirm amount (USD). The confirmation must exactly match the payment amount, and the payment cannot exceed the invoice's remaining balance.
"Charge Card" button is disabled on an invoice
The Charge Card action requires a connected Stripe account with charges enabled. Go to Settings → Integrations → Stripe and complete the onboarding process. The button is also disabled if the invoice has no card on file for the customer.
