When a municipal field collector in Riyadh, Jeddah, or Sharjah knocks on the door of a small business, the conversation has roughly thirty seconds to either pay or escalate. The collector cannot call the back office to verify whether the trade license is active; he cannot wait for an emailed scan of the certificate; he cannot take the owner's word for it. The verification has to happen on the device in his hand, against the authoritative registry, in the same task that the Daily Assignments queue surfaced that morning. That is the problem GovRevenue Field's License Lookup (البحث عن التراخيص) and Certificate Lookup (البحث عن الشهادات) were built to solve — and the reason they are first-class modules on the Field app, not free-text fields bolted onto a generic form. This deep dive unpacks how the two lookups chain through GIS Actions, Photo & Document Capture, Violations, and Objections to produce an audit-ready enforcement record on the same device, even when connectivity drops.

Why license and certificate verification is a field problem #

A trade license is not a static document; it is a living record. It is renewed annually, amended when the business expands, suspended when a violation is unpaid, and revoked when a court orders closure. A photocopy of the license in the shop window can be a year out of date the day after the renewal window closes. The only authoritative source is the issuing municipality's license registry, and a field collector who cannot query that registry in real time is reduced to two equally bad options: trust the paper copy and miss the lapsed license, or refuse to act and escalate the file to the back office for a follow-up visit two weeks later. Both options leak revenue, and both options erode the legitimacy of the municipality in the eyes of the business owner, who sees the collector walk away from a verifiable question. The Paperless Government mandates in Saudi Arabia, the UAE, and Egypt assume the collector can verify, not that the collector can defer.

Generic mobile-form apps and mainstream field-data tools treat license verification as a photograph and a free-text field: 'license number,' 'expiry date,' 'photo of license.' The verification logic lives in the collector's head, which is not a defensible system of record. When an auditor asks why a violation was issued against a business whose license was actually renewed three days earlier, the collector's recollection is not sufficient evidence. GovRevenue's License Lookup replaces that recollection with a structured, timestamped, registry-backed query whose result is attached to the originating task, the invoice, the violation, and the audit trail. The same is true of Certificate Lookup: a health-certificate verification, a fire-safety certificate, a professional licence for a clinic — each is a registry query whose result becomes part of the file, not a photograph in a folder.

How License Lookup and Certificate Lookup are modeled #

License Lookup is invoked from inside an assigned task — typically from the Unpaid Invoices screen or the Invoice Details screen, when the collector suspects the contact details are stale or the renewal has not been recorded. The collector enters the license number, scans the QR code on the printed license, or lets the system auto-populate from the invoice's linked license record. The lookup returns the registry's view of the license: issuing municipality, issue date, expiry date, business activity code, premises address, registered contact numbers, and current status (active, suspended, revoked, lapsed). The result is timestamped, geotagged through the device GPS, and written back to the originating task as a structured Verification record — not as a free-text note. Certificate Lookup follows the same pattern for health, fire-safety, professional, and sector-specific certificates, with a separate registry source per certificate type.

Both lookups are designed to fail closed. If the registry is unreachable because connectivity has dropped, the lookup is queued through Offline Resilience and the result is written when the device returns to coverage — but the violation, if any, is not auto-issued on an unreachable lookup. The collector can manually record the photo evidence through Photo & Document Capture and request the registry check on reconnect; the result then retroactively validates or invalidates the manual record. This ordering matters: an enforcement action based on an unverifiable lookup is a legal liability, and GovRevenue's design prevents it. The In-App Notifications module surfaces the queued lookup result to the collector and the supervisor simultaneously when sync completes, so the next daily assignment reflects the verified status rather than the original suspicion.

The verification loop with GIS Actions and Photo & Document Capture #

The two lookups do not run in isolation. When License Lookup returns a premises address that does not match the device's GPS reading, the collector opens a GIS Action that flags the mismatch and queues a verification of the geocoded license registry. The GIS Action does not just record the mismatch; it computes the distance between the registered address and the device location, attaches a geo-tagged photo of the storefront through Photo & Document Capture, and links the entire package — license lookup result, GIS mismatch, photo evidence, GPS reading — to the originating task and invoice. The Violations module then automatically drafts a Violation record citing the address mismatch, the registered premises address, the observed premises address, and the supporting evidence. The collector reviews the draft, attaches any additional photo evidence, and submits the violation; from there, Workflow Routing carries it to the supervisor for approval.

