Why we don't refund — and built an appeals system anyway
We don't refund Ominvo subscriptions. Not for monthly. Not for annual. Not for partial periods.
That's the position. Here's why we landed there, and why we still needed to build a 30-day appeals window to go with it.
The economics of refund-on-demand
The perverse case is easy to explain: customer signs up, uses the tool for a month, asks for a refund, gets it. We ran a free service and paid a Stripe fee for the privilege.
Scale that to even a modest number of chargeback-savvy users and the unit economics break. More importantly, every hour spent on refund policy edge cases is an hour not spent on the product. The better alternative was to make the exits cheap enough that nobody needs to dispute.
Monthly subscriptions are affordable and cancellable anytime. Annual is 20% off in exchange for a year-long commitment — optional, not required. There's a free tier that doesn't expire. Nobody is trapped.
So we didn't build a refund path. We built clean exit paths instead.
The honest problem
"Non-refundable" sounds fine until you're the one sending the termination notices.
Anti-spam systems mis-fire. A flagged testimonial from a legitimate reviewer can look exactly like one from someone gaming the system. A chargeback can be filed by mistake. A manual review can misread context. We will, at some point, terminate an account that didn't deserve to be terminated. Saying otherwise would be a claim we can't back up.
The standard industry response is to quietly refund the disputed amount and move on. We can't do that consistently with a no-refund policy. If the terms say final is final, the appeal path has to be somewhere other than the credit card.
What we built instead
When an account gets terminated for a Terms of Service violation, the customer gets an email. It explains why in plain English, references the specific clause in Section 14 of our Terms, and includes a link to submit an appeal within 30 days.
They write us a case — what happened, why they think the termination was wrong. We read it. If we got it wrong, we restore access. The original payment isn't refunded, but they're back in with their tier reinstated as a goodwill gesture. The slate isn't clean — the block record stays on file — but they can use the product again.
If we got it right, the appeal is denied and that decision is final.
The window is 30 days. After that, the link expires. There's one appeal per suspension — not a back-and-forth loop. We made those constraints explicit because "reach out and we'll see" turns into a negotiation. We don't want a negotiation. We want a clear decision with a clear end state.
Chargebacks
Separate category, different logic.
If a customer files a chargeback with their bank instead of emailing support@ominvo.com first, we treat that as a signal: they don't want to do business with us. The account is terminated for cause.
We don't fight chargebacks on principle. The math doesn't support it — by the time you account for the dispute fee, the time spent building and submitting a response package, and a loss rate that's rarely zero even when you're in the right, fighting a chargeback costs more than the original disputed amount. The better outcome is for the customer to contact us first. Most situations are fixable if we're actually in the conversation.
Filing a chargeback removes us from the conversation.
Why the refund policy is its own page
Most SaaS products handle refund terms the same way: Section 5 of a 5,000-word Terms of Service document that nobody reads until they're already upset.
We did that too — Section 5 of our Terms still has the formal language, because it has to be in the contract. But we also pulled the plain-English version out and gave it a dedicated URL: /legal/refund-policy. Monthly plans, annual plans, free tier, terminations, chargebacks — all on one page, readable in under two minutes without a law degree.
The reason is simple: customers finding the policy after a dispute is too late. If someone's decision to subscribe depends on knowing what happens when things go wrong, they should be able to find that out without reading the full TOS first.
Where we landed
The no-refund position isn't a default setting we never thought about. It's a constraint we chose knowing the trade-offs: monthly is cheap, annual is optional, the free tier exists, and the appeals system exists for the cases where we make a mistake. Those aren't softeners for a bad policy — they're the policy.
If you want to test Ominvo before committing, start monthly. Cancel any time with no friction and no form. If you want the annual discount, go in knowing it's a year-long commitment. And if anything in our terms makes you uncomfortable before you sign up, reach out — that conversation is easier before you're a customer than after.
See the full diff in the changelog, and yesterday's infrastructure work in Day 54.
Tagged
Written by
The founder of Ominvo
Building review management for single-location small businesses. Join the waitlist →