Cost Ledger
For small trade contractors

Find out which of your jobs made money.

Paste your last 20 completed jobs and get actual margin per job against what you quoted, with the reason for every job that lost money. Free, no account, and nothing leaves your browser.

No sign up, no card, no connection to your accounting system. Four columns out of any export is enough to start.

Margin Check

runs in this browser

Your last 20 completed jobs, actual margin against what you quoted, and the reason for every job that lost money. No account. No connection to your accounting system. The numbers below are computed on this page and are never sent anywhere, which you can confirm in your browser network tab.

What an hour of labour COSTS you: wage plus payroll tax, insurance and vehicle. Not what you bill it at. This is the one number that decides whether the margins below look right to you.

$/ hr

Paste from any export: QuickBooks, a spreadsheet, or your field-service tool. Comma, semicolon or tab separated. The smallest paste that still gives you a real margin is four columns, and the header cells can be named however your export names them:

job,quoted,materials,hours

Add invoiced, materials quoted, hours quoted, change orders or other costs and the check can also tell you WHY a job lost money rather than only that it did.

Read in this browser. Not uploaded.
What doing nothing costs

You already know your revenue. The number you do not have is which jobs earned it.

You keep bidding the job that loses

A job type that comes in under quote does not announce itself. It looks like work. You quote the next one the same way, and the one after that, because nothing in the week tells you which shape of job is the one draining the year.

You find out at the accountant, in April

The year nets out to a number and by then it is a single number. It cannot tell you the remodels carried the service calls, or that four change orders were agreed on site and never reached an invoice.

Or you pay to find out

On Jobber, job costing is a tier away: today it is the top rung, $149 a month for 1 user, billed annually, prepaid, against $29 on the entry plan. Read at their own pricing page on 2026-08-25. On Housecall Pro and Markate it is not a tier away, it is already included, and the table below prints both.

Twenty jobs, in the order they were pastedSample data

Above the rule made money, below it lost money. Every bar is the engine's own output on the sample run, not a drawing of one. Nothing about which jobs fall below the line is visible from the invoice totals.

The check on this page is free and answers the question directly. It is not a trial and there is no tier of it: paste your jobs, read your margins, close the tab.

What the check gives you

Four numbers per job in, one honest answer per job out.

Per job

  • Actual margin, in dollars and per cent

    Revenue that landed, minus materials, minus labour at your burdened rate, minus anything else the job cost you.

  • Margin against what you quoted

    Only when you give it the materials and hours you priced in. Without them it says so, rather than inventing a baseline.

  • The reason, where there is one

    Material overrun, unbilled time, a change order that never reached an invoice, or a quote that carried no margin to begin with.

  • What the reasons do not explain

    Printed as its own line. A cause list that quietly absorbs the remainder is a cause list you should not trust.

Across the twenty

  • Portfolio margin

    What the whole run actually netted, against what the invoices totalled.

  • How many jobs lost money, and how much

    The count and the dollars, separately, because one big loser and six small ones are different problems.

  • Where the money went, ranked

    Every cause summed across every job, biggest first. This is the line that tells you what to change on Monday.

  • Every job in one table

    Sorted the way you pasted them, so you can find the one you were arguing about.

Three steps, about two minutes

The smallest thing that still gives you a real number.

  1. 01

    Enter one number about yourself

    Your burdened labour cost per hour: wage plus payroll tax, insurance and vehicle. Not what you bill at. It is the one input that decides whether the margins look right to you.

    Burdened cost
    $48/ hr
  2. 02

    Paste your jobs

    From QuickBooks, a spreadsheet, or whatever your field-service tool exports. Comma, semicolon or tab. The header cells can be named however your export names them.

    job,quoted,materials,hours
    Ferris residence,4790,2310,41
    Delgado,8660,5166,78
  3. 03

    Read your margins

    Computed in your browser, in front of you. No account, no connection to your accounting system, nothing uploaded. Open your network tab and check while it runs.

    Delgado, kitchen remodel rough-in-$250
    Material cost overrun. Change order never invoiced. Unbilled time.
Public posts, quoted verbatim

Nobody has used this product yet. These are other people, on the open internet, describing the problem.

