Cash Flow for WHMCS - Track Accounts Payable and Receivable
What is Cash Flow and why is it Important
Cash flow is the money that flows in and out of your business. With cash flow statement you can keep track of cash your received (payments, investing activities...) and the cash paid out (VAT, income taxes, dividends...) to make sure you have cash for daily operations, taxes, purchasing inventory, paying employees.
Many businesess focus too much on revenue and not enough on understanding when the actual cash will arrive in their bank account. This is one of the biggest reasons small business fail. Predicting your sales and preparing for paying expenses is crucial. The amount and the timing of payments to and from your business is as important as revenue.
Analytics and Reports
Although WHMCS provides a wide variety of reports to track your income, there's nothing to track expenses. Moreover income projections are basic offering extremely tentative statistics. Starting from version 2.2.132 of Billing Extension, we introduced the very concept of cash flow for WHMCS.
In essence, the module integrates two pages:
- Addons > Billing Extension > Settings > Cash Flow automatically tracks inflow and outflow of money with WHMCS daily cron job. It is also possible to manually add entries to track purchases, loans, dividends etc.
- Reports > More > Cash Flow is where you can find historical cash flow statement that goes from your first invoice up to 5 years into the future. That's plenty of time to make plans!
As for the reporting part, we're going to show some previews. This is the graph that shows cash flow statement from company founding date up to 5 years into the future.
Right below this graph, you'll find an extensive table that includes detailed statistics. In the next chapter we are going to explain you how to read your data. All projections automatically refresh with WHMCS daily cron job but you can also force an update from the following menus.
How to Read Cash Flow Statement
Cash flows are classified as operating, investing and financing activities. Each category has subcategories.
Free Cash From Operations
|Cash generated from sales and paid for operating expenses|
Free Cash Flow to Firm
|Cash generated from sale of property and paid for investments|
Free Cash Flow to Equity
|Cash generated from stock sales and paid for dividends|
Each category can be spot on the table that is in fact divided in 3 sections. You must read it from top to bottom and left to right as shown in the image on the right (you can click to enlarge). Here's how it works.
In 2020 we start the year with about 25.000 € of cash (1). In all rows below (2) the module applies inflow and outflow of money for year 2020 - we'll describe the meaning of each cell later.
At the very bottom of the column (3), we can see we end 2020 with 18.000 € in revenue. We can now move to 2021 (4). This time we start the year with 43.000 € (25.000 € + 18.000 € net increase from 2020).
As previously seen, the module applies inflow and outflow of money for 2021 (5) which brings us to the end 2021 with 81.000 € in revenue (6). The process repeats every year from company founding date up to 5 years into the feature.
To put things in perspective, if you started your business in 2010, Billing Extension provides a year-by-year report from 2010 to current date plus 5 years into the future.
Now that you know how to read data, we can focus on the meaning of each cell of the table.
Operations (Free Cash From Operations)
Inflow and outflow of money from operations such as payments received, transaction fees, refunds, credit notes etc.
This is the most important category for small-sized enterprises as they don't generate much cash for investing and financing activities. Every operation has a cycle (one time or recurring) just like WHMCS products/services, domains, product addons and billable items.
For the most part of this section, Billing Extension automatically calculates statistics since it looks for transactions, invoices and products. Obviously it doesn't know anything about your other expenses (bills, administrative and wage expenses, income taxes etc.) hence you'll need to manually enter such data from Addons > Billing Extension > Settings > Cash Flow.
Unlike WHMCS products/services, the module offers you maximum flexibility. In fact every operation you add can be set as recurring every X number of days, weeks, months or years. Moreover you can optionally set a start date and end date. Thanks to that, you can define a cash flow that looks like follows:
- +400 € / month from other sources (rental revenue)
- +10.000 € one time (initial capital)
- -60 € every 2 months (internet and telephone expense)
- -149 € / year for operating expenses (Billing Extension license)
- -150 € / month from Jan 2020 to Jun 2022 (financing 30 months on server purchase)
For obvious reasons initial capital doesn't support start date and end date. In this case all it takes is defining the fiscal year.
|Beginning year cash||
1st year starts with zero plus funds added manually (if applicable). Subsequent years start from cash at the end of last year plus funds added manually (if applicable). Here's an example:
|Customers||Subtotal (VAT excl.) of all paid invoices per year taking into account currency rate snapshots. Available for all fiscal years up to current date|
Projected income (VAT excl.) if all active services, domains, billable items and addons are renewed within the year. Projection starts from current date up to 5 years into the future. Let's suppose today's date is 2020-06-01:
|Other sources||Useful to track payments from other sources not related to WHMCS (eg. rental revenue, equipment)|
|Inventory purchaes||Computers, desks, charis...|
|General operating and administrative expenses||Accounting, suppliers, bills, stationary...|
|Transaction fees||Transaction fees for payment gateways (PayPal, Stripe...). For future years the module assumes that you will pay the same amount of money of the last fiscal year|
|Refunds and payouts||Outcome transactions (ones in tblaccounts)|
|Credit notes||Paid credit notes. Credit notes with outcome transactions count as one (transactions are ignored). This is required because of WHMCS weird calculations|
|Wage expenses||Anything related to paying employees (salary, severance pay...)|
|Interest||Any interest your company has to pay|
|VAT||VAT of all paid invoices per year taking into account currency rate snapshots. Available for all fiscal years up to current date|
Projected VAT if all active services, domains, billable items and addons are renewed within the year without changes to tax rates and tax configuration. Let's suppose today's date is 2020-06-01:
|Income taxes||Income tax depending on income at the end of every year|
Investments (Free Cash From to Firm)
Tracks things like sale/purchase of property and equipment, loans and investment securities (equities, bonds).
It's the amount of cash flow from operations available for investments after expenses. This is arguably the most important financial indicator of a company value for medium and large-sized enterprises enabling to reinvest in long-term assets (eg. equipment and property).
As previously seen for operations, you can enter activities from Addons > Billing Extension > Settings > Cash Flow. We still have cycle, start date, end date with an addition: depreciation. Depreciation allows to divide the cost of an equipment by the number of years in the asset's useful lifespan. For example, the annual depreciation on a computer with a useful life of 5 years and a cost of 1000 € is 200 € (1000 / 5).
|Sale of property and equipment||
Selling old office furniture and computers
|Collection of principal on loans||Revenue from loans|
|Sale of investment securities||
Selling stocks, bonds, mutual funds or other types of investments you can sell
|Purchase of property and equipment||Buying new office furniture and computers|
|Making loans to other entities||Borrowing money|
|Purchase of investment securities||Purchasing stocks, bonds, mutual funds or other types of investments you can buy|
Financing (Free Cash to Equity)
Tracks dividends, repayment of loans, buy-back (repurchase of stock), borrowing and issuance of stocks.
As you can imagine, this section is mainly used by medium and large-sized enterprises. Here we find cycle, start date and end date but not depreciation. Data entry can still be made from Addons > Billing Extension > Settings > Cash Flow.
|Issuance of stock||
|Borrowing||Taking out loans|
|Repurchase of stock (treasury stock)||
Share repurchase or buy-back
|Repayment of loans||Loan repayments|
|Dividends||Payment of cash dividends|
Cash Flow Customization
We understand every business is different and unique in terms of needs. We planned in advance a system that suits the need of every business.
The module lets you enter detailed descriptions for every operation with the usual WYSIWYG editor of WHMCS but there's more! You can also attach a maximum of 50 files (64.00 MB each) with the following format: jpeg, jpg, png, gif, bmp, ico, svg, pdf, rtf, txt, xlsx, xls, csv, ods, docx, doc, pptx, ppt, zip, rar.
This is particularly useful for accounting purposes. For example for each of your employees you could attach the employment contract. Same goes for office lease agreement, income taxes etc.
Recurring Flows Logic
In WHMCS we often see reports that provide approximate calculations. Let us give you some examples.
- Domain registration
- Registration period: 2 years
- Recurring amount: 20 €
Most developers in WHMCS oversimplify calculations. They divide 20 € by 2 years and tell you that you're earning 10 € per year. This is completely false.
- Billing cycle: Monthly
- Recurring amount: 10 €
If the product is due on 1st Jan, we can expect to receive a payment for every month of the year. 10 € multiplied by 12 months equals 120 €. So far so good. But what about a product ordered on 1st Dec? Some developers still use the same logic and end up telling you that you're earning 120 € while in reality you earned one-twelfth.
- Billable Item
- Recurring: Every week
- Recurring amount: 10 €
- Recur for: 10 times from 1st Dec
According to the lazy-way of doing calculations, we divide 365 days by 7 days. Then we multiply 52.14 weeks by 10 €. In the worst case scenario, the developer ignores both the starting date and the "recur for" concluding you're earning 521.42 €. The truth is you're earning 100 € over the course of two years. That's a big difference!
We know what you're thinking. Can you trust the numbers you see in cash flow statement? We got nothing but good news here. Billing Extension loops through days of years respecting start dates, end dates and cycles. Calculations are 100% accurate.