Tool Tracking for Contractors: Paid App or a Sheet Built With AI?

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Tool Tracking for Contractors: Paid App or a Sheet Built With AI?
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Tool Tracking for Contractors: Paid App or a Sheet Built With AI?

A sheet is enough when one person owns the log and tools change hands a few times a week; pay for an app when several crews swap tools daily and the log goes stale. Either way, record seven things: ID, holder, location, condition, last service, next service and any loss.

Most tool-tracking failures are return failures. The tool goes out with a scan, comes back without one, and within a month the record is fiction. An app makes the scan faster; it cannot make anyone do it. So decide how a return gets recorded, and who chases the gaps, before you compare prices.

Follow me on Instagram@sagnikteaches

The seven things every tool record needs, and the extras for claims

Before any software, settle what one row must say. Seven fields do the daily work. Three more are there for insurance and warranty, so they get filled in once and rarely touched.

Connect on LinkedInSagnik Bhattacharya
FieldWhy it earns its placeFilled-in example
Tool IDYour own short code, engraved or labelled on the toolT-0142
HolderOne named person, never "the crew"Sam
LocationStore, a named van, or a named siteVan 2, site: kitchen refit
ConditionRecorded on return, so damage has a dateWorn / needs service
Last serviceProves the tool was maintained14 Mar
Next service dueTurns a record into a reminder14 Sep
Loss recordLast holder, date last seen, action takenSee the loss example below
Make, model and serial numberWhat an insurer or police report asks for firstSerial copied from the data plate
Purchase date and costReplacement value, warranty start14 Mar 2025, $329
PhotoProof of what it is and what it looked likeLink to the image

Decide what counts as a tracked tool before you start. A workable rule is any item that would stop a job if it vanished, plus anything above a replacement cost you choose, say $75. Consumables such as screws and tape belong in van stock lists with reorder levels, not in the tool register. Batteries and chargers are the grey area: tag a battery separately only if it costs enough that you would chase it, and otherwise list the battery count in the notes of the tool it powers.

Subscribe on YouTube@sagnikteaches

Tradify's free tools page offers an equipment sign-out sheet template, which is a fair blank to start from if you would rather not design columns yourself. The rest of this tutorial assumes you build the version below, because it ties the check-out to the register without anyone typing.

The sheet route: four tabs, one form and a QR label per tool

The sheet version has four tabs. Register has one row per tool. Log has one row per scan and is filled by a form, never typed. Service has one row per service or calibration. Lost has one row per loss. The register reads the log, so the current holder updates itself.

The form is the clever part. In Google Forms, "Pre-fill form" under the three-dot menu produces a link that opens the form with chosen answers already filled in. Make one link per tool with its ID pre-filled, turn that link into a QR code, and print the code on a label beside the tool ID. A crew member scans the label, the form opens with the tool already identified, and they pick their name, out or in, the location and the condition. Two taps and Submit.

Three form rules save trouble later. Use dropdowns for names, locations and conditions so entries stay consistent. Do not add a file-upload question, because it forces everyone to sign in to a Google account. And rename the response tab to Log so the formulas below read cleanly.

With the log columns in the order Timestamp, Tool ID, Person, Action, Location, Condition, Note, the register can pull the latest status for each tool. These formulas work in current Google Sheets and in Excel 2021 or Microsoft 365, and they look for the last scan rather than the first:

Status:   =IFERROR(XLOOKUP(A2, Log!$B:$B, Log!$D:$D, "In", 0, -1), "In")
Holder:   =IF(H2="Out", XLOOKUP(A2, Log!$B:$B, Log!$C:$C, "", 0, -1), "Store")
Location: =XLOOKUP(A2, Log!$B:$B, Log!$E:$E, "Store", 0, -1)
Days out: =IF(H2="Out", TODAY()-INT(XLOOKUP(A2, Log!$B:$B, Log!$A:$A, TODAY(), 0, -1)), "")
Service:  =IF(L2="", "", IF(L2<TODAY(), "OVERDUE", IF(L2<TODAY()+30, "Due soon", "OK")))