The same loop applies in reverse when a debtor files an Objection against the violation. The Objections module carries the full state history of the originating license lookup, GIS action, and photo evidence — so the supervisor reviewing the objection can see exactly what the collector observed, when, and on what authority. If the debtor produces a renewed license that was issued after the violation, the supervisor can mark the objection as accepted, retract the violation, and re-route the invoice through the renewed license's contact details — all from the originating Objection record, without losing the audit trail of the original enforcement action. This closed-loop design is what makes the verification defensible in front of a court, a regulator, or an internal audit committee. Generic forms tools produce a folder of photographs; GovRevenue produces a structured enforcement file.

A real-world scenario: a license-renewal drive in Dammam #

Consider a Saudi municipality in Dammam running a license-renewal drive across twelve thousand small businesses in the commercial district. Each morning, the Daily Assignments queue surfaces thirty debtor tasks per collector, ranked by Workflow Routing's click-priority on invoice value and overdue days. The collector's first action on each task is a License Lookup, invoked from the Invoice Details screen. For twenty-five of the thirty businesses, the lookup returns an active license with matching premises address; the collector collects the renewal fee through Payments, prints the renewed license certificate through the integrated printer, and moves to the next task. For four businesses, the lookup returns a lapsed license with an active renewal application; the collector records the application reference, defers the invoice through Invoice Extensions, and routes the file to the back office for follow-up once the renewal issues.

For the thirtieth business — a small restaurant whose WhatsApp number is closed and whose storefront looks shuttered — the lookup returns a revoked license with a premises address mismatch. The collector opens a GIS Action, photographs the shuttered storefront through Photo & Document Capture with geo-tagging, and submits a Violation record citing the revocation, the address mismatch, and the supporting photo evidence. The Violation routes through Workflow Routing to the supervisor, who reviews the photo, the GIS reading, and the license lookup result, and approves the violation. The restaurant owner files an Objection three days later, claiming the revocation was a registry error; the supervisor opens the Objection record, sees the full state history of the verification, and either accepts the objection (retracting the violation) or rejects it (escalating to legal). The entire lifecycle — invoice, license lookup, GIS action, photo evidence, violation, objection, decision — is one structured file in GovRevenue, not a folder of disconnected forms.

Integration with the back office and the audit trail #

On the GovRevenue Manager side, every License Lookup and Certificate Lookup result feeds the Licenses and Certificates master registries — the same registries that the Workflow Routing engine uses to scope invoice actions, that the Revenue Classification engine uses to assign revenue types, and that the Export & Reports module uses to produce compliance reports for the ministry of finance. A license lookup result is not a field on a form; it is a structured event that updates the registry, scopes the next invoice, and informs the next audit cycle. The Clients & Entities module links each license to the underlying client record, so a single client's full license history — across multiple municipalities, multiple business activities, and multiple financial years — is visible from one screen. The Organization & Geography module scopes each license to the issuing municipality, district, and street, so a regional supervisor can pull up all lapsed licenses in the Eastern Province sub-municipality in a single filtered view.

The audit trail is the asset the ministry of finance actually values. When the NDMO audit, the PDPL audit, or the equivalent Egyptian compliance review arrives, the auditor does not ask to see individual licenses; the auditor asks to see the verification events that produced those licenses. Each License Lookup result is a record with a timestamp, a GPS reading, a device ID, a collector ID, and a registry response — five fields that an auditor can sample, trace, and confirm. A generic forms tool cannot produce that record because the lookup is not a structured event; GovRevenue produces it natively across all forty features, with License Lookup and Certificate Lookup as the field-side verification primitives that anchor the entire enforcement lifecycle.

A license photograph is a souvenir. A registry-backed lookup is evidence. Municipalities need the second.