A guided walkthrough · 17 steps

Run one job, start to finish.

We'll follow a single job through billWright, from the first phone call to the day it's marked paid. Every screen you touch along the way is part of the same set of books. Follow along and you'll know how to run your own.

The job we'll follow
Steel mezzanine handrail
140 linear ft · fabricate, finish, install
Client
Rivermark Builders
Part 1 · Get set up / Steps 1–3

Get set up.

Rivermark just called: they need a steel handrail for a warehouse mezzanine. Your billWright workspace is already provisioned, so getting set up is really just signing in, pulling in any history, and learning your way around. Three quick steps and you're ready to work.

Step 01Part 1 · Get set up

Sign in to your shop.

/login

The phone's still warm. Good news: there's nothing to install or configure. Whoever deployed billWright for you already set up your workspace — the business name, your account, and your branding are in place. You just open your address and sign in.

billWright
Welcome back.

Sign in to your Haggerty Welding workspace.

pat@haggertywelding.com
••••••••
Sign in1
OR
Crew clock-in with a PIN2

Login.html — the workspace is provisioned at deploy time.

    Do this
  1. Open your billWright address in a browser.You'll seethe sign-in screen. Your workspace already exists, so there's no wizard to run.
  2. Enter the email and password your deployer set up for you.You'll seethe account tied to your shop, Haggerty Welding.
  3. Sign in.You'll seethe workspace open at /app, ready to go.
  4. Crew don't sign in here.Heads-upthey tap Crew clock-in with a PIN for the punch app instead. More on that in Step 8.
Heads-upAlready set for youYour business name and branding were configured when billWright was deployed. Need to change them? Edit any time in Settings › Branding.
Checkpoint
You're signed in to Haggerty Welding. Before we quote the handrail, let's bring in any history you already have.
Step 02Part 1 · Get set upOptional

Bring your existing data in.

#/imports

Coming from spreadsheets or another app? Pull your past clients and jobs in first, so your history is there from day one. Everything goes through a safe parse, preview, then commit flow, and you can undo a commit if it looks wrong. Starting fresh? Skip straight to Step 3.

    Do this
  1. Start an import and choose your file.You'll seebillWright parse it into rows you can scan.
  2. Review the preview.You'll seea count like "142 rows parsed, 3 flagged for review."Nothing is trusted until you commit, so a messy file can't quietly corrupt your books.
  3. Commit the import.You'll seeyour clients and jobs land in the workspace.
  4. Undo if something looks off.Why it matterscommit is reversible, so you can back out before you trust it.
NoteNoteThis is the general import pipeline. A dedicated QuickBooks importer is on the roadmap, not in the box today.
1 · Parse
read the file
2 · Preview
check rows
1
3 · Commit
with undo
2
142 rows parsed · 3 flagged for review Undo3Commit

imports.js — parse, preview, commit. Reversible.

Checkpoint
Your back catalog is in (or skipped). Now let's get your bearings before the real work starts.
Step 03Part 1 · Get set up

Get your bearings in the workspace.

/app

One shell holds everything. A left sidebar, a top bar, and a main area. Every screen has a stable route you can bookmark, like #/jobs or #/schedule. Learn these three regions now and the next 14 steps will feel familiar.

1
bHaggerty Weldinghaggerty.billwright.app
Overview
Dashboard
Work
Pipeline
Quotes 2
Jobs
Invoices 2
Time
Schedule
Timesheets
Money · Books
Expenses
Reports
Overview/Dashboard Search clients, invoices, expenses…  /2 PHPat
Pat's workshop.
A quick read on time, money, and what needs your eyes this week.
This week · Hours
28.5 h
open · entries draft
This month · Hours
144 h
tracking steady
Outstanding · Invoices
$6,880
all current
Pending receipts
4
review ›
3

app.html — the SPA shell you'll work in every day.

    Find these three regions
  1. The left sidebar groups every screen: Work, Time, Money.Why it matterseach link is a stable route you can bookmark, like #/jobs.
  2. The top bar carries breadcrumbs, search, and your account menu.Try itsearch jumps straight to any client, invoice, or expense.
  3. The dashboard cards surface what needs your eyes.You'll seehours, outstanding invoices, and pending receipts at a glance.
