Freelance or GmbH? I built a lifetime model before answering
My Holding was supposed to create room for the future. The first complete comparison put a simpler Direct GmbH ahead of it.
- Published
- Reading time
- 13 min read
I spent roughly fifteen years working as an independent software engineer before I founded Parlant GmbH in 2022. People now ask when they should make the same move. They usually expect a revenue threshold or a tax rate.
I wrote this article for Techtelmechtel Talks #1, a thirty-minute account of working on my own terms followed by an open Q&A. The talk page includes the slides and speaking notes. The event title asks “Freelance or GmbH?” I cannot answer it with one number. My own model does not give me one either.
The model starts with the same work and the same economic profit, then routes the money through an Einzelunternehmen, a qualifying Freiberufler activity, a directly owned GmbH, or a Holding with an operative GmbH. Under its current default assumptions, the Direct GmbH finishes ahead of my Holding. That result is inconvenient. It is also why I trust the model more than I would trust a calculation built to approve my decision.
The tax calculation sits beside liability, administration, access to private cash, business runway, mobility, and the possibility that I will want a different life in ten years. A legal form connects all of them. It is an interface between work, risk, consumption, saving, and the future.
The word freelance hides the first distinction
The event title uses “freelance” in its ordinary English sense: a person who works independently. German tax law uses a narrower category, Freiberufler. A software consultant may work independently without qualifying as a Freiberufler. The classification depends on the actual activity and facts, not the label on a website.
My model therefore keeps two personal-business cases apart. The Freiberufler path pays Einkommensteuer but no Gewerbesteuer. The Einzelunternehmen path includes Gewerbesteuer, its €24,500 allowance, and the §35 EStG credit against personal income tax. At a Hebesatz near 400 percent, that credit can offset much of the additional burden. It does not reduce the solidarity-surcharge assessment base under §3(2) SolzG. The two paths can be closer than the slogans suggest, but equal assumptions should not make the trade-tax path outperform the Freiberufler path merely through a lower solidarity surcharge.
A GmbH changes the flow. The company deducts a gross managing-director salary, pays corporation tax and Gewerbesteuer on the remaining profit, and can retain the rest. Salary becomes taxable personal income. Money retained by the company is not mine to spend privately.
A Holding adds a second company. The operative GmbH earns the money and can distribute after-tax profit to the Holding. The participation rules can make that transfer lightly taxed when the ownership thresholds apply, but not free. The Holding also brings another annual account, another tax return, and another set of formal duties.
None of these structures changes the value created for a client. They change who receives the cash, when tax becomes due, and what must happen before I can use it.
My first comparison was unfair
Most online comparisons begin with mismatched numbers. One column shows the taxable profit of a sole proprietor. Another shows GmbH revenue after salary. A third quietly assumes that money inside a company and money in a private account are interchangeable.
I set one rule for the model: every structure starts with the same economic business profit before owner remuneration and taxes.
The model then applies the choices that differ by structure:
- A sole proprietor cannot deduct a salary paid to themselves.
- A GmbH treats managing-director salary as a company cost and personal taxable income.
- Private spending means after-tax consumption, not gross salary.
- Administration reduces the money available for tax, spending, or investment.
- Corporate assets remain corporate until a distribution makes them private.
The distinction between gross salary and private spending caught one of my own mistakes. A €100,000 salary does not fund €100,000 of private consumption. Income tax comes out first. If the model asks for €100,000 of after-tax spending, the company must fund the gap with a dividend or the private portfolio must absorb it.
That sounds obvious when written down. It was easy to blur inside a large spreadsheet. Several of the model’s most useful corrections came from outputs that looked wrong and forced me back to the cash flow.
A lifetime model needs a memory
The first workbook compared four pure careers. It assumed that a person chose one structure at the start of working life and kept it until retirement. That makes a controlled comparison, but it does not describe me.
I worked personally for years, then incorporated. Wealth accumulated in one wrapper does not jump tax-free into another because I change a dropdown. A private ETF remains private. Assets retained by a Direct GmbH remain in that company. Holding assets remain in the Holding. A real restructuring can create tax, notary, legal, and adviser costs.
I added a yearly career path so the model could preserve those separate pools. Then another problem appeared. The hypothetical history said I should have accumulated far more than I had.
A smooth model can turn an uneven career into flattering fiction. It assumes the same profit and savings discipline in every year. Real life includes weak markets, changed priorities, unplanned spending, and years when cash had another job.
The model now supports calibration to known opening balances. Calibration throws away the imaginary historical wealth and starts the forward calculation from the assets that exist. It is not a cosmetic setting. It separates a clean counterfactual from an honest personal plan.
Tax timing changed the result
The early model taxed the full investment return every year. That was wrong for the fully accumulating Aktienfonds in the scenario.
The current engine separates nominal appreciation, inflation, Vorabpauschale, prior taxed basis, realized gains, and ETF sales. The 2026 Basiszins is a visible planning assumption rather than a prediction. Prior Vorabpauschalen increase the modeled tax basis so a later sale does not tax the same gain twice.
The rules also differ by wrapper. Section 20 InvStG exempts 30 percent of qualifying Aktienfonds income for a private investor and 80 percent for corporation-tax purposes. Only half of the corporate exemption applies when calculating Gewerbesteuer. The model applies those layers separately.
Tax timing matters because capital that remains invested can compound. A correct tax percentage applied in the wrong year still produces a misleading lifetime result.
Retirement required another engine. Gross company wealth is not privately consumable retirement wealth. A company portfolio must cover ETF tax, company administration, and the gross dividend. The shareholder may then owe tax on that dividend.
The model solves for a constant annual real withdrawal from retirement age to age 100. It tracks market value and tax basis through each sale. Its useful output is privately spendable real money, not the largest balance printed in a depot.
The default result does not crown the Holding
The current frozen baseline uses these assumptions:
- Work starts at age 20 and retirement starts at 67.
- Annual economic business profit is €150,000 in real 2026 euros.
- Annual private spending is €60,000 after tax.
- Gross managing-director salary is €100,000.
- Nominal portfolio return is 6 percent and inflation is 2 percent.
- The Gewerbesteuer Hebesatz is 410 percent.
- Annual administration is €1,500 for both personal-business paths, €4,000 for a Direct GmbH, and €6,000 across the Holding and OpCo.
- Social-insurance rates for the managing-director salary are set to zero. That is a scenario input, not a general statement about managing directors.
Under model version 2026.09-payout-tax.1, with the optional EXIT disabled, the four pure careers produce these rounded results at retirement:
| Structure | Gross wealth | Private-equivalent wealth | Sustainable real spending per year |
|---|---|---|---|
| Einzelunternehmen | €3.941 million | €3.941 million | €181,540 |
| Qualifying Freiberufler | €3.992 million | €3.992 million | €183,856 |
| Direct GmbH | €4.902 million | €4.084 million | €196,160 |
| Holding and OpCo | €4.603 million | €3.866 million | €186,837 |
These are outputs from one frozen scenario, not forecasts or recommendations. The pure careers also retain every modeled saving from age 20. They must not be compared with a calibrated personal path as if both had the same history.
The Direct GmbH leads this baseline. The Holding carries another €2,000 of annual administration and a small tax leakage when profit moves from the OpCo. At €150,000 of economic profit and a €100,000 gross salary, the surplus available for corporate investment is not enormous. The second company consumes a meaningful part of it.
That does not prove my Holding was a mistake. It does prove that “the Holding always wins” is false.
Why I still chose a Holding
I did not create the Holding for one tax curve.
I wanted accumulated capital outside the company that signs consulting and product contracts. I wanted one place for participations and future operating companies. I wanted the option, not the promise, of different treatment if an operative company became genuinely saleable. I also wanted a hard boundary between private consumption, operating runway, and long-term capital.
That last point is personal. Money inside a Holding is less convenient to spend. Reduced access can be a defect. For me, it can also enforce a decision I made while thinking clearly.
I pay for that choice. Two entities still cost money in mediocre years. I depend on advisers and accurate records. The structure makes a move abroad, succession, and eventual wind-down more complicated. Tax law can change before the lifetime projection reaches its final column. A consulting company can remain tied to me and never attract a buyer.
A Holding can improve the tax treatment of a qualifying sale. It cannot create transferable intellectual property, recurring revenue, a team that works without the founder, or a buyer. Company design and sale taxation are different problems.
The threshold is retained surplus, not revenue
I have used revenue thresholds as shorthand in the past. “Above €120,000, consider a GmbH” sounds useful. It is also too imprecise to defend.
A business with €300,000 in revenue can retain nothing. Another business with lower revenue and high margins can keep substantial capital invested. Private needs can absorb a large salary. Annual company costs can erase a narrow tax advantage. A short holding period leaves little time for deferral to compound.
The better variable is annual investable surplus:
Economic profit minus operating costs, gross owner remuneration, company taxes, all entity administration, and required business runway.
Then ask how long the surplus can stay inside the company and what it is meant to do. Capital needed privately next year has a short deferral runway. Capital intended for products, participations, or long-term investment has a different job.
This is also why a bad year belongs in the decision. The structure that wins on a smooth thirty-year curve may be the one that feels worst after a client disappears. Fixed company costs survive a revenue gap. Salary may need to fall. Private spending still needs funding. A decision should survive the stress case, not only the average.
What the model still cannot decide
The workbook and interactive calculator expose assumptions, but they do not turn a personal choice into a mechanical one.
The current model excludes §34a EStG retained-profit relief. That omission can bias a retain-and-invest comparison against eligible personal businesses. It does not establish Freiberufler status. It does not calculate exact health insurance, social-insurance status, church tax, spouse splitting, children, statutory pension tax, or loss carryforwards.
It also excludes formation and restructuring transactions, a full company sale, exit tax on moving abroad, succession, and exact liquidation timing. The winding-down amounts are planning allowances, not quotes. Exact ETF tax lots and company accounts must be reconciled with broker and accounting records.
A Steuerberater remains necessary. Open formulas and tests improve the conversation with an adviser. They do not replace the adviser.
The right use of the model is to discover which assumptions control the choice. If €2,000 of annual cost reverses the result, get an actual quote. If the result depends on retaining €80,000 each year, test three weak years. If moving abroad matters, price that option before company shares make it harder.
What self-employment taught me about trust
My career started before I had enough evidence that it would work. I learned software by reading, experimenting, shipping production systems, and working with people who knew things I did not. Each commitment arrived before certainty.
That is not an argument that everyone should become self-employed. Employment can provide income, colleagues, structure, and relief from risks a person does not want to carry. Choosing it can be clear judgment rather than fear.
Self-employment asks for a particular kind of trust. I have to make decisions with incomplete information, accept the outcome, and revise without pretending that hindsight was available at the start. Repeating that process builds confidence because confidence stops depending on certainty.
The company did not complete that process. It added obligations: accounts, payroll, resolutions, deadlines, and money I cannot treat as private. I chose those constraints because separation and runway can let me say no, keep a promise, or fund work beyond the next invoice.
A legal form is not an identity. It is not proof that someone has become a serious entrepreneur. It is a structure chosen under assumptions. Those assumptions deserve the same scrutiny I would apply to a production system.
Run your own numbers
I built the Freelance or company? calculator so that the conclusion does not have to be mine. Change the profit, private spending, salary, fees, return, inflation, and retirement horizon. Watch where the paths separate. Look for the small change that reverses the ranking.
Do not copy my Holding or somebody else’s threshold. Run one honest scenario, including a bad year, then take the sensitive assumptions to a German tax adviser.
Self-employment does not remove uncertainty. It gives you practice making responsible choices before uncertainty disappears. Trust yourself enough to inspect the choice, and enough to change it when the evidence changes.
Sources and model version
The calculator and figures use model version 2026.09-payout-tax.1, ported from the supplied workbook with one documented correction. The workbook reduced the solidarity-surcharge base by the §35 EStG trade-tax credit. The web model follows §3(2) SolzG and calculates the surcharge before that credit. It also contains a disabled-by-default fictional EXIT for comparing direct and Holding ownership of an eligible share sale. The public Google Sheet remains available for inspecting the full selected-career model.
The material statutory inputs come from primary sources: §32a EStG for the 2026 income-tax tariff, §35 EStG for the Gewerbesteuer credit, §3 SolzG for the solidarity-surcharge assessment base, §11 GewStG for the allowance and assessment rate, and §23 KStG for the enacted corporate-tax schedule. The illustrative direct EXIT refers to §17 EStG. Holding participation treatment comes from §8b KStG and §9 GewStG. ETF treatment follows §§18 to 20 InvStG and the BMF notice setting the 2026 Basiszins.