Voice-activated timesheet and invoice app for PiRisk Management.
v0.6 · User Guide · Updated 4 Apr 2026Speak naturally to log time. PiTime uses Wispr Flow (OS-level speech-to-text) plus a local fuzzy parser to extract hours, client, project, and mileage from plain English.
CoreTrack clients with hourly or daily rates. Each client can have multiple projects. Contact details, ABN, and rate configuration stored per client.
ManageGenerate invoices from unbilled time entries. Sequential numbering (INV-YYYYMM-NNN), automatic GST calculation (10%), mileage at ATO rate ($0.91/km).
BillAt-a-glance view of today's hours, weekly totals, unbilled amounts, and outstanding invoices. Charts for utilisation and revenue by client.
TrackConnect to Xero for automatic invoice syncing and payment tracking. Contacts sync, invoices push, and payment webhooks mark invoices as paid.
Phase 7Configure your business profile, bank details, invoice prefix, GST rate, mileage rate, standard day hours, and payment terms.
ConfigurePiTime uses Wispr Flow (OS-level speech-to-text) which types spoken words directly into the browser. A local fuzzy parser then extracts structured data from the natural language text. Press Ctrl+N from anywhere to jump straight to the voice entry field.
| You Say | PiTime Extracts |
|---|---|
| "4 hours on Acme contract dispute" | 4h · Acme Construction · Contract Dispute |
| "all day Metro Rail project recovery" | 8h · Metro Rail · Project Recovery |
| "half hour call with Acme" | 0.5h · Acme Construction |
| "2 and a half hours plus 85km mileage" | 2.5h · 85km mileage |
| "sixty hours Parnell Systems" | 60h · ParnellSystems |
| "a hundred and sixty hours total" | 160h (full month) |
| "forty five hours site work" | 45h · description: site work |
| Action | How |
|---|---|
| Log via voice | Time Entries page → speak into voice input field → review → save |
| Log manually | Time Entries page → fill date, client, project, hours, description |
| Add mileage | Enter km in the mileage field (invoiced at $0.91/km) |
| Mark non-billable | Uncheck the "Billable" toggle (won't appear on invoices) |
| Edit entry | Click entry in list → modify fields → save |
| Delete entry | Click entry → delete button (only unbilled entries) |
| Action | How |
|---|---|
| Add client | Clients page → Add Client button → fill name, contact name, email, phone, rate type, rate → Save |
| Set rate type | Choose Hourly (e.g. $250/hr) or Daily (e.g. $1,800/day) when creating or editing a client |
| Edit client | Click the pencil icon on any client card → modify name, contact details, rate → Save Changes |
| Delete client | Click the trash icon on a client card → confirm deletion. Cannot delete a client that has time entries — you must delete the entries first. |
| View projects | Click any client card to expand it → shows projects list with status badges |
| Add project | Expand a client → click Add Project → enter project name and optional code → Add |
| View contact info | Expand a client card → email and phone shown below the card header |
| Detail | How It Works |
|---|---|
| Invoice number | Auto-generated: INV-YYYYMM-NNN (e.g. INV-202604-001). Atomic counter per month ensures no gaps. |
| Line items | Each time entry becomes a line item. Mileage entries added separately at ATO rate. |
| GST | 10% applied automatically to all line items including mileage. |
| Totals | Subtotal + GST = Total. Calculated from line items, not a flat amount. |
| Status | Draft → Sent → Paid (or Overdue, Void) |
| Payment terms | Configurable in Settings (default: 30 days) |
Total hours logged today across all clients and projects.
Running total for the current week (Mon-Sun).
Total value of billable time entries not yet on an invoice.
Total value of sent invoices awaiting payment.
The dashboard also shows your 5 most recent time entries from the current week, and a Quick Time Entry card that takes you straight to the voice entry form with one click.
Business name, ABN, address, email, phone. Appears on invoices and correspondence.
Standard day hours (8), mileage rate ($0.91/km), payment terms (30 days), invoice prefix (INV), GST rate (10%).
Bank name, BSB, and account number. Displayed on invoices for payment reference.
OAuth2 connect button. Once linked, invoices and contacts sync automatically. Coming in Phase 7.
PiTime has keyboard shortcuts for common actions. Press ? anywhere in the app to see the shortcuts panel, or click the keyboard icon in the top header bar.
| Shortcut | Action |
|---|---|
| Ctrl+N / Cmd+N | New time entry — opens the entries page with the voice input field focused |
| ? | Toggle keyboard shortcuts help panel |
| Esc | Close any open modal or help panel |