If you have 1-5 employees and a relatively straightforward payroll, you may not need payroll software yet. A well-built spreadsheet handles the calculation, keeps your records organized, and makes tax time less painful. Here’s exactly how to build one.
Important caveat: Payroll tax rules change. Verify current rates with IRS.gov before using any spreadsheet for actual payroll. This guide gives you the framework; you’re responsible for using current numbers.
What the Spreadsheet Needs to Calculate
Every payroll period, you need to figure out:
- Gross Pay — what the employee earned before any deductions
- Federal Income Tax Withholding — based on their W-4 and IRS withholding tables
- Social Security Withholding — 6.2% of gross (up to annual wage base)
- Medicare Withholding — 1.45% of gross (no wage base cap)
- State Income Tax Withholding — varies by state
- Other Deductions — health insurance premiums, retirement contributions, garnishments
- Net Pay — the check amount
- Employer Taxes — your additional costs beyond gross pay
The Spreadsheet Structure
Set up one sheet per pay period, or use a running log with one row per employee per period.
Employee Setup Tab (fill once, reference from payroll):
| Column | Data |
|---|---|
| Employee Name | |
| Pay Type | Hourly / Salary |
| Hourly Rate or Salary | |
| Filing Status (W-4) | Single / MFW (Married Filing Jointly) |
| Federal Withholding Allowances | From their W-4 |
| State | For state tax lookup |
| Health Insurance Premium (pre-tax) | Employee’s portion per pay period |
| 401k Contribution % | If applicable |
Payroll Register Tab (fill each pay period):
| Column | Formula / Input |
|---|---|
| Employee Name | Reference to Setup tab |
| Pay Period | Date range |
| Regular Hours | Manual input for hourly |
| OT Hours (>40/week) | Manual input |
| Regular Pay | =Hours * Rate or salary ÷ pay periods |
| OT Pay | =OT_Hours * Rate * 1.5 |
| Gross Pay | =Regular Pay + OT Pay |
| Pre-tax Deductions | Health, 401k, FSA |
| Federal Taxable Wages | =Gross Pay - Pre-tax Deductions |
| Federal Income Tax | Lookup or formula (see below) |
| Social Security | =Gross Pay * 0.062 |
| Medicare | =Gross Pay * 0.0145 |
| State Tax | Per your state’s formula |
| Other Deductions | Post-tax items |
| Net Pay | =Gross - All Deductions |
Federal Income Tax Withholding
This is the complicated part. The IRS publishes withholding tables in Publication 15-T annually. The simplest approach for a small number of employees is the Percentage Method Tables.
The basic structure for 2025 (verify current brackets at IRS.gov):
- Calculate adjusted wage: Gross Pay - Standard withholding allowance based on their W-4
- Find the withholding bracket for their adjusted wage and filing status
- Apply the marginal rate formula: Fixed amount + (Adjusted wage - lower bracket threshold) × rate
Rather than hard-coding specific brackets (which change annually), build a Tax Table tab in your spreadsheet:
| Filing Status | Lower Threshold | Upper Threshold | Base Withholding | Rate on Excess |
|---|---|---|---|---|
| Single | $0 | $316 | $0 | 0% |
| Single | $316 | $1,111 | $0 | 10% |
| … | … | … | … | … |
Then use nested IFS or VLOOKUP to find the right row:
=VLOOKUP(AdjustedWage, TaxTable, 3, TRUE) + (AdjustedWage - VLOOKUP(AdjustedWage, TaxTable, 1, TRUE)) * VLOOKUP(AdjustedWage, TaxTable, 4, TRUE)
Update this table each January from IRS Publication 15-T.
Employer Tax Section
For each payroll run, you also owe employer-side taxes. Track these separately:
| Tax | Rate | Notes |
|---|---|---|
| Employer Social Security | 6.2% of gross | Up to same annual wage base as employee side |
| Employer Medicare | 1.45% of gross | No cap |
| Federal Unemployment (FUTA) | 6.0% on first $7,000 | Usually reduced to 0.6% with state credit |
| State Unemployment (SUTA) | Varies | Check your state’s rate |
Employer Tax per employee: =(Gross Pay * 0.062) + (Gross Pay * 0.0145) + FUTA_Applicable + SUTA_Applicable
True Labor Cost: =Gross Pay + Employer Taxes + Benefits — this is the number that shows what each employee actually costs your business.
Running Totals and Year-to-Date Tracking
Add a YTD Summary tab that tracks per employee:
- YTD Gross Pay
- YTD Social Security Wages (cap at annual limit — $176,100 for 2025, verify)
- YTD Federal Income Tax Withheld
- YTD Social Security Withheld
- YTD Medicare Withheld
- YTD Net Pay
These numbers feed directly into your 941 quarterly forms and W-2s at year end.
Use SUMIF to pull from your payroll register: =SUMIF(PayrollRegister[Employee], A2, PayrollRegister[Gross Pay])
What This Spreadsheet Doesn’t Do
Be clear-eyed about the limitations:
- It doesn’t automatically deposit taxes to the IRS (you do that via EFTPS)
- It doesn’t file 941s, 940s, W-2s, or state forms for you
- It doesn’t handle complex situations: garnishments, benefits-in-kind, tips, commissions with specific rules
- It doesn’t update when tax rates change — that’s your responsibility each year
If any of those friction points are costing you time, payroll software (Gusto, QuickBooks Payroll, Rippling) at $40-100/month eliminates all of them and costs less than one IRS penalty for a late deposit.
Next Step
Set up your Employee Setup tab with your current employees’ information. Then run a parallel calculation for your next payroll: use both your spreadsheet and your current method, and compare. If the numbers match, you have a working system. If they don’t, find the discrepancy before you go live. The IRS has no patience for wrong numbers.
5 Google Sheets Every Small Business Needs
Cash flow, P&L, mileage log, invoice tracker, and payroll — all free.
No spam. Unsubscribe any time.