C-Corp vs. S-Corp for a Growing Freelance Agency (2026): Why Retained Profit Flips Which One Wins
Published: September 18, 2026 ยท Reading time: 12 min
TL;DR: A corporation is taxed one of two ways: as a C-corp (Subchapter C's default โ a flat 21% entity-level tax, plus a second tax if profit is later distributed as a dividend) or as an S-corp (a Subchapter S election under Form 2553 โ no entity-level tax; every dollar of profit passes through to the owner's return the year it's earned, whether distributed or not). On an identical $340,000 of profit after a $160,000 reasonable officer salary, a verified 2026 example shows the S-corp path costs $138,814.25 this year in combined income tax and FICA, while the C-corp path costs only $123,014.00 โ a $15,800.25 edge โ if the profit stays in the business. Distribute it instead, and the C-corp's lifetime tax on that same $340,000 climbs to $186,940.80, $48,126.55 more than the S-corp ever would have cost. Layer on top: ยง1361(b) bars an S-corp from having more than 100 shareholders, any non-individual shareholder (with narrow exceptions), a nonresident-alien shareholder, or more than one class of stock โ so a VC round or a foreign co-founder forces C-corp status regardless of what the numbers say. And a C-corp never qualifies for the ยง199A QBI deduction at all (it's available only to "a taxpayer other than a corporation"), while an S-corp's pass-through profit does, subject to the usual caps.
Most freelancer-facing content treats "S-corp" as the answer to every profitable solo business and stops there. That's a reasonable default for a business that pays out most of what it earns. It stops being the automatic answer the moment a freelance practice becomes an actual agency โ hiring staff, reinvesting a chunk of every year's profit into growth, and maybe courting outside capital. At that point, the C-corp option that "everyone" dismisses as double-taxed and inferior deserves an actual side-by-side, because for a specific and common shape of growing business, it wins.
What Each One Actually Is
| C-Corp (Subchapter C โ the default) | S-Corp (Subchapter S โ an election) | |
|---|---|---|
| How you get there | Automatic for any newly formed corporation that does nothing else | File Form 2553 under ยง1362(a) to elect S status |
| Entity-level tax | 21% flat, IRC ยง11(b) | None โ profit passes through untaxed at the entity level |
| Tax on the owner | Only on salary paid out, and on any dividend actually distributed | On 100% of profit, whether distributed or not โ via K-1 |
| Shareholder restrictions | None โ any number, any type, foreign or domestic | ยง1361(b)(1): โค100 shareholders, individuals only (narrow trust/estate exceptions), no nonresident aliens, one class of stock |
| QBI deduction (ยง199A) | Never available โ ยง199A(a) applies only to "a taxpayer other than a corporation" | Available on the pass-through K-1 share, subject to the usual caps |
| Double taxation risk | Yes, on any profit eventually distributed as a dividend | No โ there's only ever one layer of tax |
| Best economics for | Profit that's reinvested, not distributed | Profit that's paid out to the owner most years |
The two aren't actually competing to answer the same question. An S-corp answers "how do I get this year's profit to my own return with the least tax and no self-employment tax on the distribution." A C-corp answers "how do I let my business keep more of its own money to grow, and defer the shareholder-level tax until โ or unless โ I actually take it out."
The Wall Most Comparisons Skip: Who's Allowed to Own the Stock
Before the tax math matters at all, check whether S-corp status is even available given where the business is going. Here's the operative text, fetched directly from the current U.S. Code:
"the term 'small business corporation' means a domestic corporation which is not an ineligible corporation and which does notโ (A) have more than 100 shareholders, (B) have as a shareholder a person (other than an estate, a trust described in subsection (c)(2), or an organization described in subsection (c)(6)) who is not an individual, (C) have a nonresident alien as a shareholder, and (D) have more than 1 class of stock." โ 26 U.S.C. ยง1361(b)(1)
That's four hard stops, and a growing agency runs into at least one of them more often than a solo freelance practice does:
- Any venture fund, private equity vehicle, or corporate strategic investor is an LLC, a limited partnership, or a corporation โ not "an individual" โ so accepting that kind of investment blows the S election the day it closes.
- A foreign co-founder, contractor-turned-partner, or investor who holds shares as a nonresident alien has the same effect.
- Issuing preferred stock, or any share class with different economic or liquidation rights than the founders' common stock, violates the one-class-of-stock rule โ a standard term sheet from an institutional investor routinely requires exactly this.
None of this is a choice made at tax-filing time. ยง1362(d)(2) terminates the S election automatically, effective on the date the corporation stops qualifying as a small business corporation โ the S status doesn't survive the cap-table change even if nobody files anything. An agency with any realistic path to outside institutional capital should treat that as a structural constraint on the entity choice, separate from and prior to the profit-retention math below.
The FICA Layer Is Identical in Both Structures
One piece doesn't change based on the S-corp/C-corp choice at all: the reasonable officer salary. Both structures require the owner to be paid a reasonable W-2 salary for services performed, and that salary is subject to the same payroll tax either way โ 6.2% OASDI (up to the 2026 wage base of $184,500) and 1.45% Medicare, split between employee and employer sides. Nothing about C-corp vs. S-corp changes this; the divergence starts entirely with what happens to the profit left over after that salary. One wrinkle applies identically in both structures too: once wages exceed $200,000 for a single filer, IRC ยง3101(b)(2) adds an extra 0.9% Additional Medicare Tax on the excess โ irrelevant to Marina's $160,000 salary in the example below, but worth budgeting for as officer compensation scales up with the business.
The Worked Example
Marina runs a mid-size creative and production agency โ six employees, systemized delivery, no single client dependent on Marina's own personal involvement in the work. She's a single filer. In 2026, the agency generates:
node -e "
const grossReceipts = 812240;
const staffWages = 220000; // six non-officer employees, fully loaded W-2 wages
const otherOpex = 80000; // rent, software, production costs (non-wage)
const profitBeforeComp = grossReceipts - staffWages - otherOpex;
const reasonableSalary = 160000;
const wageBase2026 = 184500; // SSA, 2026 OASDI wage base
const oasdiWages = Math.min(reasonableSalary, wageBase2026);
const employeeFica = oasdiWages * 0.062 + reasonableSalary * 0.0145;
const employerFica = employeeFica; // employer matches
const totalFica = employeeFica + employerFica;
// Employer-side FICA on the officer's own salary is a deductible business
// expense โ it comes out of the profit pool before anything is left over,
// the same way it would for any other payroll cost.
const remainingProfit = profitBeforeComp - reasonableSalary - employerFica;
console.log('Profit before officer compensation:', profitBeforeComp.toFixed(2));
console.log('Reasonable officer salary (same in both structures):', reasonableSalary.toFixed(2));
console.log('Employee-side FICA on that salary:', employeeFica.toFixed(2));
console.log('Employer-side FICA on that salary (reduces remaining profit):', employerFica.toFixed(2));
console.log('Total FICA (both sides):', totalFica.toFixed(2));
console.log('Remaining profit after salary AND employer FICA:', remainingProfit.toFixed(2));
"
Profit before officer compensation: 512240.00
Reasonable officer salary (same in both structures): 160000.00
Employee-side FICA on that salary: 12240.00
Employer-side FICA on that salary (reduces remaining profit): 12240.00
Total FICA (both sides): 24480.00
Remaining profit after salary AND employer FICA: 340000.00
The employer's $12,240 FICA match is a deductible business expense either way โ it reduces the $512,240 profit pool before anything is left over, exactly like the $220,000 of staff wages already does. Skipping that step would tax the same $12,240 twice: once as "profit" and again as a payroll-tax cost. The six staff members' own $220,000 in wages matters for a second reason below โ the ยง199A W-2 wage test looks at the business's total W-2 wages, not just the officer's.
Path A โ S-Corp
Because the agency's value now lives in its six-person team and its delivery process rather than in Marina's own name, it isn't on the ยง199A specified-service list and doesn't trip the "reputation or skill" catch-all discussed in the QSBS FAQ below โ so unlike an SSTB, the QBI deduction here doesn't phase out to zero above the threshold, it's only capped by the W-2 wage test run below. The $340,000 passes through as K-1 income this year, whether or not Marina takes cash out of the business.
node -e "
const salary = 160000;
const staffWages = 220000;
const remainingProfit = 340000;
const stdDeduction = 16100; // 2026 single, Rev. Proc. 2025-32 sec 4.14
const qbi = remainingProfit; // reasonable comp excluded from QBI, 199A(c)(4)(A)
const w2Wages = salary + staffWages; // total business W-2 wages, not officer salary alone
const taxableIncomeBeforeQBI = salary + remainingProfit - stdDeduction;
const sstbThreshold = 201750; // Rev. Proc. 2025-32 sec 4.26, single โ start of phase-in
const phaseInCeiling = 276750; // Rev. Proc. 2025-32 sec 4.26, single โ top of phase-in range (already inclusive of the threshold; not added to it)
const tentativeQbi = qbi * 0.20;
const wageLimit = w2Wages * 0.50; // 50%-of-W2-wages branch controls; no meaningful UBIA property
const taxableIncomeCap = 0.20 * taxableIncomeBeforeQBI; // no net capital gain to subtract
const fullyPhasedOut = taxableIncomeBeforeQBI > phaseInCeiling;
const wageConstrained = Math.min(tentativeQbi, wageLimit);
const qbiDeduction = Math.min(fullyPhasedOut ? wageConstrained : tentativeQbi, taxableIncomeCap);
const finalTaxableIncome = taxableIncomeBeforeQBI - qbiDeduction;
function tax2026Single(ti) {
const b = [[0,.10],[12400,.12],[50400,.22],[105700,.24],[201775,.32],[256225,.35],[640600,.37]];
let t = 0;
for (let i=0;i<b.length;i++){
const [start,rate]=b[i]; const end = i+1<b.length ? b[i+1][0] : Infinity;
if (ti>start) t += (Math.min(ti,end)-start)*rate;
}
return t;
}
const personalTax = tax2026Single(finalTaxableIncome);
const totalFica = 24480;
console.log('Taxable income before QBI:', taxableIncomeBeforeQBI.toFixed(2));
console.log('Fully above the 199A phase-in ceiling (' + phaseInCeiling + ')?', fullyPhasedOut);
console.log('Tentative QBI deduction (20% of QBI):', tentativeQbi.toFixed(2));
console.log('W-2 wage limit (50% of total business wages, officer + staff):', wageLimit.toFixed(2));
console.log('20%-of-taxable-income cap:', taxableIncomeCap.toFixed(2));
console.log('QBI deduction allowed:', qbiDeduction.toFixed(2));
console.log('Final taxable income:', finalTaxableIncome.toFixed(2));
console.log('Personal income tax (2026 brackets):', personalTax.toFixed(2));
console.log('TOTAL TAX, S-CORP PATH:', (personalTax + totalFica).toFixed(2));
"
Taxable income before QBI: 483900.00
Fully above the 199A phase-in ceiling (276750)? true
Tentative QBI deduction (20% of QBI): 68000.00
W-2 wage limit (50% of total business wages, officer + staff): 190000.00
20%-of-taxable-income cap: 96780.00
QBI deduction allowed: 68000.00
Final taxable income: 415900.00
Personal income tax (2026 brackets): 114334.25
TOTAL TAX, S-CORP PATH: 138814.25
Marina's taxable income clears the 2026 ยง199A phase-in ceiling of $276,750 entirely, so the deduction is capped by the lesser of the tentative 20%-of-QBI figure and the W-2 wage limit. The wage limit itself is 50% of the S-corp's total W-2 wages โ Marina's own $160,000 salary plus the $220,000 paid to her six employees, not her salary alone โ so it comes to $190,000, and the $68,000 tentative deduction sits well under it either way. Because staff payroll already dominates the wage base here, trimming the officer's own salary wouldn't meaningfully move this limit; it would only shrink the FICA line above. See the QBI deduction guide for the full three-limit mechanics. Total S-corp tax: $138,814.25.
Path B โ C-Corp, Profit Retained for Growth
The identical $340,000 stays in the business โ funding a new hire, equipment, or working capital instead of going to Marina.
node -e "
const remainingProfit = 340000;
const corpTax = remainingProfit * 0.21; // IRC 11(b)
const retainedAfterTax = remainingProfit - corpTax;
const salary = 160000;
const stdDeduction = 16100;
const ownerTaxableIncome = salary - stdDeduction; // no QBI either way on wages
function tax2026Single(ti) {
const b = [[0,.10],[12400,.12],[50400,.22],[105700,.24],[201775,.32],[256225,.35],[640600,.37]];
let t = 0;
for (let i=0;i<b.length;i++){
const [start,rate]=b[i]; const end = i+1<b.length ? b[i+1][0] : Infinity;
if (ti>start) t += (Math.min(ti,end)-start)*rate;
}
return t;
}
const ownerTax = tax2026Single(ownerTaxableIncome);
const totalFica = 24480;
console.log('Corporate tax (21% flat):', corpTax.toFixed(2));
console.log('Retained after-tax cash staying in the business:', retainedAfterTax.toFixed(2));
console.log('Owner personal tax (salary only):', ownerTax.toFixed(2));
console.log('TOTAL TAX THIS YEAR, C-CORP RETAINED:', (corpTax + ownerTax + totalFica).toFixed(2));
"
Corporate tax (21% flat): 71400.00
Retained after-tax cash staying in the business: 268600.00
Owner personal tax (salary only): 27134.00
TOTAL TAX THIS YEAR, C-CORP RETAINED: 123014.00
Total, if retained: $123,014.00 โ $15,800.25 less than the S-corp path, and $268,600 of after-tax cash is now sitting inside the agency instead of on Marina's personal return.
Path C โ C-Corp, Same Profit, Later Distributed in Full
Suppose two years later Marina pays herself the entire $268,600 as a dividend, and by then her other income keeps her in the top qualified-dividend bracket plus the net investment income tax.
node -e "
const retainedAfterTax = 268600;
const dividendRate = 0.20; // top qualified dividend rate, 1(h)(11)
const niitRate = 0.038; // 3.8%, IRC 1411(b), threshold 200,000 single, already exceeded by wages elsewhere
const dividendTax = retainedAfterTax * (dividendRate + niitRate);
const corpTax = 71400;
const salaryYearTax = 27134 + 24480; // owner tax + FICA from the retained-year computation
const totalLifetime = corpTax + dividendTax + salaryYearTax;
const sCorpTotal = 138814.25;
console.log('Dividend tax (20% + 3.8% NIIT = 23.8%):', dividendTax.toFixed(2));
console.log('Total lifetime tax, C-corp fully distributed:', totalLifetime.toFixed(2));
console.log('S-corp total for comparison:', sCorpTotal.toFixed(2));
console.log('C-corp disadvantage once fully distributed:', (totalLifetime - sCorpTotal).toFixed(2));
"
Dividend tax (20% + 3.8% NIIT = 23.8%): 63926.80
Total lifetime tax, C-corp fully distributed: 186940.80
S-corp total for comparison: 138814.25
C-corp disadvantage once fully distributed: 48126.55
The C-corp's entire advantage was a deferral, not a saving. The moment Marina takes the money out, the second layer of tax โ 23.8% on top of the 21% already paid โ more than erases the $15,800.25 head start, turning it into a $48,126.55 disadvantage.
| Path | This year's tax | If fully distributed later |
|---|---|---|
| S-corp | $138,814.25 | (already includes 100% of the profit) |
| C-corp, retained | $123,014.00 | โ |
| C-corp, eventually distributed in full | $123,014.00 (year one) | $186,940.80 total |
| Difference vs. S-corp | C-corp saves $15,800.25 | C-corp costs $48,126.55 more |
Where's the break-even?
node -e "
const sCorpTotal = 138814.25;
const cCorpRetained = 123014.00;
const retainedAfterTax = 268600;
const perDollarDividendTax = 0.20 + 0.038;
const breakEvenFraction = (sCorpTotal - cCorpRetained) / (retainedAfterTax * perDollarDividendTax);
console.log('Break-even fraction of retained earnings distributed this year:', (breakEvenFraction * 100).toFixed(2) + '%');
console.log('Break-even dollar amount:', (breakEvenFraction * retainedAfterTax).toFixed(2));
"
Break-even fraction of retained earnings distributed this year: 24.72%
Break-even dollar amount: 66387.61
As long as Marina distributes less than about 24.72% of that year's after-tax retained earnings (roughly $66,388 of the $268,600), the C-corp still comes out ahead for the year. Distribute more than that, and the S-corp would have been cheaper. This is the actual decision an agency owner is making โ not "C-corp or S-corp," but "how much of this year's profit will genuinely stay in the business."
The QBI Cliff Nobody Mentions
Separately from the retention math above, a C-corp forfeits something an S-corp keeps regardless of distribution policy: the ยง199A deduction itself never applies. The statute is explicit about who it reaches:
"In the case of a taxpayer other than a corporation, except as provided in subsection (i), there shall be allowed as a deduction for any taxable year an amount equal to the lesser ofโ (1) the combined qualified business income amount of the taxpayer..." โ 26 U.S.C. ยง199A(a)
A C-corp shareholder never gets a QBI deduction on the corporation's profit, no matter how it's distributed or retained โ the deduction simply doesn't exist for corporate income. An S-corp shareholder's K-1 share, by contrast, is QBI-eligible every year it's earned (subject to the caps run above), which is part of what narrows the C-corp's advantage in the worked example โ Marina's S-corp path already has a $68,000 deduction baked into its $138,814.25 total before the two paths are even compared.
Audit Triggers & Common Mistakes
- Comparing C-corp and S-corp using only "this year's" tax bill. The comparison only means something once you've also decided how much of the profit is actually staying in the business โ a single year's number in isolation systematically favors the C-corp and hides the double-taxation cost waiting on the other side.
- Accepting outside investment without checking ยง1361(b) first. A funding round that includes an LLC, a corporate investor, or a foreign national as a direct shareholder terminates S status automatically under ยง1362(d)(2) โ plan the entity conversion before the round closes, not after.
- Treating "reasonable salary" as a free variable to minimize. A salary set too low doesn't just risk an audit on its own โ the IRS has litigated unreasonably low S-corp salaries for decades, and the agency's own payroll data is the first thing an examiner checks. (It does not, on its own, meaningfully shrink the ยง199A W-2 wage limit once a business has real non-officer payroll โ that limit runs off the business's total wages, officer and staff combined.)
- Assuming the QSBS exclusion rescues a C-corp election automatically. ยง1202(e)(3)'s reputation-or-skill exclusion applies to agencies exactly as it applies to solo freelancers; converting to a C-corp doesn't itself change whether the business can pass that test.
- Forgetting the ยง1362(g) five-year re-election bar. Revoking S status to become a C-corp โ even temporarily, to chase one large capital-intensive year โ locks out re-electing S status for five years without IRS consent. That's a structural decision, not a one-year experiment.
How CentSense Helps
Whichever structure the agency runs under, the retained-vs-distributed decision above only works if the books actually separate reasonable salary from the remaining profit, and track what's paid out versus reinvested through the year:
- Officer payroll and business-profit categories kept separate from day one, so the split above is a lookup, not a reconstruction in March
- Every receipt and invoice scanned and tagged the moment it's captured, so year-end profit (before officer comp) is always current
- Exportable, CPA-ready records for whichever entity's return โ Form 1120 or Form 1120-S โ your accountant is filing
For the S-corp mechanics themselves โ the election, reasonable-salary standards, and the accountable plan โ see the S-corp election guide, reasonable salary, and the accountable plan. For the more common LLC-default-vs-S-corp-election comparison most solo freelancers actually face, see S-corp vs. LLC taxes.
Authoritative References
- 26 U.S.C. ยง11 โ Tax imposed (corporate rate)
- 26 U.S.C. ยง1361 โ S corporation defined
- 26 U.S.C. ยง1362 โ Election; revocation; termination
- 26 U.S.C. ยง199A โ Qualified business income
- 26 U.S.C. ยง1202 โ Partial exclusion for gain from certain small business stock
- 26 U.S.C. ยง1(h) โ Maximum capital gains rate / qualified dividend income
- 26 U.S.C. ยง1411 โ Net investment income tax
- 26 U.S.C. ยง3101 โ Rate of tax (Additional Medicare Tax)
- IRS โ Internal Revenue Bulletin 2025-45 (Rev. Proc. 2025-32, 2026 inflation adjustments)
- Social Security Administration โ Contribution and Benefit Base (2026 wage base)
- IRS โ S Corporations
This guide is general education for U.S. freelancers and agency owners in 2026, not personalized tax or legal advice. Entity choice interacts with state-level franchise and income taxes, payroll administration, shareholder agreements, and the business's specific growth plans in ways this article doesn't model. The worked example assumes a single calendar-year taxpayer with no other income sources and no state tax effects. Run your own numbers with a CPA before electing or revoking S status โ the ยง1362(g) five-year re-election bar makes this a decision worth getting right the first time.
Related reads
Continue learning with more tax and expense guides for freelancers.
2026-09-18
Vehicle Depreciation Recapture When Business Use Drops Below 50%: The IRC ยง280F(b)(2) Trap for Freelancers (2026)
2026-09-18
Below-Market Loans to Your S-Corp: The 2026 IRC ยง7872 Imputed-Interest Rules for Freelancers
2026-09-18
Section 263A UNICAP: The $32 Million Small Business Exception (2026)
2026-09-18
Glazier Tax Deductions: 2026 Schedule C Guide to Glass, Glazing Tools & the Supply-and-Install Materials Decision
Compare alternatives
See how CentSense stacks up to other expense and receipt tools for freelancers.
- Keeper Tax alternative
- QuickBooks Self-Employed alternative
- FlyFin alternative
- Expensify alternative
- Shoeboxed alternative
- Veryfi alternative
- Dext alternative
- ReceiptsAI alternative
- Smart Receipts alternative
- EasyExpense alternative
- Zoho Expense alternative
- Rydoo alternative
- Fyle alternative
- Navan alternative
- Expense Tracker 365 alternative
- Paylocity alternative
- Wave Receipts alternative
- QuickBooks Online alternative
- Xero alternative
- See all alternatives โ