For HVAC and sheet metal fab shops · Free, no meeting, no commitment

Same fitting.
Three different prices.

Shops that price by feel bill the same part at different numbers job to job, and it never shows up anywhere. Send one export of your charged history and we send back every part it is happening on, ranked by dollars at stake. Yours to keep either way.

No install, no screenshare, no sales call. Reply to the email this page came from with the export attached, or email ryan@ductly.ai, and the report comes back to you.

app.ductly.ai / reports / price-consistency Sample data
Price consistency · charged history, 24 months same part, more than one charged price · ranked by dollars at stake
Radius Elbow18 x 14 · billed 34 times charged at $92 / $118 / $131 $1,326
Square-to-Round Taper24 x 20 / 16 dia · billed 33 times charged at $118 / $126 / $145 $891
Round T-Y14 / 10 / 10 dia · billed 29 times charged at $86 / $94 / $112 $754
TDC Straight Duct30 x 12 · billed 41 times charged at $74 / $82 / $89 $615
Four parts shown, $3,586 at stake · 14 more flagged in this sample · every number here is illustrative. Yours come from your own export. Run it on your history

Where the drift comes from

A size chart for straight duct, material times a multiplier for fittings, a feel for the fiddly stuff. Every shop has a version of it, and everyone who quotes carries a slightly different one in their head.

Why you never see it

Quotes go out over the phone and in email replies. Nothing captures them, so nothing ever puts two prices for the same part side by side. The drift stays invisible until someone lines it up.

What it costs you

Your regular customers order the same fittings again and again. When the price moves, guess which number they remember. The low quote quietly becomes the list price.

01 · The fix

The drawing goes in. The quote comes out.

The report shows the leak. Ductly closes it: it reads the drawings your customers actually send, handwriting included, prices every line off your own rate card, and runs the job from quote to cash. One number for the same part, every time.

app.ductly.ai / quotes / Q-202608-0143 Sample data
Dashboard Quotes Orders Deliveries Invoices Purchasing Stock Books
Q-202608-0143 page 2 of 3 · read from photo · 11 lines
Square-to-Round Taperfrom drawing note 24 x 20 / 16 dia x 30 L · 24ga galv 2 Priced · rate card
TDC Straight Ducthandwritten dims 30 x 12 x 59 L · 26ga galv 6 Priced · rate card
Side Offsetsketched + listed, de-duped 18 x 14, 8 offset · 24ga galv 1 Priced · rate card
Round T-Yshorthand "N Req" 14 / 10 / 10 dia · gauge unclear 3 Needs review
Convert gate: every page reviewed by a human, zero open flags. One line to go. Convert to order
54fitting families, each with its own schema and checks
13ERP modules shipped, quotes through books
6,900+automated tests behind every release
Ontariobuilt here: HST, lien holdback, GST34 prep are native
54 fitting familiesSquare-to-Round TaperTDC Straight DuctSide OffsetRound T-YRadius ElbowSquare Throat ElbowReducerDrop Cheek TaperSpiral PipeBoot TeeSaddle TapPants TeeTransitionPlenumEnd CapOffset 54 fitting familiesSquare-to-Round TaperTDC Straight DuctSide OffsetRound T-YRadius ElbowSquare Throat ElbowReducerDrop Cheek TaperSpiral PipeBoot TeeSaddle TapPants TeeTransitionPlenumEnd CapOffset

02 · Your job, easier

Imagine not bringing the paperwork home.

Pricing jobs after dinner. Typing the same order into three places. Chasing what got promised on the phone. That's the part of the trade that follows you home, and it's the part Ductly takes. Four things change on day one:

Quote turnaround drops from most of an hour to minutes

A senior estimator spends 30 to 60 minutes pricing a page. Ductly drafts it in minutes; your estimator reviews and approves every line. Your real number gets clocked on your own drawings during setup. We publish measured times, not promises.

By hand
With Ductly

Everything is typed once

The quote becomes the order, the order becomes the shop-floor traveler, the shipment drafts the invoice, the invoice feeds the books. No re-keying between systems, no transcription drift.

QuoteOrderTravelerPacking slipInvoiceBooks

Fewer errors, by structure

Nothing becomes an order until a human has reviewed every page with zero open flags. Committed orders freeze, money math runs in exact decimals, and corrections add a line instead of editing history.

  • Hard approval gate before every order
  • Committed orders cannot be silently changed
  • Overpayment and double-submit blocked

The whole shop in one place

Quotes, orders, deliveries, invoicing and AR, purchasing, stock, and accountant-ready books. One login, one customer record, one version of the truth.

QuotesOrdersDeliveriesInvoicesARCustomersPurchasingAPStockRate cardsBooksPortalReports

03 · The math

The most expensive hour in your shop is the estimator's.

The estimator

$75-100K

a year, before benefits

That's what a senior estimator runs, call it $45 to $60 an hour with benefits on. Every hour of re-typing and paper-chasing bills at that rate. Ductly hands those hours back to the work only he can do.

The rework

2-6%

of revenue, gone to rework

Industry average for fab work: wrong dims, re-keyed orders, quote-to-floor drift. Run your revenue against that spread. Our working target: under 0.5% inside six months, measured on your jobs, not asserted.

The accountant

Year end

arrives already done

Real books all year mean the accountant stops reconstructing what happened and starts on what you actually pay them for: getting money out of the company with the least tax.

04 · How it works

Your rate card does the pricing. The AI just reads.

That split is deliberate. The AI pulls every fitting off the page: type, dimensions, quantity, gauge, material. Prices come from one place only, the rate card you already trust.

Step 1

The drawing arrives

Upload a photo, scan, or PDF. Or have customers email orders straight in, and the quote drafts itself before you open the message.

Step 2

