Generate OSHA 300 and 300A in Parakeet
Generate OSHA 300 and 300A — part of our Incident Management Software
Move from manual forms to a single source of truth. Use Parakeet’s EHS Control Center to capture incidents, validate data, calculate 300A totals, and export audit-ready packages.
-
Explore EHS: EHS Control Center
-
Jump to the workflow: OSHA 300A Generator
Tip: Consolidate OSHA evidence in the incident lane. Attach your 300/300A exports, Rosella calculations, and approvals to the underlying incident records to avoid dispersed proof and speed audits.
Introduction
This guide explains how EHS teams use Parakeet to assemble OSHA 300 Logs and 300A Summaries from incident data already captured in the platform. It focuses on accurate scoping (year and establishment), data validation, totals calculation, and export. For regulatory use, always review your final forms against current OSHA recordkeeping instructions and your company policies.
Prerequisites
-
EHS incidents are tracked in Parakeet’s EHS module with consistent fields (date, location, injury/illness type, outcome, days away, days restricted/transfer). See the EHS Control Center for incident capture and analytics.
-
Establishment profile details (legal name, address) exist in your Parakeet org/workspace metadata. If you manage multiple sites, ensure each site is uniquely identified.
-
Workforce and hours-worked data for the reporting year are available. Parakeet can centralize these via HR/payroll integrations like ADP, Workday, and BambooHR.
-
Optional: connect Google Docs if you want Parakeet to auto-generate a formatted narrative report alongside CSV exports.
Step-by-step: Generate OSHA 300/300A
1) Scope the period and establishment
-
In your EHS workspace, filter incidents to the target calendar year and the single establishment/site you are summarizing. Save this view for reuse.
-
Confirm the establishment profile (name, address) and workforce metrics (average number of employees, total hours worked) for the same year.
2) Validate incident-level fields
-
For each recordable incident in the filtered view, verify presence of: case identifier, employee name, job title, incident date, location, short description, outcome classification (death; days away; job transfer/restriction; other recordable), days away from work, days of job transfer/restriction, and injury/illness category.
-
Use bulk-edit and data quality flags in your EHS workflow to correct missing or inconsistent values.
3) Calculate 300A totals with Rosella (optional)
-
In your workspace, open Rosella and reference your saved incident view.
-
Example prompts:
-
“From the ‘Recordable Incidents—2025—Plant A’ view, total counts for: fatalities; cases with days away; cases with job transfer/restriction; other recordable cases; and injury/illness categories. Return a one-row table for 300A.”
-
“Summarize annual average employees and total hours worked from HR/payroll integrations for Plant A, 2025.”
-
Attach Rosella’s output to your EHS record set for audit trail.
4) Export the OSHA 300 Log (CSV)
- From the filtered incidents view, export to CSV. Ensure the column names match the field map below (you can rename columns during export or in your spreadsheet). Keep each establishment and year in separate files for clean lineage.
5) Assemble the OSHA 300A Summary
- Create a one-row CSV (or a Parakeet → Google Docs report) that includes establishment info, workforce metrics, and totals calculated in step 3. Use the field map below to align naming.
6) Review, attest, and distribute
-
Cross-check that 300 totals reconcile to 300A category totals and that establishment and year are consistent.
-
Store the signed copy (e.g., Doc or PDF) back in Parakeet for audit readiness; share internally via your collaboration tools (e.g., Slack) and schedule reminders for next year’s cycle with Google Calendar.
CSV field map (concise)
Use this single schema to standardize exports. Rows labeled “300” apply to the incident log; rows labeled “300A” apply to the annual summary. Parakeet source indicates where the value typically lives.
| Form | Field name | Description | Parakeet source | Required | Type |
|---|---|---|---|---|---|
| 300 | case_id | Unique case identifier for the incident | EHS Incident ID | Yes | string |
| 300 | employee_name | Employee’s name for the case (use privacy rules per company policy) | EHS Incident | Yes | string |
| 300 | job_title | Employee’s job title | EHS Incident | Yes | string |
| 300 | incident_date | Date of injury or onset of illness (YYYY-MM-DD) | EHS Incident | Yes | date |
| 300 | location | Where the event occurred (dept/area) | EHS Incident | Yes | string |
| 300 | description | Brief description of injury/illness and object/substance | EHS Incident | Yes | string |
| 300 | outcome_class | One of: death; days_away; job_transfer_restriction; other_recordable | EHS Incident | Yes | enum |
| 300 | days_away | Number of days away from work | EHS Incident | Cond. | integer |
| 300 | days_restricted_transfer | Number of days of job transfer or restriction | EHS Incident | Cond. | integer |
| 300 | injury_illness_type | One of: injury; skin_disorder; respiratory_condition; poisoning; hearing_loss; other_illness | EHS Incident | Yes | enum |
| 300 | establishment_id | Identifier for the site/establishment | Site Metadata | Yes | string |
| 300A | establishment_name | Legal name of establishment | Site Metadata | Yes | string |
| 300A | establishment_address | Street, city, state, ZIP | Site Metadata | Yes | string |
| 300A | industry_description | Industry or product/service description | Org/Site Metadata | Yes | string |
| 300A | naics_code | NAICS code (if tracked) | Org/Site Metadata | Optional | string |
| 300A | annual_avg_employees | Average number of employees for the year | HR/Payroll Integration | Yes | number |
| 300A | total_hours_worked | Total hours worked by all employees in the year | HR/Payroll Integration | Yes | number |
| 300A | total_fatalities | Count of fatalities | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_days_away_cases | Count of cases with days away from work | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_job_transfer_restriction_cases | Count of cases with job transfer or restriction | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_other_recordable | Count of other recordable cases | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_injury | Injury cases | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_skin_disorder | Skin disorder cases | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_respiratory_condition | Respiratory condition cases | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_poisoning | Poisoning cases | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_hearing_loss | Hearing loss cases | Rosella calc or EHS rollup | Yes | integer |
| 300A | total_other_illness | All other illness cases | Rosella calc or EHS rollup | Yes | integer |
Notes
-
“Cond.” = required when the outcome_class implies a value (e.g., days_away when outcome_class=days_away).
-
Your exported CSV may include additional audit columns (timestamps, record owners); keep them for lineage but exclude from regulator-facing uploads if not needed.
Suggested screenshots (for your internal playbook)
-
EHS incidents view filtered by Year and Establishment (saved view).
-
Establishment profile panel showing legal name and address.
-
HR/payroll integration card with “hours worked” and “average employees” metrics.
-
Rosella chat with one-row 300A totals.
-
CSV export dialog showing selected field names matching the field map.
Quality checks before finalization
-
One establishment per 300/300A package; do not mix sites in a single summary.
-
Date range is January 1–December 31 of the reporting year; spot-check earliest and latest incidents.
-
Totals reconcile: sum of outcome_class categories across 300 equals 300A category totals.
-
Workforce metrics (average employees, total hours) reflect the same establishment and year.
-
Store the signed copy and the source CSV in Parakeet for audit readiness. Use Features to automate reminders and evidence trails.
Where this fits in Parakeet
-
Capture and manage incidents: EHS Control Center.
-
Automate reporting and documentation: Google Docs integration.
-
Pull workforce metrics automatically: ADP, Workday, BambooHR.
-
Research, summarize, and generate audit-ready narratives: Rosella AI Agent.
FAQ
-
Can Parakeet separate logs by site? Yes—filter and export per establishment and year, then store each package in its site folder for audit traceability. See EHS Control Center.
-
How do we ensure workforce numbers are accurate? Connect HR/payroll systems so “average employees” and “hours worked” stay in sync with operational changes. See integrations.
-
Can we generate a formatted narrative report? Yes—use the Google Docs integration and attach Rosella’s summaries for context.
Governance and audit trail
Maintain a versioned package per year and establishment containing: (1) incident CSV (300), (2) summary CSV or Doc (300A), (3) Rosella calculation transcript, (4) establishment profile snapshot, and (5) approvals record. This aligns with Parakeet’s unified risk ecosystem and continuous compliance approach, enabling rapid retrieval during audits. See Solutions for broader orchestration options.