Checkpoint
You can navigate billWright. Part 1 done. Now let's win Rivermark's handrail job.
Part 2 · Win the work / Steps 4–6

Win the work.

Price the handrail honestly, send Rivermark a clean quote, and turn their "yes" into a job that becomes home base for everything else.

Step 04Part 2 · Win the work

Price the handrail.

#/estimator

Rivermark wants a number. Build it from a per-trade calculator so every line is visible, or pull standard items from the flat-rate price book. Either way the math is transparent, which is exactly what wins the next job too.

Estimator · steel handrail

template
Run length140 ft
Steel & fittings$3,180
Fabrication labor$4,050
Site install$2,200
Finish & misc$600
Total$10,0301

screens-estimating.js — itemized, no black box.

    Build the estimate
  1. Pick a trade template (steel handrail).You'll seeinput fields tuned to that kind of job.
  2. Enter the job inputs: 140 linear feet, install conditions.You'll seean itemized breakdown that updates as you type.
  3. Read the total.You'll see$10,030, fully broken down into steel, labor, install, and finish.
  4. Prefer a catalog? Use the price book instead.Howsearch standard items by trade, add quantities, and it builds an estimate with markup and tax.
TipTipTemplate rates are starting defaults. Calibrate them to your real steel and labor costs before you trust the number, or you'll quote someone else's shop.
Checkpoint
You have a defensible $10,030 estimate for the handrail. Let's get it in front of Rivermark.
Step 05Part 2 · Win the work

Send the quote.

#/quotes

Turn the estimate into a quote. Pick Rivermark as the client, drop in the line items, and send. They open a clean, branded estimate in their browser with no login. Their record now holds this quote and everything that follows it.

Quote 2026-Q14

draft
Rivermark Builders1
Steel mezzanine handrail · 140 ft$9,430
Finish & misc$600
Total$10,030
No-login link Send to client2

Quotes & Proposals.html — sends as a quote or a proposal.

    Send it
  1. Create a quote and pick the client, Rivermark Builders.Why it matterstheir client record holds every quote, invoice, and job filed under them, so nothing scatters.
  2. Review the line items and total.You'll see$10,030 with your branding on top.
  3. Send to client.You'll seeRivermark gets a public, client-facing estimate they open with no login.
RecordsBehind the scenesClients, company cards, an owner-loan account, and a searchable directory keep every record tied together. You met the client record here; you'll meet the card in Step 9.
Checkpoint
The $10,030 quote is out. The ball's in Rivermark's court.
Step 06Part 2 · Win the work

Open the job.

#/jobs/:id

Rivermark says yes. The accepted quote becomes a job. This is home base: hours, receipts, and invoices all file here, and the money summary fills in as you go. Right now it's empty, which is exactly how it should start.

Steel mezzanine handrailIn progress
Rivermark Builders · opened today
Invoiced
$0
Expensed
$0
Collected − expensed
$0
1

Linked invoices

none yet

Invoices and expenses you tag to this job will appear here as you bill and spend.

screens-core.js — the job detail at #/jobs/:id.

    Open it up
  1. Accept the quote — it spins up a job automatically.You'll seea job detail open at #/jobs/:id.
  2. Check the money summary.You'll see$0 invoiced, $0 expensed today. It fills as you bill and spend against the job.
  3. Note that everything files here.Why it matterslinked invoices and the expenses tagged to this job all collect in one place.
Honest noteHonest noteA full labor-cost margin card (valuing every hour at bill and pay rates) is on the way, not in the box yet. Today the summary is what you've collected against what you've expensed.
Checkpoint
The handrail job exists. Part 2 done. Time to put a crew on it.
Part 3 · Do the work / Steps 7–10

Do the work.

Schedule the crew, capture their hours, file the material receipts, and reconcile the spend against your bank. This is the daily rhythm of a job in progress.

Step 07Part 3 · Do the work

Schedule the crew.

#/schedule

Put Jordan on the handrail this week. Drag a block onto the day and assign him. If you accidentally promise him to two places at once, the board flags the conflict before you can save it.

