Live data from Hacker News

My Stripe Tax Story

gist.github.com

81–90 of 299 posts

Re: My Stripe Tax Story

#81
post #69

My dad owns a successful chain of bicycle stores in Texas. He’s been in business for almost 51 years and he’s one of the largest bike dealers by volume in the country. He has nearly a hundred employees and a bookkeeper. Despite having a proverbial dozen balls in the air at any time and despite having people on the payroll to do bookkeeping, he sits down at his computer every night at home, logs into the ERP system, a…

How does he catch credit card fraud? What does it look like?

Here’s a real example that happened to him a few years ago. He was out of town on business and there was a big sale, around $15K if I recall, to a customer from Mexico. The sale was done just before closing (something he saw in the review) and the card was manually keyed in. The story was that the guy’s card “wasn’t reading” so the employee keyed it in manually, a huge red flag. The charge went through but of course ended up in a charge-back a bit later. If you weren’t scrutinizing your receipts and doing double-checking of the big sales, you might miss this until the chargeback hits. For him, there was nothing to do except educate employees and double-down on policies regarding manually-entered cards, big sales made just before closing, etc.

Re: My Stripe Tax Story

#82
I don't know how Stripe's dashboard looks/works, and whether it easily displays the number of invoices left in "draft" state. But when the author writes about the silent failure here,

> No failed API calls (as far as I could tell).

I can't help but wonder whether that "as far as I could tell" is carrying a lot more weight than it might first appear.

Stripe's documentation under "Collect taxes for recurring payments" explains,

Creating or updating a subscription that causes an immediate invoice and payment attempt errors with an HTTP status 400 response. Updating a subscription that does not cause an immediate invoice or payment attempt returns an HTTP status 200 response. However, the customer location validation happens later asynchronously when the invoice is finalized. If the customer location is invalid during invoice finalization, Stripe sends a invoice.finalization_failed webhook. If you don’t take any action, the invoice remains in a draft state.

Which at least suggests that Stripe's API will, in fact, inform you of invoices that fail for precisely this condition.

So is it at least possible that the author "built out [their] Stripe Tax integration" either without implementing what would seem offhand to be an extremely important webhook, or implementing it but not surfacing its results in a timely, actionable way?

Re: My Stripe Tax Story

#83
post #55

My dad owns a successful chain of bicycle stores in Texas. He’s been in business for almost 51 years and he’s one of the largest bike dealers by volume in the country. He has nearly a hundred employees and a bookkeeper. Despite having a proverbial dozen balls in the air at any time and despite having people on the payroll to do bookkeeping, he sits down at his computer every night at home, logs into the ERP system, a…

> he sits down at his computer every night at home, logs into the ERP system, and reviews sales and receipts Sorry, what? How is this OK or even normalized - he should not have to check every single receipt every night. You hire people to do that, and if they cannot do it right, you hire someone else. As OP mentioned, it wasn't a gradual thing, and when you have a lot of customers, it can easily slip through. Even yo…

Similar situation as OP. My dad started the business (his 3rd overall) 22 years ago and it's been growing steadily since. My dad still does daily scans of our ERP. I run the business with him and we have 40 employees, and I too have had similar conversations with him.

While I'm sure there is a better way to do this (e.g. invest in BI, hire and train a person to do this etc.), the fact of the matter is no one else is as invested in your business as you. So you are wired to find issues (even if none exist). It might just be an old-school small business mentality, but it works.

At the same time, it's tied him to the business in a way that he doesn't know how to get out.

Re: My Stripe Tax Story

#84

My dad owns a successful chain of bicycle stores in Texas. He’s been in business for almost 51 years and he’s one of the largest bike dealers by volume in the country. He has nearly a hundred employees and a bookkeeper. Despite having a proverbial dozen balls in the air at any time and despite having people on the payroll to do bookkeeping, he sits down at his computer every night at home, logs into the ERP system, a…

From what I understand from the article, the Stripe dashboard shows nothing wrong, and indeed, apparently shows draft invoices as income, or it’d have been fairly certain the revenue stream had cratered.

Re: My Stripe Tax Story

#85

Earlier quoted context omitted.

Somewhere it says the first million is free, so if you're small time it's effectively free

Still — charging 0.5% for a cron job?! [edit] I’m willing to be educated, please tell me how this isn’t Invoices with stored payments (which I’ve now seen has an additional fee too)

