Skip to main content

Document recognition (OCR)

When someone uploads a document against a credential — a photo of a card, a scanned certificate, a PDF — Oho can read it and tell you whether it is the document it is supposed to be. In the app this is Settings → Manage → OCR, "Optical Character Recognition".

It reads documents uploaded against a qualification too, and asks a different set of questions there. See Reading a testamur below.

Availability: Premium.

It runs on every credential type until you narrow it

Until an admin saves a type list under Settings → Manage → OCR, document recognition applies to every credential type your plan entitles. The screen opens with the whole catalogue already in the OCR enabled column for exactly that reason — it is showing you what is already happening, not an empty slate waiting to be filled.

What it actually does​

This is the part worth being precise about, because the name invites a bigger assumption than the feature makes good on.

It answers two questions about the file, and what Oho does with the second answer depends entirely on who uploaded it.

Question one — is this the right kind of document? Oho identifies what kind of document the file is, compares that against the credential type it was uploaded for, scores its confidence, and explains its reasoning, including any concerns it noticed about the image.

Question two — what does this document say? Oho also reads named details off the document: the number that identifies it, the issue and expiry dates, the issuing authority, the jurisdiction, and the holder's name. These are read on every scan. What happens next is the part to get right.

Where the details are filled in for you​

Where the file was uploadedWhat Oho does with the details it read
A link Oho sent the person — a fetch request, a credential check, or a recruitment checkFills in the form in front of them: credential number, issue date, expiry date, issuing authority, jurisdiction, and surname.
An admin or the API, on a credential that already existsFills in nothing. The details are stored with the attachment and compared against the record.

On the first path the person is filling in a form, so Oho writes what it read into the boxes they have not typed in themselves — and only when the document matched the expected type. A value they already typed is never overwritten. They see every filled box before they submit, and can change any of it. Given names are deliberately left alone; only the surname is filled, because a scanned "JANE SANDHU" lands in a box labelled Surname and would be submitted as a legal name.

On the second path nothing is written to the record. Oho compares three of the details it read — expiry date, reference number and surname — against what the credential already holds, and raises a Review & Decide item on any disagreement, for a person to settle.

Check what was filled in

The reading is done by an AI model, so it is a good guess and not a fact. Certificates in particular carry several numbers, and a training certificate's unit codes (HLTAID011, CHCCCS015) name the course, not the certificate. Oho tells the model to return the certificate's own number and trims an obvious list back to one value, but the result still needs an eye on it before anyone relies on it.

A reference number read off a document can also be far longer than one typed by hand. If you write credentials back to an HR system, check the value fits that system's field before it gets there — a long one is usually a sign the wrong thing was read, not a long number.

Recognition is not verification

Recognising a file as a Working With Children card says nothing about whether that card is real, current, or belongs to this person. Only a check against the issuing register answers that — see One-off verification. Document recognition sits in front of verification, catching the wrong file before anyone relies on it.

What happens on upload​

  1. The file is uploaded against a credential whose type has OCR enabled.
  2. Oho sends it for analysis and gets back a detected document type, whether that matches the expected type, a confidence score, any concerns, and the details it could read off the document.
  3. The result is stored with the attachment. On a capture link, the matching details are filled into the form for the person to check — see the table above.
  4. If the result is low confidence or an outright mismatch, an item is raised in Review & Decide for a person to look at. A clean, confident match raises nothing — unless a detail read off the document disagrees with the record, which raises its own item.

The low-confidence threshold is 70%. Below that — or where the analysis says the document is simply not the expected type — the attachment goes to review. A stated mismatch is treated as more urgent than a borderline score, on the reasoning that "this is the wrong document" is a more actionable finding than "I'm not sure".

Resolving a flagged attachment​

A flagged attachment appears in the queue with the file name, when it was uploaded, the confidence percentage, what the analysis thought the document was, and its reasoning. A reviewer picks one outcome:

