SoftwareMill is mostly a consulting company. We have been on the market since fall 2009, and, being built mostly by
software engineers, for software engineers, we have been discovering things about having - and running - a company.
The same thing that are probably all touched upon during the first semester of every management course in the world ;-).
Nonetheless, there is quite a lot we have learnt about managing the finances of a company - how to analyze them and how (unfortunately!) impossible
it is to know what the current financial state is, and what it is going to be in the near future.
This blog recounts the journey we went through when getting to know everything about money. This story might be useful to other companies out there, especially startups who are just at the beginning of their route :).
So... money, huh? That's usually the main reason for a company to exist.
When we (SoftwareMill) started back in 2009, our situation was simple, a bit like your personal finances.
My finances are simple?!
Yeah, well - you might have mortgages, you might have shortages, you might have flow problems, but, really, when you think about it, your home budget is probably something like this:
- Income. Probably singular - the salary paid out by your employer. Maybe you also have your spouse’s salary here, maybe some extra freelancing, etc.
- Expenses. Payments you make in a given month.
- Your kids’ school.
- Food, clothes.
- Fun, etc.
These two outlined above are usually quite predictable in their month-to-month structure. If your employer suffers no financial problems, your salary ends up in your bank account regularly, and the payments you owe are made monthly.
So, it is sufficient to compose a simple list of all the things you pay for every month,
add to it the average costs of food/clothes etc, subtract from whatever savings you have on your account, add the expected salary - and you know with a high probability what you will have next month.
Checking how much you are worth is also quite easy. You just verify your savings (and, of course, your Bitcoins ;-) ) which make up your assets. From these you subtract your debts, but when you need to know how much money you have to spend on something big, then usually logging into your bank account is enough.
A small company’s budget = a bit like a typical home budget
Our company’s finances, at the beginning, were very similar to such a home budget. In fact, we really had only one client, invoiced once every month. And we had 6 people working with us, issuing more-or-less the exact same invoices every month.
Those times were easy. We knew that, if a client is delaying payment, we are in trouble. It was trivial to check how much money
we have - just by logging into the bank’s website.
There was no need to monitor the state of finances constantly, because changes happened really only at the end of the month, when the salaries of our employees were paid out, and at the start of it, where our client would pay us.
Other costs we had, were so small no-one really cared at the time (when we started out we already were a fully remote company).
digression: we just had to buy laptops, and only for 2 guys, cause the rest had their private ones, still performant at the time ;-).
In practical terms the only view of our finances we really cared for was the Profit & Loss Statement we would get each month from our accountant.
It showed how much money we earned, how much we spent, what is the monthly profit, plus the combined profit since the beginning of the year.
How handy, right? Each month you get a nice summary of how your company is doing. Why would you need anything else?
Things started to get complicated
OK, so at some point, our only client ran into problems. His client would not pay him for months at a time. Our payments
were late. Did I mention it was our only client? So we started to sweat, but we needed at least a way of checking how much
money we would have, should the client pay eventually. We were emptying our account for our own salaries, but we still wanted to know
how we are doing in terms of a simple in-out balance.
So there was a spreadsheet for that. All paid end expected payments from our clients (or rather a client) marked in green or red,
depending on whether they are outstanding or not. We knew at least how much money we were owed.
Fast forward a few years. We now have new clients, more people. And something big happened. We decided to become a fully transparent, flat company.
What you need to know about our finances in their new form, is that the owners of the company get 10.5% of all the money
coming in, while the rest becomes "company money" and it is up to everyone to make decisions on what should happen with it.
Fully transparent finances
So now that we got flat and transparent, what does that mean to our finances? We figured out that if money-concerning decisions
(which are basically the ones that really matter) should be made by the whole company, there has to be a way for everyone
to check what the financial state is.
In order to track the previously mentioned sub-accounts (owners and company) - and for everyone to be able to see how much
money we have - we've created a system (from which you will see some diagrams later) that tracks this division
by being able to import all bank transfers from our online banking history and categorise them.
And the first big question we asked ourselves was: how much money do we currently have?
How much money do we have?
This is a very good question, and the key point of this blog entry. However answering that is not as easy as it sounds.
There are some sources you can get your truth from, including ones previously mentioned. I'll try to explain how they are all imperfect.
Profit & Loss Statement from your accountant
Disclaimer: as we are a Polish company, this might be very country-specific. IF there are similar things you get from
your accountants in your country, please leave a comment and elaborate on how useful they are.
This is something you would think should be enough. The accountant’s role is to know how much money we earn,
spend and on what exactly.
Let us take a look at the August 2013 statement:
It is in Polish, so I will translate the most important parts. There are two columns with numbers on the right.
The left one is a cumulative amount for all months since the beginning of the year (2013 in this case). The one on the right
is just for August 2013.
- (1) shows the total income from sales (those are the invoices paid by your clients).
- (2) shows operating costs. However, these are only the “costs” that are tax deductible.
This will be important later.
- (3) is the profit from sales (it is (1) minus (2)).
- (4) is (3), plus other possible income (like bank interest etc.), minus the taxes.
All of the above should give you the final profit of your company.
So we have entry number (4), should not that be enough? Well, no. As long as the company is small, and is not remote, then
you would probably get more or less what you are looking for.
However, as soon as you start spending money on things that are not tax deductible, those numbers will start to be too optimistic.
And guess what? For our modus operandi - being a remote company - it’s critical to meet every month, so the people can see each other in person, discuss the most important matters and have some fun clubbing.
All those things are considered social in Polish law and therefore
cannot be tax-deducted. And are not reflected at all in the above statement. So the theoretical profit was 85,675.60 PLN
but we might have spent 15,000 PLN on our monthly meeting, which resulted in the actual profit to be 70,675.60 PLN.
And that kind of difference is substantial.
So on the pros side you get a document that shows a trend in your company’s finances. The cons are that some of the money
is not accounted for here at all, and never will be. You will have to check for the remainder through in your bank account’s history.
Actual account state
Let us do just that - go and check your bank account. Provided that you use one bank, you just log in and you should see a nice summary of the assets you have.
And the summary you’ll see is completely different from your P&L Statement. Why?
- Accounting does not really care if an invoice was paid or not. Issuing an invoice is enough to treat the money as if it arrived.
- ... but in the real world invoices coming late (sometimes in months) is, unfortunately, not an unusual thing.
- The IN & OUT money is a bit shifted. The salaries for a given month we would usually pay at the end of it, while the
money for the work would only be billed by the end of the month, arriving, if they’re not late, in the middle of next month.
Let us see how August 2013 looked like on our company bank account (this is the company money - owner's share is deducted already):
We have started from just above 150k, which was immediately after paying July’s salaries. Then the invoices from the clients would
get paid till around August 16, and bam, we drop to slightly below 200k once the salaries for August flow out.
So how much money do we actually have :) ? There are a few observations we can make.
- We theoretically have around 400k if we got paid immediately for the work we perform.
- But we also, at the same time, have around 200k, which is half of the above amount that we can use for other things,
because we need 200k for financial liquidity. And this is in the perfect scenario, where clients do pay their invoices on time,
like they did in August 2013 :)
Actual account state + expected income
So now we know how much money we had at a given point in time in our bank. What would be cool is to also capture
all the invoices that are not paid yet, and add them immediately after they were issued. If we do this - we will get a more
general idea of how much money in theory our company has at any given time, plus all spending that is not accounted in the
P&L Statement will be shown as well (because they will be reflected in the real account state).
Since, for invoice issuing, we use a service that has a decent API, we have decided to consume all that data and render it on
top of the previous chart. Since we haven't done that from the beginning, here you can see our company’s account fast-forwarded 3 years till August 2016.
Note: those are quite fresh numbers, so I have decided to censor them a bit. Bottom line of the chart depicts X amount, while the almost top line depicts two times X.
Now we can see a couple of things on the chart:
- Blue line shows the real amount of money on the account
- Black line shows all unpaid, but issued invoices at a given point of time
- The more red the worse it is - because that means a lot of clients owes us money and we might get into liquidity problems
- The black line is much more flat - oscillates here around 2X, which is more or less the amount of money our company has.
- We still have an idea of how much money we need to have unblocked for month-to-month operation.
But we are missing one thing. Salaries are usually paid out in the last days of the month, but sometimes they shift to the next. Therefore we cannot really see what the balance of the given month was.
Actual account state + expected income - expected payments
And this is, so far, our final way of analysing income.
What we do is that - on top of everything else that was mentioned - ask our workers to send the invoices via our system.
Doing so, we know exactly how much money will be spent on salaries in a given month. Moreover, by doing some clever matching of
bank account transfers, we know which salaries were paid by the end of the month and which were not.
And the latter can be accounted for on our new types of charts.
So now we can count our "real" Profit & Loss for a given month that will include all our costs:![Real Profit & Losses equation](/user/themes/softwaremill/assets/_old-website/uploads/2017/09/pl_real_eq.svg) where: - **expInv** - all invoices issued in a given month, - **expSal** - all salaries paid out a given month, - **costs** - all transactions that are not salaries, during a given month. Another thing we can count is the expected Account State - which will show us what the account state should be after a given month, with all invoices and salaries paid:
- AS real - the real account state - from your bank account on the last day of the month,
- unpaidInv - all issued invoices up to the last day of a given month which were not paid on that day,
- unpaidSal - all salaries for a given month, left unpaid during that month.
Summary and next steps
I have shown you few sources from which you can get the information about your finances. None of them tells you everything and,
by now, I hope you understand why the question How much money do we have? can be only answered with. Well. It depends..
- You can look into your P&L Statement, but this will not show you all the costs, and will treat all invoices (both sent
and received) as paid.
- You can look into your bank account, but it statechanges quite a lot through the month and can get quite random.
- And finally you can combine the above to get better, yet different, results.
- But remember - combining expected income and salaries with your real account states once again, like with P&L,
shows you money you do not yet have. But it includes all the costs.
- But remember - combining expected income and salaries with your real account states once again, like with P&L,
What helped in our case was writing our own in-house system for counting all those different amounts (that also takes
into account different currencies etc.). If you cannot code a backend system, like we do, you can always code that in a spreadsheet (Excel or Google Docs).
Now that we more or less know where we get the money from, and how much theoretically and practically have,
it is time to start making predictions on the expected income.
But this is something we are now working on, so stay tuned for our next blog posts about money ;-).
note: all images are either CC0 or ours