Billable-Hours & Timesheet Automation Toolkit
Overview
An internal Python toolkit that automates the studio’s monthly billing math: it ingests exported time-tracking data and computes billable hours per person and project, including fixed-quota contracts, while a companion set of scripts analyzes bank statements for reconciliation.
Why It Exists
Reconciling time-tracking exports into correct, defensible invoices is tedious and error-prone, especially with mixed billing models (fixed monthly quotas tied to specific clients versus ad-hoc project hours). These scripts encode the studio’s billing rules once so each month’s calculation is repeatable and auditable.
What We Built
A collection of pandas/NumPy scripts (index.py, round.py, financial_analyzer.py, final_financial_analyzer.py, bank_statement_analyzer.py) operating over a year of monthly timesheet CSVs and an XLSX export. The logic filters time entries by client, user, and project; sums durations from a decimal-duration column; separates fixed-quota contract work (e.g. all projects under a given client prefix) from other billable hours; and derives working-day counts via numpy.busday_count to compute contracted vs. actual hours. Outputs are written back to CSV (rounded timesheets, financial-analysis results) for review and invoicing.
Technologies & Approach
Plain Python with pandas for tabular wrangling and NumPy for business-day math. The design favors small, single-purpose scripts over a framework, fast to adjust as billing rules or input formats change month to month.
Outcome / Impact
Turned a recurring manual spreadsheet chore into a scripted, rule-driven process, reducing billing errors and the time spent preparing monthly invoices. A practical example of the studio building its own internal data tooling.
Capabilities Demonstrated
- Automated billable-hours and contract-quota calculation from time-tracking exports
- Robust CSV/XLSX data wrangling with pandas and NumPy
- Business-day and date-range computation for contracted-hours logic
- Lightweight internal financial-analysis and reconciliation tooling