Assets Reference Public

Data Quality Workbench

Scoring how good your equipment records actually are, working the queues of assets with something missing or wrong, cleaning up placeholder catalogue entries, and fixing hundreds of rows in one supervised run.

Guide version: r1 Module version: 1.11.0 Updated: 2026-08-25 Estimated time: 13 min 5 views 0% helpful
Finance & Governance

Data Quality Workbench

A register is only worth what its worst records are worth. The workbench puts a number on how good your equipment data is, sorts the problems into lists somebody can actually work through, and lets you fix hundreds of rows at once — while still asking a person to decide what the fix should be.

ℹ️
Where it lives. Safekeep → Data Quality (ams/data-quality). Seeing the page needs the Assets: Data Quality permission; changing anything in bulk needs Data Quality: Apply bulk fixes as well. The score itself is also shown on the Overview and can be reported on from Reports → Condition & data.

Why a score, rather than a list of complaints

Everyone already knows the register has gaps. What nobody can usually say is how bad, or whether last quarter's clean-up helped, or which fifty records to fix first. A score answers all three: it is comparable between two months, it sorts, and it can be filtered down to one category or one site so a branch manager sees their own number rather than the company's.

It is deliberately a measure of the record, not of the equipment. A perfectly maintained laptop with no serial number recorded scores badly, and it should: from the register's point of view that laptop cannot be told apart from any other of its model.

How the score is worked out

Every asset is marked against a table worth 100 points. What the record has, it earns; what it is missing, it loses. The result is a percentage between 0 and 100.

What is checkedPointsWhy it is worth that
Asset tag12The tag is ours and unique by construction — it is how the asset is found, scanned and referred to. The single most valuable field on the record.
Category10Almost everything downstream hangs off it: audit scope, custom-field schemas, every report grouping.
Model10Without it you cannot say what the thing actually is, and warranty and specification defaults have nothing to come from.
Status10Decides whether the asset can be handed to anybody at all.
Condition8The baseline every later handover and count is compared against.
Serial number8The manufacturer's identity. It is what settles a warranty claim and what proves a swapped unit.
Location8An asset nobody can place is an asset nobody can count.
Custody consistency8Whether the older “endorsed to” field and the custody register agree with each other. They should never disagree.
Cost and purchase date8The two things that make an asset depreciable at all.
Unique identifier4The record's own internal identity, used when tags are re-printed or re-used.
Warranty4Missing it means nobody will ever be reminded before cover runs out.
Audit cadence4Without one the asset never appears on an audit-due list.
Depreciation profile3Set, the asset can be depreciated; unset, it is invisible to finance.
Photograph3Useful on anything, decisive on expensive things — see below.
????
A photo is worth double on expensive equipment. Once an asset's cost reaches the high-value threshold (₱50,000 unless your administrator has changed it), the photograph is worth 6 points instead of 3. On a cheap keyboard a photo is paperwork; on a machine worth a quarter of a million it is the only thing that will settle an insurance claim or an audit dispute. The extra points are not taken from anything else — the whole table is simply worth more for that asset — so an expensive record missing only its photo scores a little lower than a cheap one missing only its photo. That difference is the point.

Five things that take the score to zero

Some problems are not incomplete data, they are data that is wrong. A record that is wrong must not outrank a record that is merely sparse, so these do not subtract points — they set the score to 0 outright.

ProblemWhat it means
Invalid typeThe asset's ownership type is blank or is not one the product offers (owned, leased, rented, under contract, or a service).
Duplicate asset tagTwo live assets carry the same tag. Every scan of that tag is now ambiguous.
Duplicate serial numberTwo records claim the same physical unit. One of them is wrong, and until somebody says which, neither can be trusted.
Duplicate identifierTwo records share an internal identity that is supposed to be unique.
Held by somebody who has leftThe asset is recorded as issued to an account that is inactive or has been deleted. Nobody is answerable for it.

A zeroed record still reports everything else that is wrong with it, because whoever resolves the duplicate will want to know the row is also missing a model.