Each one is a reply to someone asking an open question in a contractor subreddit. They are quoted exactly as written, spelling and all, with the thread linked so you can read the context rather than take our word for the excerpt. None of these people has heard of Cost Ledger.

  • “The biggest pain point I hear about isn't really dispatching, it's tracking what jobs actually made money after materials and time.”

    r/Plumbing2026-03-11someone who works with small service shops, not a contractor
  • “On paper it looked like a $200 job, but after materials, travel and a couple hours it might not be nearly as good as it seemed.”

    r/Plumbing2026-03-11the same poster, in the same thread
  • “I have been using HouseCall and I have QuickBooks too, but I requested to cancel Housecall, I like it but really not using it enough to justify 189 a month”

    r/handyman2026-05-09a solo operator, cancelling
  • “Excel spreadsheets. I typically take 1 day/ week for estimates, invoices, and other admin. And the other 6 days I try to stay on top of it with an hour here or there”

    r/handyman2026-05-09a solo handyman
  • “I have a 3-ring binder in the van, with one page per project. I'm just jotting down the dollar figure for everything I purchase for that project, along with a running tally of my time spent on the project.”

    r/handyman2026-05-09a handyman and mobile ag mechanic
Why this and not an upgrade

This is not a cheaper Jobber. It reads what you already keep.

There is a crowded shelf of flat-fee field-service tools and this is not another one. Cost Ledger does not schedule, dispatch, quote or invoice, and it never will. It sits beside whatever you already use and answers one question. On Jobber that question costs a tier. On Housecall Pro and Markate it does not: both include job costing at the cheapest plan they sell, so if you are on either of those you already have this. The table prints all three, including the two that undercut the argument for buying this.

Where job costing sits at the three named incumbents, each read at its own pricing page
VendorPlanPer monthJob costingWhat the plan says
JobberCore$29Not includedQuotes, scheduling, invoicing, built-in reporting.
Connect$99Not includedAdds time and expense tracking, which is not job costing.
Grow$149IncludedThe first rung carrying "Track profitability with job costing".
Housecall ProBasic$59IncludedEntry tier. Its own feature list reads "Job costing: Track and report the costs associated with each job."
MarkateOwner Operator$39.95IncludedThe only base plan there is, seats are $5 each on top. Job Costing sits in Jobs Management with no price tag, unlike the add-ons on the same page that each carry one.
Cost LedgerOne plan$49It is the whole productAnd the check itself is free, on every job, with no account.

Jobber figures read at www.getjobber.com/pricing/ on 2026-08-25. Seat minimum 1 user. billed annually, prepaid. Setup fee none stated. A promotion running at the time of reading cut the first 12 months to $105/mo, ending 31 August.

Housecall Pro figures read at www.housecallpro.com/pricing/ on 2026-08-26. Seat minimum 1 user on Basic. billed annually. Setup fee none stated. Monthly billing is $79/mo for the same Basic plan.

Markate figures read at www.markate.com/pricing on 2026-08-26. Seat minimum none, solo is the base plan. billed yearly, $479.40 up front. Setup fee none stated. Billed monthly it is $49.95/mo instead. Employees are $5.00 each per month.

All three figures in the column are annual-billed rates, so they are one kind of number rather than three. Where a vendor runs a promotion the standard rate is printed and not the first-year one, because quoting the promotion would understate their ladder. Where the two billing modes differ, the column takes the one that is worse for this product, not the one that is kinder to it.

On Jobber, job costing is a tier upgrade: it is absent from Core and first appears on Grow. That is the case this product is for.

Read directly off the Jobber ladder above at getjobber.com/pricing on 2026-08-25, team size "Just me", billing annual.

It is NOT a tier upgrade at Housecall Pro or at Markate. Both include job costing at the cheapest plan they sell, so if you are on either one you already have this and should not buy it.

housecallpro.com/pricing and markate.com/pricing, both read 2026-08-26. The figures and the exact feature wording are in the table above. This row is printed because it argues against buying this product, and leaving it out would have made the row above read as a claim about the whole category.

Contractors who reject that upgrade mostly do not shop for a cheaper platform. They go back to QuickBooks, a spreadsheet or paper.

bet-958 dossier destination evidence: every completed exit in the corpus landed on a tool the buyer already owned, with zero observed exits to a cheaper in-category product. The r/handyman posts quoted above are three of those exits in the posters' own words.

