Customers
6 records- Address
- Phone
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.
“A field-service electrician team: jobs, quotes, parts, and invoices”
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.
Each of these is computed by travelling a relationship, so it updates when the records behind it change — nobody retypes a total.
sum of Parts Used (linked by job) → Line Total
sum of Quotes (linked by job) → Amount
sum of Invoices (linked by job) → Amount
Customers: Grid / Map, Invoices: Grid / Board, Jobs: Grid / Map / Board / Calendar, Quotes: Grid / Board / Calendar
Invoices, grouped by Status — Total Amount
Scheduled Jobs · Outstanding Invoice $ · Quotes Awaiting Approval · Jobs by Status · Invoices by Status · Recent Jobs Triage · Daily Insights · Recent Activity
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.
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.
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.
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.
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.
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.
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.
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.