Quoting and Invoicing for Fabrication Shops
FabWise is where a job's quote and invoice are authored, versioned, and kept — because it is where the job, the estimate, and the hours actually worked already live. The documents sit beside the actuals instead of in a folder somewhere else.
What This Is, and What It Isn't
FabWise is not accounting software and it does not process payments. It does not run your ledger, reconcile your bank, calculate tax, or move money. Your accounting system keeps doing that.
What FabWise does is master the documents. A quote is built from line items on a job, issued as a version, and accepted by the customer. An invoice is generated from that accepted contract. Their state — issued, accepted, sent, paid, voided — is recorded here because this is where the job is.
Marking an invoice paid records a fact you already know. It does not take a payment.
The reason to author them here rather than in a separate tool is the same reason the rest of FabWise exists: the estimate and the actual are worth nothing apart from each other.
Estimates and Actuals Are Separate on Purpose
FabWise keeps two things apart that spreadsheets tend to merge.
Estimate rows live in the job's quote line items — labor, material, outside service, freight, or other. You can build them by hand or import them from a CSV.
Actual work lives in the job's Work tab, as tasks and tracked time.
Keeping them separate is what makes the comparison possible later. A quote line is what you said the job would take; a task is what it took. Merge them into one number and you lose the ability to ask whether the estimate was any good — which is the question that improves the next quote.
This is the whole argument for authoring the document here. A quote written in a spreadsheet is a sales artifact. A quote written against the job is an input to job costing.
Every Issued Document Is a Version
When you issue a quote or an invoice, FabWise saves that document as its own version — a quote becomes something like Q-2026-0003.
Later edits do not silently change a document that was already sent. The version the customer received stays exactly as they received it.
This is the difference between a quote system and a quote template. If a customer asks what they agreed to, the answer is a record, not a reconstruction.
Online Acceptance, Without a Separate Service
You email the quote to the customer's contact from the job's quote page. The email carries a link to an acceptance page showing your shop's logo, your brand color, the quote, and its total.
The customer checks a box agreeing that their online acceptance is their signature, then accepts. FabWise records who accepted, when, and from where.
No separate e-signature subscription is involved — acceptance is built in.
If the customer would rather sign on paper, the same page offers it: they download the quote, sign it, and upload the signed copy. That signed copy becomes the official record of acceptance.
Change Orders That Do Not Lose the Original
Scope changes. In most shops that means a second quote file and a conversation about which one counts.
In FabWise you start a change order from the accepted job, edit the lines to match the new scope, and issue it. The customer accepts it the same way they accepted the original.
Once accepted, the change order becomes the job's live contract and the previous version is marked Superseded. The original is not deleted — it stays on the record.
Revising the contract does not move the job backward. The job stays where it is in production; only the contract changes.
One Billing Document
There is no separate "invoice" and "final invoice" to keep straight. There is one billing document, generated from the accepted contract.
From the job's quote page you can email it, mark it paid when payment arrives, or void it and start over. The job's workflow shows the invoice number and its state: Generated, Sent, Paid, or Voided — a status on the job, not an entry in a ledger.
A quote has to be accepted before the job can bill. The invoice bills the accepted contract, so there is nothing to bill until there is one.
Why It Belongs Next to the Hours
A quote is a prediction. Labor tracking is what actually happened. Job costing is the two side by side.
Shops that quote in one system and track hours in another can tell you what they charged and what they paid out, but not reliably which jobs made money. The contract and the hours being in the same place is what turns a quote from a sales document into an input for the next estimate.
Your accounting system is still where the money lives. This is where the job lives.
Moving Off an Estimating Spreadsheet
Most shops quote from a spreadsheet that has been refined over years, and nobody wants to abandon it.
You do not have to rebuild it. Quote line items import from CSV, so an existing estimating sheet becomes the starting point for a job rather than something you retype.
What changes is what happens after the number is agreed: instead of the estimate ending its life as a sent PDF, it stays attached to the job and becomes the thing the actual hours get measured against.