Hacker News new | ask | show | jobs
by sudhirj 1406 days ago
Can someone help with a few ideas on this topic? I've been volunteered to be the treasurer at my building home owner's association, and trying to keep accounts for the whole building on a single excel sheet is a shitshow.

So obviously I'm building a SaaS that will handle all the accounts for every HOA in the whole world and become a trillion dollar product. But I need to figure out which accounts are debit normal and credit normal and how transactions should flow first.

So far I have the following accounts:

* Per-apartment accounts, like the account for Apt#A1, Apt#A2, Apt#B1 etc.

* A Maintenance Receivable account - the account for maintenance payments that should have come in.

* A actual current operating account - account that reflects the building's bank account, showing money that came in from apartments for maintenance payments and also expenses.

* An Expenses account. For expenses.

So far the typical transactions I can think of are:

* Beginning of every month the maintenance is due (say 100), so each apartment gets a -100 with a corresponding +100 on Maintenance Receivable.

* When an apartment pays, they get a +100, but this is money that actually lands in the current operating bank account, so that's a +100 too? I'm guessing this is where the genius of not using plus or minus but using debit and credit comes in. That avoids the confusion, one is a debit and one is a credit, but which is which and which is a debit normal and credit normal account?

* When there's an expense, I remove money from the bank account account and put it in the expenses account.

Seems sort of ok, but the Maintenance receivable account is always increasing. How do I set this up so I can correctly represent what an apartment owes while also capturing what it paid as inputs to the buildin's bank account?

5 comments

If you are comfortable with a text editor, I recommend https://plaintextaccounting.org. I use Beancount with the Fava gui. It's great.
I would recommend getting comfortable with some basic double-entry accounting software like GNUcash [1]. I found that extremely helpful in learning how to reason about these things, as well as grasp the purpose of different types of accounts (asset vs A/R vs income etc). They also have pretty good docs and tutorials as I recall.

Also then it'll quickly show you where the existing software falls flat (and it does) in terms of scriptability, scaling, etc.

[1] https://www.gnucash.org/

If you're serious about building a SaaS tool (and I encourage it!), make sure to find someone with an accounting background to help you / advise you. Maybe they can be a good co-founder.

(I've been working on a SaaS in the accountancy space for 6 years and our two co-founders are an accountant and a software engineer. It's a good match)

This is currently just a side project, but yeah, if I have more than 10 buildings using it I'll probably take it seriously and bring in an (accountant cofounder).
Just chiming in - I'm an engineer who is also a CPA :). I'd be happy to attempt to answer any questions you might have. It's been a few years since I was accounting professionally, but maybe I can still be helpful.
Thanks! I can't find contact details on your profile, though could you mail sudhir.j@gmail.com or tweet @sudhirj?
Maintenance invoice issued:

  DR accounts receivable
  CR income
Maintenance paid

  DR bank account
  CR accounts receivable
Each apartment is part of accounts receivable.

Normally accounts receivable has a DR balance (because apartment owners pay you AFTER you invoice them, so they are usually DEBTors).

> Each apartment is part of accounts receivable.

Like a sub-account? This is probably the mindfuck part. So every apartment owner who opens up their statement is seeing a filtered balance?

You could implement it as either a subaccount per customer (in which case the balance is just the sum of all txns in that account) or have 'apartment' as another dimension (field) you store (optionally) for each transaction.

Either way you can get a sum of all txns that have hit that apartment's AR account.

Thanks, let me think about this. This feels counterintuitive to me, and increases complexity a bit.
Assets are +, Liabilities are -. So a receivable is an asset and +100 is correct. when the money comes in, you need to +100 cash and -100 receivable.
So when an apartment pays, is 4 entries in the single transaction? Credit their apartment account, debit the bank account, credit cash and debit receivables? Never thought of making 4 entries for a single transaction.
You would have accounts receivable as a super-account for all your apartments. Its value would be the sum of the sub-accounts. The bank account would be a sub-account of all your cash accounts. So you only need to make two entries, one to the apartment's AR and one to the bank account.

You should do yourself a favor and read a good textbook. The online resources are not great and are mostly geared toward getting you to buy a product. For example:

https://www.worldcat.org/title/accounting/oclc/1127092943&re...