Leases and contracts
Offers, contracts, Ejar import, and the path a tenant takes from interest to signed.
On this page
The lease workflow takes a prospective tenant from initial interest to a signed, active contract — and then keeps that contract running until expiry. This article covers the offer-to-contract path, Ejar import, and how to handle historical contracts that started before you joined the system.
The path from offer to signed contract
Contact (prospective tenant)
│
▼
Lease offer ──► Negotiated ──► Accepted ──► Contract
│
▼
Optional: rejected / withdrawn → archived
- Contact — Capture the prospect under Contacts → Add contact. Pick the role "Tenant" or "Prospective tenant".
- Lease offer — Open Leases → New offer. Pick the unit, the contact, propose start/end dates, monthly rent, and any one-off fees. Save the offer. It enters the workflow's "Draft" step.
- Negotiate — Edit the offer as terms evolve. Each version is logged.
- Accept — When the prospect agrees, mark the offer Accepted. The system creates a Contract from the offer's terms. The offer itself stays archived for the audit trail.
- Contract — Now live. Receivables are generated for every scheduled rent installment; deposits are recorded; the contract appears on the property/unit page.
Ejar import
If you operate under the Saudi Ejar system, you don't need to retype contracts. Open Contracts → Import from Ejar, upload the signed PDF, and confirm the extracted fields. The system reads the Ejar template (parties, term, rent, schedule) and creates the contract directly — no offer required, since Ejar contracts are already executed. See the dedicated Ejar contract import page for a complete walkthrough.
[!tip] Imported Ejar contracts go through the same lifecycle as native ones. The only difference is the import metadata is preserved so you can always trace back to the original PDF.
The Free plan caps PDF extracts at 10 over the lifetime of the workspace. Paid plans are unlimited. See Plans and billing.
Backfill (historical contracts)
When you start using the system, you probably already have contracts in progress from before. Contracts → Backfill is a guided flow for entering them:
- Pick the property and unit.
- Enter the contract terms (start, end, rent, schedule).
- Tell the system which past receivables have already been paid, partially paid, or are still owed.
- Submit. The system creates the contract and back-dates the historical receivables and payments so your dashboard reflects reality.
Backfilled contracts don't go through the offer step — they're treated as already-active from the start date you specified.
Contract lifecycle
A contract has three lifecycle states:
- Active — Between start and end date. Receivables generate on schedule; payments verified per the workflow.
- Expiring soon — Within 90 days of end date. Appears on the dashboard expiry alert; the contract-expiry workflow can prompt a renewal flow.
- Expired / archived — Past end date. Stays read-only for reporting; you can't add new payments or receivables to it, but you can still see history.
Renewal is a new contract — clone the expiring one as a starting point and adjust terms.
Documents
Each contract holds attachments: the signed PDF, addenda, ID copies, photos. Stored encrypted; visibility scoped by permission. The contract PDF is also generated automatically by the system if you want a printable version.