OSHA ITA CSV Upload Errors and How to Fix Them
OSHA's establishment and summary CSV documentation sets the rules every row must pass. These are the ones that trip spreadsheets most.
Leading zeros disappear
Excel turns ZIP 01103 into 1103 and can do the same to EINs. OSHA's FAQ suggests an apostrophe before the zero, but reopening the file in Excel strips it again. Safetally restores a 4-digit ZIP to 5 digits (and 8 to 9) and writes values as text.
ein or ein_number?
The documentation table names the field ein_number; OSHA's downloadable 300A template's header says ein. Safetally accepts either when reading and writes the template's header.
EIN must be 9 digits
No dashes in the file. A missing EIN is flagged.
NAICS
Six digits from the 2012, 2017 or 2022 edition (Census NAICS). Two- or four-digit sector codes are rejected.
Size and establishment type
Size is a code for the peak number of employees during the year (1: under 20, 21: 20–99, 22: 100–249, 3: 250+). Establishment type is 1 for private industry, 2 for state government, 3 for local government. Safetally works out the size code from the peak headcount you enter.
Hours and employees
Both must be above zero; hours divided by average employees must be under 8,760 and should be over 500.
Totals that don't add up
Cases G + H + I + J must equal the injury and illness types M1 through M6. Safetally computes all of them from the log, so they agree by construction.
Last reviewed 2026-10-27. General information, not legal advice — 29 CFR Part 1904 and OSHA's own guidance decide what applies.