Payroll Ledger: What It Is and How to Create One
What a payroll ledger is and how to build one. Every column you need, a worked example with the employer tax rows most homemade ledgers leave out.
Payroll Ledger
Every column you need, the employer-tax rows nobody includes, and how to build one from scratch
Here is how to build a ledger that records both sides of every paycheck: what your employee takes home and what that paycheck costs your business. The first payroll ledger I built was a Google Sheet with six columns: name, hours, rate, gross, taxes, net. It felt complete. It balanced. Every number tied to every other number.
It was also wrong in a way that took me a full quarter to notice. I had built a ledger that tracked what came out of my employees' paychecks and nothing at all that tracked what payroll cost me.
The missing columns were all on my side of the equation: no matching Social Security, no matching Medicare, nothing for unemployment tax. So when I budgeted from that sheet, I was underestimating my own payroll cost by roughly eight percent, every month, quietly.
A payroll ledger is not hard to build. It is easy to build badly, because the columns you omit are invisible until they are expensive. This guide covers what a payroll ledger is and how it differs from the register, journal, and general ledger. Then come the columns (including the ones nobody includes), a worked example, reconciliation, and the point where a spreadsheet stops being good enough.
What Is a Payroll Ledger?
A payroll ledger is the cumulative record of what a business pays its employees over time. One row per employee per pay period, showing what they earned, what was withheld, what you owed on top, and what they actually took home.
The word that matters most is "cumulative." A pay stub tells you about one paycheck. A payroll ledger tells you about a relationship over time.
The accumulation is what gives the ledger its value: the year-to-date totals that drive your quarterly filings, the history you produce when someone disputes a paycheck from eighteen months ago, and the cost trend that tells you what your team actually costs.
Payroll Ledger vs Register vs Journal vs General Ledger
These four terms get used interchangeably across the internet, including by payroll vendors who should know better. Here is the actual distinction, which mostly comes down to what each one is organized around.
If you take one thing from this section: the register is a period, the ledger is a history, the journal is an accounting entry, and the general ledger is the whole company's books. They describe the same underlying money at different levels of aggregation and from different vantage points.
A small business genuinely needs the ledger. It gets the register automatically from any payroll system, and it needs the journal only when the payroll data has to land in accounting software.
What Is a Payroll Register?
A payroll register is the report for one pay run: every employee paid in that period, with hours, gross pay, each deduction, employer taxes, net pay, and the column totals for the run. It answers what this run cost. The ledger answers what one person has been paid across the year.
The register earns its keep in the window between previewing a pay run and submitting it, because it is the one report you can still read while an error is free to fix. It comes out of any payroll system as a standard payroll report, and its run totals are what your ledger rows for that period should tie back to.
The Columns You Actually Need
A working payroll ledger has six families of columns. Miss any one of them and the ledger becomes decorative rather than useful.
The single most consequential design decision is breaking things out rather than lumping them together. One gross column is easier to build and useless in a dispute. Regular, overtime, bonus, and commission as four columns takes ten extra seconds and answers the question a wage claim will actually ask.
Deductions follow the same logic. A single total-deductions column tells you nothing, while a column per deduction traces each one back to the authorization that permits it. For gross pay, the breakout is more than good practice: under the FLSA recordkeeping rule at 29 CFR 516.2, the basis on which wages are paid and total premium pay for overtime hours are separately required records.
The Employer Tax Columns Nobody Includes
Employer payroll taxes are not deductions. They are not subtracted from anyone's pay. They are an additional amount the business owes on top of gross wages, and if your ledger does not have columns for them, your ledger does not know what payroll costs. This is the section I wish someone had put in front of me before I built that first spreadsheet.
Four employer taxes belong in the ledger for a typical small business.
| Employer Tax | Rate and Base | What to Watch |
|---|---|---|
| Social Security (employer share) | 6.2% of wages, up to the annual Social Security wage base: $192,300 for 2027 ($184,500 for 2026). | The obligation stops for an employee once their year-to-date wages cross the wage base. This is why the YTD gross column matters: without it you keep withholding and matching past the cap. |
| Medicare (employer share) | 1.45% of all wages, with no wage base limit. | There is no cap, so this one never stops. The additional 0.9% Medicare tax on wages above $200,000 in a year is a separate, employee-only withholding that sits in a deduction column instead. |
| FUTA (federal unemployment) | 6.0% on the first $7,000 of each employee's wages, commonly reduced to an effective 0.6% by the state unemployment credit. | Paid entirely by the employer and never withheld from employee wages. Reported annually on Form 940 rather than quarterly. |
| SUTA (state unemployment) | Varies by state and by your experience rating. | Your rate is not fixed. It moves based on your claims history, which means the same wage costs different employers different amounts. |
Per IRS Topic No. 751, the Social Security rate is 6.2 percent each for employer and employee, and the Medicare rate is 1.45 percent each, with no wage base limit on Medicare. According to the Social Security Administration (October 2026), the taxable wage base is $192,300 for earnings in 2027 ($184,500 for 2026).
The unemployment side has its own numbers. According to IRS Topic No. 759, FUTA is 6.0 percent on the first $7,000 of each employee's annual wages, and the full 5.4 percent credit for state unemployment tax cuts the effective federal rate to 0.6 percent.
Two of these federal figures change from year to year. The Social Security wage base moves with the national average wage index, and the Department of Labor names credit reduction states after November 10 each year: states with unrepaid federal loans, where the 5.4 percent credit shrinks. Verify both each January rather than hard-coding them forever.
One more detail belongs in the ledger design. Per IRS guidance on the Additional Medicare Tax, you withhold an extra 0.9 percent once you have paid an employee more than $200,000 in a calendar year, and there is no employer match on it, so it needs a deduction column but not an employer tax column.
These are the columns to bolt onto whatever ledger you already keep. The example row is the same employee worked through later in this article, so you can see where each figure comes from before you replace it.
| A | B | C | D | E | F | G | H | I | J | K | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Employee | Employee ID | Pay period end | Gross pay ($) | Employer Soc Sec 6.2% ($) | Employer Medicare 1.45% ($) | FUTA + SUTA ($) | Employer taxes total ($) | Total employer cost ($) | YTD gross ($) | YTD employer taxes ($) |
| 2 | Example: worked example below | 2150 | 133.3 | 31.18 | 12.9 | 177.38 | 2327.38 | 2150 | 177.38 | ||
| 3 | |||||||||||
| 4 | |||||||||||
| 5 | |||||||||||
| 6 | |||||||||||
| 7 | Note | Employer taxes are a cost on top of gross pay. Never subtract them from anyone's pay. | |||||||||
| 8 | Note | Total employer cost = gross pay + employer taxes total. Budget hiring from this column. | |||||||||
| 9 | Note | Employer Social Security stops for an employee once YTD gross crosses the annual wage base. | |||||||||
| 10 | Note | Split FUTA and SUTA into two columns if your state rate is tracked separately. | |||||||||
| 11 | Note | Verify the current rates and wage base each January before the first run of the year. |
How to Create a Payroll Ledger
To create a payroll ledger, build its columns in this order. The sequence matters, because each group of columns depends on the one before it.
The payroll ledger template below is that structure as a workbook: one row per employee per pay period, with all six column families in the order the steps build them, ending in the year-to-date totals. The single filled row is the worked example from the next section, so you can see where each figure lands before you clear it.
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Employee | Employee ID | Pay period start | Pay period end | Pay date | Regular hours | Regular rate ($) | OT hours | OT rate ($) | Regular earnings ($) | Overtime earnings ($) | Bonus ($) | Commission ($) | Gross pay ($) | Federal income tax ($) | Employee Soc Sec 6.2% ($) | Employee Medicare 1.45% ($) | State and local tax ($) | Health premium ($) | Retirement ($) | Garnishment ($) | Total deductions ($) | Net pay ($) | Employer Soc Sec ($) | Employer Medicare ($) | FUTA + SUTA ($) | Employer taxes total ($) | Total employer cost ($) | YTD gross ($) | YTD deductions ($) | YTD net ($) | YTD employer taxes ($) |
| 2 | Example: worked example below | 80 | 25 | 4 | 37.5 | 2000 | 150 | 2150 | 258 | 133.3 | 31.18 | 125 | 90 | 637.48 | 1512.52 | 133.3 | 31.18 | 12.9 | 177.38 | 2327.38 | 2150 | 637.48 | 1512.52 | 177.38 | ||||||||
| 3 | ||||||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||||||
| 5 | ||||||||||||||||||||||||||||||||
| 6 | ||||||||||||||||||||||||||||||||
| 7 | Note | The example row is the worked example in the next section, with its $215.00 of other deductions split across the health premium and retirement columns. | ||||||||||||||||||||||||||||||
| 8 | Note | One row per employee per pay period. Never edit a historical row; add a dated correcting entry underneath it instead. | ||||||||||||||||||||||||||||||
| 9 | Note | Employer taxes are a cost on top of gross pay, so they are never subtracted from employee net pay. | ||||||||||||||||||||||||||||||
| 10 | Note | Add or remove deduction columns to match your state and your benefit elections, keeping one column per deduction so each traces to an authorization. | ||||||||||||||||||||||||||||||
| 11 | Note | Employer Social Security stops for an employee once YTD gross crosses the annual wage base, so keep the YTD columns current. | ||||||||||||||||||||||||||||||
| 12 | Note | Verify the current rates and wage base each January before the first run of the year. |
A Fully Worked Example
Here is one employee, one biweekly pay period, calculated all the way through to what the paycheck actually cost the business. Income tax withholding is illustrative, since it depends on the employee's W-4.
Look at step four versus step six. The employee sees $1,512.52. The business spent $2,327.38. Those two numbers are separated by about 54 percent, and a ledger that stops at net pay only ever shows you the first one.
Note also what happens with the Social Security column as the year goes on. At $2,150 biweekly, this employee earns roughly $55,900 a year, comfortably under the wage base in either year ($192,300 for 2027 and $184,500 for 2026), so the 6.2 percent applies all year.
A higher earner would cross the base partway through the year, and both the withholding and your matching obligation would stop at that point. Your ledger has to know when that happens, which it can only do if the YTD gross column exists.
The Monthly Per-Employee View
The monthly per-employee view is the same ledger data, pivoted. Instead of organizing by pay run, organize by person: one sheet or one view per employee, showing each month down the rows and the same columns across.
This is the view you want in three specific situations, and each one arrives eventually. When an employee asks about their pay history, you produce this rather than digging through twenty-six pay runs.
The other two arrive at year end and mid-year. Preparing a W-2 is easier when the annual totals are already summed, and checking whether someone has crossed the Social Security wage base means reading the running YTD gross straight out of the column.
If you are building this in a spreadsheet, the practical structure is one master sheet with every row, plus per-employee views generated from it with a filter or pivot rather than maintained by hand.
Hand-maintained employee sheets are how transcription errors get in. A transcription error in a payroll record is not a typo. It is a discrepancy between what you paid and what you recorded paying.
How to Reconcile Your Payroll Ledger
Run three reconciliation checks on your payroll ledger every pay period: net pay to bank, taxes to deposits, and YTD continuity. The table adds a headcount check and a quarterly match against Form 941, and none of them take more than a few minutes if you do them on time. A ledger you never check is not a record. It is a guess with formatting.
| Check | What You Compare | What a Mismatch Means |
|---|---|---|
| Net pay to bank | Total net pay in the ledger for this run against the total actually withdrawn from your account. | Someone was paid an amount other than what the ledger says. Find it now, because in three months you will not remember which of the two figures was right. |
| Taxes to deposits | The tax amounts in the ledger against what you actually deposited to the IRS and the state. | Either you under-deposited, which accrues penalties, or you over-deposited, which is your cash sitting somewhere it should not be. |
| Ledger to Form 941 | Quarterly totals in the ledger against what you reported on Form 941. | Your filing and your records disagree. One of them is wrong, and the IRS will be working from theirs. |
| YTD continuity | This period's YTD totals against last period's YTD plus this period's amounts. | A formula broke, or a row was edited retroactively. YTD drift is silent and compounds, and it usually surfaces at W-2 time when it is most expensive. |
| Headcount | Number of rows this period against the number of people you actually paid. | Someone was missed, or a terminated employee is still in the ledger. Both are worth catching in the period they happen. |
Record the checks rather than running them from memory. The log below is one row per check per pay run, and the variance column is the only one that matters: anything other than zero is something to explain in writing while you still remember what happened.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Pay date | Check | Ledger figure ($) | Actual figure ($) | Variance ($) | Cleared | Explanation and correcting entry |
| 2 | Total net pay vs bank withdrawal | ||||||
| 3 | Tax withheld vs deposits made | ||||||
| 4 | Quarterly ledger totals vs Form 941 | ||||||
| 5 | YTD continuity: prior YTD + this period | ||||||
| 6 | Headcount: rows this period vs people paid | ||||||
| 7 | |||||||
| 8 | Total net pay vs bank withdrawal | ||||||
| 9 | Tax withheld vs deposits made | ||||||
| 10 | Quarterly ledger totals vs Form 941 | ||||||
| 11 | YTD continuity: prior YTD + this period | ||||||
| 12 | Headcount: rows this period vs people paid | ||||||
| 13 |
A discrepancy found in the same pay period takes minutes to fix. The same discrepancy found at year end becomes a reconstruction project across twenty-six pay runs. Reconciliation is not the tedious part of payroll. It is the part that prevents the tedious part.
The quarterly check against IRS Form 941 is the one that matters most, because that filing is what the IRS will be working from if your numbers and theirs ever diverge.
Common Payroll Ledger Mistakes
These six payroll ledger mistakes are easy to make and easy to fix once you know to look for them.
| Mistake | What Goes Wrong | The Fix |
|---|---|---|
| Omitting employer tax columns | The ledger tracks what came out of employee pay and nothing about what payroll costs the business. Budgets run roughly 8 to 10 percent optimistic. | Add employer Social Security, Medicare, FUTA, and SUTA columns, plus a total employer cost column. Budget from that column, not from gross. |
| One lumped gross column | You can see what someone was paid but not why. When a wage claim asks about overtime specifically, the ledger cannot answer. | Break gross into regular, overtime, bonus, and commission. The FLSA requires overtime premium pay to be recorded separately anyway. |
| No year-to-date totals | You cannot tell when an employee crosses the Social Security wage base, so you keep withholding and matching past the cap. | Add YTD gross, YTD tax, and YTD net columns, and let them drive the wage-base logic rather than checking by hand. |
| Reconciling at year end instead of each period | Errors compound silently across twenty-six pay runs and surface when you are trying to produce W-2s. | Three checks every period: net to bank, taxes to deposits, YTD continuity. Ten minutes now beats a week in January. |
| Editing historical rows in place | The ledger no longer reflects what you actually paid at the time, which is precisely what a payroll record is supposed to preserve. | Never overwrite a historical row. Add a correcting entry with its own date, so the record shows both what happened and what fixed it. |
| The ledger lives on one laptop | The person leaves, the laptop dies, or the file gets overwritten, and years of payroll records go with it. | The ledger belongs somewhere the business controls and can retrieve from, independent of any individual employee or vendor subscription. |
The last one is an organizational mistake rather than a spreadsheet one, and it is the one that actually destroys companies' records.
How Long to Keep a Payroll Ledger
Keep a payroll ledger for at least four years. Two clocks run at once, and most guides mention only one of them.
Under the FLSA, per DOL Fact Sheet #21, employers must preserve payroll records for at least three years. The records that wage computations rest on, such as time cards and wage rate tables, must be kept for two years. Per 29 CFR 516.5, that three-year clock runs from the last date of entry, not from anyone's termination date.
The tax clock runs differently. Per IRS employment tax recordkeeping guidance, you keep all employment tax records for at least four years after filing the fourth quarter return for that year. Records for the pandemic-era tax credits need at least six years when they cover sick and family leave taken after March 31, 2021, or employee retention credit wages paid after June 30, 2021.
When the Spreadsheet Stops Working
A spreadsheet payroll ledger is legal. The FLSA prescribes no particular form for payroll records, so Excel and Google Sheets are both perfectly acceptable. The question is not whether it is allowed. The question is when it stops being safe.
Four things break, in roughly this order as a company grows:
| What Breaks | When | Why It Matters |
|---|---|---|
| Formula integrity | As soon as formulas are copied by hand | A dragged formula misses a row, or an absolute reference should have been relative. The sheet still balances, so nothing looks wrong, and the error propagates into YTD totals. |
| Version control | As soon as more than one person edits | Two people work on different copies. Both are now authoritative and neither is. There is no way to know which reflects what you actually paid. |
| Retrievability | Immediately, if the file lives on a laptop | Payroll records must be producible on request. A spreadsheet on a departed bookkeeper's machine is not a records system, whatever it contains. |
| Audit trail | Always | A spreadsheet does not tell you who changed a historical row or when. In a wage dispute, an unexplained edit to a past pay period is worse than no record at all. |
A spreadsheet is fine for a small team, survivable for a larger one if somebody stays disciplined about it, and a genuine liability by the time you are mid-size. The failure mode is not that it stops calculating. It is that it keeps calculating confidently while being wrong, which is the worst possible property for a payroll record to have.
This is the gap FirstHR is built around. Employee profiles hold each person's employment details, including W-2 or 1099 classification, FLSA status, key dates, and standard hours, so the basics behind every ledger row are a record rather than a memory.
Document management keeps each employee's payroll paperwork, such as the W-4 and signed deduction authorizations, in their own file, somewhere the business controls and can retrieve from rather than on the laptop of whoever ran payroll last. With each authorization on file, every deduction column in the ledger traces back to a document.
FirstHR holds the record and document layer around payroll, which is precisely the layer that goes missing when a provider changes or a bookkeeper leaves. It is an onboarding and HR platform rather than a payroll provider, so pay rates, withholding, and your Form 941 filings stay in your payroll system.
Whatever holds your ledger, judge it by a simple test: every row shows what the employee took home and what that pay period cost the business, and every deduction traces back to a document you can produce. Start from the ledger template above or bolt the employer tax columns onto the one you already keep, then run the reconciliation checks every pay period.
Frequently Asked Questions
What is a payroll ledger?
A payroll ledger is a business's running history of employee pay, with one row for each employee in each pay period. Each row records the hours worked, gross pay split by earning type, every deduction withheld from wages, the employer taxes owed on top, and the net pay that reached the employee. Where a pay stub covers one paycheck, the ledger keeps adding up, carrying year-to-date totals forward from run to run. Those totals are what you work from for tax filings, audits, and budgeting, and they let you answer exactly what someone was paid two years ago.
What is the difference between a payroll ledger and a payroll register?
A payroll register covers one pay run, while a payroll ledger keeps the history across every run. The register lists everyone paid on a single pay date with their gross pay, deductions, and net pay, plus the totals for that run. The ledger follows each employee from one period to the next and carries running year-to-date totals. Plenty of payroll providers blur the two names, so ask whether you are looking at one run or at many. Use the register to check a single payroll before or after it goes out, and use the ledger whenever you need someone's pay history.
How do you create a payroll ledger?
Give every employee one row for each pay period, then add the columns in the order the pay is calculated. Begin with who and when: the employee's name and ID and the pay period dates. Next come regular and overtime hours with their rates, gross pay split into regular, overtime, bonus, and commission, a separate column for every deduction, and net pay. After that, add the employer tax columns for your matching Social Security and Medicare, FUTA, and state unemployment, followed by year-to-date totals for gross, taxes, and net. Finally, check the finished ledger against your bank statement and your tax filings every pay period, since numbers nobody checks are only a guess.
What columns should a payroll ledger include?
At minimum: employee name and identifier, pay period start and end dates, pay date, regular hours and rate, overtime hours and rate, gross pay separated into regular, overtime, bonus, and commission, each employee deduction listed individually (federal income tax, Social Security, Medicare, state and local tax, benefit premiums, retirement, garnishments), net pay, and then the employer tax columns: employer Social Security, employer Medicare, FUTA, and state unemployment. Add year-to-date totals for gross, each tax, and net.
Does a payroll ledger include employer taxes?
It should, and leaving them out is the single most common omission in homemade ledgers. Employer taxes never come out of anyone's paycheck. The business pays them in addition to gross wages: a 6.2 percent employer share of Social Security, a 1.45 percent employer share of Medicare, federal unemployment tax under FUTA, and state unemployment tax. A ledger that records only what was withheld from employees therefore understates the real cost of payroll by roughly 8 to 10 percent. Give each of these taxes its own column, and add a column that totals gross pay plus those taxes.
What is a general ledger in payroll?
The general ledger (GL) is the master accounting record for your whole company, and payroll is only one of the many sources that feed it. Your payroll ledger holds the operational detail of who was paid what in each period. The general ledger receives a condensed version of that information as journal entries: wage expense is recorded as a debit, while cash and the tax liabilities you owe are recorded as credits. If a total in the GL looks wrong, the payroll ledger is where you go to find the individual paychecks behind it.
Can I keep a payroll ledger in Excel or Google Sheets?
Yes. Most small businesses begin with a spreadsheet, and the law allows it: the FLSA does not require payroll records to take any particular format. The trouble comes with growth. Hand-copied formulas break without warning, two people editing separate copies leave you with no single true version, year-to-date figures slowly stop matching what you filed, and the whole file tends to sit on one person's laptop. A spreadsheet works well for a small team, and the risks keep growing until, by mid-size, the file is a liability.
How long do you need to keep a payroll ledger?
At least four years, which is longer than most people think, because federal labor law and federal tax law each set their own clock. The FLSA sets three years for payroll records, counted from the last date of entry rather than from anyone's termination date, and two years for the underlying material such as time cards and wage rate tables. The IRS asks for something different again: hold employment tax records for at least four years after you file the fourth quarter return for that year. Chasing the two clocks separately is more trouble than it saves, so take the longer number and apply it to everything, which means four years for the ledger and every document sitting behind it. Several states want longer than that, so check yours before you purge anything.
How do you reconcile a payroll ledger?
Reconcile a payroll ledger every pay period with three checks. First, the ledger's total net pay for the run should equal the amount that actually left your bank account. Second, its tax figures should equal the deposits you made to the IRS and your state. Third, each year-to-date total should equal the prior period's total plus this period's amount. Add a headcount check to catch anyone missed or a former employee still on the ledger, and once a quarter compare the ledger with what you reported on Form 941. A mismatch caught in the same period is a quick fix, while one caught at year end means rebuilding months of records.
What is a monthly payroll ledger per employee?
It is your payroll ledger regrouped around one person instead of around each pay run. Each month of the year gets a line showing that employee's gross pay, deductions, employer taxes, and net pay, with running totals carried down the page. You reach for it when an employee questions their pay, when you prepare their W-2, or when you need to see whether that person has passed the Social Security wage base, the point where your matching obligation ends for the year. Build it from the master ledger with a filter or pivot table rather than keeping it by hand, so the two never drift apart.