§ 00 / products / apiconstruct

apiConstruct. An estimator that knows its costs.

A price book of materials, labour and sub-contracts; work types made of task recipes; a quote builder that runs on a phone from the roof. Every line carries its cost per type and its margin, the bill of materials writes itself, and an accepted quote becomes the project — with purchase orders pulled from the BOM per supplier and progress invoices billed by percentage. Built for a Quebec roofing contractor; tailored for yours.

what it is
construction & roofing estimator
status
live · in production
licence
hosted · tailored on quote
platform
web · iOS · Android · API
built with
GoatCheese
for
roofers · contractors · trades
taxes
GST / QST · Quebec-ready
languages
French · English
AI
AI assistant access (MCP)
§ 01 / how an estimate is built

Price book, recipes, work types. Then the quote writes itself.

The estimator does not type prices. It picks tasks, and the tasks know what they cost — by material, by hour, by sub-contract — because someone maintained one price book instead of a hundred spreadsheets.

01/book

Price book

Products with a current cost per unit and a preferred supplier price; cost types you define — materials, labour, sub-contracts, equipment — each flagged whether it feeds purchase orders. Bulk-adjust a supplier's prices by a percentage in one action.

  • cost types are data
  • mass price change
02/recipes

Task recipes

One shared task library. A task is a recipe: so many of this product, so many hours of that labour, a fixed sub-contract amount. Recipe costs read the price book live, so a supplier increase shows up in every task the next morning.

  • one task, many work types
03/work

Work types

A work type — re-roofing, repair, new build — is a list of task groups in the order the crew does them, with the tasks that nearly always apply already checked. Clone one to start the next; a quick-quote type hides the cost columns for the small jobs.

  • templates
  • quick quote
04/snapshot

Cost snapshots

When a line is added to a quote it snapshots the book: cost per type, per unit, that day. The quote you sent in March still reads what it cost in March. A draft can be repriced from the current book on demand — a sent one never moves.

  • reprice on demand
  • sent = frozen
§ 02 / the quote builder

Quoted from the ladder, priced by the server.

An estimator with a phone and twenty minutes on site should leave with a quote the office can trust. The builder makes that the normal case.

on the roof
Made for the phone first: pick the type of job, check off the tasks, enter the quantities. On a desktop the same page spreads out into a full table — same screen, same data.
quantities
A quantity can be an expression — 12 × 3.5 + 20 — evaluated on the spot, with a comma or a dot. Set the roof area once and every per-square-foot line offers to take it.
the money
No arithmetic happens on the phone. Every change is sent to the server, which prices each line from its cost snapshot, applies the quote's markup or the line's own selling price, taxes, discount and commission, and sends back the totals.
cost columns
The quote only shows the cost columns it actually uses — materials, labour, sub-contracts. Need a cost nobody planned for? Open the line, fill it in, and the column appears.
margin
Cost, sell, profit and actual markup per line and for the whole quote, live — the estimator sees the margin move while the quote is being built, not after the job is lost.
text
The wording the customer sees on each line is edited in a large window and previewed in the row. Preview a reprice, copy lines from another quote, and save the whole quote in one go.
§ 03 / from quote to invoice

One record, four stages. No re-typing.

The quantities estimated on the roof are the quantities ordered from the supplier and the contract value billed in thirds. Each stage is created from the one before it, never copied by hand.

01/quote

Quote

Draft, sent, accepted, rejected or expired. Sending freezes the lines; a PDF in the customer's language, payment terms, material and labour warranties, a rejection reason when it is lost — so the pipeline report says why.

02/project

Project

Accepting a quote creates its project with the contract value and the estimated cost copied over. Dates, work address, site pictures, and rollups that stay current: billed, billed %, paid, purchase orders.

03/orders

Purchase orders

One click creates a draft purchase order per supplier from what the bill of materials still needs; an order can also pull its supplier's remaining BOM lines later. Prices default from the supplier price, then the book.

04/invoices

Progress invoices

Deposit, progress, final and extra invoices billed as a percentage of the contract, with GST and QST, partial payments and balance. The project shows how much of the job is billed and paid at any time.

§ 04 / in the box

The office side, generated.

01

Bill of materials

Regenerated from the quote lines — line quantity × recipe quantity per product — plus manual rows from the builder. The BOM is what purchase orders draw down.

02

Clients & contacts

Clients with several contacts, files and the history of their quotes, projects and invoices. Suppliers with their own price per product.

03

PDFs & templates

Quote, purchase order and invoice PDFs from templates you edit; a print template and contract text per work type.

04

Mobile app

iOS and Android app with Google sign-in and push notifications, generated from the same data model as the web application.

05

Roles & audit

Estimators, office, admin: each role sees and edits only what it should; every change is stamped with who and when; login log.

06

Migration

Legacy ids on every catalogue table: the price book, work types and task recipes of an existing estimator were imported, not re-typed.

07

REST API & MCP

Every entity behind a documented API with role checks, and an MCP server so an AI assistant can look up a quote, a supplier or a project balance on your behalf.

08

Payments

Online card payment on invoices can be switched on whenever you want it.

Built on GoatCheese: the admin, API, mobile app and MCP server are generated from the data model; the estimating engine, the quote builder and the quote → project → order → invoice chain are the custom part.

§ 05 / next step

Your price book, your work types, your crews.

apiConstruct is tailored per contractor: the cost types, task recipes and quote template are yours, and an existing estimator or spreadsheet can be imported. Book a demo and bring one real quote — we will rebuild it together.

Hosted and supported from Quebec. Scope and price in writing before anything starts.