DEV Community

Giorgio Di Rosa
Giorgio Di Rosa

Posted on

How I built a Stripe billing health audit for SaaS

If you run a subscription SaaS on Stripe, a successful checkout does not necessarily mean your billing state will stay healthy forever.

Subscriptions can become past_due, payments can remain incomplete, invoices can stay open after collection attempts, and customers can sometimes end up with more than one current subscription.

I built Tresvio to make these states easier to spot.

What I wanted to monitor

The first version focuses on Stripe billing states such as:

  • past_due subscriptions
  • unpaid subscriptions
  • incomplete subscriptions
  • recent incomplete_expired subscriptions
  • open invoices with an amount remaining after attempted collection
  • multiple active or trialing subscriptions for the same customer

The goal is not to automatically change anything in Stripe.

Tresvio is designed as a monitoring and audit layer. It shows the state that deserves attention, while Stripe remains responsible for payment collection, retries, invoices, and subscription management.

Why I separated monitoring from recovery

I didn't want the tool to automatically cancel subscriptions, retry charges, issue refunds, or make billing decisions.

Those decisions depend on each SaaS company's own policies.

Instead, the workflow is:

  1. Connect Stripe
  2. Run an audit
  3. Review the findings
  4. Open the relevant customer, subscription, or invoice in Stripe
  5. Enable continuous monitoring if useful

This also keeps the Stripe integration read-only for the monitoring workflow.

Stripe state is only half of the problem

There is another class of billing problems that Stripe alone cannot see.

For example:

  • Stripe says a customer is paying, but the app gives them no access
  • the app gives premium access without a paid subscription
  • the plan in Stripe does not match the plan stored by the application

For that reason I also built an optional App Probe integration.

It is not required for the normal Stripe audit. It is only there for SaaS teams that want to compare billing state with application access.

The free audit

I wanted the first step to be low-friction, so Tresvio starts with a free Stripe billing audit.

The current flow is:

Connect Stripe → Run free audit → Review findings → Enable monitoring

No card is required for the initial audit.

I'm currently looking for feedback from developers and SaaS founders using Stripe Billing.

If you want to try it:

https://tresvio.com

I'd also be interested to know: what Stripe billing issue has caused you the most trouble in a SaaS project?

Top comments (0)