PLATFORM · QUOTE + JOB

Price up a quote or job in minutes, and see the margin before you send it

Build it from your own products, rates and price levels, so it is right the first time. Every line, every cost and the margin sit in front of you while you price it. Approve it and that same quote becomes the job, then the invoice, then a line in your accounting package. Entered once, everywhere after that.

Book a demo → See it on your own jobs.
Minutes
to price a full job
Every line
costed, with margin shown
quote, job and invoice, entered once
Sales order · SO-1184 DRAFT
Hartley Building Co.TRADE PRICE LEVEL
Auto-filled from customer record
{{ r.name }}
{{ r.meta }}
{{ r.total }}
MARGIN ON THIS JOB
33%A$782
TOTAL
A$2,526.12
Margin shown once your product costs are set.
THE WAY IT WORKS TODAY

The quoting spreadsheet got you here. It won't get you further.

Nobody set out to price jobs this way. It grew one job at a time, and now the shop's margin sits inside a file, a folder of drawings, and the one person who knows how both work.

{{ o.n }} {{ o.title }}

{{ o.text }}

Quote_v3_FINAL(2).xlsx Last edited by Dave
ABCD
{{ r.a }} {{ r.b }} {{ r.c }} {{ r.d }}
Margin: not in this sheet =SUM(D2:D9)
Quote v3 FINAL Costings OLD Do not touch
Every shop has one. Most have four.
WHAT CHANGES WITH FACTORY

Enter the job once. Price it properly. Build it from the same thing you quoted.

TODAY
IN FACTORY
{{ k.leak }}
{{ k.fix }}
BUILDING THE QUOTE

Quick to build. Detailed enough to trust.

The same builder whether it's a one-off bracket or a job with a full bill of materials behind it. And what you build is the quote and the job, not two versions of the same work.

Price it from what you already know

Pull products from your catalogueue and they price at that customer's level. Enter a size on a measured item and it prices off your rate. Drop in a saved BOM and the whole assembly lands at once, parts, consumables and labour together. Nothing in the catalogueue yet? Type a one-off item straight onto the quote and keep moving.

  • {{ b.k }} {{ b.v }}
Add to orderSO-1184 · Hartley Building Co.
{{ s.icon }}
{{ s.label }}
{{ s.meta }}
{{ s.chev }}
HANDRAIL ASSEMBLY · EXPANDS TO 3 LINES
{{ l.name }} {{ l.qty }}
Adjust quantities on the job in front of youAdd lines
Order pricesSO-1184
WHAT IT COSTS YOU
{{ c.k }}{{ c.v }}
Job cost{{ costTotal }}
WHAT THEY PAY
Lines{{ sellStr }}
Delivery{{ deliveryStr }}
Tax{{ taxStr }}
Total{{ totalStr }}
Order markup
{{ markupLabel }}
MARGIN ON THIS JOB
{{ pctStr }}{{ marginStr }}
{{ targetNote }}
Live: move the markup and watch the margin.

Nail the margin before it goes out

Every line carries a cost, so the quote knows what the job is worth to you, not just what it's worth to the customer. Materials, consumables, labour and outside services all sit on the order where you can see them.

Adjust a cost, mark up a line, or add a markup across the order, and the margin moves in front of you. You set the number on purpose instead of finding out how the job went after it's built.

Everything the job needs, attached to it

The drawing, the revision note, the DXF for the burn table, the photo from the site measure. Attach them to the quote and they carry through to the job, so the floor builds from the same information you priced from.

No hunting through an email thread to find out which revision the price was based on.

AttachmentsCarries to the job
{{ a.kind }}
{{ a.name }}
{{ a.meta }}
NOTE ON THE ORDER

Satin black powder coat. Customer supplies fixings. Access through the rear yard only, before 3pm.

FROM QUOTE TO JOB

They say yes. It becomes a job in one click.

Email the quote from Factory. When the customer accepts, convert it to a job and every line, cost and file goes with it. Nothing gets re-typed between the yes and the floor.

{{ h.n }}
{{ h.title }}

{{ h.body }}

Once it's a job, plan it in Schedule and track it in Run the floor. Same lines, same costs, all the way to the invoice.

Syncs with Xero · MYOB · QuickBooks Online
WHAT A REAL QUOTE LOOKS LIKE

20 metres of parapet flashing, a saved bracket assembly, half a day of labour

You start the order from the customer, so their details and price level are already on it. Sheet goes on from the catalogueue. The flashing is a measured item, so you pick the profile, type 20 m, and it prices off the rate. The bracket assembly is a saved BOM you built two jobs ago, so one add brings the steel, the consumables and the weld time with it. Then a labour line, a delivery fee, and the DXF and the drawing attached to the order.

Order prices shows the job cost against the total, and the margin in dollars and percent. It's a touch thin, so you add a small order markup and watch it move to where you want it. Email the quote. When the customer comes back with a yes, you convert it to a job, and the same lines you priced are the ones the floor builds from and the ones the invoice is made of. You never typed the job twice.

SO-1184 · Hartley Building Co.TRADE
{{ r.name }}
{{ r.tag }}{{ r.meta }}
{{ r.total }}
MARGIN
33%A$782
A$2,526.12
BUILT FOR A FAB SHOP, NOT BOLTED ON FROM AN ERP

You outgrew the spreadsheet. You're not buying an enterprise ERP to fix quoting.

Factory is right-sized: it runs the whole loop - quote, schedule, run the floor, get paid - and keeps the accounting you already use. It syncs with Xero, MYOB, and QuickBooks Online, so the numbers land where your books already live. No migrating your books, no consultant, up in weeks not months.

300+
shops run on Factory
~50 yrs
family fab shop behind it
4-6 wks
paper to digital

"In just 6 weeks we completely moved from paper-based jobs to digital."

Wagga Stainless Steel

"Able to manage jobs better and helping work out our margins on each."

Balamara Mechanical
STRAIGHT ANSWERS

Questions shops ask before they switch

{{ item.a }}

SEE IT ON YOUR OWN JOBS

Bring a job you quoted this week.

We'll build the quote in Factory, price it at your customer's level, and convert it to a job - so you can watch the re-keying disappear before you commit to anything.

Takes you straight to the calendar. Times shown in your local timezone.