
Show HN: WeKeep – A spreadsheets-first accounting software - nadima
https://www.wekeep.co
======
nadima
Hey all,

Nadim here, I'm the founder of WeKeep.

In my previous startup I found that Xero and Quickbooks are not suited for our
needs; that they are more geared toward small businesses that need to issue
invoices to customers and for typically low volume transactions. You can use
their APIs and build an integration, but I found that most startups are not
willing to put their engineers' precious hours into this at the early stage –
so they end up tracking their financials in a spreadsheet.

So I built an accounting software with a spreadsheets-first approach. WeKeep
is a double-entry accounting software with in-browser spreadsheets (for the
most part) to serve some common use cases, but also has all the advanced
features an accountant needs for when you're ready to hand over.

A typical use case of early stage startups that we've used WeKeep with: They
don't send out invoices (no accounts receivable), so instead we created
simplified invoices - these are invoices paid in cash (typically through a
payment gateway or a POS). So they can export data from their backend and
paste into the simplified invoice sheet. Same for expenses – typically no
accounts payable, just expenses paid for through a company card or a founder's
personal card.

Right now the product isn't tailored for any geography, so you'll probably
find several features lacking (e.g. Stripe integration, bank feeds). I'll
surely get these going at some point if I see traction.

Would love to know whether this is something you would find useful, and if
there are any hard requirements for your geography I would love to hear them
too.

~~~
zizee
I created a test account to have a play around. Looks like a solid start.

> I found that Xero and Quickbooks are not suited for our needs; that they are
> more geared toward small businesses that need to issue invoices to customers
> and for typically low volume transactions.

It sounds like you have identified a niche that you feel WeKeep is designed
for. I think that your landing page should reflect that.

I would say that when people are choosing their account software, they really
want to know you're trustworthy and are going to be around long term. Are
those testimonials all legit? Because that really helps to make me feel
comfortable.

Other things I have see similar software do is put on their front page
"$1,000,245 in bills recorded", "X invoices tracked and paid". Knowing others
are using your software to do their accounting successfully will help people
trust you are the real deal.

One thing that I would want to see before I would really start using such
software in earnest is the ability to get my data out quickly/easily if I need
to switch to another account software provider. Import features would also be
important as a "getting started" thing.

Last tiny bit of feedback: I found it a bit difficult to logout as the logout
button is hidden in the settings.

~~~
nadima
Thanks for taking the time to test it out and write this feedback! Definitely
one of the main hurdles to overcome is gaining trust from users. Right now the
approach is to take it slow and gain users one by one, starting with the ones
who are the most comfortable with cloud software.

Great point about making it easy to export your data. Would an "export to
google sheets" work for you, or is there any specific format you have in mind?

~~~
andreareina
I'm not in your target market, but csv/xlsx/ods would seem to be the natural
export formats.

~~~
nadima
Got it. If I may ask, when you say not in target market, meaning you're not a
startup, or prefer non cloud solutions, or something else?

~~~
andreareina
Not a startup, but also a data sovereignty thing. I realize this doesn't play
very well with SaaS though.

------
stevenicr
Thanks for sharing, I toast any and all competition for quickbooks.

I clicked pricing first thing, and thanks for having that accessible quickly
(not hidden)

I am not the target market perhaps. I want software I can download and own. I
am going to assume this is cloud based since it's a monthly fee - I also want
software that keeps all my financial data local and out of the clouds.

thanks for sharing, you add hope to my disdain for QB.

~~~
nickjj
For offline book keeping there's always GnuCash[0]. It's free, open source and
cross platform. I've been using it for years. It works really nicely and my
accountant is always happy with how tidy things are when we go over
everything.

