Generate a PDF invoice from Toggl time data. Use when the user wants to create an invoice, generate a bill, or mentions invoicing a client.
Generate a PDF invoice by pulling hours from Toggl and rendering to PDF. The tool lives at /home/czue/src/personal/agent-tools/invoice-gen/.
$0: (optional) end date (YYYY-MM-DD)$1: (optional) client config name (default: "peregrine")$2: (optional) start date (YYYY-MM-DD, defaults to day after last invoice)Resolve the end date:
$0 is provided, use it.AskUserQuestion to ask: "What end date for the invoice?" with options for today's date and end of last month.Resolve the client:
$1 is provided, use it.peregrine.Dry run first to confirm hours and amount:
cd /home/czue/src/personal/agent-tools/invoice-gen && uv run python generate.py --end <end_date> --client <client> --dry-run
If $2 (start date) is provided, add --start <start_date>.
Show the user the hours and amount and ask for confirmation before generating.
Generate the invoice:
cd /home/czue/src/personal/agent-tools/invoice-gen && uv run python generate.py --end <end_date> --client <client>
Add --start and --description if provided by the user.
Report results: Show the output path and the invoice summary (hours, rate, amount).
--start: Start date. Defaults to day after last invoice end date for that client.--end: End date (required).--client: Client config name matching a file in invoice-gen/clients/.--description: Work description (default: "Ongoing bolt assistant work.").--output-dir: Output directory (default: /home/czue/Dropbox/Personal/Elodin/invoices).--dry-run: Preview without generating.Client TOML files live in invoice-gen/clients/. Each has: name, country, rate, currency, toggl_project_name, line_item_description. To add a new client, copy example.toml.
invoice-gen/counter.json.--start is usually not needed.uv warnings in output (they're noisy but harmless).