What you'll learn
- Run all weekly HR jobs as one pipeline
- Produce a headcount summary, payroll-import file, and onboarding tracker
- Email each output to the right people
Project brief
Build hr_weekly.py that produces three artifacts and routes each to the right stakeholder:
headcount_YYYY-MM-DD.xlsx → HR Director.
payroll_import_YYYY-MM-DD.csv → Payroll vendor SFTP (or just a folder).
onboarding_status_YYYY-MM-DD.xlsx → People Manager.
Required inputs
employees.xlsx — HRIS export.
timesheets.csv — last week's hours.
onboarding/*.xlsx — per-new-hire onboarding workbooks.
Acceptance criteria
- Headcount file: current active count by dept, hires and leavers in last 7 days, turnover %.
- Payroll file: per-employee regular hours + overtime, ready to import.
- Onboarding file: list of overdue items with the new-hire and owner.
- Each file is emailed to a different recipient with a templated subject and body.
- Scheduled for Monday 7 AM.
Stretch goals
- Add a "PTO over cap" alert section in the headcount file.
- Skip employees who didn't submit timesheets and email them a reminder.
- Log every send to
hr_weekly.log so you can audit who got what.
What to show off
Three jobs collapsed to one calendar entry that runs while you sleep. Your Monday opens with a clean inbox.
📹 Video walkthrough
A video walkthrough of this lesson will be embedded here. Until then, the
written walkthrough above mirrors what the video will cover step-for-step.