Who should NOT buy this

  • If you need scheduling, dispatch, a customer database or invoicing, buy a field-service platform. This is not one and adding those is not on the plan.
  • If you are on Housecall Pro or Markate, job costing is included in the plan you already pay for. You have what this sells. Use it and do not buy this. The same goes for anyone on a Jobber plan that includes it, or on any other tier that does.
  • If you run one or two jobs a month at an hourly rate with no materials, there is nothing here a receipt does not already tell you.
Who built this

A solo founder, and a tool built the small way round.

Dario Verghi, who builds and runs Cost Ledger

Dario Verghi

I am Dario. I build small, sharply scoped products on my own and put them in front of the people who described the problem, before deciding whether there is a business in them. This is one of those.

I am not a contractor and I have never priced a re-pipe. What I did was read what contractors were already saying in public about knowing which jobs made money, and build the narrowest thing that answers it: no platform, no migration, no connection to your books. The arithmetic is deliberately simple enough that you can check a row of it by hand, which is the only reason to trust the other nineteen.

If the numbers it gives you are wrong, or the reasons it gives are not the real reasons, that is the most useful thing you could tell me. Write to me directly at dario@leanaistudio.com. It reaches me and not a queue.

Free engine, paid operation

The number stays free. What costs money is keeping it current.

The Margin Check
Free

Not a trial, not a sample, not a row limit. Every job, every diagnosis, every time, with no account.

  • Unlimited jobs per run
  • Every diagnosis and every dollar figure
  • Runs in your browser, nothing uploaded
  • No sign up, no email, no card
Run your check
Cost Ledger, monthly
$49a month

One price, whatever size you are. What you get for it is the part you cannot do by re-pasting: the jobs stay, the margins update as costs land, and last month sits beside this one.

  • Your jobs saved in a workspace, across devices
  • Margins that update as new materials and hours land
  • This month beside last month, so you can see if it is improving
  • Cancel from inside the product, any time
Get your sign-in link

You are not asked for a card here. Signing in opens the workspace, and the subscription starts from inside it: billed monthly, no annual commitment, no setup fee, cancel in one click from your account.

Talk to the person who built it

Find out which of your jobs made money.

The check above needs nothing from you. This is for the other thing: if you want the jobs kept and the margins updated as costs land, leave your email and I will send you a sign-in link. If you would rather just tell me the check got your numbers wrong, reply to that email and it comes straight to me.

One address, used to sign you in and to reply to you. Nothing else, no list, and you can delete the account and everything in it from inside the product.

Straight answers

Questions worth asking before you paste anything.

Do my numbers leave my computer?
No. The Margin Check runs entirely in your browser: the parsing, the arithmetic and the results are all computed on the page in front of you, and there is no upload route behind it to send them to. Choosing a CSV file reads it in the browser rather than posting it anywhere. Saving a run to a workspace is the one thing that does send them, and only when you sign in and click it. You do not have to take any of that on trust, which is the point: open your browser network tab and run a check.
Do I need to connect QuickBooks or my field-service tool?
No, and that is deliberate rather than a limitation we plan to remove quietly. The first run needs four columns pasted out of any export. Connecting a new tool to your financial records to get a number you currently live without is a bigger ask than the problem, so the tool is built to earn that access later, if ever, rather than require it first.
What does it NOT do?
It does not schedule, dispatch, quote, invoice, take payments, hold a customer database, or track inventory. It is not a field-service platform and is not becoming one. It also cannot tell you WHY a job lost money unless you give it the materials and hours you priced into the quote: with only the four minimum columns it gives you a real margin per job and says plainly that it cannot explain it.
How accurate is the labour figure?
It is exactly as accurate as the burdened hourly cost you enter, applied to the hours you enter. It does not know your overtime, your apprentice split or your overhead allocation, and it does not pretend to: one rate, applied evenly. If your real cost per hour varies a lot by person, the margins here are directional rather than exact, and you should read the ranking rather than the decimals.
What am I actually paying $49 a month for?
The monthly operation, never the number. The check stays free on every job forever. The subscription keeps your jobs in a workspace, updates each job's margin as new materials and hours land against it instead of waiting for you to re-paste, and keeps last month beside this one. If you only want the answer once, take it for free and close the tab. That is a real option and not a funnel step.
Is this finished?
No, and it would be dishonest to imply otherwise. This is a new product in front of its first users, being tested for two weeks to find out whether contractors want it at all. The arithmetic is tested and the free check does what this page says it does. The workspace is new. If you subscribe and it does not do what you needed, write to me and I will refund you without a process.