My point: if you let this kind of fuck-up go undetected for over three months, you have to at least assume some of the blame and acknowledge that you probably could have caught it if you scrutinized transactions. Every good business owner does it.
My point: if you let this kind of fuck-up go undetected for over three months, you have to at least assume some of the blame and acknowledge that you probably could have caught it if you scrutinized transactions. Every good business owner does it.
I work in eCommerce and occasionally there will be something like a script or config gets messed up and an issue with billing will happen. And being the "expert" I'm usually the one called to fix it.
I wish I could count the number of tense discussions I have had that are along the lines of:
Them: We haven't been charging tax in Canada for three months because the config was wrong. Fix it!
Me: (some more polite variant of) So just to confirm, this has been wrong in your ERP... hundreds of thousands of CAD of uncollected VAT... for 3 months and you're just now noticing?
It is, unfortunately, an extremely common discussion. That or some close variant of.Not sure a ton realize that data is now a core piece of their operations.
That doesn’t mean every transaction needs to be manually revived, but major outliers and a random sampling is a good idea.
I’m far from perfect, and that’s why the CPA comes in after me to check. But if i wait for those quarterly checks to “check in” on quickbooks, that’s on me.
> As a human I can only mess up one or two orders a minute. Computers are uniquely qualified to mess up thousands of orders in seconds.
It relies 100% on the settings of the application in question, because tax codes and procedures vary greatly around the world, and it's internationally used software. There are even some stores using this software that sell items to and from different countries using the same website, so it can be set up to handle tax differently per product.
Not everything is taxed everywhere, so it will accept it without question if someone sets up a product with the tax class "none", and happily log, process and store an order with 0% tax.
Yes, it's a footgun for the inexperienced to be able to accidentally commit tax fraud, but no, the software can't just override the user input and insist that a 25% VAT should be applied to random things based on ... what? The name? A hunch? MaChInE LeArNiNg?
Manual audits are used to discover human error, be it my error in creating the software, or your error in the data supplied to the software. I can create the logs and make them as easy to read as possible, but if you don't read them for three months, that's on you.
Yeah it sucks, but the more we try to take the accountability out of the humans and put it into the software, the worse both the accountability and the software gets.
Just like everything out of silicon valley, creaky bare bones bullshit with meager support and a total hands in the air philosophy when it comes to responsibility.
As a US customer Eventbrite sends me an invoice/receipt in GBP yesterday. I scramble around looking for an invoice in USD and find nothing despite putting all of my information in pointing to the US. It's like doing business with toddlers.
They payment was processed in USD but there is zero mention of exchange rates or anything. My support option? Contact the poor guy trying to make his life easier by using their service. I have come to expect this vapid garbage unfortunately.
Software exists so users don't have to do stuff manually. But people should absolutely check on things periodically. That doesn't mean it's always necessary to check every single transaction, but spot and sanity checking is mandatory diligence, IMO. I pay my CPA to do my taxes so I don't have to do them myself, but of course I sanity-check the end result before signing off on it.
And OP made a huge change to how he was invoicing/taxing his customers, and then didn't verify that things were working properly after making the change? That's just irresponsible.
Stripe's documentation and API could probably stand to improve here, but that's the nature of products and API UX: never perfect. I do think it's pretty lame that Stripe's support and product people were evasive and did a bad job of admitting that the product had some rough edges that need to be improved.
But... c'mon. Not checking something as basic as "are my customer's payments being processed properly" after making a large change to the payment processing pipeline, and only finding out something was wrong, three months later, after an honest customer asked why they weren't being billed? That's pretty bad.
Is it more than 0?
Is it more than yesterday?
Seems like 2 or 3 dead simple controls on his part could have avoided this.
As for why they're inevitable, the context is that most enterprise software is off-the-shelf and serves many markets, so configuration becomes the point of weakness. Only bespoke software written for a very narrow sector, or tailored to serve a single business, can really hope to do better.
We might hope things were different, but they're not, and as long as software continues to be developed by the humans, it's likely to remain that way.
None of this is meant to absolve Stripe, however, since in this particular instance they rather appear to have contributed to the fuckup by omitting a key element of auditability, viz. the clear reporting of exceptions.
I'm all for blaming the software (which by the way in this case is made by a huge company I am 100% sure you know and costs hundreds of thousands of dollars to operate)... but the real problem here is the complexities of tax (I used Canada as an example but the US is the absolute worst because each state makes their own lows) is not a software quality problem, it is a data and open standards (or lack their of) problem.
But since the lack of standards is not being fixed any time soon, sometimes it "is" the user's fault.
I'd argue most ERP's are fine, it's the implementations that are garbage.
Because there is a strong lobby that prevents it.
https://www.propublica.org/article/inside-turbotax-20-year-f...
Money has too strong a foothold in American politics. (In other countries too, but especially in the land of the free.)
Tax credits for education, clean energy, penalties, small businesses, mortage interest, each one of those one-off changes adds complexity, and in total ultimately can make the process dramatically more difficult.
The citizen can either pay that number, or offer amendments to the details which imply a lower rate (or higher if you're a masochist, I suppose).
That's independent of the complexity of how that number is derived, and in balance I would rather the US (as a citizen thereof) use this sort of system than the one we happen to have.
There is nothing inherently wrong with that. Whether you do or do not agree is a different question.
It's interesting to look at different cultures:
The Swedish word for "tax" is "skatt", which literally means "treasure". Historically it was part of the treasure to be collected by the monarch and other people in power. So, not really a way to cover government expenses, but for somebody in power to enrich themselves further. Luckily, the country has moved on from that, just kept the word (and the king).
The German word for "tax" is "steuer", which literally means "to steer". That makes it clear that those fees are not just collected to finance government expenses but to even steer society in a certain direction, i.e., what you mean with policy.
You can streamline the process and at the same time turn it into a single bill that would be much more shocking to tax payers than the current situation where they often get either a refund or a small bill.
Let's say somebody makes 100,000 USD a year and pays 40,000 USD in tax on it. Today, they see 5000 USD on their account every month. Sometimes it gets adjusted a little up or down, depending on what they did on the side, had some stocks, mowed the neighbors lawn, whatnot. But their lifestyle is generally adjusted to 5000 USD a month. Housing, utilities, entertainment, restaurants, hobbies. Now tomorrow we switch to a scheme where they instead get 8333 USD on their account every month, and a 40,000 USD bill every spring. You'd be surprised how many people would adjust their lifestyle, with direct consequences even for tax revenue. You can even imagine a new loan sector that offers you those 40,000 USD in spring that you then can pay off over time. Great, now the monthly payments essentially go through a bank before ending up as tax, but the bank takes their cut. Everybody loses. (Well, except the bank.)
Now you could argue that's the individuals' problem. Get better with money. Educate people, teach it to kids in school. (Really? The education sector is already overwhelmed as-is.) That's not how society works though. Even if the well-off educated elites would like (which is what the HN crowd is part of, no offense..). Humans are not rational agents. If they were, the world would look very different.
If I was optimizing my actions based on what would create the most anti-tax sentiment, this would be a positive outcome, not a negative one. What's worse than a bill from the government? One you can't afford to pay and that causes you to take on debt.
To be clear I'm not optimizing my behavior on such a metric nor advocating for others to do so. I was talking about the purposed hypothetical of lawmakers who were making such an optimization and what sort of laws they would, in theory, be supporting.
I'm not sure where you get this from. People on the right have been yelling about simplifying the tax code for a long time. Flat tax, "postcard-sized tax form," national sales tax, all kinds of ideas have been floated. Even eliminating the income tax altogether and going back to funding the government through tariffs, those the people who suggest that wear a lot of tri-corn hats or subscribe to "Reason" magazine.
The fact of the matter is the tax code is the biggest trough from which politicians can reward donors, lobbyists, and other allies. A nice tax carve-out for left-handed buggy whip manufacturers is easy and cheap, and nobody reads all 1100 pages of some omnibus bill, so whoever slid it in can claim to be "for small business!" (the right), or "making the rich pay their fair share!" (the left).
As for the general population, all of their taxes are taken out of their paycheck. Taxes aren't hard for them. They pay a few thousand in income and payroll taxes over the year, they get a thousand or so back in a refund, and they think everything is great.
If there was a bill that eliminated all the tax code and replaced it with a brochure-sized alternative, there might be some on the right who would object, but EVERYBODY on the left would lose their minds. I can't think of a single progressive who has supported a simplification of the tax code.
https://www.huffpost.com/entry/grover-norquist-taxes_b_30056...
Very odd argument.
Nordquist can be both against improved tax prep software/procedures and for simplified tax laws. We know he's against the former; he's explicitly stated he doesn't want the US government producing tax prep software or doing any sort of additional legwork on the behalf of tax filers.
I read Norquist's article as more along the lines of "don't let the IRS determine what is and is not taxable," not so much about having them produce tax prep software. I suppose you can squint and read that, fair enough, but that does not address the issue of whether Norquist supports or doesn't support simplifying the tax code.
You know, the one where a single mom with children to feed pays the same percentage of her income as the single billionaire that wants to buy a 3rd yacht.
Look up Grover Nordquist. He has devoted his life to making sure paying taxes doesn't become too easy. And he ain't no lefty.
And the proponents of a flat tax would say "so?"
There's a fundamental ideological incompatibility here and unless one side stops caring or puts the other in the ground the bickering will continue.
I guess you have never read anything about the various flat-tax proposals. There have been several, and they have all accounted for those with lower income levels.
One of the fundamental tenets of the flat tax is 14th Amendment "equal protection." Is it constitutionally acceptable to treat a rich person differently from a poor person? The flat-tax people say no. Progressives say yes. I do agree that a progressive tax system has merits with which I agree, but I also think it's perfectly reasonable to assert that falls afoul of equal protection, and therefore should either be rejected or an Amendment should be presented and passed to account for it.
Progressives tend to turn this distinction into a moral argument about fairness, which is not how a government that is bound by law is supposed to work. If you want the government to work on a moral basis, don't be too surprised if a later government with different moral frameworks do things you don't care for.
>Look up Grover Nordquist
Somebody else brought him up in a comment. Taking your assertion at face value, you have one data point suggesting the right doesn't want to simplify the tax code. Good job, but I've got a competing data point of Paul Ryan, who was an actual Congressional leader in the Ways and Means Committee talking about the flat tax, and not an activist gadfly. I think my singular data point carries more weight than your data point.
As for Paul Ryan, he proves my point. His proposal included a huge break in corporate rates in exchange for a modest break in middle income taxes.
I don't care how good AI in finding tumors in x-rays is, I still want a set of skilled eyes to confirm findings.
It's the same reason I double check all my paychecks to make sure I'm paid the right amount and the deductions are correct. All of it's automated on the backend, but it's still my money and worth double-checking.
They do. We can leave aside the practice in many European countries to compute your income taxes for you, based on reporting by your employer and financial services. Even in the US, high quality software is provided for sales tax compliance. In fact, according to the Supreme Court, the presence of that software is one of the main reason they overturned their "no interstate online sales tax" decision in 2018. One reason was
> Streamlined Sales and Use Tax Agreement. This system standardizes taxes to reduce administrative and compliance costs: It requires a single, state-level tax administration, uniform definitions of products and services, simplified tax rate structures, and other uniform rules. It also provides sellers access to sales tax administration software paid for by the State. Sellers who choose to use such software are immune from audit liability.
Which, I guess to return to the point we set aside, is because companies can lobby for public software for their benefit, but tax prep companies can lobby against public software for their benefit.
It might work in the EU but in the US there’s state/county/municipality taxes that can get quite complicate. My zip code has a small area in my county and my county is at a 6% tax rate. Most of the zip code is another county that has a %7.5 tax rate. I have to double check large online purchases just to make sure it’s correct. Almost every place shows the wrong tax at checkout due to using my zip but’s it’s always fixed when my card is actually charged.
Most people are using SAP or Oracle to do this kind of thing because they already know the ins and outs of tax locales.
My state doesn’t have to give a rip that NYC has a city surtax on this but not that, or that some other jurisdiction treats clothing items up to $100 as non-taxable while we put the limit at $175.
I suppose that would be like asking the EU commission to provide tax software for all its member states.
In the US, jurisdictional/funding issues are the biggest blocker. There is no federal sales tax, so the IRS can't use its budget to pay for this. State agencies are not going to be able to use their funds to pay developers to add functionality for a different jurisdiction, and ditto for counties/cities/special districts, which tend to have much smaller budgets anyways.
The best avenue would probably be something like ITOR (the funds that give USDS its wide remit to help any gov agency with their tech needs), but states and localities aren't always open to receiving this kind of help. (It did happen with unemployment programs during the pandemic, but the lawyers had to lawyer pretty hard to make that possible.)
“The only thing government is good at is creating more government.” - P.J. O’Rourke
This all comes back to how poorly we integrate the solutions we build. The position of engineers is such that a free pass is often given for failures like these that are fairly well obscured from view. Similar failures for different roles within the same companies get treated differently. While engineers hold outsized power, it is very difficult to completely address these issues.
For your SaaS, it might be noticing patterns across your customer base and using these patterns to refine your product to cater to a certain facet of customer that seems to like your product, or spotting potential transactional issues before they cause a churn.
It seems like it wasn’t made clear in the docs that invoices aren’t finalized in these circumstances until later.
(I don't know whether the software used makes this easy?)
Btw, you could also fit this into the conceptual framework of accrual accounting, if you modelled counterparty risk.
From what I remember, in general you have to recognize outlays with certainty, but you have more leeway in how you treat inflows.
In general, you can also keep whatever you want in your books and run them however you like; you just have a legal obligation to also keep accounts that are in line with established standards.
You see this distinction in GAAP vs non-GAAP numbers in the US, where GAAP stands for Generally Accepted Accounting Principles.
In banking there's an obligation to model counterparty risk; but I have to assume that banks keep multiple copies of their balance sheets and accounts around:
One version for eg tax purposes, and another version for things like determining capital requirements and risk exposure; if different rules apply in the different domains.
Heck, in many ways, double entry bookkeeping on the accrual basis would be less likely to notice it.
It’d take both an open invoice and running an A/R aging to catch this one, which isn’t implicit in double-entry accounting.
Is it just me thinking this is actually crazy that they didn't notice even through a quarter closing? One could argue they're a small business but then how does the business not notice multiple months of AR being delayed.
I'd much rather bet on a business owner like your dad, who's deeply involved. Sounds like your dad's receipt reading was a great habit to have, and paid dividends far outside of just "making sure things were running OK on a daily basis".
Someday it'll be my own personal Double Double Animal Style.
That's why we don't have self-driving cars yet.
> You get used to it, though. Your brain does the translating. I don't even see the code.
> All I see is up and coming salespeople, valuable customers, strategic products.
> You want a drink?
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 your father would be the same here - if a few people who should have been charged a recurring bill did not, how would he remember that?
> Every good business owner does it.
Absolutely not. Every good business owner gets someone to take care of it, and then double checks their work at times.
It sounds like a lot of work but over the course of many years running the same business, you develop a sixth sense for problems and can quickly scan a spreadsheet of receipts and spot issues. There are dozens of other “versions” of the late-night ERP scan. He can do the same thing walking across a showroom floor or taking one of the company’s Sprinter vans out for a drive.
It’s a way of life for him. He lives for his business and still works seven days a week at age 74. His business is exceptionally well-run and has been recognized nationally for it.
https://www.mysanantonio.com/sa-inc/article/SAInc-Flux-Bike-...
Q: How’d COVID impact your business?
A: Terrible. We haven’t lost any employees, but we’ve had staff who’ve lost family members to COVID.
I was expecting him to talk about financials but this highlights what you said around his interaction with employees. Thanks for sharing.> you absolutely have to be involved in all levels of your business if you want to be successful
But it does sound like your dad is a very effective delegator and has given a lot of autonomy to people in the business - a skill you definitely need to be highly sucessfull in business.
So, maybe... stay involved at all levels, then find people who are good at a role (that you trust) and give them autonomy... and the you don't have to stay in the weeds for all roles any more?
To the parent comment's point, maybe the receipt checking part could have gone that route, but there was never any one who was right for a role like that in the business?
It would be interesting to learn what his red flags are (for errors and fraud), what his markers for attention are (good customers and staff).
I wonder if some of this could be scripted or otherwise encoded. At a minimum it might help him out.
I am a highly anxious person, and it can be debilitating.
But when you're talking about taking payments and arranging the collection of tax, I reckon it's wise to treat your anxiety like a colleague. Give it the best chair; make sure it has lunch, and not too much coffee. And listen.
If your dad loves the work, okay cool. But your effective implication is you cannot have anyone else do this, which is obviously absurd because there are companies much much larger than either of ours that pull it off.
The key point is not "the owner has to do it", it's someone has to be held responsible for this.
For smaller businesses, it's likely the owner. For someone like your dad's, it's usually someone else. Even a solid bookkeeping system would have picked up what OP missed.
> you develop a sixth sense for problems
100% agreed, but for the owner/operator it's usually all things, but for the person who is responsible, it's usually a lot more of the minutiae.
It's literally impossible to be the master of all things.
Bookkeeping is different, though. He's actually been defrauded by a bookkeeper in the early 1980s. I don't know the details but she was siphoning money from the business in some scheme, probably a 1981 version of OP's Stripe API issue. If you simply trust a person like this and don't verify regularly, the mistakes and frauds happen. Receipts is where the rubber meets the road for a retail biz and I just don't see a substitute for an owner who cares and checks.
I think that's it really - you need to have checks and balances on all things (including yourself imo as the boss).
Personally I would not want to be double-checking receipts every day (and with 100 employees, the volume is likely significant), but if he enjoys it, that's all that matters eh!
> Every good business owner does it
and
> Every good business owner gets someone to take care of it
is…maybe not really that large? Both amount to "every good business owner ensures that receipts are checked daily," and that clearly wasn't happening here.
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.
However, to push back a bit, I think sometimes it’s easy to believe that we’re the only ones who can do something because we’re the only ones who have lived and breathe it for 5+ (Pick your number) years. And one might be surprised if they actually tried outsourcing how competent some folks can be.
Next step up is stuff outside of your core-competency. So that's where the CPA comes in to take some financial stuff off your plate. This can be hybrid with an admin assistance.
Then you get into the "core" functions. For a media creator, that might mean editing. Again, it's easy to fall into a trap of thinking some other editor won't be able to match your style or voice. But when you hire someone who sees themself as primarily an editor, and they're good at their job, they're really good at adapting and adopting voice.
With all of these things, often the person you're offloading to can't match your output 1:1. But if they can get you 90% completed rough drafts of the final deliverable, there's immense value there all the same.
Coming from the tech world, a lot of my focus has been setting up processes, piece-meal outsourcing and letting employees have more autonomy. Recently we even set up a small team in the Philippines to handle data entry.
However, I've grown to appreciate his view as well over the years.
This is so important, and I think it's what differentiates small owner operated businesses from multinationals and chains.
Your employees are not going to idly look through logs to see if everything is running smoothly when they are done with their tasks, they'll just go home and call it a day.
Because that's a job!
The MINIMUM most people would expect would be a notification either by email or on the dashboard to say that an invoice cannot be processed and at least that would highlight the problem. Even better, when you enable Stripe Tax, it should highlight the people who cannot be charged tax and likewise when you add a new customer who doesn't have the right info, it should notify you.
I find it really frustrating when a multi-billion dollar company cannot think of UX 101 and the customer has to do the heavy lifting.
This is just another variant of "cloud first" mentality, assuming that cloud service providers are actually going to be better than you (as opposed to just cheaper) in carrying out these tasks.
The companies I've worked for put enhanced auditing and reporting in place before this sort of thing went live to make sure it was working right.
I think it is a variant of "assumed correct" which gets me into all kinds of trouble when I make that assumption.
This guy is working alone and likely has less time to go into detail like that.
Yes. 51 years in business. I'm positive that the "hard way" that Dad learnt his lesson was by losing money.
Please do not be judgmental of OP.
(I worked for 6 years in that side of the industry. Particularly when it might apply to point of sale software.)
Assuming normal closing hours of 18:00-20:00 o'clock of course.
In the example above, you have someone coming in making a large purchase, which is probably odd if you've never seen this person before (eg: you would have expected them to come in and "kick the tires" and talk to employees a few times before making the actual purchase, even if they did a lot of online research). Plus the non-working card, and being late in the day. Of course, it's also possible that the whole transaction could be legit. If you suspect fraud though you can often do or say things to gauge the persons response. Tell them that for such an expensive purchase you'd really like to tune the bike up and make sure it's perfect, can they come back and pick it up first thing in the morning? Stuff like that, if the person accepts that, or seems to genuinely consider it, it's probably not a fraud sale. If their immediate reaction is "no way", or they get defensive, it could be a red flag.
ed: sibling comment nailed it also. Didn’t even consider that, good stuff
When I step on your toe, you should apologize to me, because you could've been more mindful of your surroundings and prevented it.