Here, using the register columns from the prompt below, column A holds the tool ID, H the status and L the next service date; Days out goes in M and the service flag in N. A tool whose last scan was "Out" shows its holder and how many days it has been away. A tool nobody has scanned yet shows as "In" and "Store", which is the right default for a new label.

Making 140 label links without typing them

Nobody should build 140 pre-filled links by hand. Make one, then let the sheet copy it:

  1. Make Tool ID a short-answer question in the form, not a dropdown, so any ID can be pre-filled.
  2. Choose Pre-fill form, type a dummy ID such as T-0000, click Get link and copy it. Near the end the link contains something like entry.1234567890=T-0000; that number is your form's code for the Tool ID question.
  3. Paste the link into cell B1 of a Settings tab and add a Label link column to the register in O: =SUBSTITUTE(Settings!$B$1, "T-0000", A2), filled down.
  4. Keep IDs to capital letters, numbers and hyphens. A space or an ampersand inside an ID breaks the link.
  5. Google Sheets has no built-in QR function, so copy the ID and link columns to a new tab, download it as a CSV file, and feed that to a QR generator or label-printer software that can merge codes from a list (check yours does before buying labels). Print the ID in plain text beside each code, so a scuffed label can still be read and typed.
  6. Print three labels first and scan each with an iPhone and an Android phone. The form should open with the right ID already filled in.

Feeding the Service and Lost tabs into the register

The Service tab takes one row per job: Tool ID, type (service, calibration or repair), date done, done by, certificate reference and cost. The register then reads the latest date instead of anyone retyping it, and a loss stays visible until someone closes it:

Last service (K): =IF(COUNTIF(Service!$A:$A, A2)=0, "", MAXIFS(Service!$C:$C, Service!$A:$A, A2))
Next due (L):     =IF(K2="", "", EDATE(K2, 12))
Loss flag (P):    =IF(COUNTIFS(Lost!$A:$A, A2, Lost!$G:$G, "")>0, "MISSING", "")

Format K and L as dates. Change the 12 to the maker's interval in months; for a mixed register, add an Interval column and point the formula at it. On the Lost tab, column G is Closed: leave it blank while the search is open, then write "Found" or "Written off" with a date. Until then the register shows MISSING beside the tool, so nobody plans next week's job around a drill that is not there.

A weekly chase list and a check for mistyped IDs

Two formulas on a Checks tab do most of the log owner's weekly ten minutes. They are written for Google Sheets, where the form's responses land:

Out more than 3 days: =IFERROR(SORT(FILTER(Register!A2:M, Register!H2:H="Out", Register!M2:M>3), 13, FALSE), "Nothing overdue")
IDs not in register:  =IFERROR(FILTER(Log!A2:C, Log!B2:B<>"", ISNA(MATCH(Log!B2:B, Register!A2:A, 0))), "None")

