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

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.

This should be a rule of thumb for everything.


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.


The GGP used the wrong term. What he describes is a system that is overridable, not decoupled.

You are right in that decoupled systems aren't good.


I agree, but herein lay the rub.

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”.


> Humans need to be able to overrule anything, anytime.

This needs to be a guiding principle of anyone who builds any sort of software.


This. "I can't do this, the computer doesn't let me" ought to be as absurd a statement as "I can't do this, the intern doesn't let me".


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)


Especially in avionics...


Saab sells a plane where moving the controls manually does not disable the autopilot....


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.


Isn’t it the point of a VAR that the VAR, not the vendor, owns the client relationship?


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.


"Sometimes there will be bugs."

Having human overrides to correct or change data is equally useful for just fixing what you get wrong yourself, as it is for special cases.


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.


So who decided to get "new leadership"?


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.


take my money

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!

BIZARRO


> 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.

Sometimes its difficult to part with your money


I wonder if they would have ignored you still if you politely asked for help. Otherwise, I can understand your frustration.


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.


Business idea: billing system for enterprise SaaS software.


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.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: