Stripe invoice paid alert in Slack (invoice.paid)
A Stripe invoice paid alert in Slack posts the invoice number, amount, and customer when invoice.paid fires. It also covers invoices you mark paid by hand.
ChargeBell product team
Updated October 1, 2026. 6 min read.
A Stripe invoice paid alert in Slack tells your team that an invoice was settled, whether a card paid it or someone marked it paid by hand. ChargeBell listens for invoice.paid and posts the invoice number, the amount, the customer, and a button to open the invoice in Stripe.
What the invoice.paid event means
Stripe's event reference says invoice.paid "occurs whenever an invoice payment attempt succeeds or an invoice is marked as paid out-of-band." The second case matters for B2B billing. If a customer pays by wire or check and you mark the invoice paid in Stripe, this event still fires.
invoice.paid vs invoice.payment_succeeded
Stripe sends invoice.payment_succeeded only when a payment attempt succeeds. It does not fire for invoices marked paid out of band. For online payments, Stripe sends both events with the same invoice data, so you only need one. invoice.paid covers every case that invoice.payment_succeeded covers, plus manual payments.
| Behavior | invoice.paid | invoice.payment_succeeded |
|---|---|---|
| Fires when an online payment succeeds | ||
| Fires when marked paid out of band (wire, ACH, check) | ||
| Carries the full invoice object | ||
| Covers every paid B2B invoice |
Why send paid invoices to Slack
- Subscription renewals. Stripe creates a renewal invoice each cycle and sends
invoice.paidwhen it is settled, so each renewal shows up in Slack. - B2B invoices. Invoices paid by wire, ACH, or check and marked paid by hand post too.
- Agencies and services. You see when a client pays without checking the Dashboard. See Stripe alerts for agencies.
The invoice paid alert is off by default
When it is off, a paid invoice still posts as a regular payment alert, as long as the payment received alert is on. Turn the invoice paid alert on to get the invoice number and due date in the message.
What the Slack alert shows
The title reads "Invoice paid" with the invoice number and amount. Below it is the customer name or email from the invoice. If the invoice has a due date, the alert shows it. A View invoice in Stripe button opens the invoice.
ChargeBellAPP
🧾 Invoice INV-0042 paid: $2,400.00
Acme Corp
Due Jul 4, 9:00 AM
ChargeBellAPP
🧾 Invoice INV-1180 paid: €890.00
billing@globex.example
Fields ChargeBell can include
- The amount paid and currency
- The invoice number
- The customer name or email from the invoice
- The due date, when the invoice has one
- A View invoice in Stripe button
One payment, one message
A card payment on an invoice sends both payment_intent.succeeded and invoice.paid. ChargeBell keys both on the PaymentIntent ID, so the payment posts once. An invoice marked paid by hand has no PaymentIntent, so ChargeBell keys it on the invoice ID. A subscription's first invoice, paid within 15 minutes of its new subscriber alert, is covered by that alert.
How to set up a Stripe invoice paid alert in Slack
- 1
Connect Stripe
Approve ChargeBell's read-only Stripe app. It reads invoice events and cannot mark invoices paid or move money.
- 2
Connect Slack and pick a channel
Add the ChargeBell Slack app and choose where paid invoices post, such as #billing or #revenue.
- 3
Turn on the invoice paid alert
In alert settings, switch Invoice paid on. It is off by default. You can send it to its own channel.
- 4
Send a test alert
Check the message in Slack before the next invoice is paid.
Many small invoices? Set a minimum amount so small ones skip Slack, and use the daily digest for the total. For the rest of the subscription lifecycle, read how to monitor Stripe subscriptions in Slack.
Related Stripe alerts
- Stripe successful payment alert for
payment_intent.succeeded - Stripe invoice.payment_failed in Slack for failed invoices
- Stripe subscription canceled alert for
customer.subscription.deleted
Key terms
Frequently asked questions
Which Stripe event fires when an invoice is paid?
invoice.paid. Stripe sends it when an invoice payment attempt succeeds or when an invoice is marked paid out of band. ChargeBell posts a Slack alert with the invoice number, amount, and customer.
What is the difference between invoice.paid and invoice.payment_succeeded?
For online payments they carry the same data. invoice.paid also fires when you mark an invoice paid by hand after a wire, ACH, or check. invoice.payment_succeeded does not, so invoice.paid is the safer choice for B2B invoices.
Is the invoice paid alert on by default?
No. When it is off, a paid invoice posts as a regular payment alert if that alert is on. Turn on Invoice paid in alert settings to see the invoice number and due date.
Will I get two alerts for one invoice payment?
No. ChargeBell keys the invoice and its payment on the same PaymentIntent ID, so one payment posts one message.
Does ChargeBell need write access to Stripe?
No. ChargeBell connects through a read-only Stripe app. It reads invoice events to build alerts and cannot mark invoices paid, move money, or change your Stripe account.
Primary sources
We checked event definitions and comparison details against these provider docs and pricing pages.