Reading the top of the page

The strip across the top is the summary, and it obeys the same category and location filters as everything below it — so a site manager can narrow to their own site and read their own number.

  • Average score — the headline, over whatever is currently filtered.
  • Live assets and Needs attention — how many records exist, and how many are sitting in at least one queue.
  • Score distribution — five bands, so you can see whether you have a few disasters or a broad shallow problem.
  • What is actually wrong — the biggest queues, largest first. This is the list to read before deciding what to do this week.
BandScoreRead it as
Excellent95–100Complete. Nothing to do.
Good80–94Fine in practice; a low-value field or two is missing.
Fair60–79Usable, but something that matters is absent.
Poor40–59Several important fields are missing. Worth a scheduled clean-up.
Critical0–39Either almost empty, or wrong — every zeroed record lands here.
UnscoredAdded since the last nightly pass, and not yet marked. Not a problem in itself.
ℹ️
Scores are refreshed overnight, not live. A nightly job re-marks every asset in the small hours. Fix a record at 10am and its score changes tomorrow — unless you use the Re-score bulk action, which marks the selected rows there and then. See Automation & Reminders.

The Assets tab — one queue at a time

Rather than one enormous list of everything that is wrong, the workbench offers a queue per defect. You pick a queue, and you get exactly the assets with that problem — which is what makes a bulk fix safe, because every row in front of you needs the same thing done to it.

QueueWhat is in it
Missing asset tagNo tag at all. The most common queue in a register that grew from a spreadsheet.
Missing model / category / status / locationOne of the four classifications is unset.
Duplicate tag / serial / identifierTwo or more live records share a value that should be unique.
Invalid typeOwnership type blank or unrecognised.
Assigned without custodyThe old “endorsed to” field names somebody, but there is no custody record backing it — so the register says who has it and the paperwork does not.
Held by an inactive userIssued to an account that has left or been deleted.
No audit cadenceNo audit interval set, so the asset will never come due.
Acceptance overdueHanded over, never confirmed received, past the window.
Return overduePast its return-by date and still out.
Status disagrees with an open faultThe asset has an open fault report but its status still says it is fine, or the reverse.
Disposed but still assignedSigned out of the register while somebody is still recorded as holding it.
Not depreciableMissing the cost, the purchase date or the profile that would let finance depreciate it.
Placeholder catalogue dataPoints at the Master data tab below.
Low scoreEverything under the low-score threshold (60 by default), whatever the reason.
Reconciliation backlogPoints at the Reconciliation tab below.

Each row shows the tag, the asset, its holder, its score as a coloured chip, and when it was last marked. The chip carries the number and the colour only reinforces it — a chip that said nothing but “red” would be useless to anybody sorting by it, and unreadable to anybody who does not see colour the way you do.

There is an Export button on every queue. It builds the spreadsheet on the server from the same query the table is showing, so what you get is the whole queue and not just the page in front of you — up to the export cap your administrator has set (5,000 rows by default).

Fixing many rows at once

Select rows — or take the whole queue — choose an action, fill in whatever it needs, and the run begins. It is deliberately not instant: the work is done in small batches with a live console, a progress bar and four counters, so you can watch what is happening and stop if it is not what you expected.

ActionWhat it doesAlso needs
Generate asset tagsIssues a tag to every selected asset that has none, using your configured tag format.
Set model / status / category / locationApplies the one value you choose to every selected asset.
Create custody recordsTurns a legacy “endorsed to” assignment into a real custody record, so the paperwork finally matches the register.Create / Submit Endorsement
Attach a depreciation profileGives the selected assets a profile so finance can begin depreciating them.Finance: Manage books & estimates
Set an audit cadencePuts the selected assets on an audit cycle of the number of days you give.
Set ownership typeFixes a blank or unrecognised type to the one you pick. Offered, never guessed.
Re-issue duplicate identifiersGives a fresh internal identity to records that were sharing one.
Re-scoreMarks the selected rows again immediately, rather than waiting for tonight.
⚠️
Two actions demand a second permission, and that is not an oversight. Creating custody records and attaching a depreciation profile are things you must already be allowed to do one row at a time. If the bulk tool did not check, it would be a way around every other permission in the module — do in one click, five hundred times, what you are not permitted to do once.
ℹ️
Nothing in a bulk run is silent. Every asset it changes gets an entry in its own activity log, exactly as if you had edited it by hand, so the change is traceable to you and to the run that made it. Nothing here bypasses the asset's history.

