One system for the whole job, from quote to paid invoice

Electrical, HVAC and plumbing contractors running a handful of technicians, who have outgrown a whiteboard and a shared spreadsheet but do not want their process reshaped by an off-the-shelf field-service product.

Typed into RowFold
“A field-service electrician team: jobs, quotes, parts, and invoices”
Build this with AI Free for one person · no credit card
WHAT ROWFOLD ACTUALLY BUILT

Not a mockup. The real output.

Every table, link and rollup below was captured from a live build that finished in 2 min 10 sec, arriving with 32 sample records already in it. Nothing here is illustrative.

Customers

6 records
  • Address
  • Phone
  • Email

Jobs

8 records
  • Customer Relation
  • Site Address Address
  • Scheduled Date Date
  • Status Select
  • Description LongText
  • Technician Text
  • Parts Cost Rollup
  • Quote Total Rollup
  • Invoice Total Rollup

Quotes

6 records
  • Job Relation
  • Quote Number AutoNumber
  • Amount Currency
  • Status Select
  • Date Sent Date

Parts Used

8 records
  • Job Relation
  • Part Name Text
  • Quantity Number
  • Unit Cost Currency
  • Line Total Currency

Invoices

4 records
  • Job Relation
  • Invoice Number AutoNumber
  • Amount Currency
  • Status Select
  • Date Issued Date
  • Date Due Date

How they connect

  • Invoices Jobs via Job links to one
  • Jobs Customers via Customer links to one
  • Parts Used Jobs via Job links to one
  • Quotes Jobs via Job links to one

Numbers that keep themselves right

Each of these is computed by travelling a relationship, so it updates when the records behind it change — nobody retypes a total.

  • Jobs · Parts Cost sum of Parts Used (linked by job) → Line Total
  • Jobs · Quote Total sum of Quotes (linked by job) → Amount
  • Jobs · Invoice Total sum of Invoices (linked by job) → Amount

11 views, built automatically

Customers: Grid / Map, Invoices: Grid / Board, Jobs: Grid / Map / Board / Calendar, Quotes: Grid / Board / Calendar

Report · Invoice Status Overview

Invoices, grouped by Status — Total Amount

Dashboard · Field Service Overview

Scheduled Jobs · Outstanding Invoice $ · Quotes Awaiting Approval · Jobs by Status · Invoices by Status · Recent Jobs Triage · Daily Insights · Recent Activity

WHAT IT FIXES

The four things that actually go wrong

What you quoted, what the parts cost and what you finally invoiced live in three different places, so nobody knows whether a finished job actually made money until someone sits down with the paperwork.

All three ended up on the Jobs row as rollups — Quote Total, Parts Cost and Invoice Total — each one summing the records linked to that job. The margin question is answered by looking at the row instead of by reconstructing it.

Parts come off the van and get written on the back of something, so the cost never makes it back to the job it belongs to.

Parts Used came out as its own table — one row per part per job, with quantity, unit cost and a line total — rather than a text box on the job. Because those rows are linked, the job's Parts Cost rollup updates the moment one is added.

Chasing money means leaving the job system entirely: you can see the invoices, but not which ones are still outstanding without adding them up by hand.

The build produced an Invoice Status Overview report grouping invoices by status with the total amount in each, and put an Outstanding Invoice tile on the dashboard so the number is there when you open the workspace.

Tomorrow's schedule is on a whiteboard in the office and the site addresses are in one person's phone, so anyone not standing in the office is guessing.

Jobs got four views off the same records — a grid, a board by status, a calendar on Scheduled Date and a map on Site Address — so the schedule and the route are two ways of looking at one thing rather than two things to keep in step.

Worth adding next — a suggestion, not part of the build

When a job's status changes to complete…

  1. Create an Invoice record linked to that job
  2. Carry the job's Quote Total across as the invoice's starting figure
  3. Email the customer to say the work is done and the invoice is on its way
  4. Post it to the office Slack channel so nobody has to be told twice
QUESTIONS

Before you start

How long does it actually take to build?

The workspace shown on this page took two minutes and ten seconds from the moment the sentence was submitted. In that time RowFold created five linked tables, wrote thirty-two sample records so the system arrives working rather than empty, added eleven views including a job calendar and a customer map, built a report and composed an eight-tile dashboard. Everything after that is you changing whatever does not fit how you work.

Can I change the tables after RowFold builds them?

Yes, and you are expected to. The build is a starting point rather than a finished product: rename a table, add a field, delete one you will never use, or point a relationship somewhere else entirely. Rollups recalculate as soon as the data behind them changes, so adding a part to a job updates that job's parts cost without anyone recalculating anything by hand. None of the generated schema is locked.

How does it keep parts costs attached to the right job?

Parts Used is a genuine table with one row per part per job, not a text field where somebody types what they fitted. Each row carries a quantity, a unit cost and a line total, and because the rows link to the job, the Jobs table can carry a Parts Cost rollup that sums them and stays current. That is the difference between a spreadsheet that records what happened and a system that can tell you the margin.

Can customers request work without me typing it in?

Yes. Any table can publish a public form at its own unguessable URL, so a "request a callout" form can write straight into Jobs without the person filling it in needing a login. The server re-validates every field on submission, so what a visitor can send is exactly what you allowed and nothing else, and what arrives is an ordinary record you can filter, assign and roll up like any other.

Does this replace my accounting software?

No, and it is not trying to. The Invoices table tracks what you issued, which job it was for and whether it has been paid, so the job and the invoice finally sit in the same place — but it does not file your VAT or run payroll. RowFold has QuickBooks and Xero connectors for moving data between the two. The invoice records here exist for visibility on the job, not to replace your accountant.

What happens to the sample data it creates?

It is real, editable data that exists so the workspace demonstrates itself instead of opening empty — thirty-two records across five tables in this build, including customers with addresses that make the map view work and jobs with dates that fill the calendar. Delete it in bulk when you are ready for your own, or edit the rows into your first few real jobs. It is not a locked demo mode.

Describe yours and watch it build

There is no template to wait for. Type a sentence about what you run and RowFold assembles the tables, links, views and dashboard around it — then you change whatever does not fit.

Start free Free forever for one person. Then $19/month per extra person.