4 ms·
He wasn't collecting address information for US customers, so the invoices hung in a pending state. He didn't check to make sure the integration was working cor
by sbierwagen 5y ago
He wasn't collecting address information for US customers, so the invoices hung in a pending state. He didn't check to make sure the integration was working correctly until a customer emailed him to ask why they hadn't been billed three months later, so there were a lot of invoices to clean up, which he apparently found to be very annoying.
- civilized 5y ago> 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.
- sbierwagen 5y agoIn 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.
- civilized 5y agoPeople 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.
- sarlalian 5y agoYou 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.
- blcArmadillo 5y agoThey 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.
- Galanwe 5y agoFrom 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
- jrowen 5y agoThe 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.
- droopyEyelids 5y agoIf 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/dp/0754648257 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.
- whatshisface 5y agoYou don't normally have to give Stripe location information for US customers. The problem happened when he enabled tax support for Canadians. Enabling tax support in Canada breaks US subscriptions... who knew. > I built out my Stripe Tax integration, made sure I had all the addresses I needed for my Canadian customers (Canada is the only jurisdiction I run my business, and therefore only need to charge tax to Canadian customers), and updated all my customer subscriptions, awaiting the glory of automatic GST, HST and PST to be charged, and Stripe Tax taking all my headaches away. > 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.
- NorwegianDude 5y agoHe didn't enable "Stripe Tax for Canada". He enabled Stripe Tax. The whole selling point of Stripe Tax is that it calculates tax for customers in every supported location. It needs customer location to function. He's supposed to charge tax in other locations where it's required too. Using Stripe Tax to only handle tax for customers in the home region of the company when the company also sells outside the home region seems like a strange goal. Missing the forest for the trees.
- Tabular-Iceberg 5y agoWho wants to be a global hallway monitor for taxes? It makes more sense to pay for a tool that makes you compliant with the applicable tax laws, and forget about the rest.
- cakoose 5y ago> Using Stripe Tax to only handle tax for customers in the home region of the company when the company also sells outside the home region seems like a strange goal. It's a common goal. When becoming compliant with sales tax laws, it makes sense to prioritize the states/countries where the business has a physical presence. https://en.wikipedia.org/wiki/Sales_tax#Enforcement_of_tax_on_remote_sales https://en.wikipedia.org/wiki/Sales_tax#Enforcement_of_tax_o...
- cmckn 5y agoI think he's correct that the failure mode was pretty awful. Silence isn't a great approach for failures in your cash flow. But, I agree with you that at least some of this can be chalked up to a botched integration, and that he probably could have reacted to bad signs more proactively (i.e. the drop in income). Still, the Stripe folks could have at least offered to help him collect the back payments, and (better yet) send an email to his customers taking the blame for this (which would cost them nothing and would reduce the harm to his business).
- roflc0ptic 5y agoI suspect there are liability concerns - admitting responsibility would be setting them up for damages.
- runnerup 5y agoIf the truth makes them owe damages… then they rightfully owe the damages, which would make that silence willfully unethical. It’s wrong to try to avoid making things right especially if you think you have a legal obligation to make things right. So sure, just do your absolute best to shirk your legal obligations. Most companies do. But most companies didn’t have Stripes’s reputation. That said, I personally don’t think this is what Stripe is doing. I think they STILL aren’t 100% sure what the whole situation is and they don’t have anyone close to this who is willing and knowledgeable enough to call the shots any more quickly. So it looks like a long investigation in parallel with the fix, and maybe some external feedback (this letter, some minor legal discussions with affected parties), will help provide the learnings and context necessary to actually understand what the effects were and what their responsibilities are. They may not be able to make it right immediately even if they want to because they’re not quite sure what (precisely) they legally screwed up and how that affects each customer. So, there’s a fine line between malice and local incompetency (which doesn’t even have to be massive incompetency! Someone who has 95% of all the experience they need for the role could get caught off guard in this situation). I’m sure stripe has the expertise it needs for this, it just might not have been in this group at the time. Of course Stripe isn’t blameless as a company, they’re a huge financial company with more than enough resources to prevent, mitigate, and recompensate these kinds of accidents. It’s understandable that things can fall through the cracks in such an ambitious tax engine.