SaaS billing

See who cancelled, which payments failed and what was refunded, read live from Stripe, Paddle or Lago.

npx skills add wellapp-ai/skills --skill saas-billing
Wellapp
Which payments failed this month?

Ask anything or use / for commands...

How the skill answers

Every step of the run, in order, with the card each one returns. A step that hands its work to another skill says which one.

  1. You ask

    Which payments failed this month?

  2. Route a recurring revenue question to the mrr skillSkill usedmrr
  3. Pin the workspaceSkill useddefine-workspace

    Workspaces

    Pick the workspaces to work in.

    Your workspaces
  4. Find the connected billing tool
  5. No billing tool connected: offer to connect one, and stop

    Connect a tool

    Pick a tool to connect it to Well.

    Available tools
    1 of 1
    QuickBooks avatar
    QuickBooks
    Connection
    —
    Category
    Accounting
    Data
    Accounting
    Status
    —
    Last sync
    —
    1 selected
  6. Settle the window before a large read
  7. Read the tool list before any provider call
  8. Pick the read
  9. Call the read, one page at a time
  10. Keep the status the provider wrote
  11. Write the rows as text
  12. You get

    3 payments failed in Stripe from 1 to 6 October 2026: Northwind Labs, USD 49.00 on 2 October, Acme Tools, USD 129.00 on 4 October, and Brightly, EUR 19.00 on 5 October, each with the status Stripe wrote. Read live from Stripe. Nothing changed there, and nothing was saved in Well.

Frequently asked questions

Which billing tools does it read?

Stripe, Paddle and Lago. It reads the one you connected. With two of them connected, it reads each one and labels every row with the tool it came from.

Does it change anything in my billing tool?

No. It calls read tools only. It cancels no subscription, issues no refund, retries no payment and answers no dispute. It saves nothing in Well either.

How does it decide that a payment failed?

From the status field the billing tool returns, such as a Paddle transaction on automatic collection that is past due, or a Lago invoice whose payment status is failed. It never reads a failure out of a description or a decline message, and it states the status as the provider wrote it.

Why does it ask for a period?

A list of every refund or every failed payment since the account opened can run to thousands of rows. The skill asks for a window first, such as this month or the last 90 days, and reads only that.

Does it give me a total or my MRR?

No. It lists the rows with their amounts and counts them. It adds no amounts into a total, and recurring revenue goes to the recurring revenue skill, which has its own method.

Ask your first question today

Connect your tools, then ask in plain language. Every answer traces back to the record behind it. Free to start.