Week of May 18
MON 18
TUE 19
WED 20
THU 21
FRI 22
7:00
Rivermark handrail
Jordan
1
8:00
Stair stringers
Riley
9:00
Gate install
Riley
Double-booked
Riley overlaps 9–11
2
7:00
Truss repair
Alex

week-view.html — drag a block to a crew member; overlaps raise a flag.

    Book the week
  1. Open the schedule in week view.You'll seejobs and visits as blocks, one lane per crew member.
  2. Create a visit: the handrail job, Jordan, a start and end time.You'll seea green block land on the day.
  3. Watch for the double-booking flag.You'll seea red "Riley overlaps 9–11" warning if someone's promised to two places.Resolve it before saving so nobody's booked twice.
Checkpoint
Jordan's booked on the handrail. Once he's worked the day, his hours come to you.
Step 08Part 3 · Do the work

Verify the crew's time.

/punch → #/timesheets

Jordan clocks in from the site on his phone. He enters a PIN, picks the handrail job, and submits the day. Back at the office, his hours land in your Verify queue, and one tap moves them onto the live timesheet.

billWrightTime submission
My submissions.
Fri, May 22 PendingApproved
Rivermark · Steel handrail
8.00h$360.00
Thu, May 21Approved
Mast & Vail · Truss repair
3.75h$165.00
New entry
My submissions

Verify · crew time

2 to review
Jordan · Wk 21
handrail · 8.0h
Approve 2
Riley · Wk 21
overlap flagged
Request changes

punch.html → Verify queue → live timesheet.

    Crew, on their phone
  1. Open the punch app, enter a PIN, clock in to the handrail job, clock out, and submit.You'll seethe day appear as Pending.
    You, at the office
  1. Open the Verify queue and review Jordan's day.You'll seehours tracked per client and job, with per-diem and rates.
  2. Approve it.You'll seeit flip to Approved and post to the live timesheet.
Edge caseIf something's offRequest changes sends the entry back to the crew member with a note, instead of approving a wrong day.
Checkpoint
Jordan's hours are approved and on the timesheet, tagged to the handrail. Next, the materials he used.
Step 09Part 3 · Do the work

File the material receipts.

receipts

You bought gas and filler rod for the handrail on the shop card. Snap the receipt and the AI parser does the typing: vendor, amount, even splitting a multi-item receipt across categories. You confirm and post.

Verify · pending receipt

AI read
Praxair Supply$214.60
May 22 · Shop Visa ending 4417
Pending parser found 2 line items
1
Shielding gas · 2 cylSupplies$148.00
Filler rod · ER70SMaterials$66.60
Tagged to handrailVerify & post2

A multi-item receipt resolving into two categorized lines.

    Post the receipt
  1. Snap or upload the receipt photo.You'll seethe parser read vendor, amount, and date into a pending item.
  2. Check the split lines.You'll seeit divided a multi-item receipt into Supplies (gas) and Materials (filler rod), each on its own Schedule C line.
  3. Tag it to the handrail job and Verify & post.You'll seeit post to the books and file under the job's expenses.
TipThe gateVerifying is the gate. Nothing hits your P&L until you verify it, so the AI's read is always a suggestion you confirm, never an automatic post.
Checkpoint
$214.60 in materials is on the books, tagged to the handrail. Now let's match it against the bank.
Step 10Part 3 · Do the work

Reconcile the bank.

bank

That same card charge shows up in your bank feed. Connect through Teller for live transactions, verify the new ones (or let them auto-match the receipt you already filed), and save a rule so repeat vendors file themselves next time.

    Reconcile
  1. Connect your bank through Teller and sync.You'll seelive transactions land in the same Verify queue, like the Praxair charge.
  2. Verify the new transaction.You'll seeit auto-match to the receipt you filed in Step 9, so it's not double-counted.
  3. Add a rule for that vendor.You'll seeit apply on every future sync, so repeat charges categorize themselves. You can also upload a statement to reconcile against the feed.
Heads-upHeads-upA bank connection can ask you to reconnect occasionally. That's normal bank-side security, not a billWright error.

Bank feed

Teller · syncing…Teller · synced
DateDescriptionAmountStatus
05/22Praxair Welding Supply−$214.60NewMatched
05/21Home Depot #2418−$96.13Auto-ruled
05/20Rivermark Builders+$3,150.00Matched
05/19Shell · fuel−$71.40Auto-ruled
3
RuleHome Depot → Materials
applies on every sync

