Every one of these is a small thing. Together they are the difference between software that works and software that is on your side.
Twenty colour schemes, and one of them exists for a very specific reason.
It is called Daylight - pure black on pure white, maximum contrast. Because a phone screen on a roof at two in the afternoon is unreadable, and somebody who has squinted at one knew that.
Themes change the app. They never touch a printed document. Every certificate, report and invoice stays black on white no matter which colours you picked.
Status colours keep their meaning across all twenty themes. A red that turned pink in a theme would stop meaning stop.
The tech on the roof picks Daylight. The office manager at 9pm picks Midnight. Same account, different people, no argument.
Your choice lives on your profile and follows you to a replacement device.
Every one passes accessibility contrast standards on every text pairing, with room to spare. That matters at the end of a twelve-hour day.
The places where software usually gets it slightly wrong and you find out weeks later.
Invoices charge the outstanding balance, not the face total. We found a bug that did the opposite, and fixed it.
The history stays intact. You can see exactly what happened and when.
The most uncomfortable job in the business, handled without you having to feel awkward about it.
Take the payment in a basement. The link sends itself the moment you surface.
Payments are hosted by Stripe, and every confirmation is checked against the invoice balance before anything is marked paid.
Each business connects its own Stripe account and is paid directly. We are never holding your money.
Because some of what this app produces is a record you are required to keep.
You stop being able to create new records. Everything you already produced stays exactly where it is. Some of those documents are legally retained records, and deleting them would be indefensible.
One self-serve swap within thirty days. An accidental click should not be a life sentence.
Not a vague promise to back things up. Twenty of them, and you can roll back without asking anyone.
A numbered record is what an inspector, an insurer and a court expect to see.
Every document layout is checked pixel by pixel on every update. 175 documents, zero drift.
QuickBooks, Xero, FreshBooks, Wave, Zoho Books, Sage and plain bank statements import straight into your records — previewed before anything is written, and duplicates are skipped instead of double-booked.
Your records are yours and we are not holding them hostage. That is a promise a subscription company structurally cannot make.
You decide what the field can do, and you can undo it in a minute.
Push, pull, or both, for the whole business or one seat at a time. Enforced on the server rather than as a setting the app politely obeys.
Someone leaves with your phone in their truck. You do not have to chase the hardware to protect the data.
Because the best man on your crew is 58 and is not installing an app, and a sheet on the dash still works.
You are holding other people's Social Security numbers. That should feel heavy, and it does.
What happens when your trade is not on the list yet.
Whatever you do, you can start today. It will not speak your trade's language, but it gets you off the clipboard.
It cannot issue a numbered trade document, because that document is what the paid layers are for. That boundary is checked in code, not just promised.
You are not waiting and hoping. You are first in the queue, and it arrives at no charge.
Per business, not per seat and not per phone. Seats price how many people work. Layers price which trade you are in.
Not slogans. Things that actually happen.
A layer built from research carries a banner admitting it. It is cleared one at a time, by hand, after that layer has been used on a real job. Never in a batch.
Tell me what to fix, on every work layer page. It queues offline, because you notice the wrong wording on site and not at a desk.
That message arrives flagged as blocking, so real problems sort above good suggestions instead of drowning in them.
Fixes go in the changelog with a thank-you, if you are happy to be named.
When a customer pays, the desktop app hands off to your normal browser — because card verification redirects to the bank's website mid-payment, and an app that tries to keep that inside its own window strands the customer there. Printing goes through a hidden frame for the same reason: the naive way silently breaks every certificate you would ever print. Neither is a feature anyone asks for. Both would have ruined the product quietly.