
Dear SaaS vendors - market_arts
https://www.liip.ch/en/blog/dear-saas-vendors
======
dtech
As an European, my biggest wish for most SaaS vendors is an alternative to
credit cards payments. SEPA Direct Debit or normal bank transfer after the
invoice would be a godsend.

Credit cards are much more uncommon in Europe (people use debit cards,
business get invoices paid through direct debit), and using credit cards for
ongoing operational expenses is unheard of. This has caused a lot of friction
with the accounting department of the companies I've tried to introduce some
SaaS.

Usually, the solution is that one specific member of staff gets a personal
corporate credit card and has to do tedious declarations and administration.

~~~
leesalminen
As a SaaS vendor with customers in the EU, bank transfers have been a huge
pain for us. We have to log into the bank website to confirm we’ve received an
amount. Then we have to match it up with an invoice, mark it as paid, etc.

Conversely, with a debit/credit card that’s all automated. No manual labor
involved.

Could we automate international bank transfers? Probably. But customers end up
using a debit/credit card because it’s the only option offered.

We recently rolled out ACH bank transfer payments (US only) and offered an
amazon gift card for anyone who wanted to switch. <5% of our customer base
utilized this option.

~~~
galvin
You may want to look into the SEPA direct debit system. It lets you send a
file to your bank to request transfers and they send you back a file with the
results.

You have to register for a debitor identifier and ask your customers for
permission to debit their accounts first but overall it works well and can be
automated. It's the standard way to do direct debits in Europe.

~~~
vetinari
Direct debit doesn't work with all companies, it certainly would not work with
ours. It gives too much control to outside parties.

~~~
dtech
Within SEPA direct debit, you can reverse a charge if it was unwarranted.

In my experience, it's a lot more common and accepted than credit card
business payments in Europe.

------
dcosson
I'm surprised not to see my biggest gripe with most services mentioned - half-
baked account systems, without proper role or group-based access control.

Every startup I've worked at has had some variation of a shared 1Password
account, because most Saas services require a single root account (and I've
never heard of a best practice for managing 2FA on any of these root
accounts).

The worst ones of these Saas companies don't even support multiple accounts at
all, so anybody on the team that needs to log in always uses this shared
account (which is a complete nightmare when anyone leaves the company, as well
as far from ideal from a security perspective). The better ones also support
separate accounts and roles or groups that you can assign people to for
granting permissions. At least then nobody needs the root account for day to
day use, so not everyone needs access to it meaning if anyone leaves you can
revoke revoke their account without rotating the root password. But even a lot
of these still require some sort of "owner" or root account to be hanging
around somewhere, which doesn't belong to a single person.

It's very rare in my experience to find a Saas company that uses exclusively
role-based access, where "owner" or whatever the top-level permission is is
just another role that can be granted to anybody's individual account.

~~~
dandare
As an indie SaaS developer, I know I need to add group-based access control
and I was looking for an off the shelf solution but I was surprised how
complicated this is. I have tried to grok the AWS IAM documentation but I got
lost very soon.

~~~
dcosson
Yeah, I've been on that side of it as well and also didn't find anything.
Feels like something that could even be formalized into a standard and make
things a lot easier and more secure for everyone.

IAM in AWS is mostly for internal permissions, to implement principle of least
privilege within your account. For user accounts, look at AWS Cognito. I
believe they have SAML and Google based login options, or you can implement
your own. It's kind of convoluted to get your head around but it is pretty
flexible and powerful (like most things AWS).

------
encoderer
This is a great list of points, and amusingly it looks a lot like our issue
tracker for Cronitor.io in 2015-16.

I think it’s worth pointing out that these things are not trivial to build and
maintain. Even those items on our roadmap already are unlikely to be
pritorized over product improvements unless we have a customer specifically
request it. Hour for hour I think I can add more value improving product and
adding features compared to, for example, billing workflow improvements.

