Al-Jalil Developers case study
Meter readings for Al-Jalil: from field capture to electricity billing.
How assigned plots, camera-led capture, local and cloud OCR assistance, offline continuity and Odoo validation come together in the Al-Jalil meter-reader app.
Accurate monthly electricity billing starts with a reading matched to the correct meter, property and billing period.
For Al-Jalil Developers, the meter-reading problem crosses two very different environments. In the field, a reader needs a clear route, fast search and a reliable camera workflow. In the office, billing needs the correct plot, meter, previous reading, present reading and review status on the right monthly record.
The app starts from meter-reading lines prepared in Odoo. Each photograph and captured value returns to its assigned reading line for validation and billing.
01 / Controlled assignment
Reading assignments are managed in Odoo.
A supervisor prepares the monthly meter-reading lines, assigns them to a reader and publishes the selected records to mobile. The app downloads only the records allowed for that user and company. If an assignment changes, the server version provides a controlled way to detect the difference.
Each mobile row carries the meter number, plot or house number, block, customer, meter type and previous reading. The reader can search across those business references, filter the list by progress and sort the route by plot.
Assignments download in manageable batches. The phone saves its position after every successful batch, so an interrupted download resumes instead of starting the route again.
02 / Evidence at source
Different meter types receive different capture requirements.
A single-register meter requires its normal display photo. A three-register meter can require separate normal, peak and off-peak photographs. The app shows the relevant previous values from Odoo before capture and keeps the plot, meter and register label visible in the reading context.
The camera experience includes framing and image-quality guidance so the reader can keep the full display in view. A capture is saved against the exact assigned reading line, along with its register type, time and any reader remarks.
Single register
Normal display, previous normal reading and one required evidence photo.
Three register
Normal, peak and off-peak displays remain distinct through capture and upload.
Field context
Plot, block, customer, meter number and meter type identify the job before capture.
03 / Assisted interpretation
OCR helps read the display, but it does not replace the evidence.
After a photo is captured, the app first runs local text recognition. The reading parser looks for a plausible meter value while screening out dates, meter serials and plot references. It also compares the candidate with the previous reading so an obviously lower result is not accepted casually.
If the local result is uncertain, the same photo can move to a cloud-vision fallback. The service is instructed to return no reading when the display is partial, blurred or insufficiently clear. Confidence and OCR context remain available for review, while the original photograph stays attached to the Odoo reading line.
See
Capture the correct display with a register-specific camera workflow.
PHOTO IS THE EVIDENCEInterpret
Run local OCR first and use a cloud fallback only when needed.
OCR SUPPORTS THE READERChallenge
Compare against the previous value and route uncertain results for review.
DO NOT GUESS04 / Route continuity
Reading capture continues when the connection is unavailable.
The assigned route, capture status and photographs are stored locally on the device. A completed capture enters a local queue first, with a unique transaction identifier and revision. Background synchronisation uploads the metadata and required photos when the connection is available.
Network retries do not advance the route cursor or delete pending work. If the app closes during assignment download, it resumes from the next pending batch on the next opening. Successfully uploaded records can later be cleared from the phone without removing the Odoo record.
05 / Server-side control
Odoo validates the reading before it becomes billing input.
The API verifies that the reading line exists, is published and belongs to the signed-in reader. Assignment revisions and unique mobile identifiers protect the workflow from stale or duplicate submissions. Required photos must arrive before finalisation.
Lower readings, unusually high consumption and incomplete photo sets are not silently forced into the bill. They receive an explainable exception status. If a monthly batch has already been locked, a late capture is held in a separate review queue where a supervisor can approve, reject or ignore it.
This gives the office a practical audit trail: who captured the reading, which device and revision sent it, what evidence arrived and why a record did not proceed normally.
06 / Billing connection
The accepted result lands on the meter-reading line used by billing.
When the required registers and photos pass validation, Odoo writes the present reading, conducting user and date to the original meter-reading line and marks it conducted. For a three-register meter, peak and off-peak values remain separate while the current total is derived consistently.
The electricity-billing batch can then use the previous and present values to calculate consumption units and apply the configured tariff, surcharge, adjustment and billing rules. The app does not calculate the customer bill on the phone; it supplies a controlled, evidence-backed input to the billing engine.
The customer-facing side of that handover continues in AJD Connect, where the resident can review the meter, readings, units, charge heads, due amount and official bill PDF from the authorised Odoo account.
07 / Operational result
Assigned readings and evidence in one billing record.
The Al-Jalil meter-reader app gives the field team a searchable route based on assigned readings. Billing users receive the plot, meter, month, previous value, present value and supporting photographs in the same record.
Local storage supports offline capture, and OCR reduces repetitive digit entry. Odoo manages access, exceptions, evidence retention and tariff calculations.
The field team can complete readings on site while the office retains the records needed to review exceptions and prepare bills.
Read the AJD Connect customer-billing case studyCustom mobile applicationsCustom ERP systems
