Running two trades

Running Two Trades Out of One Company (Without Buying Everything Twice)

A company that runs two trades is really two businesses sharing an owner, an office and a bank account. Almost no software is built on that assumption, and the second trade is the one that pays for it.

11 min readPublished

Plenty of subs run more than one trade. The insulation crew that also pours flatwork. The concrete outfit that picked up framing because the same builders kept asking. The service company that added new construction. It is one of the most ordinary ways a small contractor grows, because the second trade is sold to the builders you already have, by the people who already know them.

Then you go to run it, and everything you own asks you to pick one.

The three bad options

Nearly every two-trade shop ends up in one of these, and none of them is a decision anybody made on purpose. They are what is left after the software refused to do the obvious thing.

One: run the second trade on the side

The main trade lives in the system. The second one lives in a spreadsheet, a shared calendar and somebody's head. It works, for a while, because the second trade is small.

The cost is that you do not know what it makes. The trade you are least sure about is the one running outside the place where costs get recorded, and by the time it is 20% of revenue it has been unmeasured for two years. If you are going to lose money on a trade, this is the one, and this is why you will find out late.

Two: buy the software twice

Two subscriptions, two logins, two customer lists. It is clean on day one and expensive by month three, and not mainly in money.

The real bill is double entry. The same builder exists in both systems with slightly different names. Two invoice number series means a builder's accounts payable gets your invoice 1043 and your invoice 1043, and you get the phone call. Nobody can answer "what do we have going with this builder" without opening two things and adding them up. Every report you want across the company is an export.

Three: blend them into one

One pipeline, one calendar, one set of numbers, trade as a note in the job title. This is the most common one because it is what the software makes easy.

The cost here is the blended average, and it is the expensive one. Say insulation runs 38% gross and concrete runs 12%. Blended, you see 26% and a business that looks fine. So you keep selling the concrete, because the report never told you to stop. A blended margin number is not a smaller amount of information than two separate ones. It is worse than none, because it is confident.

Why the software fights you

It is not laziness on the vendor's part. Most contractor software is built for a company that does one thing, because most contractors do one thing, and trade gets modeled as a label on a job rather than as a line you can draw through the whole company.

A label lets you filter a list. That is genuinely useful and it is where most products stop. What it cannot do is give a trade its own crew, its own calendar, its own salesperson, its own targets and its own numbers, because those live in ten different parts of the product, and every one of them has to know about trade for the thing to hold together.

That is the whole difference, and it is worth being precise about it: filtering by trade is a view. Running by trade is a structure. A product that only has the first will let you look at your concrete work and will never let you run a concrete department.

What actually has to be separate

Here is the useful part, and it is worth writing down before you talk to anybody selling you something. Some things are separate because the work is separate. Others are shared because the company is one company. Getting a thing on the wrong side of that line is where the pain comes from.

Separate, by tradeWhy
The scheduleTwo crews, two day-lengths, two ways a week fills up. A shared calendar makes both of them harder to read.
Who can see itIf you sub out a trade, that sub cannot be handed a calendar with your other trade's jobs and builders on it. That is a confidentiality problem before it is a convenience one.
Who sells itA rep who sells insulation should have insulation in their pipeline. Somebody else's trade in your numbers helps nobody.
Quota and targetsSelling $80,000 of foam and $80,000 of flatwork are not the same month. The cycles, the ticket sizes and the close rates are different.
Rates and cost codesConcrete is priced by the yard with real waste. Insulation is priced by the board foot with none. One code list serving both is a list nobody uses correctly.
Margin reportingSeparately, so somebody is accountable for each. Together, so you know what the company made.
Who gets notifiedThe concrete foreman does not need a message every time a foam job is booked. People mute channels that page them about somebody else's work.

And here is the other half, which matters just as much:

Shared, across tradesWhy
The customerOne builder, one record, one history. This is usually the same builder buying both trades, and that is the most valuable fact you have about them.
The invoice numberingOne series for the company. Two series is how a builder gets two documents with the same number.
The moneyOne receivables list, one set of books. You can slice it by trade; you cannot run two of it.
The officeOne person bills both trades. If they have to work in two places to do it, they will be the bottleneck in both.

Sorting it out, in order

This is worth an afternoon, and you can do most of it before you look at any software.

  1. 1
    Write down every trade you actually runIncluding the one that is 8% of revenue and does not feel like a department yet. That one is either going to grow or going to quietly cost you money, and both outcomes want it counted.
  2. 2
    Mark what is genuinely sharedThe builder, the invoice number, the receivables, the office. These stay in one place. If a system makes you duplicate any of them per trade, that system is going to create reconciliation work forever.
  3. 3
    Mark what is genuinely separateThe crew, the schedule, the rate card, the rep, the target, the margin. If a system cannot split these, you will end up back at the blended average.
  4. 4
    Decide who owns each tradeOne named person per trade who answers for its margin. This is the step most shops skip, and without it the reporting split is decoration: there is nobody the number belongs to.
  5. 5
    Insist reporting works both waysPer trade for accountability, rolled up for the company. A tool that only does one of them will have you exporting to a spreadsheet by the second month, which is where you started.
  6. 6
    Test it on your worst monthNot a clean demo month. The one where a builder held payment, a crew got moved, and a job changed scope twice. Multi-trade problems only show up under load.

The questions to ask a vendor

These are deliberately specific, because "yes, we support multiple trades" is true of almost everything and means almost nothing. Ask them to show you, on a screen, not in a slide.

  • Show me a salesperson who can only see one trade. Not a filter they can turn off, but a login where the other trade is not there.
  • Show me two calendars, one per trade, fed from the same job board. Then show me what a subcontracted crew sees.
  • Show me gross margin for one trade on its own, then for the whole company, without exporting anything.
  • What happens to my invoice numbering when I add a second trade? One series, or two?
  • Can the two trades bill under two different business names, with different bank details and payment terms, off the same job list?
  • What does it cost me to add a third trade next year: a setting, or a new subscription and a data migration?
  • Can one person do the billing for both trades in one place, on one screen?

What it is worth

Two things, and they are both bigger than the software bill.

The first is knowing which trade makes money. Most two-trade shops are carrying one trade with the other and cannot prove it, and the fix is usually not dramatic: it is repricing one product, or dropping one kind of job, or firing one builder. You cannot do any of that off a blended number.

The second is that adding a trade stops being a project. When trade is built into how the company runs, the third one is a decision about whether you want the work, not a decision about whether your systems can take it. That is the difference between a company that grows into what the builders are asking for and one that says no because the office cannot handle it.

A note on us

We build Opulence, so weigh this accordingly. We wrote this guide because we ran into it ourselves: our own operation sells insulation and concrete to the same new-construction builders, out of one sales team, and every product we looked at wanted us to pick one trade or run two copies. So trade runs through the whole platform rather than sitting on top of it: the trades a company runs are a setting, seats are assigned to trades, and calendars, boards, quotas, cost codes, receivables, notifications and billing identities all follow. If you want to see it working, the walkthrough below is the setup end to end.

Written by the team at Opulence Built, who also run an insulation and concrete contracting business. We mention our own software where it is relevant and say so when we do.

Want the software side of this?

Twenty minutes, on your own jobs, with whoever on your team would actually use it.