bank screen — live feed, auto-match, and saved rules.

Checkpoint
Your spend is reconciled and repeat vendors file themselves. Part 3 done. The rail's installed, so let's get paid.
Part 4 · Get paid / Steps 11–12

Get paid.

Bill Rivermark straight from the job, send it, and record the payment when it lands. One action marks the invoice paid and closes the deal.

Step 11Part 4 · Get paid

Invoice the job.

invoices

The rail's installed and inspected. Generate the invoice straight from the job so the lines are already there, give it a once-over, then finalize and send. Rivermark gets a clean, branded invoice in their inbox.

Invoice 2026-038

Rivermark Builders
Steel mezzanine handrail · 140 ft$9,430
Finish & misc$600
Total due$10,030
Draft Finalize & send1

pipeline-redesign.html — generate from the job, finalize, send.

    Bill it
  1. Create an invoice — generate it from the job or week.You'll seea draft for $10,030 with the lines already filled in.
  2. Review and Finalize & send.You'll seethe status move from Draft to Sent, and Rivermark gets it.
  3. For repeat billing, set a recurring schedule.Good to knowyou can pause and resume it when a client goes quiet, without deleting the schedule.
Client viewFor the clientPublic, client-facing invoice and estimate views let Rivermark read every document cleanly, with no login.
Checkpoint
Invoice 2026-038 is sent. Now you wait for the check, then record it.
Step 12Part 4 · Get paid

Record the payment.

invoices

Rivermark pays. Record the payment and billWright closes the whole loop in one move: the invoice flips to paid, the deal closes in the pipeline, and the money posts to your books as income. No double entry, no spreadsheet.

THE HANDRAIL, START TO PAID
Estimate
$10,030
Quote
accepted
Invoice
Sent
Closed
Paid
2
1
Invoice 2026-038Rivermark · $10,030
Record payment

Record payment marks paid AND closes the deal.

    Close the loop
  1. Open the sent invoice and Record payment.You'll seea prompt for the amount and date received.
  2. Confirm it.You'll seethe invoice flip to Paid and the deal close in the pipeline.
  3. Done.Why it mattersone action marks the invoice paid and closes the deal and posts the income to your books. No double entry.
Checkpoint
The handrail is paid. Part 4 done. Every dollar in and out is now in your books. Let's go read them.
Part 5 · Know your numbers / Steps 13–14

Know your numbers.

With the job closed, see where it landed: a P&L that ties, and a profit-by-job report that answers the only question that really matters.

Step 13Part 5 · Know your numbers

Read the books.

accounting

Now watch the handrail land where it counts. The Rivermark payment shows up as income, the materials as cost, and the "where every dollar goes" split updates. Pick cash or accrual, and when your CPA asks, export the whole thing to CSV.

Profit & loss 1 Export CSV2
Income$48,210
Materials & supplies−$9,440
Fuel & vehicle−$2,180
Tools & equipment−$3,905
Net profit$32,685
WHERE EVERY DOLLAR GOES
■ Materials■ Fuel■ Tools■ Other■ Profit

screens-books.js — cash/accrual P&L, the dollar split, CSV export.

    Read them
  1. Open the books and pick cash or accrual.You'll seethe P&L update; income now includes the Rivermark payment.
  2. Open "where every dollar goes."You'll seethe live split across materials, fuel, tools, and profit.
  3. Export to CSV for your CPA.Alsomanage categories and their Schedule C lines in settings.
TipTipArchiving a category hides it from new entries but keeps old entries resolving correctly, so your history never breaks.
Checkpoint
The handrail's income and costs are in the books, reconciled and CPA-ready. But did it actually make money?
Step 14Part 5 · Know your numbers

Did the job make money?

#/reports

The only question that matters. Profit by job answers it, worst margin first. The other two report views look forward, and material trends tells you when to buy filler rod next. billWright labels every forward-looking number honestly, and so will this guide.

1
JobRevenueCostMargin
Welded gate, residential$2,400$1,980$420
Stair stringers$5,100$2,640$2,460
Steel mezzanine handrail$10,030$3,150$6,880
All jobs$17,530$7,770$9,760

