Property management system: leases, collection, maintenance and owner statements
A web system for a property management office in Riyadh that manages 640 units for 42 owners. It moves the work out of Excel files and manual payment chasing into one system: a registered lease agreement, a payment schedule that reminds by itself, a maintenance request with a work order behind it, and a monthly owner statement that issues automatically.
Interactive prototype: 10 web screens covering the portfolio, units, leases, collection, maintenance and owner statements.
Open the prototype1Executive summary
The office manages 640 residential and commercial units for 42 owners. Lease data sits in Excel files, tenants are chased for payment by individual calls and messages, maintenance requests arrive on one employee's WhatsApp, and owner statements are put together by hand at the end of each month and take days to produce.
This document specifies a web system covering: properties and units; lease agreements and their registration on Ejar, the Ministry of Housing tenancy registration platform; payment schedules, collection and automatic reminders; maintenance requests and work orders; owner statements; and renewals and move-out. The initial estimate is 640–885 development hours, that is 11–15 weeks for a team of two developers.
2Current state and objectives
| Problem today | Impact | Objective in release 1 |
|---|---|---|
| Leases kept in Excel files | Expiry dates pass unnoticed | One lease register with a renewal alert 60 days ahead |
| Payment reminders sent by hand | Arrears build up and collection runs late | A payment schedule per lease and automatic reminders on day 1, 7 and 15 |
| Maintenance requests on one employee's WhatsApp | Requests are lost and nobody knows the cost | A numbered request with a work order and the cost charged to the right party |
| Owner statement prepared by hand | 3 working days a month and arguments over the figures | A statement issued automatically with collections, expenses and commission |
| Rent sometimes taken in cash | Hard to evidence and hard to reconcile | Bank transfer or payment link only, every payment tied to a lease |
The portfolio figures (640 units, 42 owners) and the 5% management commission come from the discovery session and are to be reviewed before sign-off.
3Users and roles
| Role | What they do in the system | What they do not see |
|---|---|---|
| Office manager | Approves leases and discounts, and sees every report | — |
| Leasing administrator | Creates leases, keeps the Ejar registration details current and prepares renewals | Does not approve discounts |
| Collections officer | Records payments, works the arrears and sends reminders | Cannot change lease terms |
| Maintenance supervisor | Receives requests, raises work orders and records costs | Does not see collection data |
| Owner | Reads the monthly statement and sees their own units and their status | Does not see other owners' tenant data |
4Release 1 scope (MoSCoW)
MustRequired to go live
- Properties and units with status (let, vacant, under maintenance)
- Owners and tenants, their details and their documents
- Leases: term, rent, instalments, security deposit and the Ejar registration fields
- VAT treatment applied automatically: residential exempt, commercial 15%
- Payment schedule, collection, and every payment tied to a lease
- Automatic payment and arrears reminders
- Maintenance requests, work orders and cost allocation
- Monthly owner statement with commission and expenses
- Renewals, move-out and deposit settlement
- Reports: occupancy, collection, arrears, maintenance
- Role-based permissions and an audit trail
ShouldImportant but not a condition of going live
- An owner portal owners sign into themselves
- A tenant portal to view instalments and open a maintenance request
- Online payment links for each instalment
- Reminders over WhatsApp
- Journal export to the accounting system
CouldIf time allows
- Listings for vacant units and a public page for them
- Rating technicians and maintenance contractors
- Expiry alerts for owner and unit documents
Won'tNot in release 1
- General ledger and trial balance
- Sales, purchase and brokerage
- Facilities management and large operating contracts
- Cash collection at the office
5Functional requirements
Story format: "As a… I want… so that…". Acceptance criteria are written as Given / When / Then.
Portfolio and units PRT
As the office manager, I want to see the status of every unit in the portfolio, so that I know at a glance what is vacant, what is let and what is in arrears.
MustWhen I open the portfolio, then the system shall show the unit count, the occupancy rate, the month's collection and the arrears, and shall let me filter by property, owner or status.
As a leasing administrator, I want one page per unit that brings together its current lease, its lease history and its maintenance requests, so that I am not searching across several files.
MustLeases CNT
As a leasing administrator, I want to create a lease with its term, its rent and its number of instalments, so that the payment schedule is generated automatically.
MustWhen I enter an annual rent of SAR 65,000 and 4 instalments, then the system shall create 4 instalments of SAR 16,250.00 each with explicit due dates.
Given the unit is commercial, then the system shall add VAT at 15% on the rent; and given it is residential, then the rent shall be treated as exempt (BR-02).
As a leasing administrator, I want to record the Ejar registration details and the registered lease number, so that no key is handed over before the lease is registered.
MustGiven a residential lease with no registration number, then the system shall block the unit status from moving to "let" and shall show why (BR-01).
Collection CLC
As a collections officer, I want the system to send payment reminders on its own, so that I am not chasing tenants by telephone.
MustWhen the due date arrives, then a reminder shall go out on day 1, then on day 7, then on day 15, and the cycle shall stop as soon as the payment is recorded (BR-03).
As a collections officer, I want to record a payment against its lease and issue a receipt, so that the account reconciles with the bank.
MustGiven a commercial lease, then the system shall issue a tax invoice showing rent and VAT; and given a residential lease, then the system shall issue a receipt with no VAT.
As the office manager, I want an arrears board with ageing, so that I can decide when to escalate.
MustMaintenance MNT
As a maintenance supervisor, I want to take in the request, classify it as emergency or routine and raise a work order for a technician, so that it is done inside its window.
MustGiven an emergency request, then the system shall set a response target of 4 hours and shall put it at the top of the list; and given a routine request, then the target shall be 48 hours (BR-05).
As a maintenance supervisor, I want to record the cost of the work and who bears it, so that it lands on the owner statement or on the tenant's account.
MustWhen I approve the cost, then the system shall require the bearing party (owner or tenant) and shall store the reason and the photographs.
Owners and renewal OWN
As an owner, I want a monthly statement setting out collections, expenses, commission and the net due to me, so that I can follow my figure without a discussion.
MustWhen the month closes, then the statement shall be issued automatically on actual collections only, less the 5% commission and the VAT on it and the approved maintenance costs (BR-07).
As a leasing administrator, I want an alert 60 days before the lease term ends, so that I can put a renewal to the tenant or prepare the move-out.
MustAs a leasing administrator, I want to settle the security deposit at move-out after deducting documented damage, so that the lease closes without a dispute.
MustWhen I complete the move-out, then the system shall show the deposit, the deductions and their photographs, and shall issue a notice of the amount returned to the tenant (BR-04).
6Business rules
| Id | Rule |
|---|---|
| BR-01 | A unit does not move to "let" before the registered Ejar lease number has been saved. |
| BR-02 | Residential rent is exempt from VAT; commercial rent is standard-rated at 15%. The system derives the treatment from the unit type and does not leave it to the clerk's judgement. |
| BR-03 | An instalment falls into arrears 5 days after its due date. Payment reminders go out on day 1, day 7 and day 15, and stop as soon as the payment is recorded. |
| BR-04 | The security deposit is a liability held in the tenant's name. Nothing is deducted from it except damage evidenced by photographs and supported by an approved estimate. |
| BR-05 | An emergency maintenance request carries a response target of 4 hours and a routine one 48 hours. Compliance is measured monthly. |
| BR-06 | Maintenance cost is charged to the owner by default, unless the fault is caused by documented tenant misuse, in which case it is charged to the tenant. |
| BR-07 | The management commission is 5% of what is actually collected, not of the contracted rent, and is subject to VAT at 15%. |
| BR-08 | No money is taken in cash at the office. Bank transfer or payment link only, and every payment is tied to a specific lease and instalment. |
| BR-09 | The renewal notice goes to the owner and the tenant 60 days ahead, and no reply within 30 days is recorded as an intention not to renew. |
The commission rate and the reminder and escalation intervals are proposed here, and the office manager approves them before development starts.
7Data model and lease lifecycle
The lease is the central entity. It ties the unit to the tenant; instalments, invoices and reminders are generated from it; and maintenance costs and the deposit settlement are attributed back to it.
| Entity | Main fields | Relationships |
|---|---|---|
| Owner | Name, ID or commercial registration, bank account, agreed commission rate | Has properties, units and statements |
| Property | Name, district, title deed or licence, number of units | Belongs to an owner, has units |
| Unit | Number, type (residential / commercial), area, target rent, status | Has leases and maintenance requests |
| Tenant | Name, ID or commercial registration, mobile, email | Has leases and payments |
| Lease | Unit, tenant, term, rent, number of instalments, security deposit, Ejar registration number, status | Has instalments, invoices and renewals |
| Instalment | Due date, amount, VAT, payment status, collection date, bank reference | Belongs to a lease |
| Maintenance request | Unit, description, classification, response target, status | Has a work order and a cost |
| Work order | Technician or contractor, appointment, cost, bearing party, photographs | Belongs to a maintenance request |
| Owner statement | Month, collections, expenses, commission and its VAT, net, remittance status | Aggregates instalments and expenses |
| Audit trail | User, action, value before and after, reason, time | Not editable |
Lease lifecycle
8Non-functional requirements and compliance
| Id | Area | Requirement |
|---|---|---|
| NFR-01 | Performance | The portfolio of 640 units opens in under two seconds, and an owner statement exports in under 10 seconds. |
| NFR-02 | Financial accuracy | Every amount is stored to two decimal places, and every financial change leaves a record in the audit trail. |
| NFR-03 | Availability | 99.5% monthly, with a daily backup whose restore is tested every month. |
| NFR-04 | Personal data protection | Owner and tenant data is processed with consent and a privacy notice, and any breach is reported within 72 hours. |
| NFR-05 | Permissions | An owner sees their own units only, and maintenance staff do not see collection data. |
| NFR-06 | Language | The interface is Arabic, right to left, with Gregorian dates and the option to display the Hijri date. |
9Integrations
| Integration | Purpose | Priority | Notes |
|---|---|---|---|
| Ejar | Registering leases and holding the registered lease number | Must | In release 1 the lease is registered on the Ejar portal, and the number and its attachment are stored in the system. An API link is an open question. |
| SMS provider | Payment reminders and renewal notices | Must | Fixed templates approved by the manager. |
| Payment gateway | A payment link per instalment | Should | The transaction reference is matched to the instalment automatically. |
| Fatoora | Tax invoices for commercial leases and for the management commission | Must | Residential is exempt and no tax invoice is issued for it. |
| WhatsApp Business | Tenant reminders | Should | Approved templates only. |
| Accounting system | Export of collection and expense journals | Should | File export in release 1. |
A residential lease is registered and attested on the platform in five sections: lease details, the parties, financial details, terms and conditions, and the properties. It requires a valid ID for both parties, a mobile number registered with Absher and proof of ownership from the landlord, and the real estate broker must be licensed for brokerage activity. The stated fee is SAR 125 per year.
The lease of residential property is exempt from VAT, while the lease of commercial property is subject to the standard rate of 15%.
10Out of scope
- General ledger, trial balance and financial statements.
- Sales and purchase brokerage and property marketing.
- Facilities management and operating contracts for large developments.
- Cash collection at the office.
- Native mobile apps; the system is web-based and runs on desktop and mobile browsers.
11Delivery plan and effort estimate
| Module | Phase | Hours (low – high) |
|---|---|---|
| Design and screens, built out from the prototype | 1 | 40 – 55 |
| Users, permissions and audit trail | 1 | 30 – 40 |
| Properties and units | 1 | 45 – 60 |
| Owners, tenants and their documents | 1 | 40 – 55 |
| Leases, payment schedule and registration fields | 1–2 | 70 – 95 |
| Invoicing, collection and reminders | 2 | 80 – 110 |
| Online payment and payment matching | 2 | 45 – 65 |
| Maintenance and work orders | 2 | 60 – 85 |
| Owner statements | 2–3 | 55 – 75 |
| Renewals, move-out and deposit settlement | 3 | 35 – 50 |
| Reports | 3 | 35 – 50 |
| Testing and QA | 1–3 | 80 – 110 |
| Deployment, migration of the Excel data and training | 3 | 25 – 35 |
| Total | 640 – 885 |
| Phase | Weeks | Outcome |
|---|---|---|
| 1 · Foundation | 1–5 | Portfolio, units, owners, leases and the payment schedule. |
| 2 · Operations | 6–11 | Collection, reminders, invoices, maintenance and the owner statement. |
| 3 · Closing | 12–15 | Renewals, move-out, reports, data migration and training. |
The estimate covers the Must requirements only, for a team of two developers with a part-time tester, and excludes cleaning the existing Excel data before migration.
12Risks and open questions
| Item | Type | Proposed action |
|---|---|---|
| Does Ejar offer an API for property management offices? | Open question | Ask the platform early. If none exists, registration stays on the portal with the number entered by hand. |
| Quality of the existing Excel data | Risk | A sample migration in phase 1 to measure how much is missing before the full migration. |
| VAT treatment of the management commission | Open question | Confirm with the accountant before the owner statement layout is fixed. |
| Mixed units in one property (residential and commercial) | Open question | Set the treatment at unit level rather than property level, which is what this document assumes. |
| Owners resisting an electronic statement | Risk | Send the statement as a PDF by email and WhatsApp at first, with the owner portal later. |