Dibee Fleet Platform Handbook
On this page

Document field extraction

Reference

When a document of a supported type is uploaded, the platform reads the photo with an AI vision model, pre-fills the document's fields as suggestions, links a vehicle document to the matching vehicle by its plate, and then holds the confirmed document for a supervisor to verify.

Overview#

Documents are uploaded against a document whose type is already known, so nobody has to say what kind of document the photo shows. Because the type is known, the platform asks the AI model for that type's fields only, which is more accurate than a general text scan. Every upload of a supported type is read, whether it comes from the Driver App or from the web portal. Reading runs in the background after the upload is saved, so the upload never waits for it. The AI values are suggestions: the values the driver confirms are what the document keeps, and a confirmed document waits in the review queue until a supervisor verifies or rejects it.

Document types and their fields#

Field extraction is switched on per document type. Four types have it today:

Document typeFields read from the photo
Driving licenceLicense number, full name, date of birth, issue date, expiry date, class
Vehicle registrationLicense plate, owner name, vehicle make, vehicle model, issue date, expiry date
Vehicle insurancePolicy number, license plate, insurer name, issue date, expiry date, coverage
Driver medical certificateFull name, clinic name, issue date, expiry date, fitness result

Other document types, such as the roadworthiness certificate, national ID, business registration and transport permit, are stored without extraction. The fields of each type are configuration, not code, so the platform team can enable another type without a new release.

Extraction statuses#

Each document carries an extraction status:

StatusMeaning
Not applicableThe document type has no extraction, so nothing is read
PendingA photo is saved and the reading is queued
In progressThe AI model is reading the photo
CompletedThe fields were read and wait for the driver to confirm them. Also the status once the driver has confirmed, including after a failed reading
FailedThe AI model returned an error; the fields are empty and are filled in by hand
stateDiagram-v2
    state "Not applicable" as na
    state "Pending" as pending
    state "In progress" as running
    state "Completed" as completed
    state "Failed" as failed
    na --> pending: photo saved for a supported type
    pending --> running: reading starts
    running --> completed: fields read
    running --> failed: model error
    failed --> completed: driver confirms
    completed --> pending: read again
    failed --> pending: read again
Diagram source (Mermaid)

Rules#

  • One reading per upload. Each photo is read once; nothing re-reads it automatically because a value looks wrong. A reading can be started again from the back office. That clears the previous values, the verification flag and any plate-mismatch flag first, and skips a document whose reading is still in progress.
  • Values that need a second look. Each field comes back with a confidence score. A field whose confidence is below the company's OCR confidence threshold is marked as needing review.
  • Dates. A successful reading fills the document's issue and expiry dates only when the document does not have them yet. The dates the driver confirms always replace them.
  • The driver can change every field. The confirmed values replace the AI values, and every field the driver changed is recorded next to the AI value, so the OCR adoption figures can tell accepted readings from corrected ones.
  • Confirm once. Fields can be confirmed only after the reading has finished, completed or failed, and only once: a second confirmation is refused as already confirmed.
  • Pending verification. Confirming marks the document as pending verification, and it appears in the Documents tab of the review queue.

Vehicle plate matching#

For a vehicle registration or vehicle insurance document, the plate the model read is compared with the plates of the vehicles assigned to the driver behind the document. Spaces and hyphens are ignored and letters are compared in upper case; other characters, such as dots, still count.

ResultWhat happens
The plate matches one of the driver's vehiclesThe document is attached to that vehicle
The plate is read but matches none of themThe document is saved with a plate-mismatch flag and stays where it was uploaded
No plate was read, no driver is identified, or the driver has no assigned vehicleNo match and no flag

The flag is the only signal: there is no separate notification and no error.

Notifications#

When a reading completes, one in-app notification, Document ready: followed by the document type, says We pre-filled the fields for your review. It is not sent as a push. It can be turned off in the recipient's notification preferences. A failed reading sends no notification.

Updated 2026-10-31 · Applies to commit afa8d231 · Built 2026-11-02