“My cost estimate has one line in it — tonnes. The main contractor haggles over the price of a tonne, and I haggle over the same price. Then someone counted my hours. A tonne of beams is twenty-two standard hours. A tonne of stairs is ninety-five. And the contract price is one,” — that is how Taras Polishchuk opened the conversation. He owns a steel fabrication shop in Zaporizhzhia.
The picture is familiar to any fabrication shop. Cutting, welding, priming, dispatch. The estimate is reduced to tonnes, because tonnes are how the client reads it.
The arithmetic does not break where it is kept. The shop sells tonnes and spends standard hours. Between those two units stands the complexity of the part.
Below the shop is broken down into three order types and into one standard hour. And you can see why the lightest type by weight takes a third of production.
The shop grew on tonnes
Taras started with two welding stations in a rented bay. He took small work: canopies, platforms, ladders. He wrote the estimate by hand and knew every line in it.
The turning point was his first contract with a main contractor. It called for steady volume, and volume is a shop, not two stations. Taras took equipment on lease.
A guillotine shear, a plasma cutter, an overhead crane and a paint area appeared. Volume grew to 86 tonnes a month. Along with the volume, the line-by-line estimate disappeared.
Profit did not fall. It simply stopped growing the way tonnage grew. Taras put that down to rolled steel prices and to pressure from the main contractor.
“While I wrote estimates by hand, they carried cutting, welding and painting. Now the client wants one figure per tonne, and I give it to him. Everything that used to be in the estimate collapsed into tonnes. Where my earnings sat inside those tonnes, I could not see.”
One price for everything
For years Taras ran on one number. The price of a tonne of finished structure. It is settled in the contract, it is haggled over, it is compared with competitors.
His price is one for any structure — 68 000 ₴ a tonne. Beams, trusses, stairs — all at that figure.
The inputs are the same for all three types as well. The only thing that differs is how long the shop stands over the tonne.
- Rolled steel — 38 000 ₴ per tonne of finished structure. It is the biggest item and the clearest one: the invoice comes once a month.
- Consumables — 4 200 ₴ a tonne. Electrodes, gas, abrasive and primer together.
- A shop standard hour — 420 ₴. It holds the welder's wage, his grade and the overheads of the area.
- Selling price — 68 000 ₴ a tonne, the same for beams, trusses and stairs.
The first three lines are the shop's costs. The fourth is the only one anybody discusses with the client.
A price per tonne assumes every tonne is alike.
A shop standard hour — 420 ₴
A standard hour, or labour hour, is one hour of work by a production station. Not an hour of the working day, but an hour the station actually gave to an order.
That is the unit in which the shop spends labour. Rolled steel is bought by the tonne, labour is spent by the hour.
Multiply the hours by 420 ₴ and you get money. Without that multiplication, complexity stays the words “hard order”.
A tonne is not a tonne
A tonne of beams and a tonne of stairs are one weight and completely different work. A beam is a long straight profile with simple joints.
Stairs are stringers, treads, landings and railings. The same tonne falls apart into hundreds of small parts. Each one has to be cut, fitted up, tacked and welded.
A truss sits in the middle. Its cutting is harder than a beam's, but the parts repeat from node to node.
In standard hours per tonne the gap comes out at more than four times over. That is exactly the gap an estimate in tonnes does not show.
The process engineer always knew this. His norms lay in the shop apart from the estimate, and nobody ever turned them into money.
48 tonnes and 48 standard hours
The figure 48 stands here twice, and it is about different things. The first is tonnes of beams and columns a month. The second is standard hours per tonne of trusses.
There is no arithmetic link between the two. Beams and columns are the biggest type by weight. Trusses are the middle type by complexity.
“We spent two weeks with the main contractor haggling over the price of a tonne. I won my figure and counted that a victory. The contract said not one word about which structures would go into that tonne. Stairs and beams cost the same in it.”
Six estimating mistakes
The accounting Taras lived with is recognisable to any shop that grew out of two stations.
- The estimate was reduced to tonnes. The client reads tonnes, so tonnes were counted inside the shop too.
- Standard hours were not split by type. The shop knew its total pool of hours, not the hours per tonne of each product.
- The price was held the same. 68 000 ₴ a tonne stood in every contract, whatever the complexity of the structure.
- Complexity was discussed in words. “A hard order” was said at meetings, but the word was never multiplied by tonnes.
- Rolled steel and labour went into one basket. The cost of a tonne was taken as a shop average, one figure for all types.
- Contribution per standard hour did not exist. There was no such line in the summary, neither for the shop nor by type.
There is not a single complaint about production in that list. The stations worked, the welders welded, the orders shipped on time.
All six points are accounting mistakes. And they show up neither in the bay nor in the bank statement.
What the report by type showed
Here is the month Taras based every decision on. Three order types, 86 tonnes, one price.
The main column here is standard hours per tonne. Not the weight and not the revenue.
| Order type | Tonnes/mo | Standard hours per tonne | Labour, ₴/t | Unit cost, ₴/t | Price, ₴/t | Margin, ₴/t | ₴ per standard hour | Hours/mo | Total, ₴ |
|---|---|---|---|---|---|---|---|---|---|
| Beams and columns | 48 | 22 | 9 240 | 51 440 | 68 000 | +16 560 | 753 | 1 056 | 794 880 |
| Trusses | 26 | 48 | 20 160 | 62 360 | 68 000 | +5 640 | 118 | 1 248 | 146 640 |
| Stairs and railings | 12 | 95 | 39 900 | 82 100 | 68 000 | −14 100 | −148 | 1 140 | −169 200 |
| Total | 86 | — | — | — | — | — | — | 3 444 | 772 320 |
The cost of a tonne is simple to work out. Rolled steel plus consumables plus labour at that type's hours.
The first two parts are identical in all three rows. Only the labour differs.
Look at the column with contribution per standard hour. Margin per tonne is the familiar one, but it is not the main thing here.
Labour in hours and in hryvnia
The third and fourth columns are one and the same thing, in two different units. 22 standard hours per tonne of beams give 9 240 ₴ of labour.
For trusses, 48 standard hours turn into 20 160 ₴. For stairs, 95 standard hours turn into 39 900 ₴.
The multiplier is one everywhere — 420 ₴ an hour. And the result differs by tens of thousands of hryvnia a tonne.
It is this column that drags the cost. Rolled steel for beams and for stairs is the same to the penny.
“I put that report on the table before the meeting. Everyone looked at the margin per tonne: two pluses and one minus. I was looking at the last column. Decisions are made on contribution per standard hour — the only thing that makes the types comparable.”
14% of tonnage, 33% of the shop
Here is the main number of the article. “Stairs and railings” are 12 tonnes out of 86, which is 14% of the tonnage.
And they take 1 140 standard hours out of 3 444. That is 33% of the whole shop.
A type that weighs a seventh of what ships takes a third of the production time. An estimate in tonnes does not show this at all.
Light complex work eats the shop, not the warehouse.
Compare the hours with one another. Beams give 1 056 hours on 48 tonnes. Stairs give 1 140 hours on 12 tonnes.
The figures are almost the same, and the tonnage differs fourfold. Trusses at 26 tonnes take 1 248 hours.
Three similar numbers side by side, and three different tonnages behind them. That is why the shop's pool of hours never hinted at anything.
Contribution per standard hour
Margin per tonne is the familiar measure, and it does not lie. Beams give +16 560 ₴ a tonne, trusses +5 640 ₴.
Stairs take 14 100 ₴ out of every tonne. The order of the types is obvious already here.
But the tonne is not the shop's bottleneck. The bottleneck is the standard hour. There are as many stations in the bay as there are, and as many welders.
So the margin has to be divided by the hours the shop spent on it. That gives the contribution per standard hour.
Types can only be compared on one standard hour.
753 ₴ against −148 ₴
Beams bring 753 ₴ from every standard hour. Trusses bring 118 ₴. Stairs take 148 ₴ away.
Per tonne, trusses trailed beams threefold. Per standard hour the gap is more than sixfold.
The order of the types is the same, and the gap is entirely different. Decisions are made on the gap, not on the order.
Stairs that run at a loss
A tonne of stairs costs the shop 82 100 ₴. It sells for 68 000 ₴.
The difference is minus 14 100 ₴ on every tonne. On 12 tonnes that is 169 200 ₴ a month the shop did not earn.
And those tonnes were cut, welded, painted and shipped on time. There was not a single complaint from the client.
Their rolled steel is the same — 38 000 ₴. The consumables are the same — 4 200 ₴. The whole difference sits in the labour.
A loss per tonne stays invisible while the price is one.
“I took stairs gladly. The product looked expensive, and the client barely haggled over it. When I saw minus fourteen thousand a tonne, my first question was not about price. I asked how many stations those stairs held and what we turned down for them.”
The month in summary
Now the whole shop in one column. First the revenue and the contribution of the three types, then the fixed costs, and profit at the end.
| Line of the month | ₴ |
|---|---|
| Revenue | 5 848 000 |
| Contribution of the three types | 772 320 |
| Fixed costs | −610 000 |
| Profit | 162 320 |
The second line is the sum of three totals from the table of types. 794 880 ₴ plus 146 640 ₴ minus 169 200 ₴.
It is the contribution, not the revenue, that shows the shop's work. Revenue of 5 848 000 ₴ looks solid.
What reaches the fixed costs out of it is 772 320 ₴. Everything else went on rolled steel, consumables and hours.
Fixed costs depend neither on tonnage nor on complexity. They are the same every month.
- Engineering staff payroll — 180 000 ₴ for process engineers, a designer and the area foremen.
- Equipment depreciation — 140 000 ₴ including the lease part.
- Bay rent — 120 000 ₴ a month.
- Energy — 96 000 ₴, that is lighting, ventilation and heating of the bay.
- Administrative costs — 74 000 ₴.
610 000 ₴ know nothing about complexity
The bay, the overhead crane and the plasma cutter cost the same either way. It makes no difference which structure goes through them.
Depreciation of 140 000 ₴ is identical for beams and for stairs. Rent and engineering staff likewise.
So all the work with complexity hits profit directly. Fixed costs do not react to it in any way.
The price of one complex order
The shop's profit for the month is 162 320 ₴. That is 2.78% of revenue. For a production site with this equipment, not much.
Looking for the reason in the fixed costs is pointless. 610 000 ₴ for a shop like this is ordinary money. There is nothing to cut there.
The reason stands higher up. Contribution of 772 320 ₴ is already reduced by the 169 200 ₴ lost on stairs.
Count it the other way. If stairs simply broke even, profit would be 169 200 ₴ higher.
That is more than the shop's entire current profit. One order type weighs more than all the rest together.
Complexity eats the margin, not the fixed costs.
“The invoice for rolled steel comes once a month. It never raised a question for me: tonnes multiplied by the price. The pool of hours raised the question. I saw that a third of it had gone on twelve tonnes. That is when it became clear what one complex order cost. It cost two simple ones that I did not take.”
Three moves instead of one
An owner's first thought is always the same. Drop the loss-making type and forget about it. Taras worked out three moves before deciding anything.
| Move | What changes | ₴/mo |
|---|---|---|
| Price of “Stairs and railings” 68 000 → 95 000 ₴/t | steel, hours and a premium for complexity; margin from −14 100 ₴ to +12 900 ₴ | +324 000 |
| Drop “Stairs and railings” | minus 12 tonnes, 1 140 standard hours freed up | +169 200 |
| Welding jigs and templates: 95 → 78 standard hours a tonne | margin from −14 100 ₴ to −6 960 ₴ | +85 680 |
The first move is stronger than the rest, and that is the main thing in the table. 324 000 ₴ against 169 200 ₴ and 85 680 ₴.
Raising the price on the complex type pays better than dropping it. And it pays far better than speeding the shop up.
Note this: all three moves concern one type. They do not touch beams and trusses at all.
A complex product is not cheap — it is simply underpriced.
The honest limit of the second move
Dropping the type looks simple, but it has a price of its own. 12 tonnes go away, and 1 140 standard hours are freed up.
Those hours bring no money by themselves. They have to be filled with other orders.
And demand for beams is limited by the main contractor's schedule. Space in the bay will appear, the orders will not necessarily.
So the 169 200 ₴ of the second move is a ceiling, not a plan. The real figure depends on the order book, not on your decision.
Profit times 3.00
The first move is a new price for “Stairs and railings”. 68 000 ₴ a tonne becomes 95 000 ₴.
That price holds the steel, the hours and a premium for complexity. Margin on the tonne moves from −14 100 ₴ to +12 900 ₴.
Over a month that gives 324 000 ₴. The shop's profit goes from 162 320 ₴ to 486 320 ₴.
That is exactly 3.00 times. One type, one figure in the contract, not a single new tonne.
There is no new equipment here. No new station and no new welder.
Price is set by hours, not by weight.
Two different 95s in the article
The figure 95 stands in the text twice, and each time about something else. The first is 95 standard hours per tonne of stairs.
The second is 95 000 ₴, the new price of a tonne of that same type. The coincidence is accidental, and there is no arithmetic link between them.
The first is measured in hours, the second in hryvnia. Shop loading depends on the first, margin on the second.
Welding jigs do not close the hole
The third move is a production one, the most pleasant for an owner. Welding jigs and templates for standard flights and landings.
A welding jig is a fixture in which the parts are held for welding. There is no need to fit them up from scratch every time.
Standard hours per tonne fall from 95 to 78. Minus seventeen hours on every tonne is a lot for a shop.
The margin meanwhile moves from −14 100 ₴ to −6 960 ₴. That is still a minus.
Over a month the move gives 85 680 ₴, and that money is real. But the type stays loss-making.
Productivity will not close this hole — price will.
This is why the order of the moves matters. You can buy the jigs, train the crew and shorten the cycle.
At a price of 68 000 ₴ a tonne, stairs will still be in the red. Productivity shrinks the hole, only price closes it.
One measure every month
Taras did not give up stairs. He chose the first move: a new price for complex products in the next contract.
The price of that decision is known as well. Two stair orders never came back — they went to a cheaper shop.
Taras gave up that volume knowingly. He gave up haggling over the price of a tonne “in general” just as knowingly.
He did order the jigs after all, but as a second step. Price first, productivity second.
A new line appeared in the estimate — standard hours per tonne. The process engineer puts it next to the weight, before the contract is signed.
Standard hours were split across the order types. Not one pool for the shop, but each type on its own.
Contribution per standard hour appeared in the summary. For every type, and that is what Taras watches every month.
The first month of the new estimate was unpleasant. It turned out that the hours wander even within one type.
The monthly average used to smooth that over. Now every order is visible on its own.
The negotiations changed too. The subject of bargaining is complexity now, not tonnage. A cheap tonne of a complex product no longer wins a contract.
One measure: contribution per standard hour, by type.
The takeaway for business owners. If you sell by weight and spend hours, the price of a tonne tells you nothing. Count the standard hours per unit of each product type. Multiply them by the hourly price, add the material and put the selling price next to it. Then divide the margin by the hours — and you will see the true ranking of your own orders. The same holds for any make-to-order production: a furniture shop, a print house, machining, sewing, installation.
What to check in your own shop
- Measure the standard hours per tonne of every type. Not by eye and not with the word “hard”, but as a figure in the estimate next to the weight.
- Turn the hours into money. Taras has one multiplier — 420 ₴ per standard hour, and it is the same for all types.
- Work out the cost of a tonne by type. Rolled steel plus consumables plus labour at that type's own hours.
- Put the selling price next to it. For Taras that is 68 000 ₴, and one of the three unit costs has already passed it.
- Divide the margin by the standard hours. 753 ₴, 118 ₴ and −148 ₴ an hour — that is the real order of the types.
- Compare the share of tonnage with the share of hours. For Taras that is 14% against 33% on one order type.
- Count separately what the price gives and what productivity gives. If a production move does not take the type into profit, the thing to bargain over is the price.
Money does not disappear — you simply do not see it
People think a fabrication shop is decided by its equipment. The plasma, the overhead crane, the number of welding stations.
In truth the equipment decides whether the shop works at all. How much it earns is decided by something else.
It is decided by which structures exactly you took into those tonnes. And by how many shop hours they took.
The bottom line does not lie in any of this. Profit of 162 320 ₴ is the truth. But it does not say that one type took 169 200 ₴ away.
Nor does it say that 14% of the tonnage ate 33% of the shop. That needs a different cut, not a different sum.
Taras still makes stairs and railings. The difference is that now he knows their price in hours.
Once standard hours per tonne become a separate line in the estimate, the main thing is visible. You were haggling over the wrong number.
How to see this in your own shop
Everything above rests on one breakdown: not the month in tonnes, but each order type on its own — with its labour hours per tonne, its cost and its contribution per hour. As long as one price covers the tonne, you see neither that light complex work eats a third of the shop, nor that productivity alone cannot close that hole. When the same data is collected automatically, it becomes visible which type pays for the hour — which is exactly why owners of small and medium businesses use Finmap: to see the financial picture rather than assemble it after the fact.
Read also
- The shop hour in custom furniture: the price of rework
- Printing cost: how to calculate press hour and makeready
Topic foundation: Management Accounting Explained: What It Is and Why Owners Need It
Frequently asked questions
Four quantities are needed: rolled steel per tonne, consumables per tonne, standard hours per tonne and the price of a standard hour. For Taras the rolled steel and the consumables are the same for all types — 38 000 ₴ and 4 200 ₴. Only the hours differ. Multiply the standard hours of that type by 420 ₴ and add the material. For beams and columns that is 22 standard hours, so 9 240 ₴ of labour, and the cost of a tonne comes out at 51 440 ₴. For trusses, 48 standard hours give 20 160 ₴ of labour and 62 360 ₴ of cost. For stairs and railings, 95 standard hours give 39 900 ₴ of labour, and a tonne already costs 82 100 ₴. The material is one and the same, and the cost spreads out by thirty thousand hryvnia a tonne.
Because a price per tonne assumes every tonne is alike. In a shop that is not so. Taras sells any structure at 68 000 ₴ a tonne, and makes it in 22, 48 or 95 standard hours. The gap in complexity is more than four times over, and the price knows nothing about it. As long as the order types lie under one figure called “tonnes”, the minus of one of them is covered by the plus of the other two. The bottom line adds up, so no question comes up either. Pricing by weight fits where the weight is the work: billets, rolled steel, scrap. Where the work is measured in hours, the price has to be set by hours.
It is the margin of a type divided by the standard hours the shop spent on that type. For Taras the margin per tonne looks like this: +16 560 ₴ on beams, +5 640 ₴ on trusses, −14 100 ₴ on stairs. Contribution per standard hour is 753 ₴, 118 ₴ and −148 ₴ respectively. The order of the types is the same, and the gap is entirely different: per tonne trusses trail beams threefold, per hour more than sixfold. The reason is that the shop's bottleneck is not the tonne but the hour of a welding station. There are as many stations as there are. So the types have to be compared on one standard hour: it is the hour that runs out first in a shop.
For Taras it is exactly 169 200 ₴ a month. A tonne of “Stairs and railings” costs 82 100 ₴ and sells for 68 000 ₴ — minus 14 100 ₴ on every tonne. There are 12 of those tonnes, hence the sum. For scale: the whole shop's profit for that same month is 162 320 ₴. So one order type takes away more than the shop earns. The contribution of the three types, 772 320 ₴, is already reduced by that sum, and then 610 000 ₴ of fixed costs come off it. If stairs simply broke even, profit would be 169 200 ₴ higher — without a single new tonne and without new equipment.
They are two shares of one and the same type, measured in different units. “Stairs and railings” are 12 tonnes out of 86 a month, which is 14% of the tonnage. Of the standard hours they take 1 140 out of 3 444, which is 33% of the whole shop. The type weighs a seventh of what ships and occupies a third of the production time. An estimate in tonnes shows only the first figure. The whole mistake is built on that divergence: light complex work eats not the warehouse but the shop. To see the second figure, the standard hours have to be split across order types rather than held as one pool for the whole works.
Raising the price. A new price for “Stairs and railings” of 95 000 ₴ a tonne instead of 68 000 ₴ moves the margin from −14 100 ₴ to +12 900 ₴ a tonne. Over a month that is 324 000 ₴, and the shop's profit goes from 162 320 ₴ to 486 320 ₴ — exactly 3.00 times. Dropping the type outright gives 169 200 ₴, which is noticeably less. The reason is simple: by dropping it you remove a loss, while with a new price you turn that loss into earnings. The second is stronger. Besides, dropping it has an honest limit: 1 140 freed standard hours bring no money by themselves, and they have to be filled with orders.
Because they reduce the hours and do not change the price. A welding jig is a fixture in which the parts are held for welding, so there is no need to fit them up from scratch every time. For Taras the jigs and templates bring the norm down from 95 to 78 standard hours a tonne. Minus seventeen hours on a tonne is a lot for a shop. The margin meanwhile moves from −14 100 ₴ only as far as −6 960 ₴, so it stays a minus. Over a month the move gives 85 680 ₴ — the money is real, but the type is loss-making. At a single price of 68 000 ₴ a tonne, productivity will not close this hole. Productivity shrinks the hole, only price closes it.
Because the fixed costs do not fall. Dropping “Stairs and railings” takes away 12 tonnes out of 86 and frees up 1 140 standard hours, but 610 000 ₴ of fixed costs stay where they are. Engineering staff payroll of 180 000 ₴, depreciation of 140 000 ₴, bay rent of 120 000 ₴, energy of 96 000 ₴ and administration of 74 000 ₴ know nothing about which structures went through the shop. Depreciation is identical for beams and for stairs. So the freed hours have to be filled with something, and demand for beams is limited by the main contractor's schedule. That is exactly why the effect of dropping the type is capped at 169 200 ₴ a month — a ceiling, not a plan.
