A month of tracked time becomes a draft invoice per client with the right rate per client or project, rounding, tax and your numbering, plus CSV lines for your accounting app.
Who it is for: Freelancer, consultant or small agency owner who tracks time in a time tracker and bills clients by the hour each month.
Format: Claude skill pack · Version: 1.0.0 · Tested on: Python 3.13.5 (standard library only)
What it does
It reads the detailed export (hh:mm:ss, h:mm, 1h 30m or decimal hours), skips an entry exported twice and keeps non-billable and client-less time apart. With rounding, each entry is rounded up first. Each entry's rate comes from the rate table (client and project, then client, then project, then default), then the export's own billable rate, then --rate. Hours are summed per client and project (or listed per entry with --detail) into a numbered draft invoice with subtotal, tax and due date.
What you need
- Claude.ai with code execution switched on (or Claude Code, or just Python 3.10+)
- Your detailed time export (Toggl Track, Clockify, Harvest or a spreadsheet)
5-minute setup
- Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick
claude-ai-upload/timesheet-invoice-builder-pro.zip. - Claude Code: copy the folder
skills/timesheet-invoice-builder-prointo~/.claude/skills/. - Start a new chat. Attach your file and say: "Use timesheet-invoice-builder-pro. Make October invoices from this export with these rates, rounded to 15 minutes, plus 18% tax".
- Claude runs the script and gives you the files listed under Outputs. Check them before you act on them.
Try it with the sample
Run the sample (a fictional October 2026 export and rate table):
python3 skills/timesheet-invoice-builder-pro/scripts/core.py samples/time-export-oct-2026.csv --rates samples/rates.csv --round 15 --tax 10 --currency USD --out out
You should see 2 draft invoices: Bluebird Bakery at $75/hour and Northwind Studio with the SEO audit at $110/hour and the redesign at $90/hour, 1 duplicate skipped and 1 non-billable hour left off.
Settings you can change
| Option | Default | What it is |
|---|---|---|
time |
(required) |
Detailed time export CSV/XLSX |
--rate |
(none) |
Hourly rate where no other rate applies |
--rates |
(none) |
Rate table CSV: client, project, rate (blank = any) |
--round |
0 |
Round each entry up to 1, 5, 6, 10, 15, 30 or 60 minutes |
--tax |
0 |
Tax percent added to each invoice (0-50) |
--prefix / --start |
INV- / 1 |
Invoice numbering |
--from / --to |
(all) |
Billing period |
--detail |
off |
One line per entry |
--currency |
(none) |
Currency label |
--out |
out |
Output folder |
What goes in and what comes out
Inputs: Detailed time export CSV or XLSX; Your rate or a rate table; Optional: rounding, tax, numbering, period, line detail
Outputs: invoices/ with one Markdown draft per client; invoice-lines.csv; summary.md; not-invoiced.csv
AI disclosure and limits
This product does not call an AI model at run time. It was built by Oarsman AI's AI agents and checked by the automated tests shipped with it.
Limits: - One currency per run. - Drafts in Markdown and CSV; add your business and payment details before sending. - Reads detailed exports, not summary reports.
Not tested by us: - exports in languages other than English - XLSX exports in the shipped tests (CSV only) - multi-currency rate tables
Files
- oarsman-timesheet-invoice-builder-pro-v1.0.0.zip
- CHANGELOG.md
- QA-REPORT.json
- README.md
- SPEC.md
- SUPPORT.md
- TROUBLESHOOTING.md
- VERSION
- VIDEO-SCRIPT.md
- claude-ai-upload
- diagram.mmd
- diagram.png
- preview.png
- samples
- skills
- tests
Help
Self-serve: see TROUBLESHOOTING.md (fixes and FAQ). There is no call, chat or email support. Fixes ship as new versions at your download link. Refund: 14 days, works as described, through the checkout platform.