[0]: [https://www.gnucash.org/](https://www.gnucash.org/)

~~~
h2odragon
I use gnucash as a better check register and it almost got me understanding
and doing accounting... couldn't recommend it strongly enough. Wonderful
package.

OP's "its a spreadsheet doing what you do" is so much more welcoming to many
of those just trying to be a business. There's folks trying to see if their
hobbies will pay, who can use this. If you asked them to install gnucash
they'd argue that "i'm not really in it for the money" because they're that
scared of attempting to learn "Accounting".

Add Integration with payment processors and it should grow like a kudzu
plantation.

~~~
nickjj
> Add Integration with payment processors and it should grow like a kudzu
> plantation.

I think part of the appeal of GnuCash is it's an offline solution that
integrates with nothing. You don't need to think about another company taking
all of your private financial records and selling it to advertisers behind
your back for profit.

Something like payment processor integration would require you to always be in
a position to accept webhooks from your payment processor, which means
standing up a web server. But if you really wanted to do this behavior you
could likely pull it off without that. You could write a script that downloads
your payment gateway's CSV files every day and write an app that imports that
into GnuCash.

But honestly, that seems like overkill. Payment gateways will send you a 1099
every year with a monthly breakdown, so it only takes a few minutes to get
these numbers into GnuCash.

I use GnuCash to manage my business in a similar way to spreadsheets. I mean,
each GnuCash "account" is like a different spreadsheet sheet and you just add
transactions to it. The only difference is you also have a column for where
those funds get added to or removed from, but GnuCash can be configured to
default to a specific account and then suddenly you barely have to think about
the double-entry aspect of it.

~~~
nadima
I personally also like software that allows you to become a power user.
GnuCash is one of them, but unfortunately not accessible to the vast majority
of people –- too nerdy :P (not a criticism!).

Most people don't want to learn accounting tbh, not even that – they hate
doing it.

~~~
nickjj
> Most people don't want to learn accounting tbh, not even that – they hate
> doing it.

How is it accounting tho? If anything it could be classified as tracking your
income and expenses, but you would be doing that with a spreadsheet too.

I wrote about GnuCash a few years ago at
[https://nickjanetakis.com/blog/using-gnucash-as-a-
freelancer...](https://nickjanetakis.com/blog/using-gnucash-as-a-freelancer-
to-track-finances-and-prepare-taxes)

But there's a screenshot in there near the middle showing how I tally up costs
for Netflix. It's pretty much exactly like a spreadsheet. In a way it's even
easier than a spreadsheet because a lot of columns are auto-filled out for you
like the dates and all of the totals get auto-calculated for you. It takes
like 3 seconds to make a new entry.

------
CaptainZapp
I am the only one that sees trouble ahead with name?

There was such a brouhaha with the We brand (WeWork, et al) that it's hard to
imagine them keeping silent.[1]

I really don't want to rain on your parade, but are you really willing to
fight a bunch of high powered lawyers as a startup?

[1] [https://www.businessinsider.com/wework-ceo-gives-back-
millio...](https://www.businessinsider.com/wework-ceo-gives-back-millions-
from-we-trademark-after-criticism-2019-9?op=1)

~~~
nulbyte
> I am the only one that sees trouble ahead with name?

I saw this and instantly thought it was related, before it dawned on my that
they wouldn't post to HN.

------
an20
Congratulations, well done. Out of curiosity, which database and
language/framework did you use to build WeKeep especially in the backend? It
seems as if you are using react virtualized as your grid component. That's
interesting, as I developed such a grid component from scratch in my previous
job, as there haven't been any satisfactory libraries at that time.
Additionally, we had to support IE9, which was a real problem for any
performance optimization. Especially rendering performance with a lot of data
has always been a problem for us. Does react-virtualized solve this problem
for you with the virtual rendering approach? And did you investigate the
available spreadsheet libraries like "Handsontable" or "agGrid"?

~~~
nadima
I'm running Django in the backend with Postgres.

That's right, I'm using react-virtualized right now with a customized react-
datasheet. I found it's a good first iteration, as even fully rendering 100
rows will result in pretty poor performance, so the windowing technique is
definitely a must.

That said I'd really like to reach Google Sheets-like performance. Do you know
how it's built?

Haven't looked at Handsontable or agGrid, will check them out.

~~~
an20
An excellent decision, I guess. I'm somehow thinking way too much about such
details instead of starting any project. In my previous job, we have used PHP
at the backend, but somehow, I like the syntax of python much more. And the
community and number of projects around Django are just mind-boggling. So you
are probably using Django-REST for the API?

With react-virtualized, you are already on the right path as virtual rendering
- rendering only the currently visible cells - is the key in regards to the
performance of DOM-based approaches. But if you want to reach google sheets
performance, there is probably no way around canvas-based rendering (e.g.
[https://github.com/fin-hypergrid/core](https://github.com/fin-hypergrid/core)
or [https://github.com/TonyGermaneri/canvas-
datagrid](https://github.com/TonyGermaneri/canvas-datagrid)). Office 365 seems
to use a canvas-based approach as well. The problem with the canvas-based
approach is that interaction like mouse clicks and key navigation is a lot
more complicated. I think one of the fastest DOM-based grids out there is
[https://github.com/6pac/SlickGrid](https://github.com/6pac/SlickGrid). But
there shouldn't be too much difference in performance to react-virtualized as
both are DOM-based. Often these components are called "grid" if you search for
alternatives. Feel free to contact me if you have some specific questions :-)

~~~
nadima
I think the limiting factor on my side is the complexity of the DOM – each
cell contains a few more nodes, as opposed to most of the demos you will find
which usually contains a simple node. Also, I'm not virtualizing horizontally
yet, that's another potential perf booster as some of my sheets have lots of
columns. Thanks for the suggestions, I'll hit you up to discuss more.

------
phiggins
Hey Nadim,

First congratulations! Add Stripe as an integration and we’re absolutely in.
They have a great Partner program that you can apply to for.

~~~
nadima
Great to hear! Yes a Stripe integration is the next obvious thing. Do you use
anything to track your financials right now?

------
mc3
I like the idea. I'm not sure how a spreadsheet interface would help with
"high volume transaction" (thousands?) situation. I thought API integration
would be the way to go with dealing with a high number of transactions?

~~~
nadima
For thousands of transactions per month yes, API would probably be the way to
go, but for up to a few hundreds we found spreadsheets work well and allow for
easier bulk changes than other accounting softwares.

------
darkhorse13
Amazing stuff. I'm really into the idea of using spreadsheets as a front-end
for these kinds of things as most people already know how to run them.

------
camclay
Heya,

I would remove Kobe Bryant from your list of sample names. He just recently
passed and you might offend a potential customer.

