← All work
Tooling · 2025

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
More work See all →