Ductly reads every line

Handwritten dims, shorthand, sketches, item lists. Each field is tagged with where it came from. Anything uncertain gets flagged instead of guessed.

Step 3

Your estimator approves

Review flagged lines, approve the page, convert. From there the job runs to cash: traveler, delivery, invoice, books. Your judgment stays in charge.

05 · See it run

Watch a drawing become a quote

The recorded pitch, start to finish. Watch it before you book anything, then bring one of your own drawings and we run it live.

Ductly · the pitch, recorded

06 · Proof

We prove it on your paper, not ours

Anyone can demo their own sample data. Before we ask for a decision, we show the system working against your shop's real history.

The reconciliation

Your old quotes, re-run in front of you

During setup we load your rate card and re-run jobs you have already quoted. You compare our numbers to what you actually charged, line by line, before the system touches a live job.

Free, no commitment

The inconsistency report

The report this page opens with. Send an export of your charged history, and we send back every part you have billed at more than one price, ranked by dollars at stake. Yours to keep whatever you decide about the rest.

Request the report

Case study 001 · in progress

Our first paid engagement is underway at a GTA fab shop

We're rebuilding their pricing from their real costs, the rate card everything else runs on. The software numbers publish here when they are measured, not before. If a vendor shows you a case study with round numbers and no shop name, ask how it was measured.

· ·Turnaround, measured
· ·Re-entry hours removed
· ·Consistency, measured

07 · Built for Canada

Built for how Canadian shops actually bill

The incumbents are American quoting tools. Billing in Ontario has rules they have never heard of. Ductly was built inside them.

Construction lien holdback

Holdback is a first-class citizen

Holdback and its release get their own invoices, and the HST on held-back amounts defers the way the Excise Tax Act actually requires, not the way a US template guesses.

GST/HST, done properly

Your accountant gets real books

Sales and purchase registers, a period-locked GST34 prep panel, and a year-end package that ties to the trial balance. Ductly preps the books; your accountant still reviews and files.

Getting paid

E-transfer is a flow, not a sticky note

Customers pay the way Canadians pay. E-transfer claims are tracked through the system, pay links are built in, and overdue balances chase themselves onto one aging board.

From invoice one

HST right from the first invoice

Tax is calculated correctly from the day you switch on, with your registration number printed where it belongs. No spreadsheet bolt-on, no catch-up cleanup at year end.

None of this is a promise about software that might ship. All four are in the product today.

The AI never sets a price

No price field even exists in what the AI outputs. It reads the page. Your rate card, and only your rate card, turns that into dollars.

No unmeasured claims

We do not quote accuracy percentages or time savings we have not measured on your drawings, in your shop. Setup is where the real numbers get established.

Review is the point

Every extraction goes to a human before it is used. The value is speed with your judgment kept in the loop, not a robot quoting unsupervised.

What's next

None of this ships today. It is where the system goes next, and the first shops shape it.

Cut files to your table

Finished fittings will go out as cut files for your plasma or laser table, built with the first shops that run them.

A login for every role

Owner, office, and floor will each get their own view — the owner sees margins and the whole business, staff see the work in front of them. Configured to your shop as part of setup.

Blueprints, whole sets

Full blueprint sets will be read the way fitting drawings are today: drafted, flagged, and approved by your estimator.

08 · Who you're dealing with

Two brothers. No sales department.

When you call Ductly you get one of the two people whose names are on it, and both of them will be in your setup.

The builder

Ryan Cho

Ryan built every module of Ductly and runs the setup on every deployment. Questions about what the system can do get answered by the person who wrote it.

The estimator

Evin Cho

Evin spent three years pricing sheet metal work as an estimator. He runs the demos and keeps the system reading drawings the way a real estimator reads them.

09 · Straight questions

What shop owners actually ask

Do we have to change how we work?+

No. Setup configures the system to your rate card, your naming, your conventions. The incumbents make the shop bend to the software. Ductly bends to the shop. That is the whole point of it.

Our drawings are handwritten and messy. Will it read them?+

Handwritten dims, shorthand, and sketches are the normal case, not the exception. Reading gets validated on your own drawings during setup, and anything the system is not sure about gets flagged for your estimator instead of guessed silently.

Does it connect to our plasma or laser table?+

Not yet, and we would rather tell you that here than have you find out in a demo. It is the next integration we build, and it gets built with our first shops that run tables: your table, your post-processor, your nesting software shape it. Until then, the finished quote and order come out as clean files your office works from. Our working plan: the first table wired in within six months of our first table-running customer.

We already run an ERP. Do we have to rip it out?+

No. Ductly can replace it, or sit in front of it as the quoting and intake layer: finished quotes and orders come out as clean CSV or Excel files your current system imports. Shops usually decide after seeing both options in the demo.

Who sees our data and our pricing?+

Your pricing is yours alone. Every tenant is fenced at the database layer, staff and customer and admin logins are three separate systems, and your rates are never used to price another shop's work. A shop with no rate card sees "Needs pricing" on every line — the system refuses to invent a number rather than borrow one. Exactly what runs where is written down in our data processing agreement. Ask and we'll send it.

What does it cost?+

We quote after we have re-priced some of your own past jobs in front of you, so the number lands next to what estimating actually costs you today. That takes one screenshare. Bring a drawing and your last few quotes.

Start free, decide after

One export. Every leaking price, found.

Send one export of your charged history and the report comes back with every inconsistent price, ranked by dollars at stake. If the number at the bottom bothers you, bring a drawing and watch the system quote it live. The point of all of it: the paperwork stays at the shop, and the evenings go back to being yours.

Or just reply to the email this page came from, email ryan@ductly.ai, or call Ryan at 416-725-2062. A real person answers, and it is one of the two founders.