Auto-Totaling OSHA 300/300A Excel Workbook
A spreadsheet 300 Log that enforces the recording rules in-sheet and rolls itself into the 300A Annual Summary — the two things a blank template can’t do.
Free. No email address, no account, no gate — the link is the file (~30 KB).
Works in Excel, Google Sheets, and LibreOffice. Open the Read Me First sheet before your first entry.
This tool gives general information based on OSHA’s recordkeeping rules (29 CFR Part 1904) to help you understand your obligations. It is not legal advice and does not replace the current regulation or the judgment of a qualified safety professional. Rules can change and edge cases exist — verify results against the current text at osha.gov/recordkeeping and consult a professional before making a compliance decision.
What’s inside
Three sheets. A 300 Log mirroring the official form’s columns (A)–(M), with 250 case rows; a 300A Summary whose every count is a formula over the log, plus the establishment-information and certification fields a company executive completes; and a Read Me First sheet with the instructions, the privacy-case convention, and the deadlines — post the 300A February 1 – April 30 (1904.32(b)(6)), submit ITA data by March 2 where 1904.41 applies, keep records five years (1904.33).
OSHA permits keeping the log on an equivalent form — one with the same information, as readable and understandable, completed by the same instructions (29 CFR 1904.29(b)(4)) — so a spreadsheet 300 Log is a legal record, not a workaround. For the posted copy of the annual summary, the safest practice is still to transfer the totals onto OSHA’s official Form 300A PDF; the Read Me sheet explains why.
What the workbook enforces — the places hand-kept logs go wrong
Exactly one outcome per case
Columns G–J (death, days away, job transfer or restriction, other recordable case) accept only an X, and a Row check column flags any row with zero or two outcomes marked.
Day counts that follow 1904.7
Columns K and L accept whole calendar days (0–365). The Row check flags day counts whose matching outcome box isn’t checked, and tells you when combined days pass 180 — the point where 1904.7(b)(3)(vii) lets you stop counting.
One injury/illness type per case
Columns M(1)–M(6) — injury, skin disorder, respiratory condition, poisoning, hearing loss, all other illnesses — accept only an X, exactly one per row.
A 300A that cannot disagree with the log
Every count on the 300A Summary sheet is a formula over the 300 Log — case counts by outcome, day totals, illness-type counts. There is nothing to re-add and no transcription step to get wrong.
The privacy-case convention
The Read Me sheet explains the 1904.29(b)(6) rule: "Privacy Case" in the name column, with the confidential name list kept separately — so a privacy case never leaks a name through the log.
These same rules run in LogStead itself — the workbook’s totals are pinned against the product’s 300A math by automated test, so the spreadsheet and the software can’t disagree. The full analysis of where spreadsheet logs work and where they break is in our free-template guide.
What it deliberately doesn’t do
It does not decide recordability — Recordability Checker (free)
Whether a case belongs on the log at all is the hardest call in recordkeeping — the checker walks the official 1904.4–1904.7 decision tree.
It does not compute TRIR or DART — TRIR & DART Calculator (free)
Rates and BLS industry benchmarks are a different calculation with their own inputs.
It does not produce the March 2 ITA files — ITA CSV Validator (free)
A spreadsheet log means re-keying your data into OSHA’s CSV layout at submission time. If you build that file by hand, validate it before the portal rejects it.
It also doesn’t track the seven-day recording deadline, keep an audit trail, or update day counts as they accrue — a cell holds whatever number was last typed into it. Those are the structural limits of any spreadsheet, not of this one.
The workbook totals the 300A. It can’t do the rest.
Recordability decisions with the rule they hinge on, day counts that keep themselves current, privacy cases suppressed on every export, the March 2 ITA files generated instead of re-keyed — that’s the product. It imports a spreadsheet log from CSV, so nothing you enter here is throwaway work.
Start your free 14-day trialNo credit card required.