Do we own the source code and the data?
Yes. The source code, the database and the data are yours, hosted where you choose, so nothing disappears and no data is held hostage if you stop paying a vendor.
Case study · Specialty trade & industrial contracting
A browser-based operations platform for US industrial and mechanical contractors. One quote number carries a job from the first estimate through field labor, materials, rentals and payroll to the invoice and the cash collected, with the margin visible at every step.

124
delivered capabilities, from estimating through to collected cash
1
quote number carrying the job end to end - no re-keying between steps
Owned
source, data and hosting - a capital asset, not a per-seat subscription
Construction Quotes is custom estimating and job costing software for contractors who bid work, send crews and bill for it. It does the arithmetic the spreadsheet did, prints the same documents, and keeps an audited record of what every job actually cost.
Most US specialty contractors estimate out of one workbook. That works until the company outgrows the person who built it: the pricing knowledge sits in one file, with no record of what the work cost to deliver.
Same family as the custom software services we deliver for US operators, and the same phased development approach.
NAICS 238 - specialty trade contractors
Built against one such company’s real workbooks and real job history. Other industries we build operational systems for.
One quote number runs all four stages - estimate, win the work, do the job, get paid - and nothing is re-keyed between them, so planned cost and real cost sit on the same record while the job is still open.
Break a job into tasks under lettered categories, then price labor, materials, equipment and rentals on each one.
Print the quote as a PDF, email it from the app, and track it through the pipeline under the company’s own status names.
Crew hours are typed into a weekly grid and land on the task they were worked on as real labor cost.
Invoice ticked work or build a custom invoice, then record what comes in and see what is late.
The quote holds planned spend; payroll and vendor bills record actual spend. The Quote Summary puts the two on the same row, per task, with the gross profit and margin that resulted. A year of that is what makes next year’s bids better.
The engagement started from the company’s live estimating workbook, a quote log going back years, and one sentence: make it at least as functional as the Excel file we use now. Every item below was asked for by the client, and every item was built.
A task-breakdown export laid out the way their own estimators read it.
A Friday-to-Thursday labor grid usable on a phone held sideways - how the office actually collects hours.
Per-customer quote numbering: their own log proved they pre-allocate blocks of numbers per customer.
A QuickBooks invoice file, so the bookkeeper stops re-typing invoices.
Email quotes, invoices and POs as PDFs from the app, with a record of what was sent.
Bill a job in draws against agreed payment terms rather than one invoice at the end.
Find old drawings and quotes by name, including links into supplier portals.
Payroll: pick the workers first, let an administrator define new kinds of cost code, override a pay figure when the hours do not come to it, and record regular and overtime as a pair every day.
“Anyone can edit any list” collided with “pay rates must stay private”. The honest answer was a permission grid, not a blanket yes.
Per-customer numbering was questioned, because the customer code already sits inside the number - until their own quote log showed reserved blocks per company. Then it was recommended and built.
The client got a system that reflects how they really work, not how a brief described it.
Seven screens carry most of the working day - dashboard, quote register, task breakdown, planned-against-actual summary, weekly payroll grid, invoice register and Excel Bridge - and every capture below is from the live system, not a mockup.
7
screens shown here, of a far larger application
40+
server-side modules behind the interface
1
number that carries a job from estimate to cash
Every screen shown here is a real capture from the working application. Company names, staff names, customer names and contact details have been blurred to protect the client’s commercial information. Layout, figures and behaviour are untouched.
These seven are the screens an owner sees most. Behind them sit:
The full delivered list of 124 capabilities is next.
124 delivered capabilities, grouped by the part of the business they serve: quoting, numbering, job costing, payroll, invoicing, purchasing, documents, master data, the Excel and QuickBooks bridges, access control and the platform itself.
Showing 124 of 124 delivered capabilities.
PHP 8.2 on CodeIgniter 4.7 with a MySQL database, built as a single-page application with real clean URLs - so every screen, down to an individual job, is a link that can be bookmarked, emailed or opened directly.
Documents are generated server-side as true PDFs, and Excel is read and written natively, so workbooks move in and out with no conversion step and no third-party service.
More on the technologies we build production systems on and on application security and access control.
Numbers never break relations.
Every record has an internal identity separate from its business number, so re-issuing a quote number can never orphan the work attached to it.
Saved lines keep their own rates.
Changing a rate or a markup today does not silently reprice a quote sent last month - a rule that protects the company in a dispute.
Nothing syncs behind anyone’s back.
Every Excel transfer is triggered by a person, previewed before it writes, and undoable afterwards.
Every row below is a well-documented failure mode in American specialty contracting, and the right-hand column is what this system does about it.
If several of those describe your week, the where-to-start guide sets out how we scope a first phase, and the outcomes we hold ourselves to explains how delivery is measured.
Quoting stops being one person’s job, labor cost lands on the job the week it happens, and invoices go out from work that is already itemised and priced. Because the system is owned rather than rented, the cost history it accumulates is an asset on the company’s own books.
The software pays for itself on administrative time alone. The compounding value is a bid book that gets sharper every quarter.
Quoting stops being one person’s job.
The pricing rules live in the system, so a second estimator works without inheriting a workbook.
Labor cost lands the week it happens.
Not at month end, not in a separate payroll file, and not as a guess.
Invoices go out faster.
The work is already itemised and priced, which is the most direct improvement there is to cash flow.
The bookkeeper stops re-keying.
Invoices reach QuickBooks as a file, not as thirteen manual entries with thirteen chances to fat-finger a figure.
Nothing is lost between steps.
One number carries the estimate, the PO, the hours, the invoice and the payment.
Every action has a name and a time on it.
Internal and customer disputes are settled with a record rather than a recollection.
Software a company rents disappears the day it stops paying; software it owns is capital that appears in due diligence, transfers in a sale and carries no per-seat penalty for growth.
| Renting a platform | Owning this one |
|---|---|
| Cost rises with every user you hire, every year - commercial job-cost platforms charge per seat per month, forever, and that bill rises exactly as the company succeeds. | Adding a user costs nothing. Growth is free at the licence line. |
| You fit your process to the product, and pay to change what does not fit - if it can be changed at all. | The product fits your process, because it was built from your workbooks and your week. |
| Your history sits in a vendor’s database, exportable on their terms and readable only in their format. | The database is yours, hosted where you choose, with Excel in and out by design. |
| An operating expense that leaves nothing behind the day you stop paying it. | An asset that appears in diligence and transfers with the company in a sale. |
How ownership is structured commercially: pricing models and the pricing page.
Cost history becomes a bidding advantage.
Every finished job deposits a comparable record of what that work really costs, so the bid book sharpens each quarter instead of resting on the owner’s memory.
Growth stops costing administration.
Doubling the crew does not double the office, because the reconciling and re-keying was removed rather than distributed.
Key-person risk falls away.
The knowledge that lived in one estimator’s workbook now lives in a system the company owns and can train staff on.
It is already multi-tenant.
The same platform can carry further entities, divisions or acquisitions under one roof, or be white-labelled entirely.
Every year it runs, it is worth more, not less.
Buyers discount heavily for anything that looks like it lives in the owner’s head. A platform you own, holding years of clean job-cost history, proves the company can price and deliver without the founder in the room: the difference between selling a book of relationships and selling a business that runs.
No system delivers this on its own. The returns arrive when hours are entered every week rather than every month, when vendor bills are filed against the job that incurred them, and when the office stops keeping a private spreadsheet alongside the application. Those are habits, not features.
The software makes the right habit the easy one: hours save as they are typed, a purchase order is one click from the rental lines, and the margin is on screen while the job is open. But a company that does not enter its hours will learn nothing from any system, including this one. That was said to the client before a line was written.
Construction Quotes was built for one company’s workbooks, numbering and week, and we build the same class of system for yours - estimating, job costing, field labor, purchasing, invoicing and reporting, shaped around how your business actually runs.
Contractor, manufacturer, distributor or service business, the pattern is the same: the spreadsheet that got you here will not get you where you are going. As a US custom contractor software developer we take the same route whether the target is a quote-to-invoice system, a plant maintenance platform or an AI automation layer over work you already do.
We start from what you already use.
Your spreadsheet, your quote log, your documents - not a generic template.
You get a working phase early.
The first delivery is a complete workflow you can run the business on, not a twelve-month wait.
You own the result.
The source code, the database and the data are yours, hosted where you choose.
It keeps growing with you.
New requirements become the next phase, priced and built on the same foundation.
Estimating & job costing
Pricing that matches how your estimators already work, with planned-against-actual once the job is running.
Field & workforce
Timekeeping, scheduling and cost-code capture that survives a job site and lands on the right job.
Billing & bridges
Invoicing, staged draws, receivables, and clean transfer into the accounting package you already use.
Browse the wider engineering capabilities and solutions we deliver.
Q1
What breaks first if your key person leaves?
That is usually the part to systematise first.
Q2
Where is the same number typed twice?
Every duplicate entry is a standing cost and a standing risk.
Q3
Can you say today what last quarter’s jobs actually cost?
If the answer takes a week to assemble, you are bidding on memory.
Ownership, migration, field use, accounting and access control are what owners ask about first. The answers below describe how Construction Quotes was actually delivered.
Yes. The source code, the database and the data are yours, hosted where you choose, so nothing disappears and no data is held hostage if you stop paying a vendor.
Yes. The Excel Bridge pulls years of history in from your own workbooks and pushes reports back out, and every transfer is started by a person, previewed before anything is written, and undoable afterwards.
The weekly payroll grid was built to be usable on a phone held sideways, because that is how the client office collects hours. The application is browser-based with real clean URLs, so any screen can be bookmarked, emailed or opened on a phone or tablet.
Invoices are exported as a QuickBooks import file, so the bookkeeper loads one file instead of re-typing thirteen invoices. There is no background sync: the export is triggered by a person.
No. Adding a user costs nothing because the system is owned rather than rented, while commercial job-cost platforms charge per seat per month and that bill rises exactly as the company succeeds.
Only the roles you allow. Custom designations drive a permission grid: pay rates and margin are hidden by role, Social Security numbers and dates of birth are admin-only, and every action is logged with the name of the person who took it.
Scope sets the figure, so we do not publish one; budget is agreed per engagement against the workflows in your first phase. Send us the spreadsheet you run on today and we will tell you plainly what it would take to replace it.
Yes. The pattern - estimate, deliver, cost, invoice, collect, all under one number - is the same in manufacturing, distribution and field service, and we start from the documents and spreadsheets you use today rather than a generic template.
Still deciding? Read more answers about working with us, see what clients say about delivery, or go back to the full project portfolio.
Send us the spreadsheet you run on today and we will tell you, plainly, what it would take to replace it - scope, sequence and the first phase worth building, with no obligation to proceed.
Or email contact@opencollartech.com and call +1 516 373 0561. Prefer a form? Use the contact page.
The delivered 12-page portfolio document covers the same material in print, including all seven screens and the full capability list.
Download the 12-page portfolio (PDF, 3.7 MB)Live in production · multi-tenant · self-hosted