Pertally
The problem
Construction, inspection, and surveying firms bill in three modes at once — hourly labor, per-unit deliverables (lots inspected, sticks set, footage walked), and fixed-fee phases. Generic invoicing tools assume one mode per invoice, so teams track unit counts in spreadsheets and rebuild the invoice by hand at month-end. Internal cost rates leak into client-facing views, or stay out of the system entirely.
The solution
A purpose-built billing engine where per-unit is a first-class line type alongside hourly and fixed-fee. Project managers compose mixed invoices in one place, field staff log units and hours, and a separate internal layer holds cost rates, payroll, and margin reports — so the firm sees profit per phase without ever exposing it on the client invoice or the client portal.
Highlights
- Mixed per-unit / hourly / fixed-fee line items on a single invoice
- Separate internal vs client views — cost, profit, and internal hours never reach the client portal
- Hashed-token client portal — no enumeration, scoped to issued invoices only
- Per-tenant isolation enforced at the Postgres row-level, plus per-account rate limits on auth and AI endpoints
- AI-assisted drafting (Anthropic Claude) with server-only keys and account-scoped prompts
- Payroll consumes only approved time entries and stamps each one with the run ID — re-runs and overlaps can't double-pay
- TOTP-based two-factor auth with per-account lockout, bcrypt-hashed recovery codes, and replay protection
Stack
Integrations
Need something like this?
I'm taking on a small number of new projects each quarter. Let's talk about what you're building.
Start the conversation