// 01 — Project

Amlak —
Property Management

Full-lifecycle Saudi property management platform built on Odoo 17 — covering everything from CRM lead capture to tenancy, rent collection, Ejar compliance, and multi-region operations.

Odoo 17 Python PostgreSQL 15 Docker Nginx Ejar API OCA queue_job
↗ View Live Platform
// Overview

About this project

Amlak is a comprehensive property management platform purpose-built for the Saudi real estate market. It manages the complete lifecycle of a tenancy — from the first CRM lead through showings, reservations, and deal closure, all the way to contract signing on the Ejar government platform, ongoing rent collection, maintenance requests, and inspections.

The platform spans 14+ custom Odoo modules with deep Saudi market compliance built in: Ejar ECRS government integration, Riyadh rent-freeze enforcement (2025–2030), and multi-region support across Riyadh, Jeddah, and Dammam. A 7-role RBAC model enforces record-level access for admins, agents, owners, accountants, technicians, and tenant portal users.

// Features

Key Features

EJAR
Ejar ECRS Integration
9-state contract machine (draft → building → ready → submitted → approved/rejected/expired). Async job queue via OCA queue_job with HMAC-SHA256 webhook validation for government callbacks.
CRM
Lead-to-Tenancy Pipeline
End-to-end CRM flow: Leads → Showings → Reservations → Deals → auto-created Tenancy + Ejar contract. Converts a prospect to a paying tenant without manual handoffs.
AI
AI Property Matching
Scoring engine ranks properties against lead preferences — type, region, budget, area, rooms, and furnishing level. Presents the top 8 matches in a single click from the CRM lead form.
LAW
Riyadh Rent-Freeze Enforcement
Automatically blocks unauthorized rent increases on Riyadh properties for the 2025–2030 freeze period. A compliance wizard surfaces a warning and blocks save when the rule is violated.
PORTAL
Tenant Self-Service Portal
Tenants access /my/contracts, /my/payments, /my/maintenance, and /my/inspections through a dedicated web portal. ORM-level record rules enforce strict tenant isolation.
BROKER
Broker Commission Management
Supports percentage and fixed-amount commissions with multiple payment patterns (on_signup, monthly, split). Full invoice-to-payment flow with audit trail per broker.
RBAC
7-Role Access Control
Admin, Manager, Accountant, Agent, Owner, Technician, and Tenant Portal roles — each with ORM-level record rules. Users see only the records they're permitted to access.
GEO
Multi-Region Support
Properties, tenancies, maintenance, and inspections across multiple Saudi regions — Riyadh, Jeddah, and Dammam — with region-aware filtering and compliance rules.
// Stack

Technical Stack

FrameworkOdoo 17.0
LanguagePython
DatabasePostgreSQL 15
ContainersDocker Compose
Reverse ProxyNginx + SSL
Async JobsOCA queue_job
IntegrationEjar ECRS API
SecurityHMAC-SHA256 Webhooks