screens-reports.js — the Rivermark handrail, worst margin first.

    Read the signal
  1. Open Reports → Profit by job.You'll seerevenue, cost, and margin per job. The handrail cleared $6,880.
  2. Switch to Cash-flow forecast.Honest labela 6-month look at money in and out. It's a projection, not actuals.
  3. Switch to Quarterly tax estimate.Honest labelnext federal due date and a self-employment plus income estimate. This is not tax advice.
  4. Check Materials (#/materials) for buy-timing.Honest labelon repeat buys like filler rod, it normalizes price and leans buy-sooner / no-rush. It's signal from your own buys, not a market forecast, and confidence softens when data is thin.
Checkpoint
You know the handrail made money — and what to watch next. Part 5 done. Now let's protect the business and grow it.
Part 6 · Protect & grow / Steps 15–17

Protect & grow.

Turn this one-off into recurring revenue, make sure your data is yours forever, and tell us what to build next.

Step 15Part 6 · Protect & grow

Set up an agreement.

#/agreements

Rivermark's new rail needs quarterly inspections. Set up a service agreement and turn one job into recurring revenue you never have to re-quote. Pick a cadence and a billing mode, and billWright generates the visit and billing schedule for you.

New agreement

preview
Rivermark Builders
Quarterly
1
2
GENERATED
Visits / yr4
Per visit$250
Annual value$1,000
Next visitJun 14

screens-agreements.js — the preview updates as you set cadence and mode.

    Lock in recurring work
  1. Create an agreement for Rivermark.You'll seecadence and billing-mode options.
  2. Pick the cadence (Quarterly) and billing mode.You'll seethe preview regenerate — per visit, annual upfront, or monthly.
  3. Preview the visit and billing schedule.You'll see4 visits a year, $250 each, $1,000 annual value, and the next visit dated.
  4. Save.Why it mattersrecurring revenue you don't have to re-quote every quarter.
Checkpoint
Rivermark is now $1,000 a year of recurring work. Let's make sure none of this can ever be lost.
Step 16Part 6 · Protect & grow

Back up your books.

#/settings/backups

Your data is yours. Set rolling backups so a bad day can't wipe your history, and a portable "leave anytime" export so you're never locked in. Point off-site delivery at a synced folder and copies land somewhere safe every night.

    Make it bulletproof
  1. Open Settings → Backups and run a backup now.You'll seea rolling archive with daily, weekly, and monthly retention.
  2. Run the "leave anytime" CSV export.You'll seea portable export with secrets stripped, including your invoice and quote PDFs.
  3. Point off-site delivery at a synced cloud folder.You'll seecopies land off-site automatically, nightly or on demand.
No lock-inThe whole pointYour data is yours. Take it whenever you want — billWright is built so you can leave, which is the best reason to stay.

Backups & export

retention: 7 / 4 / 12
ArchiveKindSize
2026-06-05Daily18.4 MBdownload
leave-anytime1CSV + PDFs22.6 MBdownload
2026-06-01Monthly18.1 MBdownload
2
Off-siteDropbox › /billwright-backups
nightly

Settings → Backups — run on a schedule or on demand.

Checkpoint
Everything's backed up and portable. One last thing: help shape what comes next.
Step 17Part 6 · Protect & grow

Send feedback.

#/settings/feedback

Hit a rough edge running the handrail job? The feedback button rides along on every screen. It captures where you were and what version you're on, so you can just say what's wrong and get back to work.

Send feedback

#/reports · v4.3.1
Margin column should right-align…
Submit1
Feedback

feedback-fab.js — context attached for you. Shift + ? opens it anywhere.

    Speak up
  1. Tap the feedback button anywhere.You'll seea small panel for a bug, idea, or question.
  2. Pick a type and write it up.You'll seeit auto-capture the route, version, and timestamp, so you don't have to explain where you were.
  3. Submit.You'll seeit land in the admin feedback list with a status. Owners review items there.
You finished the tutorial
That's the whole loop. You took one job — Rivermark's steel handrail — from a phone call to priced, scheduled, worked, billed, paid, and backed up, then turned it into recurring revenue. Every screen you touched feeds the same set of books. Now go run your own.