Property management software for a Dubai landlord, scoped
Nobody wakes up wanting property management software. They want to stop finding out that a tenancy expired last week, a cheque bounced in March, and the index lookup nobody did has now cost them a year of rent.
The request usually arrives as a spreadsheet problem. A landlord with somewhere between eight and forty units in Dubai has one workbook per building, a WhatsApp thread per tenant, and a folder of PDFs named after whoever scanned them. Something has gone wrong, normally a renewal that nobody noticed until after it lapsed, and the conclusion is that it is time to buy software.
That conclusion is usually right. What is usually wrong is the scope, because the obvious features are not the ones that pay. A unit list and a rent roll are easy, and they are not why anyone was losing money. The thing that was costing money is the date nobody was watching.
The renewal date is the spine, not a field
If you build only one thing, build the renewal calendar, and make every other part of the system hang off it. A tenancy in Dubai is an annual contract with a set of obligations that all key off its expiry, and missing the date does not produce a warning. It produces a tenant in occupation on last year's rent with a strong legal position.
The practical design consequence: expiry date is not one column among thirty. It is the index. Every screen in the system should be answerable from it, and the default view when someone opens the thing should be what expires in the next ninety days, not a list of properties sorted by name.
This is the same scoping move as every other build of this kind. A gym system is about the renewal, a clinic system is about the appointment, and the useful question is always which single recurring event the business actually runs on. We worked through that pattern in a clinic management system, scoped to what a clinic runs on, and it transfers directly.
What Ejari actually requires, from the source
Ejari is the Dubai Land Department system that records tenancy contracts, and it is the part most software gets vague about. The DLD's own register or renew a tenancy contract service page is worth reading before you write a schema, because it states the requirements plainly and they shape your data model.
The fees are fixed and published. Through the DLD website or the Dubai REST app the total is AED 177.75, made up of AED 100 registration, AED 10 knowledge fee, AED 10 innovation fee, AED 55 service partner fee and AED 2.75 VAT on that partner fee. Through a trustee centre it is AED 220, where the partner fee is AED 95 plus VAT. The trustee route is quoted at 25 minutes excluding waiting time.
The channel rules matter more than the fees, and they are the detail that decides whether your landlord can use the online route at all. The page restricts trustee office applications to properties that are not managed by a real estate company and not owned by someone with Ejari system access, while the online system is for licensed property management companies, individual owners managing their own properties, and representatives holding a power of attorney.
Read that twice if you are building for a self managing landlord, because it is good news. A landlord managing their own units is explicitly an online system user, which means registration and renewal can be a task in your software with a reference number stored against the tenancy, rather than a trip someone has to remember to make.
The documents follow from the same page: a copy of the Unified Tenancy Contract for the app route, and for a trustee centre the original contract plus the applicant's Emirates ID, with a power of attorney where a representative is acting. One nice detail for your forms: a power of attorney issued in Dubai can be entered by number, while one issued in another emirate has to be attached. That is a conditional file upload, not a mandatory one, and getting it wrong is how you end up with a form people refuse to use.
| What the tenancy record holds | Why it is not optional | Where it comes from |
|---|---|---|
| Contract expiry date | Drives renewal notice, index lookup and every reminder in the system | The tenancy contract |
| Ejari registration reference | Proof the contract is recorded; needed for utilities and government dealings | DLD after registration |
| Unified Tenancy Contract file | Required for registration through any channel | Signed by both parties |
| Emirates ID of the applicant | Required at a trustee centre | Tenant or representative |
| Power of attorney, conditionally | By number if issued in Dubai, attached if issued elsewhere | Representative only |
| Area, property type, room count | The exact inputs the rental index asks for at renewal | Set once per unit |
The renewal rent question, and what not to hardcode
At renewal the landlord wants to know what they are allowed to charge. Dubai answers this through the DLD rental index, and the official rental index service describes itself as letting a customer calculate the rental increase and the average rental in the market for a given area. Service time is immediate, and it runs through the DLD website, Dubai REST and DubaiNow.
What makes this a software requirement rather than a footnote is the input list. The index asks for the expiry date of the tenancy contract, the property type, the region, the number of rooms, and the current annual rent. Every one of those is something your system should already hold, which means the renewal screen can present the lookup as five fields already filled in rather than as a research task.
Now the part to get right by leaving it out. Do not hardcode the permitted increase percentages. They are widely republished, the bands are easy to find, and we could not confirm them on a Dubai Land Department page during this write up. A number that governs what your client may legally charge is not a number to copy from a property portal into a pricing function. Store the index result and the date you obtained it, and let the official tool be the authority.
This is a general rule for regulated verticals and it is worth stating as one: when a rule can change without telling you, your software should record the answer it was given, not reimplement the rule. The cost of being wrong is asymmetric, and the version that calls out is also the version that does not need a release every time a decree is amended.
Cheques, and why the payment schedule is its own object
Rent in Dubai is still commonly paid by a small number of post dated cheques, often one, two, four or twelve for the year. This breaks the data model that most off the shelf systems assume, which is a monthly invoice with a monthly payment.
Model the schedule explicitly. A tenancy has a payment schedule, a schedule has instalments, and an instalment has an expected date, an amount, an instrument and a status. That shape lets you answer the two questions a landlord actually asks, which are what is due in the next thirty days and which instalment has not cleared, without anyone recomputing anything.
- A bounced cheque is a status change on an instalment, not a deletion. The history is the point, because it is what you produce if the tenancy ends badly.
- Replacement cheques are common and need to link to what they replace, or the audit trail stops making sense after the first dispute.
- Cleared and received are different states. A cheque handed over in January and banked in April was never money in January.
- Security deposits are not rent. Keep them separate or they will be double counted in every report you build.
Maintenance, kept smaller than you think
Maintenance is where these projects get expensive, because the obvious version is a full work order system with contractor portals, scheduling and parts. For a landlord with thirty units, almost none of that pays.
The version that earns its keep is small: a tenant can report an issue with a photo, it lands against a unit, somebody is assigned, and the cost is recorded against the property so the annual numbers are real. That last part is the actual business value, because a landlord who cannot see cost per unit cannot tell a good investment from a bad one, and the rent roll alone will never tell them.
Resist the contractor portal until a contractor asks for it. In practice the handoff happens on WhatsApp and will continue to, and the useful thing is not replacing that conversation but recording its outcome against the unit.
Buy or build
There is a real market of property management products, and for a straightforward residential portfolio one of them is usually the right answer. The case for building is narrower than vendors or developers will tell you, and it comes down to one question: is there something about this portfolio that no product models?
Genuine reasons we have seen: a mixed portfolio across more than one emirate with different registration regimes, a family holding structure where the ownership split drives the reporting, or an existing accounting system that the numbers have to land in exactly. That last one is the common one, and it is worth pricing properly, because an integration is usually the largest line in the build. We set out why in what an API integration between two systems really costs.
Reasons that are not good enough: the available products look dated, or the licence fee annoys you. A licence you dislike is cheaper than a system you own, and ownership arrives with a bill that lands every year afterwards, which we worked out in software maintenance cost after launch.
The honest limits
The fees, channels, documents and index inputs above are quoted from the Dubai Land Department's own service pages as they read today, and service pages change. Check them before you build a form against them, and store a date alongside anything you cache. We have deliberately not reproduced the permitted rent increase bands, because we could not source them from DLD directly, and a figure that governs legal exposure deserves a better citation than we could find.
We have also said nothing about rental dispute procedure, service charges or the mortgage side, not because they do not matter but because they are different systems with different owners and folding them in is how a twelve week build becomes a year. If your portfolio is commercial rather than residential, treat most of the above as a starting point only: commercial leases run multi year with rent review clauses, and the renewal spine described here assumes an annual cycle.
One last thing worth saying plainly. If the only problem is that renewals get missed, the honest answer may be a shared calendar and a checklist rather than a system, and it is worth trying that for a quarter first. Finding tenants for the units that do fall vacant is a separate problem again, and closer to a real estate lead management system, honestly scoped than to anything above.
Describe it. We build it.
Seven or twelve days, pay on delivery, a year of maintenance included. Bring the problem, not a spec.
Book a meetingRead next
A field service job tracking app, and what the phone must do
A field service job tracking app: the two facts the office is chasing, why the phone must work with no signal, and why photos break the naive offline plan.
ReadA last mile delivery tracking system, scoped around the cash
A last mile delivery tracking system: why cash on delivery reconciliation is the hard part, what the driver app must work without, and the tracking defaults.
Read