New Pull Ticket
One ticket every time material goes out the door. If a crew comes back for more, make another ticket — use “Same job again” on the Tickets tab to skip the retyping.
Material going out
Signatures
Tickets
Work Orders / Sub Invoices
Work Order
Work performed
Material pulled for this job (from Pull Tickets — info only, not billed here)
Plans / attachments
Plans are stored in the shared copy, so every device can open them. Save the work order after adding or removing plans.
Installer signature — work complete / invoice accepted
Schedule
Tap a day to put a job on it. Tap a job to edit it, delete it, or download an Outlook invite — open that file and the job lands on the company calendar, ready to send to the crew.
Next 14 days
Crew report — weekly / monthly
Who worked what, where, which days — pulled from the schedule. Opens on last week (Mon–Sun); change the dates for any range.
Inventory
“On hand” moves by itself as tickets and returns are saved. Use Receive when new material arrives, Adjust after a physical recount. Every change is logged.
Material that arrived for a specific job lives here until it leaves the building. Receiving a job PO stages its lines automatically; 🚚 Load out marks it gone and notifies the PM. Stock shelves are not touched — this is job material, not warehouse stock.
QuickBooks connection
Send to QuickBooks pushes estimates and invoices straight into the company books (and can email them with a payment link). One-time setup: deploy the qb-* server functions with the Intuit keys, then authorize below.
Shared copy (all devices)
Paste the two values from your Supabase project (Settings → API). Every device you connect sees the same live data. The first device you connect uploads its data to start the shared copy; every device after that downloads it.
Backup & office exports
Backup (protects everything)
Data lives in this browser on this computer. Download a backup at least once a week and drop it in a folder you trust. Restoring a backup replaces what’s on screen.
Exports for the office (QuickBooks posting)
Danger zone — test-data cleanup (admins)
For clearing out wrongly-entered test data. Deletions sync to every device and cannot be undone — download a backup first. Tickets and inventory are NOT touched by these buttons.
⚑ Needs attention
🏗️ Active jobs
💵 Where every contract dollar goes
Billed vs. profit — 6 months
Open pipeline by stage
Receivables aging
Crew load this month
Customers
Jobs
Estimates
Estimate
Lines
Adds — "just in case" options
Priced for the customer but not counted in the estimate total, the contract, or the budget — additional floor prep, dumpster fee, weekend work. If the GC authorizes one later, that's a change order.
Change Orders
Change Order
Lines (same math as estimates — cost + markup, tax on material lines)
🛠 Work orders — done or not?
One tap when the crew finishes. Green = complete. Tap again if it flipped by mistake. Paid WOs drop off this list.
Production log
Units installed, per crew, per day — sqft / lf / sy / other. Pay = units × piece rate (nobody here is paid by the hour). Settle a period into a Work Order with one click; the WO is the same retainage/insurance sheet your subs already sign.
Purchase orders
POs are created from the job page (Jobs → open the job → 📦 Purchase order) so they always cost against the right job. Click any row to open it.
🏭 Vendors
Every vendor used on a PO shows up here automatically — open one to add the account # and address, and they print on every PO from then on.
📈 Material price history — what we've actually paid
Built from every PO line ever written — nothing extra to type. The same numbers pop up as hints while writing PO lines.
✅ Pay week — Monday close-out
The old folder, one screen: settle labor into WOs, pay the WOs, receive the material, bill the GC. Work top to bottom and the week is closed.
1 · Settle labor → Work Orders
2 · Pay the work orders
3 · Receive material — open POs
4 · Bill the GC
Price book
The company's standard items — pick them on estimate and change-order lines so wording, cost, and markup stay consistent. Seeded from your QuickBooks Products & Services (cleaned up); add, edit, or delete anything. Cost 0 means "price it per job".
Invoices
Invoice
Lines
📊 Reports — the full picture
Owner's view: money coming in vs going out, who's making us money. INTERNAL numbers — costs live here, never on customer documents.
💵 Past due invoices
🛠️ Labor — paid vs still owed
📦 Materials — paid vs pending payment
A PO counts as paid when its status is Closed — set it Closed when the vendor bill is paid. “NA” vendor orders sit in their own bucket and never touch material price history.
🏆 Profit by PM
Program folders (jobs sharing a Job #) count once, credited to the folder's ⭐ master job. Profit to date = invoiced − costs so far.
🏢 Profit by GC
🔧 Custom report
Pick what you want and hit Run — filters stack, blanks mean "any".
Team
Add a person, then tell them to open the app and choose “First time? Create account” with that email — they pick their own password. Deactivating kills their access on every device, instantly.