This is common in the Enterprise and makes me wonder how many companies are undermined by their own accounting/billing departments. Typical problems include:
1) Vendor agrees to to NET 60, but begins to display warnings to end users on day 30.
2) We want to purchase 100 licenses in bulk, but vendor will only sell individual licenses directly to each user, who must pay using the vendor's payment system, with no exceptions or alternatives.
3) Vendor does not have a method to process payment for multiple invoices combined in one check.
4) Vendor sends invoice to wrong account at the same enterprise (way too common).
What's frustrating about these examples is that there is no sales pitch needed; we've already decided to purchase the product. Taking our money shouldn't be the hardest part.
I have some direct experience with this kind of thing on the vendor side and here is how it happened:
1. Launch a SaaS app that people like, with self-service signup and monthly billing by credit card.
2. Continue to grow and become more successful.
3. New leadership comes in, and decides that the path to growth is hiring a bunch of sales people and selling to "enterprises" instead of self service people with credit cards.
4. The sales people start selling to enterprises and promising terms that not only can the billing system not support, but that engineering hasn't even been asked to look into yet.
5. Yell at engineering for not "supporting our sales team" and try to get them to fix it, without slipping other feature launches, and without hiring more engineers.
6. Look like an idiot to all of your enterprise customers because you're selling them a product that was never designed for their needs, and without appropriate engineering scale to change it.
And this is why you decouple your systems as good as possible. The humans in your company need to be able to just prolong premium times manually. When the customer pays in diamonds. Or you want to say thank you to someone and add half a year for free. Ir you decide to accept payments in bitcoin tomorrow.
Never build the payment system tight coupled to the rest. Humans need to be able to overrule anything, anytime.
Yup, this was a lesson I learned the hard way when I built out billing for our SaaS product. I had spent weeks thinking about user accounts, team accounts, subscription, integration with Stripe, how the UI would look, how I would verify VAT numbers for European customers, etc etc etc. In the end I threw all the code away because not a single customer that we had would have used self-checkout billing anyway, everything happens via email, purchase orders, billing portals like Ariba, etc. Monthly subscriptions are far and few between, pay-per-use is something that almost no customer would be interested in. Some customers actually wanted multi-year subscriptions, which Stripe doesn't even support.
It's emails and spreadsheets all the way down if you're building a product for an Enterprise audience.
Based upon this series of postings, it sounds like the problems in the original tweet are the result of decoupled enterprise payment systems, rather than the opposite. As if someone somewhere forgot to manually flip some flag or that they paid wasn't properly distributed throughout the byzantine distributed system.
For every exception, you need someone on top of it. You have a limited pool of people to distribute this knowledge to, and the responsibility for maintaining this knowledge to even if that just invoves knowing where to look to figure something out.
Overrides are tricky to accomodate, standardize, and organize if you don't nail dpwn the appropriate data model for the process.
I think this class of issues partly comes from that sales people have much relaxed, politics focused cognition compared to engineers, and are in disregard of non-human entities. They don’t have distinction between MUST or SHALL or SHOULD, everything is MAY or at best RECOMMENDED, and everything you may say or do must be attributed to a person.
So when told there is this thing which must be done by sales that prevents machines doing what that affects customers, it’s interpreted as either an IT guy is making incomprehensibles or hypotheticals because machines cannot be subject of a sentence, and as an empty demand with no return because neither party gains credits from the conversation.
And we’ll end up in “I told you! You had to!” “Told you what? You didn’t say anything”.
I'm not sure this is necessarily a good rule of thumb. There are plenty of times humans need to be protected from themselves--that's why regulation exists to prevent fraud, etc. It'd be ludicrous for a single sales employee to override payments right into their personal account.
It is SOFTware so it can always be changed. The question becomes who can do the changes and when (which ends up being much trickier to answer)
This is all well and good if you build your product from the beginning with the vision that it will some day be sold by sales people to huge companies. But if your expectation is that it will always be self service, a bunch of design and engineering work to make it flexible just looks like wasted effort. If you guess wrong in either direction in your early development you'll have problems. Either get to market more slowly because you spent time up front building for a future that may never come, or get to market quickly and deal with the repercussions later.
It can be both. AWS and Google in particular (Microsoft was obviously always an enterprise company) started out the individual credit card route and I'd argue a major reason they've been able to grow--AWS better than Google modulo GSuite--is that they recognized they actually needed an enterprise sales force and the things that are associated with it.
Google has been exceedingly difficult to work with from an Enterprise standpoint. We spend millions with them for Google Workspace and I don't even know our account executive's name, nor have we ever talked with them if we even have one. Everything is done through our VAR.
In the meantime I'm well aware of and speak to our Microsoft rep regularly, they know our business and what we need, and have been helping round up resources for upcoming projects and initiatives. It's night and day between MS and Google.
It seems like Google thinks their products are so perfect and infallible that they can cut out the human element entirely. That may work for personal Gmail accounts and such but not so great when you spend millions with them.
Yes but we still have relationships directly with our other vendors (Microsoft, AWS, Oracle, Red Hat, Cisco, VMware, the list goes on).
Despite buying all those through a VAR we still have account managers/executives, dedicated systems engineers that we work with directly at the vendor, except Google.
This sounds terrifying in its own way, but one of the best decisions I made at a tiny (5 person) startup a few years ago was sitting the smart, non-technical CEO down and teaching him SQL. All our data lived in a Postgres database, and he was amazed by the sort of questions he could ask the database. I showed him some SQL desktop tool (and helped him set it up). And showed him some different sql queries he could run and how to export data into CSV for excel. He instantly understood the “single source of truth” idea and why data modelling was important. He was gleeful about being able to change content on the website without asking someone else to do it for him.
I’m sure he’ll make a mess of something down the line, and I hope someone after my time added audit logs (to track what he inevitably changes and breaks). But there’s something deep and important in empowering other aspects of the business to interact with the computing silo. There’s a time for automation. And there’s a time before that where custom tooling isn’t worth building yet. And just changing records manually is the right approach.
And then bunch of naive idealists build system for payments without most important feature - reversibility. Of course, it's used only for speculation and illegal stuff.
The board of directors replaced a founder CEO with an external CEO, new CEO hired a new exec team. Edit: To clarify, things were going well, but the company was scaling and the founder did not want to be CEO of a large company because he wanted to mostly focus on product stuff. So he worked with the board to bring in a "professional" CEO.
> we've already decided to purchase the product. Taking our money shouldn't be the hardest part.
Oof.
I recall one occasion in a small retail store years ago where I got so frustrated at being ignored by the employees, despite already knowing what I wanted and I just needed someone to fetch it from the back. Eventually I held my wallet aloft and asked why nobody here would take my money.
Shut up and take my money, indeed.
There's also the uncomfortable situation where the management model at a company assumes that every sale is the result of customer service, and any time you sell yourself they have to wrangle the system while you stand there watching. I suspect that more companies do this than I think, and some salespeople are doing the wrangling without alerting me to their activity. They are just much better at passing for normal than some other places.
One thing retail consultants do is to watch people checking out and note the obstacles. A classic problem is checkout clutter - impulse buy items at the checkout getting in the way of putting merchandise on the counter. In stores without carts, checkout clutter reduces sale amount, because customers subconsciously don't want to reach the counter and have no place to put the stuff. The Gap, which got this, always had big, clear counters. Bed, Bath and Beyond doesn't get this.
Eventually I held my wallet aloft and asked why nobody here would take my money.
I had an experience like that decades ago, in a large J.C. Penny in New Jersey. I'd just moved to the area and was buying a whole set of linens, pillows, and towels in the middle of the day. So I had an armload of merchandise stacked above my head. I reached a counter in the multi-floor department store but there were no staff around. No one on the whole floor.
I saw a phone behind the counter, so I dialed 0 and got someone. I told them I was at the checkout in Linens and there was no one on the sales floor.
Several minutes later, about six people showed up. Not clerks. The store manager, some junior people, and a grey-haired executive in an expensive suit who was deferred to by the others. By now, there were two other customers lined up behind me. The manager sent off some of the junior people to search for the missing clerk, and they came back empty. The store manager looked scared. The grey-haired executive didn't say a word to his people. He just unlocked the cash register and handled the transaction himself. He did two transactions before someone was found to take over.
I suspected I had just seen the end of some careers.
This could only have happened decades ago - for the past 10 years department stores have felt borderline unattended, at least below the lower upscale threshold of e.g. Nordstrom.
Grand huge stores in prime real estate in world cities, basically empty. Elegiac energy.
This is a problem in a bunch of larger retail stores here in Australia.
JB Hifi, Harvey Norman, Myer, David Jones, Bing Lee, Anaconda and more - I've walked in knowing what I want, finding a sales person to let me buy it is near impossible. When you do find someone who works there "Oh, sorry, I don't work in that department" is the response half the time, and "Sorry, I'm with another customer at the moment, I'll be with you shortly" is most of the remaining times.
Purchasing online for 'click and collect' isn't necessarily any better - I've stood waiting at the collection desk for the better part of an hour while someone goes to find thing that I've already paid for and been told is ready for pickup just an hour prior.
Retailers have gone to try and compete with online by trying to match prices rather than just better service.
If I'm walking into a store it's because I either want it now, damn the premium, or need to see/feel it to know if it's right.
At robo target yesterday. No lanes open, no employees around except a 15 year old kid who told me they don't have the keys to "unlock" the 14.99 headphones off the wall. They called it in. I waited 10 mins. Walked back to the headphones and just YOINKED the box and the stupid plastic bit securely holding it got left behind. Then I had to stand in robo line to checkout like a good citizen - I could have walked out!
> got so frustrated at being ignored by the employees, despite already knowing what I wanted and I just needed someone to fetch it from the back
This has happened to me repeatedly at Apple stores in NYC, any time I've tried to purchase a phone or laptop. It's an extremely frustrating experience, especially for a relatively large purchase. I'd happily wait in a line, just give me some form of ordered queue please. Deli counters can handle this, so why can't a $2 trillion company?
Yeah, it's a bit like trying to buy a watch that get advertised in magazines and billboards but impossible to buy at the jewellery store. Thanks Rolex.
I agree with you but it turns out billing is a hard, unsolved problem.
Basic monthly SaaS subscriptions charged automatically to a credit card? Simple. Selling physical products with a shopping card system? Harder but plenty of existing systems that do it well. Anything else is surprisingly hard, especially at enterprise scale with the level of customization that introduces.
IMO there's a good startup opportunity for a no code billing system that is highly customizable, auditable, and testable. Seeing the level of customization that's often needed I don't know if it's even possible.
Basic monthly SaaS subscriptions charged automatically to a credit card
Even that's no simple anymore.
If you're in the EU, there's new laws around subscriptions, so you have to be able to handle a customer being forced to renew their subscription by re-inputting their security code.
So now Stripe (not their fault really) has a ridiculously complicated paymentintent pathway that's worse than paypal, forcing you to send users to their site, plus you have to write a whole pathway for if a subscription gets flagged for renewal.
But then they would have to customize that and create so many exceptions that it begs the idea for another business idea: Billing system for enterprise SaaS billing software company.
1) Vendor agrees to to NET 60, but begins to display warnings to end users on day 30.
2) We want to purchase 100 licenses in bulk, but vendor will only sell individual licenses directly to each user, who must pay using the vendor's payment system, with no exceptions or alternatives.
3) Vendor does not have a method to process payment for multiple invoices combined in one check.
4) Vendor sends invoice to wrong account at the same enterprise (way too common).
What's frustrating about these examples is that there is no sales pitch needed; we've already decided to purchase the product. Taking our money shouldn't be the hardest part.