“Small tools and consumables” gets said as one phrase, but a cordless drill and a box of masonry blades don't disappear the same way, don't get coded the same way, and don't need the same fix. Treating them as one loss problem is usually why neither one gets solved.
Key takeaways
A tool is a durable, reusable item — a drill, a laser level, a grinder — that should still be on site next month. A consumable is meant to be used up on the job it was bought for: fasteners, blades, caulking, tape, disposable PPE. Lumping them into one line item called “small tools and consumables” makes sense on a budget summary and makes almost no sense operationally, because the way each one leaves the site is different, and so is the fix.
Tool loss looks like walking off with the site, being left in a truck that changes jobs, or quietly moving into a worker's own kit over time. Consumables loss looks different: over-ordering that never gets used, boxes opened and left exposed to weather, or spend that's real and legitimate but simply never gets matched against what the job actually needed.
The Income Tax Regulations puts “a tool… costing less than $500, if acquired after May 1, 2006” into a class with a 100% first-year CCA rate — confirmed directly against the regulation's current text, alongside kitchen utensils and medical or dental instruments under the same $500 threshold and the same class.
That treatment is specific to tools — capital property that keeps producing value on future jobs. A box of fasteners bought for one job isn't capital property at all; it's a job material, expensed against that job's cost the same way concrete or lumber is. Sorting a purchase into the wrong bucket doesn't just misstate a budget line, it can misstate which tax treatment even applies to it.
Procore's own FAQ on cost types lists exactly “7 default cost types” in its Work Breakdown Structure: “(E) Equipment, (L) Labor, (M) Materials, (O) Other, (OC) Owner Cost, (S) Commitment” and “(SVC) Professional Services.” A pack of blades or a box of anchors belongs under Materials against the job that consumed it — but it is just as easy, and far more common, for it to land under “Other” on a receipt someone codes in a hurry.
BDC's own guidance on revenue leakage describes exactly this shape of leak: spend that happened, got recorded, and still went missing from the number anyone reconciling job cost would actually check.
A checkout system works for tools because a tool is one discrete item with one name attached to it at a time. It doesn't work for a bag of screws, because nobody is going to sign a clipboard for forty cents of hardware, and building a system that assumes they will guarantees it gets ignored within a week — the same failure pattern a tool crib checkout system runs into when it adds friction at the wrong point, just faster.
The pattern that survives for consumables is closer to a stocked bin with a par level and a named person responsible for restocking it against actual draw, not a log of who took what. It moves the discipline from the point of use, where nobody has time for it, to the point of restock, where someone already has to be paying attention to what's running low.
For the tool half of this problem specifically, a tool crib checkout system covers the checkout mechanics in more depth; the consumables side connects more directly to how a quantity gets from takeoff to purchase order and to keeping yard inventory reconciled, since both share the same root cause of spend that's recorded but never checked against what a job actually used.
A bin-stock system without a named owner decays the same way an unowned tool crib does: everyone assumes someone else is watching the par level, and by the time a shortage is noticed it's often mid-job, at the worst possible time to be waiting on a supplier delivery. The fix isn't a more detailed policy, it's a single accountable name attached to restocking, the same discipline a functioning tool crib already needs.
That person doesn't need to be a dedicated hire on anything but the smallest crews — restocking against a par level is usually a small addition to an existing role, most naturally the same person already responsible for site deliveries or the yard. What matters is that it's one specific person, not a shared responsibility that quietly belongs to nobody once the job gets busy.
The same accountability question applies to the tool side, even with a checkout board in place: a board with no one checking for overdue returns is still, functionally, an unowned system. Naming a person for each half of the problem, even if it's the same person wearing two hats, is what keeps either discipline from quietly lapsing the first time the crew is short-staffed.
A worked example
Say a mid-size shop budgets $42,000.00 a year for small tools and consumables combined. If 9% of that leaks — some to genuine tool loss, some to miscoded or unmatched consumables spend — that's $3,780.00 a year that never shows up as a specific problem, because it's spread thin across dozens of small transactions rather than concentrated in one obvious loss.
Splitting the budget in two changes what gets measured: run tool loss against a checkout log's overdue-return count, and run consumables spend against actual job draw instead of the purchase total. The first catches items that walked; the second catches spend that was real but never matched to the work it was for. These figures are illustrative — run the split against a shop's own purchase history before treating either number as real.
No. Class 12 applies to durable tools costing under $500 acquired after May 1, 2006. A consumable used up on one job is a job material, not capital property, and is ordinarily expensed against that job rather than run through a CCA class at all.
Generally no — a checkout log works for a discrete, reusable item with one name attached to it, not for a bag of fasteners. A stocked bin with a par level and one person accountable for restocking against real draw fits how consumables actually move.
Procore's own default structure lists 7 cost types, and Equipment or Materials is the right home depending on whether the item is a durable tool or a job consumable — coding either one to a generic “Other” bucket is the most common way the spend goes untracked without anyone deciding to hide it.
A 30-minute call is enough to tell you whether AI pays for itself here.