Also amusingly, liip.ch has a free Cronitor account and emailed support asking
that we add an integration similar to our PagerDuty integration. Our reply was
basically what I’m saying here: we would be happy to build this during your
free trial if you’re willing to take that step and put in your billing
details. Absent of objective ways to weigh one feature against another, “is
somebody willing to pay for this” is usually enough to win the argument.

~~~
jstanley
Although that's nothing too extreme, I kinda feel like you shouldn't be
leaking info about who is and isn't a user of your service, and what support
requests they've been making.

~~~
encoderer
Our standard terms of service include a clause for Promotional disclosure.
Users can opt out.

I do appreciate your feedback and I’ll edit that comment to remove the name of
the vendor integration requested.

~~~
owenmarshall
You consider sharing internal ticket information “promotional disclosure?”

You might just want to delete the original comment; it was an incredibly poor
decision and demonstrates a frightening lack of professionalism.

~~~
encoderer
> You consider sharing internal ticket information “promotional disclosure?”

Yes, I think it’s fair game to discuss feature requests to a saas business in
the comments of a story about feature requests to saas businesses.

------
grantlmiller
Points 5 & 6 are basically requests for change management
([https://www.enterpriseready.io/features/change-
management](https://www.enterpriseready.io/features/change-management))
features. This is SOOOO often overlooked by SaaS vendors.

------
throwaway2016a
I agree with a lot of what this says... this one in particular:

> Lack of PDF invoices

Seriously!?! Your target market is business they need receipts. I even have
one service I have considered dropping because they have no receipts at all.

~~~
thirdsun
Tell me about it. Whenever I hand in an invoice from one of those US services,
I get strange looks from the accounting desk - even the receipts of
established, large US companies barely pass as legitimate invoice, often
featuring little more than a date, email and amount due.

~~~
Androider
That's because invoices and receipts are different things (at least in the
US). You typically get a receipt for a monthly credit card payment. An invoice
may be an extra that is only offered for example with an annual contract, and
may even have to be manually generated, and typically implies payment made
separately (NET-30 etc.).

------
solatic
> the total lack of configuration management

Yes please. I only want the following for Christmas: free testing environments
(enforced with data being wiped out every week, perhaps), a way to provide a
Git repo with the configuration, a way to define the branch in that repo which
should configure this particular instance, and a way to provide read-only
credentials for that repository.

> test out new features before moving to production

Configuration management is not version management. If you really want to
manage versions, run a private instance (on-prem or in your VPC, doesn't
really matter). The whole point of SaaS is that the SaaS vendor takes care of
upgrades for you and that you're not thinking about it (because you have other
work to think about).

------
gingerlime
Slightly OT, but SaaS vendors without clear upfront pricing are also a no go
for me. Oddly, cleanshelf (which got recommended by the OP, perhaps affiliated
with?) doesn’t have a pricing page I could find...

~~~
dusano
Thanks for the feedback. At Cleanshelf we primarily focus on mid-size
companies (100 to 1000 employees) and there it's important to understand the
business needs before we can discuss pricing. I hope you understand.

~~~
GordonS
I read that as "it's important to understand how much we can gouge you for".

Sorry, I wouldn't even _consider_ using a service that isn't up-front about
pricing.

------
beat
The idea of versioned configuration is in part a result of gui-driven
configuration. If you can configure via text file, then configuration can be
versioned via standard version control mechanisms. Otherwise, you're going to
wind up with something half-assed.

I had a lot of insight when I started using Concourse CI. All CI workflows in
Concourse are straight-up yaml files - no gui anything. This is such a
different experience from almost entirely gui-driven systems like Jenkins.

~~~
madsohm
If your SaaS already have an export option for the configuration, it shouldn't
be that hard to versionize it as well. You could intercept all database calls
that change the configuration and just save a copy of the current one. This
can be done in many ORMs already.

------
matte_black
I wish he would cite more examples of what SaaS services he might be referring
to. As a developer I am not aware of what mistakes competitors might be
making.

------
fredsted
These are good points, especially about the invoice PDFs and a way to send
them automatically to a certain e-mail.

