Hacker News new | past | comments | ask | show | jobs | submit login

> He didn't check to make sure the integration was working correctly

But what is your definition of "check to make sure the integration was working correctly"? Once you know what was going wrong, it's easy but unhelpful to say "you should have checked to see if that thing was going wrong".

He had dashboards indicating "situation normal", and there was no specific advice that he check that an avalanche of draft invoices was silently piling up.

Given that Stripe advertises itself as making payments easy, it seems like it should take responsibility for making them easy, instead of having hidden pitfalls that silently tank your revenue.




If anyone is interested in this topic, I recommend the book "Field Guide to Understanding Human Error" by Sidney Dekker

It's an incredibly thorough treatment of the incentives and psychology that lead to people labeling process failures as 'human error'.

Most of the book deals with manufacturing, aviation, and air control failures, but the principles generalize so easily to software development that it's a treat to read. One thing that makes it so good is that I was vaguely aware of most of what he covers before having read it, but reading him stitch it all together brought me to the point of intuitively understanding the concepts that had been floating in the back of my mind, and being able to see them all around me at work. He puts it together so smoothly that after having read it, it felt like I always knew what I had just learned.

It's super expensive on amazon https://www.amazon.com/Field-Guide-Understanding-Human-Error... but available on all the online library sites that aren't for linking in polite company. It's also on audible.


In the post he says:

>I had noticed that my cashflow for the previous 2-3 months seemed to be tanking a bit

A bit? Revenue from all US customers went to zero for three months! That should have been a giant hole. This is like driving your car into a lake, hearing a "bang" as the engine explodes, then complaining that there's no "you have driven into a lake" warning light on the dashboard.


You are assuming that a large number of their customers are from the U.S. not knowing what business they are in, their customer pool might be 90% Canadian. The whole world doesn't necessarily target U.S. customers.


The author mentions "functionally 1/3 of my customers" and "I can not stress how much this has f*cked over my business."

Since they also mention that they would like to hear what people think about this situation, here's my take:

They deployed a major change/migration to their billing system, implementing a brand new product, and seemingly didn't bother to investigate how it was going beyond cursory looks at a dashboard. Even though they did notice a strange dip in revenue. That seems fairly negligent for one of the most critical aspects of your product. Doesn't take that much time to take a glance at a more detailed view than a dashboard.

Stripe definitely could have been sending more notifications of failed invoices, made the documentation more clear, or been smarter about disabling automatic_tax for customers outside the user's tax jurisdiction. I don't know if the webhooks solution they mention is their standard for these kind of things or how much responsibility is reasonable for the user to monitor those. It does sound like they have/had at least some deficiencies with the new product that would have warranted a more generous response.

The author did seem to realize what was up and how they could have fixed it but chose not to because they were mad at Stripe. I feel like the wrath is somewhat overblown, sometimes you take a risk on a brand new product and have to babysit it a bit more than something mature.


I'm going to repeat what I said in a parent comment:

> But what is your definition of "check to make sure the integration was working correctly"? Once you know what was going wrong, it's easy but unhelpful to say "you should have checked to see if that thing was going wrong".

I'm sure he checked that Canadian tax was working, because that's what he bought Stripe Tax for. He didn't expect it to silently screw up his US customer payments, because he did not need to pay tax for them. He reasonably expected that Stripe Tax should have no impact on the payment of invoices for which no tax is owed.


In what world does he not have to pay tax because the customer is in the US? You have to comply with tax regulations where the customer is located. And that is the problem that Stripe Tax helps with.

If you only sell locally then it's not exactly hard to implement and stay up to date with the requirements where you live.


From his email transcript in the article:

> I have functionally 1/3 of my customers that I am going to have to back-bill for months of subscription fees


They did say

> I deployed it on November 6, 2021, the same day that Stripe stopped billing a significant number of my customers, left all their invoices in a Draft state, and didn’t tell me about it.

So at least a significantly large portion are outside of Canada.


People are always going to have this feeling of "I can't believe Y was not as conscientious as I assume I would have been in X situation". It's hard to put ourselves in other people's shoes.

I don't know what else is going on in this guy's life, except he's got kids so that's already a lot.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: