Every software engineer, designer, or consultant making the jump from salaried employment to independent contracting encounters the standard advice:

"Take your desired corporate salary, drop the last three zeros, and divide by two. E.g., $100,000 / 2,080 hours = $48.08/hr."

If you quote clients $48.08/hr, you will not take home $100,000.

After accounting for self-employment tax, unpaid sick leave, hardware depreciation, health insurance premiums, and non-billable client management hours, you will net closer to $38,500.

You are undercharging by -61.5%.

To net $100,000 as an independent operator in the United States, your minimum billable rate must be $124.89/hr to $135.09/hr—more than double the naive figure.

Here is the mathematical breakdown of why the standard 2,080-hour baseline breaks down, how to write the reverse-netting algorithm in TypeScript, and how to structure your client rate cards.

1. The 2,080-Hour Trap: Calendar Time vs. Billable Capacity

The standard corporate work year is calculated as:

52 calendar weeks * 40 hours/week = 2,080 total hours 

This equation applies only to salaried full-time employees whose paid time off (PTO), national holidays, medical leave, and mandatory internal meetings are subsidized by employer payroll.

As an independent contractor, you do not have 2,080 billable hours.

A. Calendar Reality

  • Unpaid Vacation (PTO): 3 weeks (15 business days) = 120 hours.
  • Holidays & Sick Leave: 2 weeks (10 business days) = 80 hours.
  • Available Work Weeks: 52 - 3 - 2 = 47 weeks.

B. The 65% Billable Utilization Ceiling

Even during active work weeks, you cannot bill 40 hours per week. Client discovery calls, proposals, invoicing, bookkeeping, context switching, code reviews, and repo maintenance consume between 25% and 40% of your time.

In agency and engineering benchmarks, a sustainable billable utilization rate is 65% to 70%:

Nominal Weekly Hours : 35.0 to 40.0 hours Billable Capacity : 40 * 0.65 = 26.0 billable hours/week Annual Billable Hours: 47 weeks * 26.0 hours = 1,222 billable hours 

Dividing your revenue target across 1,222 hours instead of 2,080 hours increases your required baseline rate by +70.2% before considering taxes or operating expenses.

2. Four Overhead Categories Salaried Employees Never See

A salaried $100,000 engineer receives total compensation exceeding $130,000 when employer-paid payroll taxes and benefits are included. When you operate as a 1099 contractor or single-member LLC, you fund these liabilities directly:

Cost Category Annual Impact Monthly Allocation Technical Rationale
Self-Employment Tax (FICA) $15,300.00 $1,275.00 15.3% covering both employer and employee Social Security & Medicare portions.
Health, Dental & Vision $7,200.00 $600.00 Individual healthcare plan premiums with zero corporate subsidy.
Hardware & SaaS Subscriptions $4,800.00 $400.00 Laptop refresh amortized over 2 years, GitHub, AWS, Figma, Google Workspace.
Emergency & Retirement Cushion $10,000.00 $833.33 10% reserve for delayed client payments and SEP-IRA retirement savings.
Total Non-Discretionary Overhead $37,300.00 $3,108.33 Required gross revenue buffer before taking home $1.

3. The Reverse Netting Formula

To net a target take-home salary ($S_{\text{net}}$), you must solve algebraically for your gross revenue ($G$) and divide by your true annual billable hours ($H_{\text{billable}}$):

 Target Net + Annual Expenses Gross Revenue (G) = -------------------------------- 1 - Effective Tax Rate Gross Revenue (G) Hourly Rate (R) = --------------------- Annual Billable Hours 

Where:

Annual Billable Hours = (52 - Weeks Off) * Weekly Hours * Utilization Rate 

Worked Example: Target $100,000 Net Take-Home

  1. Target Net ($S_{\text{net}}$): $100,000.00
  2. Annual Operating Overhead: $12,000.00 (software, insurance, hardware)
  3. Effective Tax Rate: 28% (federal, state, and SE tax buffer)
  4. Required Gross Revenue ($G$):
 ($100,000 + $12,000) / (1 - 0.28) = $112,000 / 0.72 = $155,555.56 
  1. Annual Working Weeks: 47 weeks (3 weeks PTO + 2 weeks sick/admin)
  2. Nominal Weekly Hours: 35 hours
  3. Billable Utilization: 70% (24.5 billable hours/week)
  4. Annual Billable Hours ($H_{\text{billable}}$):
 47 weeks * 24.5 hours = 1,151.5 hours 
  1. Required Hourly Rate ($R$):
 $155,555.56 / 1,151.5 hours = $135.09 / hr 
  1. Standard Day Rate (7 billable hours):

    $135.09 * 7 = $945.63 / day 

4. The TypeScript Engine: Minor-Unit Arithmetic

When writing billing calculators, never use standard JavaScript floating-point math (0.1 + 0.2 = 0.30000000000000004). Financial calculations must execute in minor currency units (cents) as integers:

