Assets and equipment
How do I keep service history per asset instead of per customer?
Create one record for each physical unit (a crane, a rooftop unit, a vehicle, a robot) with its own serial number, and link every job, inspection, part and photo to that record, not only to the customer or site. Put a QR code or barcode on the unit so a technician or customer scans it and lands on that record. The history then follows the unit through repairs, replacements and even a change of owner.
- The asset is its own record with a serial number. The customer and the site are fields on it, not the other way round.
- Every job must name the asset it worked on, or the history has holes. Make that field required.
- A replaced unit is marked replaced and kept, linked to the new unit. Never delete it.
- A QR code on the unit is the fastest way to find the record and to raise a request with the asset already attached.
- Failure counts per asset only mean something when unplanned repairs are tagged separately from planned visits.
This page covers history per physical unit. If you only have a few units per customer and never need failure rates, a good notes field on the site record may be enough.
Facts checked as of November 2026. Sources at the end of the page.
Step by step
How to keep service history per asset, step by step
The pattern is the same in every system that does this well. ServiceTitan, Microsoft Dynamics 365 Field Service and Salesforce Field Service all store the asset as its own record and link work to it.
1. Make the asset a record of its own
A usable asset record has at least a name, manufacturer, model, serial number, install date, warranty end, location and owner. ServiceTitan's equipment record, for example, has Equipment Name, Manufacturer, Model, Serial Number, Asset #, warranty periods, a memo and an Install Date, and it is added under Customer Record, Location Record, Equipment.
2. Tie it to a place and an owner, but keep it separate
Dynamics 365 Field Service puts assets under Service area, Assets, with fields such as Category, Product, Account, Functional Location and Parent Asset. By default an asset must belong to the same service account as the work order, and an admin can relax that rule in settings.
3. Load the units you already know about
Do not wait for technicians to create assets one at a time. Import from a spreadsheet: Dynamics accepts an Excel import with Name and Account columns and skips duplicates unless you choose Allow Duplicates, and ServiceTitan offers a bulk import under More, Import from Template.
4. Make the asset field required on every job
History only builds up if each job names its unit. In Dynamics the standard method is the Primary asset field on the work order incident, and recurring agreement visits carry a Customer Asset field so planned maintenance lands in the same history.
5. Put a QR code or barcode on the unit
Print a label with a QR code or barcode for each asset and stick it on the unit. ServiceTitan's mobile app has a Scan Barcode button in the job's Equipment section, and Limble lets you print a QR code from each asset card that either opens the asset's information or starts a work request with the asset already attached.
6. Show the history before the technician starts work
The technician should see every earlier visit for this one unit, not for the whole customer. In ServiceTitan Mobile this is the job's History menu, Existing Equipment, which lists every completed service job for the equipment item.
7. Handle replacement without losing the past
When a unit is swapped, mark the old one replaced and link it to the new one. ServiceTitan tells you to mark equipment as replaced instead of removing it, and Salesforce's pattern is to set the old asset's Status to Obsolete and add a Primary Assets relationship of type Upgrade, so both records show the link.
8. Report on the asset, not only the customer
Once jobs are tied to units you can count repairs per unit, per model and per component. That is where failure rates come from. See the worked example below.
Why it goes wrong
Why history ends up per customer anyway
These are the situations owners described on our sales calls, told by trade and size.
The tool was built around the client
An overhead crane and hoist inspection company with about 20 technicians and about 500 clients said it tracks at a client level, not an asset level. A customer with eight cranes has one history, so nobody can say which hoist had the last repair or what is still outstanding on it.
History lives in a chat app
A bicycle and scooter leasing company with about 1,500 vehicles ran its work in a card board and WhatsApp. Their planner could not see the history of one vehicle, and finding damage evidence meant scrolling back through messages for the right date and video.
Components change and nobody records it
A UK vertical lift machine supplier, with about 8 field staff and roughly 70 subcontractors across about 170 sites, wanted to know what components had changed on each machine and to see failure rates. Subcontractors send paperwork, but it is not attached to a unit.
Many identical machines at one place
A robot maker with 500+ machines in service wanted customers to scan a QR code on the robot to raise a ticket with photos. Without a code, the customer types a description and the service desk has to work out which machine it is.
Contractors arrive blind
An EV charger operations startup that dispatches third-party contractors wanted them to see the site history, installed chargers and prior visits before arriving. Without it each contractor starts from zero.
Photos stay on the job
A commercial HVAC contractor serving restaurants said photos stay stuck to one call and never reach a central place on the customer account. They wanted all photos from one location across jobs, which is the same need one level down: per unit.
Ways to do it
Ways to keep asset-level history
Five common approaches. Check each vendor's current documentation, since menus and plans change.
| Approach | What it does well | Where it falls short |
|---|---|---|
| Spreadsheet with a row per unit | Free, and you control the columns. Works for a few dozen units. | Nothing forces a job to name its unit, there is no scan, and history is a filter you rebuild by hand. |
| Customer and property records only | Fine when you service a house or a site and never care about one machine. Jobber's help centre, for example, describes clients owning properties, where work is performed, and a first look found no equipment article. | A property with five units has one history. Check whether a tool lets you add equipment before assuming it does. Housecall Pro's customer help section lists job history on the customer profile, and a first look found no equipment article. |
| Equipment records inside an FSM, such as ServiceTitan | Equipment sits at the service location with manufacturer, model, serial number and Asset #, a Scan Barcode button on mobile, and a history of every completed job for the unit. | Equipment is tied to a specific address, so a unit that moves between sites needs care. Pages on this topic were marked stale when read, so confirm menus in your account. |
| Enterprise field service platforms (Dynamics 365, Salesforce) | Real asset hierarchies: Parent Asset and Sub Assets in Dynamics, Parent Asset and Child Assets with a View Asset Hierarchy action in Salesforce. Replacement links and an asset on every work order. | Heavier to set up and more to administer. Salesforce requires an account, a contact or both on every asset; Dynamics requires an account. |
| Maintenance management systems, such as Limble | A QR code per asset that opens the asset's information or starts a work request with the asset attached, and bulk printing of codes. | Built for maintaining your own plant. If you service other companies' equipment, check customer, quote and invoice handling. |
| Fieldproxy | Assets with QR codes sit alongside jobs, quotes, invoices and recurring maintenance. Fields, stages and forms are built around your units, and the Vision agent can read a nameplate photo to fill the record. | You still need to decide which fields identify a unit and load the first list. We help build that with you. |
Worked example
A worked example: finding the weak component
Say a lift maintenance company looks after 40 machines for retail customers, and each job records the asset and a repair type (planned service or unplanned fault) plus the component replaced. Over a year the data shows 12 unplanned faults. Seven of them are on the same door motor model, which is fitted to 9 of the 40 machines. Without asset history those 12 jobs look like 12 unrelated call-outs across several customers. With it, one query shows the pattern: 7 faults across 9 machines is a strong signal to talk to the manufacturer.
The same data gives a failure rate. Mean time between failures is total operating time divided by the number of failures, and only unplanned failures count, not scheduled maintenance. Fabrico's example: 2,080 operating hours and 5 failures give an MTBF of 416 hours. The formula applies to repairable assets, and many sources note it assumes a roughly constant failure rate, so treat it as a comparison between units, not a promise.
Availability follows from MTBF and mean time to repair: MTBF divided by (MTBF plus MTTR). None of these numbers can be trusted if jobs do not name their asset or if planned and unplanned visits are mixed together.
Checks
What to check before you choose a tool
Good signs
- Asset is its own record with a serial number, not a text note on the customer.
- A job can be saved only when it names an asset, or you can make that field required.
- A scan (QR or barcode) opens the unit's record on the technician's phone.
- Replaced units stay in the history and link to their successor.
- You can report repairs per asset, per model and per component, and split planned from unplanned.
- Customers can scan the code to raise a request with the unit already attached.
- Bulk import of an existing equipment list, with duplicates handled.
Red flags
- History can only be seen per customer or per site.
- Assets are created only from invoices, so units you never sold cannot be added.
- Deleting an asset deletes its jobs, or a replacement erases the old record.
- Only an administrator can see an asset's history, not the technician at the unit.
- QR codes that point at a login page the customer or subcontractor cannot use.
In Fieldproxy
Setting it up in Fieldproxy
Example setup, built around the way your company already runs. Field names are examples you change.
1. Asset records with your own fields
Each unit is an asset with, e.g., serial number, model, install date, warranty end, location, owner and a status such as in service, replaced or retired. Fields, stages and statuses are configured to your process, so a crane has a rated capacity and a vehicle has a frame and battery number.
2. Load the list on day one
Customers, sites and equipment come across from your spreadsheets or old system during setup, so nobody re-keys units.
3. A QR code on every unit
Assets have QR codes. Scanning one in the technician app (Android and iOS, works offline) opens that unit's history. A customer or subcontractor can scan the same code to start a request with the unit attached, e.g. through a customer link.
4. Required asset on the job
The job form can require an asset before it closes, along with photos, a checklist and notes, so history is complete by construction. Mark whether the visit was planned or an unplanned fault.
5. Nameplates by photo
The Vision agent reads a photo of a nameplate or damage and fills the record, so adding a missing unit takes one picture.
6. Manuals and past cases at the unit
The Knowledge agent turns manuals, specs and service history into quick answers for technicians, e.g. what was replaced last time and what the manual says about this model.
7. Planned visits land on the same record
Recurring maintenance and contracts create the next visit against the asset, so inspections and repairs sit in one timeline.
8. Reports and the Command Center
Reports and the Command Center answer plain questions such as which model has the most unplanned repairs this year, from the same data.
Regulated equipment
When the law wants a record per unit (US cranes)
For overhead and gantry cranes in the US, OSHA 29 CFR 1910.179 requires frequent inspections (daily to monthly) and periodic inspections (1 to 12 months), and for hooks and hoist chains the monthly inspection needs a certification record. OSHA's summary of the record lists the date, the inspector's signature and the serial number or other identifier of the item inspected. The standard text is long, so confirm the paragraph numbers for your crane type.
The point for your system: the record is about an identified item. A tool that stores inspections per customer cannot produce that record cleanly. A per-asset history with the serial number on it can.
How switching works
How switching to Fieldproxy works
We move your data over and set the system up to the way you already work. Fieldproxy replaces the old tool; it does not run alongside it.
Send us your unit list
Share the spreadsheet, export or photos of nameplates you use today, with serial numbers if you have them.We set up your asset record
We add the fields that identify your units, the statuses (in service, replaced, retired) and the job form that requires an asset.We load the units and print the codes
Assets are imported, QR codes are generated, and you stick them on the units as technicians visit.Technicians scan and history builds
Every job from the first day adds to the unit's record, and reports on repeat faults start to mean something within weeks.
FAQ
Questions people ask
- Can I track service history by serial number?
- Yes, if the serial number is a searchable field on the asset record. ServiceTitan lets you find equipment by serial number, model or name, and Fieldproxy assets can hold serial numbers and be scanned by QR code.
- What happens to the history when I replace a unit?
- Keep the old record and mark it replaced, then link it to the new unit. ServiceTitan advises marking equipment as replaced instead of removing it, and Salesforce uses an Obsolete status plus an Upgrade relationship.
- Can customers scan a QR code to raise a ticket for one machine?
- Yes in tools that support it. Limble's asset QR code can start a work request with the asset already attached. In Fieldproxy, the asset QR code can lead to a request for that unit.
- Can I see all photos for one unit across jobs?
- Only if photos are linked to the asset and not just to each job. Choose a tool where the asset record shows photos from every visit, and make the asset field required on jobs.
- Can I attach an equipment manual to the asset?
- Yes. In Fieldproxy, the Knowledge agent makes manuals and specs searchable for technicians, so the answer shows up while they are working on that unit.
- How do I calculate a failure rate per asset?
- Divide operating time by the number of unplanned failures. Fabrico's example is 2,080 operating hours and 5 failures for an MTBF of 416 hours. You need jobs tagged to the asset and a way to separate planned work from faults.
- Do assets have to belong to one customer?
- In Dynamics 365 and Salesforce each asset links to an account (Salesforce also allows a contact). If your units move between owners or sites, check that a tool lets you reassign them without losing history.
Sources
Competitor details on this page come from the vendors' own pages and documentation, checked as of November 2026. Plans and prices change, so check the vendor's current page before you decide.
- ServiceTitan: Track & Manage Installed Equipment: https://help.servicetitan.com/docs/track-manage-installed-equipment
- ServiceTitan: Manage equipment in ServiceTitan Mobile: https://help.servicetitan.com/docs/manage-equipment-in-servicetitan-mobile-1
- Microsoft Learn: Build a service history for assets (Dynamics 365 Field Service): https://learn.microsoft.com/en-us/dynamics365/field-service/service-history
- Microsoft Learn: Manage customer assets (Dynamics 365 Field Service): https://learn.microsoft.com/en-us/dynamics365/field-service/assets
- Salesforce Trailhead: Track Customer Assets: https://trailhead.salesforce.com/content/learn/modules/field_service_maint/field_service_maint_assets
- Limble CMMS: QR code overview: https://help.limblecmms.com/en/articles/3637230-qr-code-overview
- OSHA: 29 CFR 1910.179 overhead and gantry cranes: https://www.osha.gov/laws-regs/regulations/standardnumber/1910/1910.179
- Fabrico: What is MTBF: https://www.fabrico.io/blog/mean-time-between-failures/
- Jobber Help Center: Clients: https://help.getjobber.com/en/topics/clients/
- Housecall Pro Help Center: Customers: https://help.housecallpro.com/en/collections/74708-customers
Related