The first lists every tool out for more than three days, longest first, with holder and location beside it. The second catches scans whose ID matches nothing in the register, usually because someone edited the pre-filled ID or a label was printed from an old list. For the first month, also turn on Get email notifications for new responses (the More menu on the form's Responses tab), so the log owner sees each scan arrive while the habit forms.

Print labels on a durable stock and test one outdoors for a week before you order a batch. A label that peels in the rain turns every scan into an argument.

Asking AI to build it: a prompt, a flawed answer and the fixes

Any of the chat assistants can draft this workbook. Paste your real column headings and say what you need, rather than asking for "a tool tracker":

Build a Google Sheets tool-tracking workbook for a six-person electrical contractor with about 140 tools.
Tabs: Register, Log, Service, Lost.
Log is filled by a Google Form with: Tool ID, Person, Action (Out or In), Location, Condition, Note.
Register columns: Tool ID, Description, Make, Model, Serial, Purchase date, Cost, Status, Holder, Location, Last service, Next service due.
Give me formulas, not macros or scripts. Status, Holder and Location must come from the LAST Log row for each tool.
Add a Days out column and a service-due flag (overdue, due within 30 days, OK).
Add dropdown lists for Person, Location and Condition. Explain each formula in one line.

A typical first answer looks tidy and fails a test. These are the faults that usually come back, each with its fix:

  • Holder uses VLOOKUP. A formula such as =VLOOKUP(A2, Log!B:C, 2, FALSE) returns the first scan ever logged, so every tool shows whoever took it first. Fix: use a last-match lookup as in the formulas above.
  • Ranges stop at row 1,000. Fixed ranges like Log!B2:B1000 silently ignore later scans. Fix: whole-column references.
  • It offers a script. The answer includes a macro to "auto-archive old logs". You asked for formulas, and a script needs authorisation prompts and someone to maintain it. Delete it.
  • Return scans do not clear the holder. It sets Holder from the last row even when that row says In. Fix: the IF on status.
  • It adds columns you did not ask for, such as depreciation. Remove them; they invite wrong numbers.

Test before you print labels. Make five dummy tools and ten fake scans, including two returns and one tool that goes out twice, then check every column reads correctly. This takes twenty minutes and is the cheapest quality control in the project. For more prompts of this kind, a set of Google Sheets AI prompts is a useful companion.

AI is also good at the dull start-up job of building the first register. Photograph each tool's data plate, upload the photos to a chat assistant, and ask for a table of make, model and serial number. Then check every serial number against the photo yourself. Reading plates is where these tools slip, usually by swapping lookalike characters such as 0 and O or 8 and B, and a wrong serial is worse than a blank one on an insurance claim.

What the paid options charge, from their own pages

Prices below are USD list prices from each vendor's own pages in October 2026. They are built on different units, so a straight comparison needs your own crew size.

OptionWhat it isPriceWatch for
Milwaukee ONE-KEYInventory app on web and phone; assign tools to people and places, store service records; tags for other makers' toolsApp "free to use"; tags and ID tags are extra hardware, price not shownBest when most kit is one range; check-out and service reminders are not named on its page
DEWALT Tool ConnectInventory and location of tools and assets; Tool Connect+ adds utilisation reports and tool or battery disableNo price printed; "additional subscription charge" may applyNeeds Bluetooth chips or tags and a cellular gateway; ask for a written quote
SortlyGeneral inventory app with QR labelsFree: 100 items, 1 user. Advanced $24 a month on yearly billing (500 items, 2 users). Ultra $74 (2,000 items, 5 users). Premium $149 (5,000 items, 8 users)User licences are capped; those are 50% first-year prices on lists of $49, $149 and $299, and from year two the page gives 20% off yearly plans instead
TOOLTRIBETool tracking for construction crews; scan a QR code or serial number, or take a photoStarter from $100 a month with 10 users and unlimited tools; higher plans by quoteCheck-in and check-out are included; maintenance scheduling is on the quote-only Professional plan
AppSheet on your own sheetA phone app built from your Google SheetStarter $5, Core $10 per user a month; free to prototype with up to 10 test users; Core is included in most paid Google Workspace plansBarcode scanning is on Core and above; offline use on every plan; you build the screens yourself
Sheet plus formThe route above$0 beyond labelsNeeds a person who owns the log

Three details change the real bill. First, the units differ: Sortly counts user licences and items, TOOLTRIBE says its pricing follows team size and not tool count, AppSheet charges per user, and the brand systems charge for hardware. Second, Sortly's year-two price rises: its page says the 50% discount applies only to the first year of a new customer subscription, then a 20% discount applies to yearly plans. On that reading Advanced's $49 list price becomes about $39 a month from year two, up from $24, and Premium's $299 becomes about $239. Third, TOOLTRIBE's $100 is a floor; the maintenance module a contractor with service-dated instruments wants sits on the Professional plan, priced by quote.

For a six-person crew, the licence cap matters. If everyone scans, Sortly's Premium (8 users) is the fit at $149 a month on yearly billing, or $1,788 in year one and about $2,870 a year after that. If only a foreman and a storekeeper scan, Advanced at $288 a year may do. AppSheet Core for six users is $720 a year, or nothing extra if the firm already pays for a Google Workspace plan that includes it, and a walkthrough of an AppSheet inventory app that scans stock in and out shows what the build involves.

A six-person electrical firm: the sum that decides it

Take a six-person electrical contractor with two vans and a yard store. It tracks 140 tools with an average replacement cost of $300, so about $42,000 of kit. Apart from the vendor prices, the figures are planning assumptions to replace with your own.

  • It lost five tools last year, and the replacement receipts total $1,600 (an average of $320).
  • Crew spend about 20 minutes, three times a week, hunting for a tool: about 52 hours a year. At $45 an hour of loaded time that is $2,340.
  • Labels cost an assumed $0.50 each, so $70 for 140.
RouteCash, year oneSet-up hoursWeekly upkeepYear-one total at $45 an hour
Sheet, form and QR labels$70815 minutes (13 hours a year)$1,015
AppSheet Core on the same sheet, 6 users$7901410 minutes (about 9 hours)$1,810
TOOLTRIBE Starter$1,270105 minutes (about 4 hours)$1,915

The sheet is the cheapest to start. The question is what the paid routes add. AppSheet costs $795 more than the sheet in year one and TOOLTRIBE $900 more. At $320 a lost tool, that is three fewer losses a year ($900 divided by $320 is about 2.8). In time, it is 20 hours of hunting saved a year ($900 divided by $45), or about 23 minutes a week.

One condition flips the AppSheet line. AppSheet's pricing page says Core is included in most paid Google Workspace plans, so a firm already paying for Workspace may owe nothing extra for it. Its cash then drops to the $70 of labels and its year-one total to about $1,090, only $75 above the sheet, for a phone app that scans and works offline. Check that your Workspace edition includes AppSheet Core before you count on it.

That framing is the useful part. The sheet already captures most of the gain if people scan, because it already tells you who had a tool last. A paid app buys faster scanning, reminders and a cleaner audit trail. It is worth it if your crew will not scan without them, or if service reminders matter more than the sums here. It is not worth it if the real problem is that nobody returns tools to the store.

Before you buy anything, measure for two weeks. Keep a tally on the van door: every time someone hunts for a tool, note the minutes. Then keep a note of every replacement purchase. Those two numbers replace my assumptions and settle the decision with your own data.

Three habits that make either system work

Give every tool a home. The store or a named van box is the home location, and a return means back to that home. Moving a tool between vans is a scan to a new location, not a conversation.

Name one owner and one time. One person owns the log, and for ten minutes at the same time each week they scan down the Days out column and chase anything out for more than three days. If nobody owns it, it is not a system.

Make scanning easier than skipping. Put the label where a hand naturally lands, add the form to the phone's home screen, and place the van's scan point at the loading step. If the quickest way to take a tool is to skip the scan, the tool will go out unscanned.

Loss and service records, filled in

A loss entry should read like a short incident note. Here is one filled in:

FieldEntry
ToolT-0087, 18V impact driver kit
Last scan12 Sep, out to Sam, location: site, kitchen refit
Found missing19 Sep, at the weekly van check
Steps takenAsked the crew, checked the store and both vans, checked the site, reported to the police
ReferencesPolice report number, insurance claim number
Replaced24 Sep, $289
What changedOut seven days without a return scan; the three-day chase rule was added

The last row is the point. A loss record that only lists the loss teaches nothing, while one that names the control that failed changes behaviour. The serial number and photo from the register are what the police report and the claim will ask for first.

A service entry is shorter. For T-0031, an insulation tester: service type calibration, done on 14 Mar by the maker's service centre, certificate reference on file, next due 14 Mar the following year. Set its condition to "Needs service" when the date passes, and make a rule that a tool in that state cannot be checked out until the record shows it back. For instruments, follow the maker's own service interval and any rules that apply to your trade rather than a number from a template; a guide to building service schedules from manuals with AI shows how to pull the intervals out.

The twenty-tool audit that tells you if it is working

Each month, pick 20 tools at random, for example by adding a column of =RAND(), sorting on it and taking the top 20. Walk to each one and check three things against the register: it is where the sheet says, the holder matches, and the condition is fair. Ten minutes of walking is enough.

A sample result: 17 of 20 match, two are in the wrong van, and one cannot be found. That is 85%. A reasonable reading, and my own rule of thumb rather than a standard:

  • 90% or more: the system works. Move to a full count twice a year.
  • 75% to 89%: the habits are slipping. Re-brief the crew, check the label placement, and repeat the audit in two weeks.
  • Below 75%: the log is not trusted. Do not buy software to fix it. Fix who scans, who chases and where tools live first.

Twice a year, run a full count. A guide to running a stocktake faster with a phone scanner covers the preparation, and the same variance check applies: sort differences into misplaced, unscanned and genuinely missing before you change any records.

A sole trader, a small crew and a bigger firm: three routes

  • A sole-trader electrician with 45 tools in one van. A sheet or a notes list with a serial number and photo for each tool. No form is needed because nobody else takes the tools. If most of the kit is one maker's range, try that maker's free app first.
  • A four-person plumbing firm with two vans and about 90 tools. The sheet and form. If scanning is the sticking point after a month, move the same sheet to AppSheet and pay $10 a user for the scanner.
  • A twelve-person building firm with three sites, a yard and about 400 tools including hired kit. A paid tool-tracking app, priced by a written quote that includes maintenance reminders, because transfers between sites and service dates now outnumber what one person can chase on a sheet.

Signs a sheet has outgrown its job

Move up when at least two of these are true: more than one person edits the register at the same time and overwrites each other; crews work in places without signal, so a form that needs a connection fails; you need reminders sent to a person by message, not just a flag in a column; the monthly audit stays under 75% even after the habits are fixed; or tools are shared with subcontractors who are not on your accounts. The signal problem has the cheapest answer: AppSheet's pricing page lists offline use with background sync on every plan, so the same sheet can sit behind a phone app that saves scans in a dead spot and sends them later.

When you outgrow the sheet, the move is less painful than it sounds, because a register with clean IDs, serials and service dates imports into almost any app. A wider comparison of an asset register in a spreadsheet or in software covers the same choice for vehicles, laptops and phones.

Tool tracking questions from small contractors

Do I need tool tracking software for a one-van business?

Usually not. With one van and one person, a sheet or a notes list with a photo and serial number for each tool covers theft and insurance needs. Add a check-out log only when tools leave the van for other people. If your tools are mostly one maker's range, that maker's free app may be easier than building your own.

What should a tool check-out log record?

Record the tool ID, who took it, the date and time, where it is going, whether it is going out or coming back, and its condition on return. Add a note field for damage. Those six items let you answer who had a tool last and whether it came back in the state it left.

Are QR codes or barcodes better for tool labels?

A QR code opens a link with any phone camera, so the sheet-and-form route needs no scanner. Barcodes suit apps that scan inside their own screen. Sortly lists QR label creation from its Advanced plan and barcode labels from Ultra, and AppSheet lists barcode scanning from its Core plan, so check which your route needs.

Is Milwaukee's ONE-KEY app free?

Its own page says it is free to use on web or smartphone. Tools from other makers need a Bluetooth tracking tag, and ID tags are separate hardware you buy; the pages I read show no tag price. The page also does not mention check-out and check-in by name, so test how it handles a tool changing hands.

How often should I audit my tools?

Run a 20-tool spot check each month, which takes about ten minutes, and a full count twice a year. If the spot check finds fewer than 75% of the sampled tools where the record says, fix the habit before you spend money on software, because an app cannot make people scan.

Further reads

Sources: Sortly, TOOLTRIBE, AppSheet and Milwaukee ONE-KEY pricing and product pages; DEWALT Tool Connect page; Tradify free tools page; Google Docs Editors Help on form question types, pre-filled links and response notifications. All read in October 2026.

Want your tools, vans and jobs tracked without chasing?

On a 1:1 call we can map how tools move through your crews, decide whether a sheet or an app fits, and set up the check-out routine your team will actually follow.

Book a 1:1 call with me