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.

How we check provider claims

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.

Behaviorinvoice.paidinvoice.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
For online payments both events carry the same data. Only invoice.paid fires for invoices marked paid by hand.

Why send paid invoices to Slack

  • Subscription renewals. Stripe creates a renewal invoice each cycle and sends invoice.paid when 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.

# billing

ChargeBellAPP

🧾 Invoice INV-0042 paid: $2,400.00

Acme Corp

Due Jul 4, 9:00 AM

# billing

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. 1

    Connect Stripe

    Approve ChargeBell's read-only Stripe app. It reads invoice events and cannot mark invoices paid or move money.

  2. 2

    Connect Slack and pick a channel

    Add the ChargeBell Slack app and choose where paid invoices post, such as #billing or #revenue.

  3. 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. 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.

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.