Skip to content

On a schedule

Get a monthly Stripe tax summary in Slack

On the first of each month you see the tax collected on last month's Stripe invoices, broken down by tax rate and region.

Runs
On a schedule
Apps
Slack, Stripe
AI
Not needed
Access
Stripe read; chat:write

Send this to your assistant

Create a ClickRuntime automation: on the 1st of every month, total the tax on last month's paid Stripe invoices by tax rate and country, and post the table to #finance.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A small online course business sells to customers in several countries and charges VAT or sales tax through Stripe. Each quarter, the bookkeeper spends an afternoon exporting invoices and building a pivot table to work out how much is owed to each tax authority, and mistakes only appear when the filing is due.

A monthly breakdown of tax collected by rate and region turns that afternoon into a quick check. The figures are ready when the filing window opens, and any odd rate or unexpected country is spotted a month early rather than at the deadline.

What you get out of it

  • Filings start from a ready number

    The amount owed for each tax rate is already totalled. The bookkeeper checks it against Stripe instead of building the report from an export.

  • Wrong tax settings show up fast

    A product missing its tax rate, or a country that should not be charged, appears in the monthly table. Fixing it after one month is far cheaper than after a year.

  • Finance and founders see the same table

    Posting it in a shared channel means the person filing and the person paying both know the amount. Fewer surprises when the payment leaves the account.

  • A running record in Slack

    Each month's summary stays in the channel history. Looking back at last quarter takes a scroll, not a new export.

How it works

What happens, step by step

  1. On the first day of each month, ClickRuntime collects every invoice that was paid in Stripe during the previous month.

  2. It reads the tax lines on each invoice and groups them by tax rate and region.

  3. It totals the tax collected for each group and each currency.

  4. The table is posted to your #finance Slack channel, and a copy is emailed to you.

Before it runs live

  • Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
  • Connect Stripe

What you get

RunsOn a schedule
Get a monthly Stripe tax summary in Slacktoday, 9:00Succeeded
Slack · #financeTax collected September 2026 VAT DE 19%: 1,284.20 EUR VAT FR 20%: 612.00 EUR

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Run it at a different time, more or less often, or only on weekdays
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Google Sheets
  • Combine it with other Slack and Stripe steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
tax_summary_from_stripe_invoices_posted_to_slack.pyexample
import stripe
from clickruntime import on_trigger, credentials, notify
import time
from datetime import date

@on_trigger
def run(event):
    stripe.api_key = credentials.secret("STRIPE_API_KEY")
    first = date.today().replace(day=1)
    start = first.replace(year=first.year - 1, month=12) if first.month == 1 else first.replace(month=first.month - 1)
    period = {"gte": int(time.mktime(start.timetuple())), "lt": int(time.mktime(first.timetuple()))}
    totals = {}
    for inv in stripe.Invoice.list(status="paid", created=period, limit=100, expand=["data.total_tax_amounts.tax_rate"]).auto_paging_iter():
        for t in inv.total_tax_amounts:
            rate = t.tax_rate
            key = (rate.display_name, rate.country or rate.jurisdiction or "-", f"{rate.percentage}%", inv.currency.upper())
            totals[key] = totals.get(key, 0) + t.amount / 100
    lines = [f"{name} {region} {pct}: {amount:,.2f} {cur}" for (name, region, pct, cur), amount in sorted(totals.items())]
    text = f"Tax collected {start:%B %Y}\n" + ("\n".join(lines) or "No tax on paid invoices")
    notify.slack(text, channel="#finance")
    notify.email_me(f"Stripe tax summary {start:%B %Y}", text)
    return {"lines": len(lines)}

FAQ

Common questions

Does this file my tax returns?
No. It totals the tax Stripe collected on paid invoices so you or your accountant can prepare the return. Filing stays with you.
Are one-off payments included, or only invoices?
It reads paid invoices, which covers subscriptions and invoiced sales. Payments made through checkout without an invoice are not included unless they generate one.
Can I get it quarterly instead?
Yes. Ask for a quarterly run and it will total the previous three months, which matches how many tax authorities expect returns.
What permissions does it need?
Stripe read; chat:write. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (on a schedule). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a monthly Stripe tax summary in Slack” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.