Stripe Billing is much more than a cron job. It's an end to end solution for invoicing. It includes emails, trials, hosted billing and subscription management pages, PDFs, and a lot more.

Re: My Stripe Tax Story

#86

Earlier quoted context omitted.

Could you email me at edwin@stripe.com and we can dig a bit more into this?

Hi Edwin, I appreciate you offering. I did message support about this but it pretty quickly hit the limit of the time I was willing to put in to try and retrieve the money we lost (which wasn't all that much). It is one of those things where the way Stripe charges is technically correct as you need to calculate tax for all transactions even if they aren't fulfilled. But the odd behavior of trying to charge at end of…

It'd be useful to take a closer look at your invoices, so let me know. The Stripe Tax fee is charged for the volume of the invoice—a trial invoice should have a volume of $0, so the Stripe Tax fee would not be charged.

However, after the trial and when your customer starts paying, you'll have an invoice that's >$0—that's when the Stripe Tax fee would be charged.

We talk about a bit about this in https://stripe.com/docs/tax/faq#when-do-you-charge-a-fee-for..., but we'll try to update this with a clearer explanation.

Re: My Stripe Tax Story

#87
post #37

Earlier quoted context omitted.

“Remediations” often refers to exactly that. Would suggest we wait for an update from the author to see how Stripe handles that, if at all.

If there are remediations, it might likely be done under NDA for legal reasons, so we may never hear anything back.

I've never had a merchant sign an NDA for me to fix their problem and/or transfer funds to reconcile a processing error, lol.

Re: My Stripe Tax Story

#88
post #55

My dad owns a successful chain of bicycle stores in Texas. He’s been in business for almost 51 years and he’s one of the largest bike dealers by volume in the country. He has nearly a hundred employees and a bookkeeper. Despite having a proverbial dozen balls in the air at any time and despite having people on the payroll to do bookkeeping, he sits down at his computer every night at home, logs into the ERP system, a…

> he sits down at his computer every night at home, logs into the ERP system, and reviews sales and receipts Sorry, what? How is this OK or even normalized - he should not have to check every single receipt every night. You hire people to do that, and if they cannot do it right, you hire someone else. As OP mentioned, it wasn't a gradual thing, and when you have a lot of customers, it can easily slip through. Even yo…

To me that makes sense, like if you own a factory, visiting the production line might tell you what is really going on at the core of the business.

Re: My Stripe Tax Story

#89

Earlier quoted context omitted.

One more thing to add to this: scrutinizing transactions isn’t just for catching bad stuff. It’s also a way to spot the good. For my dad, it’s a way to spot up-and-coming salespeople who are punching above their weight, for noticing high-dollar sales to repeat customers and making sure that those folks are well cared-for. It also tells him what bikes are selling well and helps him make strategic decisions for buying.…

Poring over individual transactions sounds like a terrible, if not impossible, way to identify aggregate trends

You’re absolutely right and to be clear, my dad also pours over data roll-ups, charts, etc., but he’s never stopped looking at receipts. It’s a habit he’s had since the 70s. Back in the day, he used these electro-mechanical cash registers that had very loud typewriter-like receipt printers. At the end of the day, the manager would run the journal and my dad—-in his office across the store—tell you what kind of a sales day it was simply by listening to the sound of the register doing the end-of-day sequence.

Re: My Stripe Tax Story

#90
post #43

I'm not quite understanding the need to put them on blast here. Yes, they should have been more apologetic and they should certainly have escalated your ticket more quickly. But they made the changes you wanted seen: better documentation & better process, and reaching out to customers proactively when they see this problem.

(I work at Stripe but don’t in any way speak for the company. This purely personal.) I don’t mind them publishing this. It doesn’t feel unfair or dramatizing or in bad faith (etc.) At the end of the day we build things to try and make other humans’ lives easier; to wrap the complexities of “global financial internet infrastructure” so business owners like the OP can focus on things that are not “collecting Canadian t…

> what they wrote doesn’t feel like it’s in bad faith

Not a stripe employee, but this is why I’m glad this was written and published, too.

Obviously the author is upset — I would be, too! — but even if I don’t totally agree with them, they presented their story in a very reasonable, non-inflammatory way, and suggested improvements.

That’s going above and beyond, as far “customer complaint” goes.

Post reply on HN