What limits a run

  • Batch size — how many assets are handled per step. Fifty by default; your administrator can set it between 1 and 200 on the Settings page.
  • 5,000 rows is the ceiling on one selection. Beyond that, filter the queue down and run it in passes.
  • A prepared selection expires after two hours. Leave the modal open over lunch and the run will tell you the selection has gone rather than acting on a stale list. Start it again.
  • The action cannot change mid-run. Your permission was checked against the action you chose when the run was prepared; allowing a later step to do something different would mean acting on a decision nobody was checked for.

The Master data tab

Some problems are not in the asset records at all — they are in the catalogue those records point at. This tab finds two kinds.

ProblemHow it is recognised
Placeholder modelA model whose name looks like something typed to get past a required field — a short run of lowercase letters — with no model number and no category. The check is case-sensitive on purpose, so a genuine product name is never mistaken for a placeholder.
Duplicate titleTwo or more categories, or two or more locations, with the same name. Usually the same real thing entered twice with different spacing or capitalisation.

Every row shows how many live assets currently point at it, which is the number that decides what you can do:

  • Merge — pick which entry survives and everything pointing at the others is moved to it. Capped at 500 assets in one merge; past that, use the bulk Set model action on the assets themselves, which is chunked and resumable.
  • Archive — removes the entry from use. It refuses while anything still points at it, because archiving a catalogue entry out from under live assets would leave them classified as nothing.

The Reconciliation tab

This is the exception queue: things the system noticed but must not guess about. When the custody paperwork was first built from the older assignment fields, most rows converted cleanly. A few did not, and each had several plausible readings:

QuestionWhat was found
Holder not foundThe asset was assigned to a user account that no longer exists.
Holder inactiveAssigned to somebody who has left or whose account is disabled.
Returned, but still assignedThe record says the asset came back and also says somebody still has it.
Archived, but still assignedThe asset is retired, yet still recorded in somebody's hands.
Summary disagrees with custodyRaised by the nightly reconciliation job: an asset's quick-reference columns and its custody records tell different stories.
ℹ️
Why these were left alone rather than fixed. Inventing an answer would fabricate custody history — the one thing the whole custody subsystem exists to make trustworthy. A wrong entry that looks confident is worse than an open question, so the question was queued and the record left as it was found. Each item is asked once: re-running the check never piles up duplicates of a question already waiting.

Where to start, if the number is bad

  1. Read “what is actually wrong”, not the average. The average tells you there is a problem; the queue list tells you which one.
  2. Clear the zeroing problems first. Duplicates and inactive holders are few, and each one is dragging a record from whatever it deserves down to nothing.
  3. Then take the biggest single queue and run one bulk action against it. Missing tags and missing models are usually the two largest, and both have a one-step fix.
  4. Clean the catalogue on the Master data tab before assigning models in bulk — otherwise you will carefully point five hundred assets at a placeholder.
  5. Answer the reconciliation questions last. They are few, they need judgement, and they are the ones an auditor will ask about.
  6. Re-score what you touched, and check the number moved.

Who can do what

PermissionAllows
Assets: Data QualityOpen the workbench, read every queue, and export. Read-only — and deliberately so: anybody expected to help clean the register should be able to see what is wrong without also being able to rewrite it.
Data Quality: Apply bulk fixesRun the bulk actions. Not sufficient on its own for the two delegated actions above.

Related

Was this guide helpful?

Report a content problem