export interface FreelanceRateInput { targetAnnualNetCents: number; // e.g. 10000000 for $100,000.00 annualExpensesCents: number; // e.g. 1200000 for $12,000.00 taxRatePercent: number; // e.g. 28.0 weeksOffPerYear: number; // e.g. 5 (3 PTO + 2 sick) weeklyHours: number; // e.g. 35.0 billableRatioPercent: number; // e.g. 70.0 } export interface FreelanceRateResult { requiredGrossCents: number; totalBillableHours: number; hourlyRateCents: number; dayRateCents: number; monthlyRetainerCents: number; } export function calculateFreelanceRate(input: FreelanceRateInput): FreelanceRateResult { const { targetAnnualNetCents, annualExpensesCents, taxRatePercent, weeksOffPerYear, weeklyHours, billableRatioPercent, } = input; // 1. Calculate annual billable capacity const workingWeeks = Math.max(1, 52 - weeksOffPerYear); const billableHoursPerWeek = weeklyHours * (billableRatioPercent / 100); const totalBillableHours = Math.max(1, workingWeeks * billableHoursPerWeek); // 2. Reverse net gross requirement: (Net + Expenses) / (1 - TaxRate) const taxMultiplier = 1 - (taxRatePercent / 100); const baseNeedsCents = targetAnnualNetCents + annualExpensesCents; const requiredGrossCents = Math.round(baseNeedsCents / Math.max(0.01, taxMultiplier)); // 3. Derive rates in integer cents const hourlyRateCents = Math.round(requiredGrossCents / totalBillableHours); const dayRateCents = Math.round(hourlyRateCents * (weeklyHours / 5)); const monthlyRetainerCents = Math.round(requiredGrossCents / 12); return { requiredGrossCents, totalBillableHours: Math.round(totalBillableHours * 10) / 10, hourlyRateCents, dayRateCents, monthlyRetainerCents, }; } 

5. Benchmark Rate Card: Naive Math vs. Real Math

Here is how common salary targets translate when computed properly:

Desired Net Take-Home Naive Formula ($S / 2080$) Real Gross Needed Annual Billable Hrs Required Real Hourly Rate Naive Error
$60,000 $28.85 / hr $94,444 1,151.5 hrs $82.02 / hr -64.8%
$80,000 $38.46 / hr $122,222 1,151.5 hrs $106.14 / hr -63.8%
$100,000 $48.08 / hr $155,556 1,151.5 hrs $135.09 / hr -64.4%
$120,000 $57.69 / hr $183,333 1,151.5 hrs $159.21 / hr -63.8%
$150,000 $72.12 / hr $225,000 1,151.5 hrs $195.40 / hr -63.1%
$200,000 $96.15 / hr $294,444 1,151.5 hrs $255.71 / hr -62.4%

6. Itemized Plaintext Ledger

When quoting project retainers or defending your rate card during procurement reviews, generate a clean plaintext receipt:

============================================================ FREELANCE RATE & INVOICE LEDGER ============================================================ Target Annual Net Take-Home : $100,000.00 Annual Business Expenses : $12,000.00 Tax Reserve Buffer (28.0%) : $43,555.56 ------------------------------------------------------------ REQUIRED GROSS BILLINGS : $155,555.56 ------------------------------------------------------------ Annual Working Weeks : 47 weeks (5 wks off) Nominal Weekly Hours : 35.0 hrs Billable Utilization (70%) : 24.5 hrs/week Annual Billable Capacity : 1,151.5 hours ------------------------------------------------------------ RECOMMENDED BILLABLE RATES: Hourly Rate : $135.09 / hr Standard Day Rate (7 hrs) : $945.63 / day Weekly Invoicing Target : $3,309.69 / week Monthly Retainer Target : $12,962.96 / month ============================================================ 

7. Client Contract Clause: Scope & Rate Terms

Avoid pricing disputes by embedding explicit billing terms into your Master Services Agreement (MSA) or Statements of Work (SOW):

### 4. Compensation and Invoicing Terms  4.1. **Standard Hourly Rate:** Client agrees to compensate Contractor at the rate of $135.00 USD per billable hour. All engineering, architectural, and advisory work is billed in minimum increments of fifteen (15) minutes (0.25 hours).  4.2. **Monthly Retainer Services:** Where a monthly retainer is agreed, Client will be invoiced on the first (1st) day of each calendar month for up to eighty (80) hours of dedicated services. Unused retainer hours do not roll forward to subsequent billing cycles. Work exceeding eighty hours requires prior written authorization and is billed at the standard hourly rate.  4.3. **Payment Terms:** Invoices are delivered digitally and are payable Net 15 days via ACH or direct electronic funds transfer. Past-due balances accrue interest at the rate of 1.5% per month or the maximum rate permitted by law. 

8. Try the Interactive Calculator (Client-Side & Zero-Tracking)

We built an open-source, client-side calculator running this exact math:

👉 FastTools Freelance Rate & Invoice Netting Calculator

Why we built it this way:

  • 100% In-Browser Execution: Zero data leaves your browser. No server calls, no telemetry, no tracking cookies.
  • Exact Integer Math: Uses minor currency units to prevent floating-point rounding errors.
  • Dual Calculation Modes: Switch between reverse netting (target salary to required rate) and forward breakdown (hourly rate to real take-home).
  • Role-Specific Models: Pre-configured presets for Software Engineers, Designers, and Salary-to-Hourly Conversions.

If you are currently billing using $S / 2,080$, review your numbers before your next contract negotiation.

What utilization percentage do you target in your contracting business? Let me know in the comments below.