TL;DR
This article covers 15 financial ratios every software house should track — from Gross Margin to Rule of 40, with verified benchmarks from the global IT services industry and the Thai market.
This is not a textbook. It is a collection of lessons we learned the hard way running a software house for years. Some numbers nearly led us to bad decisions. Others saved the company.
If you own a software house, or plan to start one — read to the end.
Introduction: Why Software House Founders Must Read Financial Statements
I remember the year our revenue grew 40% over the previous year. Everyone on the team was thrilled. We celebrated. We hired more people. We moved to a bigger office.
But at year-end, our net profit was actually lower than the year before.
The first time I saw those numbers, I was sitting alone in the office at 3AM, trying to figure out where the money went. Revenue was up — so why was profit down?
The answer was hiding in financial ratios I had never bothered to look at.
Most software houses — including ours back then — run on gut feeling. Revenue comes in, money goes out. The bank balance looks fine, so everything must be okay. That is the trap.
Revenue is vanity. Profit is sanity. Cash flow is reality.
Today I want to share the 15 ratios that changed how we run our company — not theory, but real lessons we paid for with real mistakes. With verified benchmarks from multiple sources.
Part 1: Profitability — "High Revenue ≠ High Profit"
1. Gross Margin — Are You Selling Too Cheap?
Formula: (Revenue - COGS) / Revenue × 100
Before calculating Gross Margin, you need to understand what COGS (Cost of Goods Sold) actually means for a software house.
This is where most software houses get it wrong — including us in the early days.
COGS for a software house = costs directly tied to delivering work to the client:
- Subcontractor / freelancer fees for project work
- Cloud infrastructure used to deliver client projects (e.g., servers the client runs on)
- Third-party licenses passed through to the client
NOT COGS:
- Office rent → Operating Expense
- Admin / HR / accounting salaries → Operating Expense
- Internal tools the team uses → Operating Expense
- Full-time developer salaries → Depends on classification (if 100% billable, could be COGS)
I once included office rent in COGS — which made our Gross Margin look artificially low. We nearly cut our prices to "stay competitive" when our margins were actually fine.
Benchmarks
| Business Type |
Gross Margin |
| Global SaaS |
70-90% |
| Thailand IT Services |
30-50% |
| Healthy SaaS COGS |
Under 25% of revenue |
If you are a pure software house doing custom development, Gross Margin should be in the 30-50% range. Below 30% means you are likely:
- Pricing too low
- Paying subcontractors too much
- Letting scope creep eat your margin
If you have a SaaS product, Gross Margin should be 70%+. Lower than that means your infrastructure or third-party dependency costs are too high.
According to 8020 Consulting, healthy SaaS should have COGS under 25% of revenue, meaning Gross Margin should be 75% or higher.
2. Operating Margin — The Hidden Costs Eating Your Profit
Formula: Operating Income / Revenue × 100
Operating Margin tells you how much is left after deducting everything except interest and taxes.
For software houses, the Operating Expenses that quietly drain cash:
- Non-billable team salaries — HR, admin, marketing, management
- Internal licenses — Jira, Slack, Figma, GitHub, cloud dev environments
- Training and conferences — sending people to learn, buying courses
- Recruitment costs — headhunter fees, job postings
- Equipment depreciation — MacBooks, monitors, ergonomic chairs
I once thought "a few thousand baht a month for licenses, no big deal" — until I added up all our SaaS tools and found they consumed 8% of revenue per month. That was money that should have been profit.
Benchmarks
| Metric |
Target |
| Operating Margin (IT Services) |
10-25% |
| Internal SaaS tools cost |
Should not exceed 3-5% of revenue |
If your Operating Margin is below 10% while Gross Margin is healthy — the problem is in Operating Expenses. You may have too many people for your revenue level, or overhead that is too high.
3. Net Profit Margin — What Actually Stays
Formula: Net Profit / Revenue × 100
Net Profit Margin is the true "bottom line" — after everything is deducted: COGS, OpEx, interest, taxes.
Benchmarks
| Region |
Net Profit Margin |
| IT Services (Global) |
8-20% |
| IT Services (Thailand) |
5-15% |
I was once happy with a 15% Net Profit Margin — until I talked to a friend running a SaaS company who was getting 25% on similar revenue. The difference was revenue structure: project-based vs. recurring. The more recurring revenue you have, the higher your Net Profit Margin potential.
Key considerations for Thai software houses:
- Corporate Income Tax takes 20% of net profit (SME rates apply for qualifying companies)
- VAT 7% requires careful cash flow management
- Withholding Tax 3% is deducted by clients on every payment — meaning cash received is less than invoiced
4. EBITDA Margin — The Number Investors Want to See
Formula: EBITDA / Revenue × 100
EBITDA = Earnings Before Interest, Taxes, Depreciation, and Amortization
Why do investors love EBITDA? Because it strips out factors that are "uncontrollable" — debt structure (interest), tax policy, depreciation methods — making comparisons between companies more direct.
Benchmark
A healthy EBITDA Margin for IT services: 15-30%
If you are raising capital or considering an exit, EBITDA is the first number investors will look at — valuation is typically calculated as an EBITDA multiple.
For software houses with minimal debt and limited physical assets, EBITDA will be close to Operating Income. But if you buy MacBooks for a 20-person team every year, depreciation becomes meaningful.
5. Project Gross Margin — The Most Important Number in Your Software House
This is not a standard textbook ratio — but it is the most critical metric for software houses.
Formula: (Project Revenue - Direct Project Cost) / Project Revenue × 100
Direct Project Cost = team time spent (converted to cost) + subcontractor fees + project-specific cloud costs
Why track this per project? Because your company-wide Gross Margin might look fine — while one project is losing money and being "carried" by the profitable ones.
I once discovered that our highest-revenue project was actually the one with the lowest margin — because scope creep had accumulated over months. The team worked overtime without billing the client. Timesheet data never lies.
Target: Project Gross Margin should be 40-60% for custom development. Below 30% requires immediate review of pricing or scope.
Part 2: Liquidity — "Money in the Account ≠ Money You Can Spend"
6. Current Ratio — Short-term Financial Health
Formula: Current Assets / Current Liabilities
Current Ratio tells you whether your assets that can be converted to cash within one year exceed your debts due within one year.
Benchmarks
| Status |
Current Ratio |
| Dangerous |
< 1.0 |
| Adequate |
1.0 - 1.5 |
| Healthy |
> 1.5 |
| Very good |
2.0 - 3.0 |
| Too high? |
> 3.0 (cash may be sitting idle) |
For software houses, Current Assets are mostly:
- Cash in bank
- Accounts Receivable (unpaid invoices)
- Accrued revenue (recognized but not yet collected)
Current Liabilities:
- Payroll payable
- Vendor payments due
- Tax payable
- Deferred revenue (client prepayments)
Watch out: A high Current Ratio is not always good. If it is high because you are hoarding cash without investing — you may be losing opportunity cost.
7. Quick Ratio — Can You Pay Your Bills Today?
Formula: (Cash + Short-term Investments + Accounts Receivable) / Current Liabilities
Quick Ratio differs from Current Ratio by excluding inventory — but for software houses with no inventory, the real concern is uncollectible receivables.
I once saw our Quick Ratio look healthy, but when I dug deeper, 30% of Accounts Receivable was over 90 days old — money that might never come back.
Benchmark
- Quick Ratio > 1.0 = Healthy
- Quick Ratio < 1.0 = Red flag — even if every client pays on time, you still cannot cover short-term obligations
8. Cash Runway — How Many Months Can You Survive?
Formula: Cash in Bank / Monthly Burn Rate
This is the number every software house founder should know at all times — if no new revenue comes in, how many months can you survive?
Monthly Burn Rate = all recurring expenses per month (payroll + rent + cloud + licenses + everything else)
Benchmarks
| Status |
Cash Runway |
| Critical |
< 1 month |
| Dangerous |
1-3 months |
| Safe |
3-6 months |
| Comfortable |
6-12 months |
| Too much? |
> 12 months (could be invested) |
Minimum: Cash Runway must exceed 3 months.
I learned this lesson when a major client postponed their project by 3 months without warning. If our Cash Runway had been under 3 months at that point, we would have had to lay people off.
Since that day, we set an iron rule: Cash Runway must never drop below 4 months, no matter what.
9. DSO (Days Sales Outstanding) — How Slow Are Your Clients Paying?
Formula: (Accounts Receivable / Revenue) × 365
DSO tells you on average how many days it takes for a client to pay after you send an invoice.
Benchmarks
| Status |
DSO |
| Excellent |
< 30 days |
| Good |
30-45 days |
| Acceptable |
45-60 days |
| Dangerous |
> 60 days |
| Thailand IT (typical) |
30-60 days |
The first time I calculated our DSO, I got 72 days — meaning on average we waited over 2 months to get paid.
72 days × payroll for a 30-person team = a massive amount of money "floating" between invoice and bank account.
What we did to reduce DSO:
- Changed payment terms from net 60 to net 30
- Issued invoices immediately upon milestone completion, not end of month
- Set up automatic payment reminders at due date
- Offered 2% early payment discount for clients paying within 15 days
- Required 30-50% deposit before project kickoff
DSO dropped from 72 days to 38 days — cash came back almost a full month faster. The impact on cash flow was enormous.
Part 3: Efficiency — "People ≠ Output"
10. Revenue per Employee — How Much Value Does Each Person Create?
Formula: Total Revenue / Number of Employees
This ratio measures the productivity of the entire organization — everyone included, both billable and non-billable.
Benchmarks (2025 data from SaaS Capital survey of 1,000+ SaaS companies)
| Company Size |
Revenue per Employee (Median) |
| Global SaaS (all) |
$129,724 |
| SaaS ARR $1M-3M |
$99,858 |
| SaaS Bootstrapped $1M-3M |
$110,000 |
| SaaS Equity-backed $1M-3M |
$94,444 |
| Thailand IT Services |
300,000 - 600,000 THB/person/year |
A fascinating finding: bootstrapped companies have higher Revenue per Employee than equity-backed ones ($110,000 vs $94,444 in the $1-3M ARR segment) — because funded companies tend to hire faster than revenue growth.
For Thai software houses, if Revenue per Employee is below 300,000 THB per person per year (about 25,000 THB per person per month), that signals:
- Service pricing is too low
- Too many people sitting on the bench
- Team structure is too heavy for current revenue
I used to think hiring lots of talented people would drive revenue growth. The reality is that Revenue per Employee drops every time you hire, unless there is work to support them. This number taught us to hire slower than we want to, but more precisely.
11. Utilization Rate — The Bench Time Problem
Formula: Billable Hours / Total Available Hours × 100
Utilization Rate shows what percentage of team time is spent on revenue-generating (billable) work.
Benchmarks
| Status |
Utilization Rate |
| Too low |
< 60% |
| Adequate |
60-65% |
| Target |
65-80% |
| Too high (burnout risk) |
> 85% |
Why not target 100%? Because the team needs time for:
- Internal meetings
- Learning new technologies
- Code review and knowledge sharing
- Admin tasks (timesheets, reports)
- Rest (sustained high utilization = burnout = resignations = higher costs)
Bench time — when developers have no project to work on — is the most expensive "waste" in a software house. You pay full salary with no revenue coming in.
We once had a period where utilization dropped to 55% because 3 projects ended simultaneously and new ones had not started yet. That month we paid full salaries but revenue dropped by nearly half.
How to manage bench time:
- Plan your pipeline 2-3 months ahead
- Use bench periods for internal projects or R&D
- Cross-train teams so they can flex across projects
- For short-term gaps, use freelancers instead of full-time hires
12. Salary-to-Revenue Ratio — The 60% Red Line
Formula: Total Salary Expense / Revenue × 100
For software houses, payroll is the single largest expense — typically 50-70% of total revenue.
Benchmarks
| Status |
Salary-to-Revenue |
| Excellent |
< 45% |
| Good |
45-55% |
| Watch closely |
55-60% |
| Danger |
> 60% |
The 60% line is the warning threshold — if salaries exceed 60% of revenue, only 40% remains for all other expenses, taxes, and profit.
Quick math: if monthly revenue is 3M THB and team payroll is 2M THB:
- Salary-to-Revenue = 67% → Red
- 1M left for rent, cloud, licenses, taxes, profit
- Rent 150K, cloud 100K, licenses 80K, misc 120K = 450K
- Pre-tax remainder 550K → Net Margin around 18% → looks okay?
- But if revenue drops 20% from a project delay → revenue 2.4M, payroll still 2M → Salary-to-Revenue = 83% → instant loss
This is why software houses must be conservative with hiring — payroll is a fixed cost that is very hard to reduce.
Revenue per Billable Hour is also useful for tracking efficiency — for Thai software houses, the average is 800-2,000 THB per hour depending on seniority and technology.
Part 4: Leverage — "Debt Is Not Always the Villain"
13. Debt-to-Equity Ratio — How Much Did You Borrow vs. Own?
Formula: Total Debt / Total Equity
D/E Ratio shows how much borrowed capital the company uses versus shareholder equity.
Benchmarks
| Status |
D/E Ratio |
| Conservative |
< 0.5 |
| Healthy |
0.5 - 2.0 |
| Getting risky |
2.0 - 3.0 |
| Dangerous |
> 3.0 |
Most software houses do not carry heavy debt — since the primary asset is "people," not machinery or buildings.
But watch for:
- Overdraft lines used for cash flow — over-reliance becomes a problem
- Director loans — owners borrowing from the company, making D/E look fine while cash is actually drained
- Long-term leases (office, equipment) that under new accounting standards must be recognized as liabilities
Debt is not inherently bad — if you borrow to invest in something that generates more revenue than the interest cost, that is smart leverage. But for software houses, I recommend staying conservative — D/E should not exceed 1.0 if possible.
14. Interest Coverage Ratio — Can You Afford Your Debt?
Formula: EBIT / Interest Expense
Interest Coverage tells you how many times your pre-interest, pre-tax profit covers your interest payments.
Benchmark
- Interest Coverage > 3.0 = Healthy
- Interest Coverage < 2.0 = Getting risky
- Interest Coverage < 1.0 = Profit does not cover interest payments
If your software house has minimal debt, this ratio may be very high or irrelevant. But if you are considering borrowing to expand, always calculate Interest Coverage first.
Part 5: Growth Metrics — "Fast Growth ≠ Sustainable Growth"
15. Rule of 40 — The Balance Equation
Formula: Revenue Growth Rate (%) + Profit Margin (%) ≥ 40
The Rule of 40 is the benchmark that dominates the SaaS industry — if revenue growth plus profit margin equals 40 or above, the company is considered to be performing well.
Benchmarks (actual 2025 data)
| Group |
Rule of 40 Score |
| Median private SaaS |
~15% (up from -7% in 2022) |
| Top quartile private SaaS |
~31% |
| Public SaaS with score > 40 |
Trade at ~12.4x revenue |
Why is the median private SaaS only at 15%? Because most companies must choose — grow fast and lose money or profit well but grow slowly.
For Thai software houses, the Rule of 40 still works as a thinking framework:
- If revenue grows 20% → you need at least 20% margin to "pass"
- If revenue grows 5% → you need 35% margin to be strong
- If revenue does not grow → you need 40%+ margin, which is very hard for a service company
Key note: The Rule of 40 fits SaaS better than project-based work — but if your software house has a recurring revenue component (maintenance contracts, managed services, your own SaaS product), this number becomes much more meaningful.
Net Revenue Retention (NRR) — Are Existing Clients Spending More or Less?
Formula: (Revenue from existing clients this period / Revenue from same clients last period) × 100
NRR tells you whether, without any new clients at all, your revenue would grow or shrink.
Benchmarks
| Status |
NRR |
| Median Private SaaS |
104% |
| Good |
100-110% |
| Very good |
110-120% |
| Elite |
> 120% |
| Below 100% |
Existing clients spending less → you must constantly hunt for new ones |
NRR > 100% means existing clients are upselling — buying more services, expanding scope, signing bigger contracts.
For software houses, high NRR means:
- Clients trust you enough to give you more work
- Service quality is good enough for renewals
- Account management team is performing well
Gross Revenue Retention (excluding upsells) should be ~90% or above — below that means clients are leaving too fast.
Related metrics:
- Monthly Churn: Target < 5%
- Annual Retention Rate: 90%+ signals strong loyalty; 96%+ is exceptional
- NPS (Net Promoter Score): > 30 is strong, > 50 is outstanding
- CAC Payback Period: Should be under 12 months — longer means customer acquisition costs are too high relative to the revenue each client generates
Client Concentration Risk — Is One Client Too Important?
Formula: Revenue from largest client / Total Revenue × 100
This is not a textbook "ratio" but a risk metric that software houses must watch closely.
Benchmarks
| Status |
Client Concentration |
| Well diversified |
No single client above 15% |
| Acceptable |
Largest client 15-25% |
| Getting risky |
Largest client 25-30% |
| Dangerous |
Largest client > 30% |
| Critical |
Largest client > 40% |
I was once in a situation where a single client represented 45% of company revenue. It felt great because the income was stable. But the day that client said "we are switching to another vendor" — the floor disappeared.
Since that day, we set a rule: no single client should exceed 25% of revenue. If any client starts growing past 25%, we accelerate pipeline from other sources to dilute concentration.
Part 6: Red Flags — 8 Warning Signs to Watch
From experience and multiple data sources, here are the 8 danger signals every software house must monitor:
1. Salary > 60% of Revenue
Payroll exceeding 60% of revenue = overstaffed or under-selling.
If you see this signal, ask:
- Are we pricing services too low?
- Do we have too many people on the bench?
- Are non-billable hires outpacing revenue growth?
- Has revenue dropped without corresponding team adjustments?
2. Quick Ratio < 1.0
Liquid assets less than short-term liabilities = cannot cover debts.
This signals a serious cash flow management problem — you may need to rely on overdraft or loans just to cover normal expenses.
3. Cash Runway < 3 Months
If no new revenue comes in, surviving less than 3 months = survival risk.
In an uncertain economy, 3 months is the minimum — because B2B software project sales cycles typically run 1-3 months. With less runway, you do not have time to close new deals.
4. Utilization < 60%
Less than 60% of team time on billable work = bench time is too high.
Root causes might be:
- Insufficient pipeline — new projects are not coming in fast enough
- Team skills do not match available work
- Internal processes consume too much time (excessive meetings, bureaucracy)
5. Client Concentration > 40%
A single client accounting for over 40% of revenue = one client decision = disaster.
No matter how great that client is — if 40%+ of your revenue depends on a single organization, the risk is unacceptable.
6. Revenue per Employee Declining
If Revenue per Employee trends downward = hiring faster than revenue growth.
This is a trap software houses encounter constantly — land a big deal, hire more people, deal ends, cannot reduce headcount. Revenue per Employee tanks.
Watch the trend, not single data points — if it declines for 3 consecutive quarters, it is time to rethink your hiring strategy.
7. Director Loans Growing
If loans from the company to directors are increasing = cash extraction weakening the business.
Director loans at zero or below-market interest also have Transfer Pricing implications — tax authorities may impute market-rate interest as taxable income.
8. D/E Ratio > 3.0
Debt exceeding equity by 3x = over-leveraged.
For a software house where the primary asset is people, debt at this level is abnormal — investigate where it comes from.
Part 7: Thailand Tax Context — What Every Software House Must Know
Many people think financial ratios and taxes are separate topics — but in reality, taxes affect every ratio, especially Net Profit Margin and Cash Flow.
VAT — Value Added Tax 7%
- Software houses must register for VAT if annual revenue exceeds 1.8M THB
- VAT 7% on service fees — but not a true cost because it is recoverable (VAT output - VAT input)
- Cash flow impact: you must advance VAT payments before collecting from clients
- An invoice of 107 THB → 7 THB is VAT to remit → do not count 107 as revenue
WHT — Withholding Tax
- PND 3 — Individual clients withhold 3% from service fees
- PND 53 — Corporate clients withhold 3% from service fees
- Impact: Invoice 100,000 THB → receive only 97,000 THB → 3,000 THB is withheld (creditable against CIT)
- Impact on DSO calculation: actual cash received is less than recognized revenue — account for this when planning cash flow
CIT — Corporate Income Tax
CIT rates for qualifying SMEs:
- Net profit 0 - 300,000 THB → Tax exempt (0%)
- Net profit 300,001 - 3,000,000 THB → 15%
- Net profit above 3,000,000 THB → 20%
Note: SME rates require registered capital not exceeding 5M THB and annual revenue not exceeding 30M THB.
Impact on Net Profit Margin example: if net profit is 5M THB:
- Tax = 0 + (2,700,000 × 15%) + (2,000,000 × 20%) = 405,000 + 400,000 = 805,000 THB
- Effective Tax Rate ≈ 16.1%
- Net Profit Margin decreases from pre-tax margin by approximately 16%
Transfer Pricing — Watch Out for Director Loans
If directors borrow from the company at below-market interest (or zero), the Revenue Department may:
- Assess interest at arm's length market rate
- Treat the difference as taxable income
- Small software houses often overlook this — but it has real consequences during an audit
How We Handle Finances at Enersys
Let me be honest — we were not "good with money" from day one. We learned from the same mistakes described throughout this article.
What changed the game was the day we started tracking financial ratios every month, systematically.
We do not use Excel spreadsheets that require manual updating. We use an ERP system that pulls data from accounting, project management, and HR into a single source of truth, then generates dashboards showing every ratio discussed in this article in real-time.
As an Odoo implementation partner, we see firsthand the power of an ERP that integrates every dimension of the business — accounting, timesheets, projects, HR, invoicing — everything connected, enabling:
- Gross Margin per project calculated automatically from timesheets + cost rates
- Utilization Rate updated weekly from actual hours
- DSO computed from real invoice dates and payment dates
- Cash Runway forecasted from expected payments + known expenses
- Client Concentration visible instantly from revenue breakdown by customer
Before ERP, we spent 2 weeks at month-end compiling numbers. Now it takes 5 minutes to open a dashboard and see everything.
Financial discipline is not just for big companies — it starts with tracking the right numbers, with the right tools, from day one.
If you are interested in using ERP to manage financial ratios for your software house — our team is ready to consult.
Conclusion
The 15 ratios in this article are not theory you learn in university and forget — they are tools that help founders make better decisions every day.
Quick summary:
Profitability — Are you truly profitable or just fooling yourself?
- Gross Margin: SaaS 70-90%, IT Services 30-50%
- Operating Margin: 10-25%
- Net Profit Margin: 5-15% (Thailand)
- EBITDA Margin: 15-30%
- Project Gross Margin: 40-60% per project
Liquidity — Is there enough cash to cover obligations?
6. Current Ratio: > 1.5
7. Quick Ratio: > 1.0
8. Cash Runway: > 3 months
9. DSO: < 45 days
Efficiency — How much value does each person create?
10. Revenue per Employee: $129,724 (global SaaS median)
11. Utilization Rate: 65-80%
12. Salary-to-Revenue: < 60%
Leverage — Is debt within acceptable limits?
13. D/E Ratio: < 2.0
14. Interest Coverage: > 3.0
Growth — Is growth sustainable?
15. Rule of 40: growth% + margin% ≥ 40
A final thought: I did not know any of this on day one. Every ratio described here was learned through real pain — revenue growing while profit vanished, cash flow gaps from high DSO, near-failure from client concentration.
If you finished reading and thought "I need to check these numbers for my company immediately" — that is the right reaction.
Do not wait until it hurts to start looking.
Sources