RRakiza Property Management
ShadoApps ServicesالعربيةWork sample · fictional client
Software Requirements Specification

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.

Version
1.0
Date
Sep 2026
Status
Ready for sign-off
Prepared by
ShadoApps

Interactive prototype: 10 web screens covering the portfolio, units, leases, collection, maintenance and owner statements.

Open the prototype

1Executive 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 todayImpactObjective in release 1
Leases kept in Excel filesExpiry dates pass unnoticedOne lease register with a renewal alert 60 days ahead
Payment reminders sent by handArrears build up and collection runs lateA payment schedule per lease and automatic reminders on day 1, 7 and 15
Maintenance requests on one employee's WhatsAppRequests are lost and nobody knows the costA numbered request with a work order and the cost charged to the right party
Owner statement prepared by hand3 working days a month and arguments over the figuresA statement issued automatically with collections, expenses and commission
Rent sometimes taken in cashHard to evidence and hard to reconcileBank transfer or payment link only, every payment tied to a lease
Assumption

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

RoleWhat they do in the systemWhat they do not see
Office managerApproves leases and discounts, and sees every report—
Leasing administratorCreates leases, keeps the Ejar registration details current and prepares renewalsDoes not approve discounts
Collections officerRecords payments, works the arrears and sends remindersCannot change lease terms
Maintenance supervisorReceives requests, raises work orders and records costsDoes not see collection data
OwnerReads the monthly statement and sees their own units and their statusDoes 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

US-01

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.

Must

When 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.

US-02

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.

Must

Leases CNT

US-03

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.

Must

When 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).

US-04

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.

Must

Given 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

US-05

As a collections officer, I want the system to send payment reminders on its own, so that I am not chasing tenants by telephone.

Must

When 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).

US-06

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.

Must

Given 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.

US-07

As the office manager, I want an arrears board with ageing, so that I can decide when to escalate.

Must

Maintenance MNT

US-08

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.

Must

Given 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).

US-09

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.

Must

When 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

US-10

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.

Must

When 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).

US-11

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.

Must
US-12

As 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.

Must

When 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

IdRule
BR-01A unit does not move to "let" before the registered Ejar lease number has been saved.
BR-02Residential 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-03An 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-04The 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-05An emergency maintenance request carries a response target of 4 hours and a routine one 48 hours. Compliance is measured monthly.
BR-06Maintenance 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-07The management commission is 5% of what is actually collected, not of the contracted rent, and is subject to VAT at 15%.
BR-08No 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-09The 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.
Assumption

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.

EntityMain fieldsRelationships
OwnerName, ID or commercial registration, bank account, agreed commission rateHas properties, units and statements
PropertyName, district, title deed or licence, number of unitsBelongs to an owner, has units
UnitNumber, type (residential / commercial), area, target rent, statusHas leases and maintenance requests
TenantName, ID or commercial registration, mobile, emailHas leases and payments
LeaseUnit, tenant, term, rent, number of instalments, security deposit, Ejar registration number, statusHas instalments, invoices and renewals
InstalmentDue date, amount, VAT, payment status, collection date, bank referenceBelongs to a lease
Maintenance requestUnit, description, classification, response target, statusHas a work order and a cost
Work orderTechnician or contractor, appointment, cost, bearing party, photographsBelongs to a maintenance request
Owner statementMonth, collections, expenses, commission and its VAT, net, remittance statusAggregates instalments and expenses
Audit trailUser, action, value before and after, reason, timeNot editable

Lease lifecycle

DraftAwaiting registrationActiveExpired
ActiveAwaiting renewal decisionRenewedNotice 60 days ahead (BR-09)
ActiveIn arrearsEscalation5 days after the due date
ExpiredMove-out and deposit settlementClosed

8Non-functional requirements and compliance

IdAreaRequirement
NFR-01PerformanceThe portfolio of 640 units opens in under two seconds, and an owner statement exports in under 10 seconds.
NFR-02Financial accuracyEvery amount is stored to two decimal places, and every financial change leaves a record in the audit trail.
NFR-03Availability99.5% monthly, with a daily backup whose restore is tested every month.
NFR-04Personal data protectionOwner and tenant data is processed with consent and a privacy notice, and any breach is reported within 72 hours.
NFR-05PermissionsAn owner sees their own units only, and maintenance staff do not see collection data.
NFR-06LanguageThe interface is Arabic, right to left, with Gregorian dates and the option to display the Hijri date.

9Integrations

IntegrationPurposePriorityNotes
EjarRegistering leases and holding the registered lease numberMustIn 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 providerPayment reminders and renewal noticesMustFixed templates approved by the manager.
Payment gatewayA payment link per instalmentShouldThe transaction reference is matched to the instalment automatically.
FatooraTax invoices for commercial leases and for the management commissionMustResidential is exempt and no tax invoice is issued for it.
WhatsApp BusinessTenant remindersShouldApproved templates only.
Accounting systemExport of collection and expense journalsShouldFile export in release 1.
Reference · Ejar

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.

Reference · VAT

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

11Delivery plan and effort estimate

ModulePhaseHours (low – high)
Design and screens, built out from the prototype140 – 55
Users, permissions and audit trail130 – 40
Properties and units145 – 60
Owners, tenants and their documents140 – 55
Leases, payment schedule and registration fields1–270 – 95
Invoicing, collection and reminders280 – 110
Online payment and payment matching245 – 65
Maintenance and work orders260 – 85
Owner statements2–355 – 75
Renewals, move-out and deposit settlement335 – 50
Reports335 – 50
Testing and QA1–380 – 110
Deployment, migration of the Excel data and training325 – 35
Total640 – 885
PhaseWeeksOutcome
1 · Foundation1–5Portfolio, units, owners, leases and the payment schedule.
2 · Operations6–11Collection, reminders, invoices, maintenance and the owner statement.
3 · Closing12–15Renewals, move-out, reports, data migration and training.
Assumption

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

ItemTypeProposed action
Does Ejar offer an API for property management offices?Open questionAsk the platform early. If none exists, registration stays on the portal with the number entered by hand.
Quality of the existing Excel dataRiskA sample migration in phase 1 to measure how much is missing before the full migration.
VAT treatment of the management commissionOpen questionConfirm with the accountant before the owner statement layout is fixed.
Mixed units in one property (residential and commercial)Open questionSet the treatment at unit level rather than property level, which is what this document assumes.
Owners resisting an electronic statementRiskSend the statement as a PDF by email and WhatsApp at first, with the owner portal later.

13Appendix: prototype screens