ButtonUse it when
Accept documentIt's the right document. If a detail on the record was wrong, fix it from the review item first
Flagged incorrectlyThe document and the record are both right, and Oho misread the document
Wrong documentThe file isn't the credential it's attached to
Request updated documentYou need the person to send a replacement

Flagged incorrectly accepts the document just as Accept document does, but it is recorded separately, so your organisation and Oho can see how often a document is flagged without cause.

Asking for a replacement sends the person a re-upload link and closes the item honestly — as a request for a better document, rather than as a judgement on the one supplied. The replacement, when it arrives, is analysed in its turn and raises its own review if it needs one.

Reading a testamur​

A document attached to a qualification — a testamur, a statement of attainment, an academic transcript — is read as well, and the questions are not the same ones.

A credential document is checked against a card: its number, its expiry, the surname on it. A qualification is not a card. What identifies an attainment is the national training code, the organisation that issued it, and the date it was completed, so those are what Oho reads off the paper. It then asks its copy of the national register whether that code and that provider are real, and compares what it read against the qualification record it was filed against.

What you see on the file, and in the review item:

What Oho foundWhat it means
Not a certificateThe file was read as something else entirely — a payslip, a photo. Worth looking at first.
Code not on registerThe code printed on the document is on no register Oho holds. Usually a code read one character out.
Title differsThe code resolves, but to a different course than the document's title names.
A percentageBelow 70%, Oho is unsure the file is a training certificate at all.
A code, in greenRead cleanly, and nothing on it disagrees with the record or the register.
Not readNothing was asked. Not a finding — see below.
A clean read is not a verified qualification

training.gov.au publishes no per-person attainment lookup. There is no register anywhere that can be asked "does this person hold CHC33021". So the strongest thing a clean read can tell you is that the course and the provider printed on the document exist — not that this person earned it.

That is why every qualification document still raises a Review & Decide item asking a person to sight it, however cleanly it reads, and why accepting one records the qualification as document verified rather than issuer verified. A credential attachment that verifies cleanly raises nothing; a qualification document always does. The difference is the register, not the policy.

Unlike the credential path, nothing read off a testamur is ever written onto the qualification. Oho shows you what the document says beside what the record says, and a person decides which is right.

"Not read" is not a finding

Reading is skipped when your plan does not include document recognition, when the master switch is off, and for files above the model's 5 MB limit — qualification uploads themselves allow 10 MB, so a large scanned transcript is stored and reviewed without being read. None of those is a judgement about the document.

The OCR enabled credential-type list does not apply to qualifications: those are credential types, and a qualification has none. Only the master switch turns testamur reading off.

Turning it on​

Under Settings → Manage → OCR there are two controls:

  1. Attachment scanning — the master switch for the organisation. Turning it off stops document recognition everywhere, including the details filled into capture forms.
  2. Credential types — the OCR enabled list. Once you save, only types on that list are scanned; before anyone has saved, every type is. The catalogue covers every built-in type plus any custom credential types you've created.

Enabling it for everything is rarely the right call. The value is highest on credential types where the document is the evidence and a wrong file would go unnoticed; it is lowest on types that get verified against a register anyway, where the register is the real check.

Limits worth knowing​

LimitValue
File size5 MB per file
Image formatsJPEG, PNG, WebP, GIF, HEIC
Document formatsPDF
ScopeCredential types on the OCR-enabled list, plus every qualification document

Analysis is performed by an AI model running in Amazon Bedrock, in AWS's Sydney (ap-southeast-2) region — the same region as the rest of your Oho data. See Data retention & privacy for how attachments are stored and removed.

Treat the confidence score as a prompt, not a verdict

The score reflects how sure a model is that a file looks like a kind of document. A high score on a convincing forgery is entirely possible, and a low score on a poorly-lit photo of a genuine card is routine. Use it to decide what a person should look at — not as evidence in its own right.