~~~
shimms
I'm yet to find a service that allows you to configure two email addresses -
one for accounts related notification (your credit card is about to
expire/your card declined etc) and one solely for sending a copy of invoices.

We use reciptbank (that has an inbound email address for forwarding invoicss
to) for invoice processing into our accounting system.

Currently invoics go to our accounts@ email address (along with all other
accounts related stuff) and the invoice specific emails are forwarded onto
receiptbank manually.

Would love to be to tell the saas platform to split that out into two
different email addresses.

~~~
_pdeschen
Why not set a forward filter based on the subject on your end?

Been doing that for years...

~~~
shimms
Could do (and have in the past). But it is a workaround, and takes extra
effort.

A couple of our suppliers do have the separate-email-for-invoices-only thing,
and it really is super convenient to know that any changes they make to their
invoice emails (subject lines etc) won't break our forwarding rules.

Also the forwarding rules don't survive email migrations (which I admit is a
super infrequent thing to do). When we migrated from Google Apps to Office 365
we lost the rules we'd previously set up for this type of thing.

------
PeterStuer
Nice list for a B2B SaaS. We (
[https://tasksinabox.com](https://tasksinabox.com) ) are certainly guilty of 5
and 6. I'll bring it up with the team.

------
diziet
This is a nice list, though not all of them take into account what specific
features will help a company grow / generate revenue / reduce complexity.

For example, change management and by-use billing and/or monthly billing don't
go hand in hand. If you want something like change management, it'll be a
serious investment, not a piece of software you pay $50 / month for.

------
johngalt
I agree it's a mess. However, most SaaS vendors realize that the people who
have to clean up after them are often not the people in charge of the
purchasing decisions. If you end up paying them for years merely because you
can't find a way to gracefully exit, they do not consider that to be a poor
outcome.

------
edelans
Interesting list indeed. At my company (saas provider, ~60 people, B2B
learning platform, ARR in millions), we are considering providing a test
environment to enable our users to test our new features (we deploy new
features every ~6 weeks).

One thing that make us reluctant to do this is that we doubt people from our
B2B users will put the time and efforts needed to fing bugs in a disposable
test environment.

I'm really interested in learning the best practices to "battle-test" a new
release for our current stage. Because for now, gradual feature deployment "à
la GAFA" looks way too expensive at our stage (deploy to 1% of the user base,
get feedback, fix bugs, proceed to 10%, repeat, and finally 100%).

~~~
encoderer
Put feature flags around new features, add a “show beta features” setting.
Allow people to opt-in.

------
dfee
Interesting. I’m giving a go at building a SaaS product on top of erpnext.
Many of his requests are covered by default functionality.

And, while the documentation for erpnext isn’t the greatest, it largely just
runs WSGI apps with an interface to the underlying ERP.

I’m attempting this route, because information management becomes a nightmare
across 20 applications and 5 users at a 20 person company.

------
martinald
Agreed entirely on auto suspending inactive users. Testrail by far are the
worst with this, we added a bunch of users by mistake after our JIRA
configuration went a little... over the top, got an enormous bill for two
months and despite us never logging in they refused to refund.

------
martin-adams
Receipts is a huge one for me for services I use as a Business. Even better is
VAT receipts. My most frustrating is Backblaze as what they provide is next to
nothing other than a transaction entry. So every month I print it to PDF and
it's just a rolling total for that year.

------
cwyers
> One of the several holacracy roles I have at Liip is called “Platform
> Gardener”.

Is calling something a gardener enough to keep it from being management?

~~~
lsmith77
no .. but we choose this different terminology because management is usually
associated with decision power, where as explained in the blog post, I just
help people get whatever they decide themselves.

------
jontro
Being able to use LDAP for authentication would be nice for a few services.

~~~
vetinari
You don't want to use LDAP over 'net, foreign services have no business to
bind to your LDAP. Use SAML or OpenID-Connect, they do not expose things that
should not be exposed. If you are using them consistently, you will get SSO.

