Back to Blog
Corporate Solutions

Asset Tracking Software: Fixed Assets and Custody Records

What does asset tracking and custody software solve? Asset records, QR or barcode labels, custody history and stock counts. Why custody is recorded on the asset rather than the employee, returns at offboarding, the link to accounting, and ready-made vs custom.

Demirbaş TakibiZimmetKurumsal ÇözümlerEnvanter

Asset tracking and custody software shows, from a single record, where every asset the company owns is (laptops, phones, machines, furniture, vehicles, measuring devices), who has it and what condition it is in. It has four parts: a record for each asset, a label (QR code or barcode) that ties that record to the physical object, a custody history of who passed the asset to whom, and a periodic count that compares the records with reality. A spreadsheet is enough in the first year; once headcount and the number of locations grow, the answer to “who had this laptop” gets lost. This article covers the right data model, the offboarding and return flow, stock counts, the link to accounting, and the ready-made vs custom decision. These are the first topics we go through with clients who build an asset system as part of our corporate solutions.

Is fixed asset tracking the same as inventory tracking?

No, and confusing the two is the most common mistake. Inventory is consumed or sold; it is tracked by quantity and answers “how many are in the warehouse”. A fixed asset is something the company uses and keeps for years; it is tracked one by one, not by quantity, and answers “where is the device with this serial number, and who has it”. We covered the inventory side in stock tracking software. The same distinction applies to vehicles: a company car is an asset, but it has its own questions such as maintenance, fines and mileage, so we covered it separately in fleet management software. The maintenance schedule of machines and plant equipment belongs to maintenance management software; the asset system provides the asset record to both.

What belongs on an asset record?

  • Identity: internal asset number (printed on the label), make, model, serial number or IMEI.
  • Class and location: category (IT, furniture, machinery), branch, building and room; the location hierarchy is set up from day one.
  • Financial data: purchase date, purchase price, supplier, invoice number and warranty end date.
  • Status: in use, in storage, under repair, lost, disposed. Statuses come from a fixed list, never free text.
  • Documents: invoice, warranty certificate and the signed custody form are attached to the record.

The core: custody is recorded on the asset, not the employee

The most frequently misbuilt part of custody software is how custody is stored. Adding an “assigned devices” list to the employee record, or updating a single “held by” field on the asset, shows today but erases the past: who had the device last March, when did the screen break, which employee left without returning it? The right model keeps each handover as a separate record: the asset, the recipient, the person who issued it, the issue date and, once returned, the return date and the condition at return. Then “who had it on that date” is answered by a single query. The rule is simple: an asset can have only one open custody record at a time. The example below enforces this inside a database transaction.

type Assignment = {
  assetId: string;
  employeeId: string;
  issuedBy: string;
  issuedAt: Date;
  returnedAt?: Date;
  returnCondition?: 'ok' | 'damaged' | 'missing_parts';
};

export async function assignAsset(
  assetId: string,
  employeeId: string,
  issuedBy: string,
) {
  return db.transaction(async tx => {
    // Lock the row: the same device cannot be issued to two people at once.
    const asset = await tx.assets.findForUpdate(assetId);
    if (asset.status !== 'in_stock') throw new Error('ASSET_NOT_AVAILABLE');

    const open = await tx.assignments.findOpen(assetId);
    if (open) throw new Error('ASSET_ALREADY_ASSIGNED');

    await tx.assignments.insert({
      assetId,
      employeeId,
      issuedBy,
      issuedAt: new Date(),
    });
    await tx.assets.update(assetId, { status: 'in_use' });
  });
}
A custody record is never deleted, only closed. A custody system that moves forward by adding records rather than overwriting history is the only one that can answer “who had this device” beyond dispute a year later.

Onboarding, offboarding and returns

The value of a custody system shows most at offboarding. If a departing employee still has open custody records, the system lists them for HR and the employee’s manager; every device collected is closed together with its condition, and anything missing becomes a step of the exit process. At onboarding, standard kits speed things up: a template such as laptop, phone and car is defined for the “sales representative” role, and the storekeeper issues it from a single screen. If employee data lives in another system (payroll, time and attendance), the custody software does not copy that list, it reads from it; we described that connection in employee tracking software. Who can issue and who can only view is a matter for the permission model, covered in user roles and authorization.

Stock counts: when do records and reality drift apart?

Even in the best-built system, records drift from reality over time: a device moves to another room, does not come back from repair, two colleagues swap with each other. That is why a count is done at least once a year, and more often for critical assets. The count is done with a mobile app: the counter enters a room, scans the labels, and the system compares what should be at that location with what was scanned, producing three lists: in place, found elsewhere and not found at all. Assets not found are not deleted automatically; they move to “lost” status and require approval. The result of a count is not a report but a task list.

The link to accounting: who keeps what?

The financial record of an asset (purchase price, depreciation, disposal) is kept in the accounting system; custody software does not replace it. In a correct setup both systems share the same asset number: when the purchase invoice is posted in accounting, the asset record is created, and when a disposal decision is made in the custody software, accounting is notified. Rewriting depreciation in the custody software produces two different numbers. We described how the integration is built in accounting software integration; ask your accountant about tax and depreciation rules.

Ready-made software or custom build?

For a single-office company that tracks only IT devices, a ready-made inventory tool is usually enough. Custom software makes sense when transfers between several branches and warehouses need approval, when custody is tied to onboarding and offboarding, when maintenance, fleet and inventory systems share the same asset record, or when a field mobile app that scans labels is required. Whichever path you choose, importing the existing spreadsheet is a separate work item; problems such as the same serial number on two rows or locations spelled differently must be cleaned before the import. We covered this in data migration; for the general decision framework see custom software or off-the-shelf.

Conclusion

Asset tracking and custody software is not a list; it is a record system that keeps who passed each asset to whom, with dates. In a well-built system every asset has a label and a record, custody is recorded on the asset and never deleted, open custody records are listed automatically at offboarding, and counts regularly reconcile records with reality. If you want your inventory connected to your branch, warehouse and HR processes, have a look at our corporate solutions or request a quote directly.

Let's Build Your Project

Get a free consultation for your website, mobile app, or corporate software project.

Get a Free QuoteExplore our Corporate Solutions service