Ontario's rules are in the data model.
JobSite is construction-management software for Canadian builders. The 10% statutory holdback, 13% HST and Ottawa's zoning references are structures in its database rather than notes in a memo field — and the estimate, the invoices, the holdbacks, the daily logs and the client's messages all hang off one project record.
JobSite is pre-release and is being built with its first customer.
From a proper invoice to money in the account
| Clock | What the Act requires |
|---|---|
| Day 0 | A proper invoice is delivered to the owner. |
| Day 28 | The owner must have paid the contractor. |
| +7 days | The contractor must have paid its subcontractors, counted from the day it was paid. A dispute is raised by notice of non-payment and may go to adjudication. |
The ten percent you cannot spend yet
| Clock | What the Act requires |
|---|---|
| 10% | Held back from the value of work certified, on every payment. |
| Day 0 | The certificate of substantial performance is certified and published. |
| Day 60 | The lien preservation period expires. With no liens preserved, the basic holdback becomes payable. |
General information about Ontario's construction payment regime, not legal advice. Obligations depend on your contracts — read the longer explanation.
The numbers that are actually in the code
- 10%
- Ontario statutory holdbackDefaulted and computed in code from the contract value or invoice total, then held and released as double-entry ledger movements.
- 13%
- Ontario HSTComputed deterministically in code alongside contingency and margin — never by a language model.
- 1
- Sign-in pageClient accounts land in their project portal; staff land in the builder workspace.
The builder, their client and their trades, on the same record
One sign-in page serves the whole platform and routes by the account's role. What each person sees is scoped to what they are entitled to see.
The workspace
Staff accounts land in the builder workspace: projects, estimates, budgets, permits, invoices and the ledger. Dense and tabular, for someone at a desk.
The project portal
Each client can be invited to a portal scoped to their own project. Client accounts land there at sign-in rather than in the workspace. No verified client-portal login has happened yet, so this is what the software provides, not what anyone has done.
The trade portal
A trade-partner portal surface exists and is reached by invitation. Trade is not yet one of the roles the sign-in routes on — an account without a recognised role lands in the builder workspace — so this one is not finished.
Described as mechanism, because there is nothing else worth saying
Every line below is a statement about the data model and the rules that govern it, checked against the code rather than against the copy that used to describe it.
- The holdback is an obligation, not a memo field
- Ontario's statutory holdback is modelled with a type, a percentage, an amount, a release trigger and a trigger date. Releases are triggered by substantial performance, total completion, expiry of the lien period, or by hand — each with its own date. Holds and releases post as double-entry movements against a segregated holdback account, and a database constraint refuses to let a ledger balance go negative. Amounts default to Canadian dollars.
- Code owns every number in an estimate
- JobSite's estimating engine is built so the language model owns scope, quantities and line descriptions while code owns the arithmetic: contingency, margin and Ontario HST at 13% are computed deterministically. Each line's confidence is derived from the estimate's own flags — a rules output, not a model's opinion of itself.
- Permits, inspections and compliance items, tracked per project
- Permit applications, inspections and compliance items are tracked per project against Ontario and Ottawa references, including seeded zone rules that cite City of Ottawa Zoning By-law 2008-250. Ottawa first; other municipalities are planned, not present.
- Public tenders, filtered to where you actually work
- Tender opportunities are ingested from the public CanadaBuys open-tender feed and filtered to Ontario and the National Capital Region, on a daily schedule.
- One project row underneath all of it
- Estimates, budgets, cost records, tasks, milestones, daily logs, documents, messages, permits, inspections, compliance items, invoices and holdbacks all reference the same project row. They are one record rather than separate files that have to agree.
- A log that syncs twice cannot become two entries
- Field capture is duplicate-safe by construction: a daily log carries a client-supplied source key with a uniqueness constraint, plus its own capture time and optional GPS. The database refuses the second write; that is a property of the schema, not a claim that the application works offline end to end, which has not been verified.
- AI proposes; a person approves
- Estimating, permit, cost and compliance work is proposed by governed AI jobs with a named purpose, required scopes, a prompt key and an output schema, against authorized project records only — free-text and image payloads are refused at the API boundary. The work lands in one approval queue and a person approves before anything is acted on.
The longer walkthrough · the capability directory · questions people ask
What does not work yet, on the page where the product is described
A pre-release product has gaps. Publishing them here rather than discovering them after sign-up is the point — and a feature whose backend is unavailable must be named as unavailable in the place it is described.
| Capability | State | What that means |
|---|---|---|
| Pricing and paid plans | Inactive: Not published | No published price, no paid plan, and creating an account does not collect a payment method. |
| A public mailbox | Needs attention: Being provisioned | No monitored public address exists yet, so this site cannot receive a message. |
| Outbound and inbound email | Needs attention: Not operating | The send, process and mailbox routes are retired; the inbound webhook has no secret configured. |
| Zoning analysis | Inactive: Does not exist | Permit, inspection and compliance tracking are real. Automated zoning analysis is not, and copy claiming it has been removed. |
| AI bid drafting | Inactive: Retired | The route returns 410 by design so it cannot emit uncited tender claims. |
| A model answering an AI run | Needs attention: Unverified | No AI provider key is present in this environment; whether a model answers depends on a platform key that has not been verified. |
| Passkey sign-in | Inactive: Disabled | Disabled at the identity provider. Password, OAuth and an authenticator app (TOTP) are the sign-in paths. |
The rules, written out, whether or not you ever use JobSite
- MoneyConstruction holdbacks in Ontario, explainedWhat the 10% holdback is, when it must be released, and how the prompt-payment clocks change the cashflow arithmetic on every project.
- PermitsHow long building permits actually take in OttawaOntario's legislated review windows, what stops the clock from starting, and how builders keep permit time off the critical path.
Create an account and set up your company
Sign-up creates an identity and an organization. It does not collect a payment method, because there is nothing to charge for yet.