Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: WeKeep – A spreadsheets-first accounting software (wekeep.co)
87 points by nadima 38 days ago | hide | past | web | favorite | 40 comments

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.

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.

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?

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

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?

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

Hi Nadim,

One hard requirement for my geography is having i18n support for at least the client-facing parts. My local clients speak French, and sending them an English invoice is pretty rude, but I also have English-speaking clients, and sending them an invoice in French would be incomprehensible.

Does your software support that use-case? Most of them don't; I'm honestly thinking about building my own at this point.

Hi Emile(?),

I have the i18n feature but haven't included French (yet). Language switch is only visible in countries where I've enabled it and where there are more than one language. Besides sending out invoices to customers in French, which other elements are critical for you to be i18n'ed?

I can add support for French in a few days – if you sign up :)

Hi Nadim,

I haven't looked at how it's done in your app, but I'd encourage you to make that switch visible for everyone, because you could have e.g. a Spanish person working from the US.

Critical elements are everything that the customer will see: Mainly invoices, but also client area (if you have this), payment page, proposals, emails, etc.

And thanks for the offer, but I've already found something that suits me (Pancake), so I'm not really looking to switch at this time. Just reminding you of something that Anglo-centric devs often forget!

This is really interesting. I've had ideas about accounting as a specialized spreadsheet for a while, both because most people grok spreadsheets naturally and because accountants only want csv files.

In fact I wrote a small script to extract GnuCash transactions into a csv file that can be used as a spreadsheet as a starter point:


(There are still issues with this, especially with the way GnuCash converts currencies)

I'll definitely take a look at WeKeep, it might solve some of my issues, and I might just stop my efforts if you got where I was hoping to get.

Couldn't catch the reason behind the "one column per account" layout – you mention it's to show splits, can you elaborate on this?

In WeKeep all general ledger transactions can be looked up under Reports > Account Transactions, laid out in as a spreadsheet https://www.wekeep.co/c/dashboard/account-transactions/ Here's a screenshot: https://imgur.com/a/6eKNgKr

So that somebody who has access to the CSV file only has a per account view, they can look at all the transactions for a specific account, the same way they'd look at the account in GnuCash.

One column per account is what enables at looking at splits on a given line.

For liabilities account, it also allows to do a quick verification that the total is zero.

Hi Nadim. First of all, congratulations. The website looks fine, making a good first impression of your product. Its UI is very clean and appealing. I like it.

Suggestion to think about: add screenshots/animation of the Sales module, as it is where the whole business process begins and a major reference for users of this type of app.

Hey, thanks for the feedback! The homepage definitely needs work with more screenshots of the invoicing / recording payment process. I've added this to the pipeline.

Hi Nadim,

I have a system where I record payments in Excel and send out invoices via a Word template.

What reason would someone like me have to switch to your service? Besides a slight ease of use, how is your service better for a solo founder on a budget (one of your target markets, I assume)?

Hi – Our target market is small companies who need to move to a double-entry accounting software, typically because they need to start doing accrual accounting, or because they got investors on board, or e.g. they need to start filing VAT; so I'd like to see WeKeep as an alternative to Quickbooks and Xero.

As a solo founder you might not get extra value over Excel – but I hope that would change once we add integrations like Stripe.

Is there anything Excel doesn't do that you'd like to see in WeKeep?

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.

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/

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.

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

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.

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

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.

Hey – thanks for this. That's exactly right, the phase of switching from spreadsheets to a double-entry accounting software should not be painful.

With WeKeep you can continue recording stuff as you were doing in a spreadsheet, but your accountant can also do more advanced journal entries where needed (e.g. record equity, accrue expenses, write off bad debt, ...).

Thanks for the feedback! That's right, this is a cloud-based app. Mind if I ask, why was your experience poor with Quickbooks?

Quickbooks sent me over the edge when they forced me to buy a new version - they made the old version stop working.

On top of that it comes with all kinds of crap I will never use. I use it because my accountants are (were) simpletons who only knew that.

All that stuff on the main screen with the arrows.. while I appreciate an attempt at a GUI ( I usually prefer) I don't need any of those things and they waste space on the screen and cognitive time sorting them.

I had bought the pro software years ago, non-cloud. They bricked it, forced to buy again, and kept pushing for the cloud option. I hate cloud options.

I did enough QB learning to find it's possible to take a spreadsheet and import expenses.. I almost started doing that instead of buying the new software so it could download from my banks.

If I used the payroll stuff I could see paying to update - otherwise it's just a huge program downloads a csv from my bank and puts a few same expenses in columns to export to my accountant - at least for me, and it's over priced for that.

I would make custom GUI screens for different businesses and have a preview with one-click change - if a business does not use the software for invoicing, take all that crap off the screen and put it behind a menu - this could make graphics larger and simpler.

I would have totally different GUI's for a conststruction business compared to a hair stylist compared to a dentist compared to web dev.. sometimes I think of these things and sigh.

So.. export to a format that accountants can use, sadly needs to be a thing that is prioritized.

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

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

Billions of people associate "We" with WeChat, while very few outside tech and startup circles even know what WeWork is.

Arf... screwed this one up. :/

WeChat on the other hand...

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"?

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.

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 or 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. 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 :-)

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.

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.

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

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?

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.

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.


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

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