Say you have 40 paying customers. Not huge, but enough that billing emails start showing up every week. "What plan am I on?" "When do I renew?" "Did my card go through, the app says something weird."
Markdown supported · ⌘↵ to post
Small change, big time saver. We ended up with plan, last payment and status too. Did you sync them on webhook or on a schedule?
The point about storing your own plan name instead of the Stripe price id is underrated. It's what makes a later price change or a yearly plan a non-event instead of a grep through the codebase. One thing I'd add: keep a current_period_end column too, since "when do I renew?" is probably the most common billing email and it saves the one remaining trip to the dashboard.
Paul Hartness
Love this for the 40-100 customer stage. One column I'd add: the last decline reason. When someone asks "did my card go through?", knowing it was insufficient funds versus an expired card tells you straight away whether to say "we'll retry" or "please update your card".