Minimum PHP Version:
Required PHP Extensions:
First, navigate to the Databases section of your hosting panel. Click on MySQL® Databases to begin the process. This tool allows you to create and manage your databases and database users.
On the next screen, you will be able to create a new database. You will see a field to enter the name of your new database. The hosting provider automatically adds a prefix to the database name for security. After entering the name, click Create Database.
After creating the database, you'll need to create a user for it. Scroll down on the same page to the Add New User section. Enter a Username and a strong Password in the provided fields. Use the Password Generator tool to create a secure password. Click Create User to save the new user.
The final step is to grant the new user permissions to manage the database. On the Manage User Privileges page, check the box for ALL PRIVILEGES. This gives the user full control over the database, allowing them to create, modify, and delete tables and data. Click Make Changes to finalize the process. Your database and user are now set up and ready to use.
Log in to your cPanel account. In the main menu, look for the Files section and click on File Manager. This will open the file manager interface in a new tab.
In the File Manager, navigate to the folder where you want to upload your files. For a primary domain, this is typically the public_html folder. This folder is the "web root" and contains all the files that are accessible to the public on your website.
Once you are in the correct directory, click the Upload button in the toolbar at the top of the page. This will open a new window where you can drag and drop your files or click Select File to browse for files on your computer.
After the upload is complete, you should see a 100% progress message. The uploaded file should now appear in the folder you selected in the File Manager.
Open a web browser and navigate to your website's installation URL, which is typically yourdomain.com/install. This action will initiate the installation process and lead you to the App Installation Process page.
The next step is to ensure your server meets all the necessary requirements for the application. Click the "Click to Check Your Server Requirements" button to proceed.
After confirming the server extensions, the installer will check the necessary directory permissions. Ensure all permissions are correct (often shown with a green checkmark next to them) and then click "Click to Configure Your App Environment".
You will be given options to configure the app's environment. For a straightforward installation, select "Using Form Wizard Setup".
This is a critical step where you link the application to your database. Fill in the required fields with the information you gathered when setting up your database. This includes the Database Host, Database Name, Database User Name, and Database Password. You will also need to enter an Application Name and Application Url. Once all the details are entered, click "Click to Install".
The installer will now run the installation process, which includes preparing the database and running migrations. Once you see the "Application has been successfully installed" message, you have successfully completed the process. Click "Click here to exit" to finish.
Email : superadmin@gmail.com
Password : 123456
Email : owner@gmail.com
Password : 123456
Email : manager@gmail.com
Password : 123456
Email : tenant@gmail.com
Password : 123456
Email : maintainer@gmail.com
Password : 123456
Many features run automatically once a day: recurring invoices, reminders, late fees and more. For these to work, the server must open the system's cron job link every day. Set this up right after installation.
Log in as Super Admin, open Settings → Cronjob Settings and click Generate. The page then shows a ready-made command such as:
wget -q -O /dev/null https://yourdomain.com/cronjob?key=YOUR_KEY
In cPanel, open Cron Jobs, choose Once Per Day (or once per hour for faster reminders), paste the command and save. The Cronjob Settings page shows the time of the last run, so you can check that it works.
Keep the key private. If it is ever shared by mistake, click Remove and generate a new one.
Smart Tenant is a property and rental management system sold as a SaaS (software as a service). You (the Super Admin) run the platform. Property owners and companies sign up, choose a plan and manage their own business inside it. Each owner's data is kept completely separate from other owners.
Every user has a role. A role decides which menus a user sees and what they are allowed to do. Owners can edit the permissions of each role, or create new roles, under Staff Management → Roles.
| Role | What they can do |
|---|---|
| Super Admin | Runs the SaaS platform: customers (owners), packages, coupons, transactions, the landing website (CMS) and system settings. Can log in as any owner to help them (impersonate). |
| Owner | Full access to their own business: properties, tenants, finance, maintenance, reports, website, staff and settings. |
| Manager | Day-to-day work: tenants, maintainers, properties, units, maintenance and invoices. No access to roles, reports, pricing or company settings by default. |
| Accountant | Created for each owner by default. Focused on invoices, expenses and reports. |
| Front Desk | Created for each owner by default. Focused on leads, applications, visitors and tenants. |
| Landlord | For property owners whose homes you manage. Sees only their own properties, a statement of income and expenses, and payouts. |
| Tenant | Sees their own property and unit, invoices (and pays them online), agreement (signs it online), repair requests, notices and community features. |
| Maintainer | Sees only the repair jobs assigned to them, updates status, adds costs, photos and comments. |
Login details for each demo role are listed in the Default User Login Details section.
| Feature | What it does |
|---|---|
| Properties | Add each building or house with type, address, photos, description, amenities and advantages. Mark it for rent or for sale and show it on the website. |
| Units | Each property can have many units (flats, rooms, shops) with bedrooms, bathrooms, kitchen, rent, deposit and rent type. |
| Bulk units | Create many units at once using a floor and number pattern (for example A-101 to A-120), up to 500 at a time. |
| AI listing writer | Writes a property description from the facts you entered. Works with AI turned on, or with a built-in template without AI. |
| Types, amenities, advantages | Your own lists of property types, amenities (pool, gym, parking) and advantages, managed under System Configuration. |
| Occupancy | Each unit shows whether it is free or let. The dashboard shows the vacancy rate. |
Where: Real Estate → Properties / Units; System Configuration → Types, Property Amenity, Property Advantages.
| Feature | What it does |
|---|---|
| Tenant profiles | Personal details, property and unit, lease start and end dates, rent and documents. A login is created so the tenant can use their portal and the mobile app. |
| Agreements | Create rental agreements with your terms. The tenant signs online; a PDF copy with the signature is emailed and kept with a record of who signed and when. |
| Security deposits | A deposit ledger records money received, deductions and refunds for each tenant. |
| Document vault | Store tenant documents (ID, contract, insurance) with expiry dates. Reminders are sent before a document expires. |
| Move-in checklist | A checklist for each new tenant (keys, meter readings, documents) that you tick off as you go. |
| Rent increases | Schedule a new rent from a future date. It is applied automatically and future invoices use the new amount. |
| Lease renewal and exit | Renew a lease with new dates, or record a tenant leaving with the exit amount, charges and reason. |
| Calendar | One calendar with lease start and end dates, invoices due, maintenance, viewings, inspections and bookings, with filters. |
Where: Business Management → Tenants; Agreement; Calendar.
| Feature | What it does |
|---|---|
| Invoices | Create invoices for rent and other charges. The status (open, partially paid, paid) updates itself as payments come in. |
| Recurring and bulk invoices | Monthly rent invoices are created automatically for each tenant. You can also generate one month’s rent for all tenants in one click. |
| Online payment | Tenants pay with Stripe, PayPal, Flutterwave, Paystack, Razorpay or bank transfer, using the gateways the owner has set up. |
| Pay links | Send a secure link so a tenant can pay an invoice without logging in. |
| Autopay | Tenants can save a card (Stripe) or set up Razorpay so rent is charged automatically on the due date. |
| Late fees | A fixed amount or percentage is added to overdue invoices automatically, using the owner’s rules. |
| Receipts, credit notes and refunds | Download PDF receipts, issue credit notes and record refunds. Refunds reduce income in the reports. |
| Reminders | Payment reminders by email (and SMS / WhatsApp when Twilio is set up). |
| Expenses | Record costs per property with receipts. One expense can be split across several properties. |
| Utility billing | Record meter readings (water, electricity, gas) and turn the usage into an invoice. |
Where: Finance → Invoices / Expense / Utility Billing; Autopay (tenant menu).
| Feature | What it does |
|---|---|
| Repair requests | Tenants report problems with photos and a preferred date and time. Staff assign the job to a maintainer. |
| Job progress | Maintainers mark jobs as in progress and completed, add the cost, labour hours, an invoice and before/after photos. An "On my way" button lets the tenant know they are coming. |
| Ratings | Tenants rate the work when a job is completed. |
| AI triage | Suggests the category and urgency of a new request (when AI is turned on). |
| Preventive maintenance | Schedule regular jobs (for example servicing the lift every 3 months). Requests are created automatically when due. |
| Inspections | Room-by-room inspections with conditions, notes and photos, signed by the tenant. |
| Vendors | Keep a list of outside companies and link them to jobs. |
Where: Maintenance → All Requests / Pending / In Progress / Preventive Maintenance / Inspections / Vendors.
| Feature | What it does |
|---|---|
| Leads | Enquiries from the website, phone or walk-ins in one list with status, notes and follow-up. |
| Viewings | Visitors book a viewing time on the website from the free slots you set (days, hours, length, visitors per slot). |
| Applications | Visitors apply online for a unit and upload documents. Approving an application creates the tenant for you. |
| Lead expiry | Old leads are closed automatically after the number of days you choose. |
Where: Leads; Applications.
| Feature | What it does |
|---|---|
| Notice board | Post notices that tenants, staff and maintainers see on their dashboard. |
| Facilities | Tenants book shared facilities (gym, hall, BBQ area) in free time slots; double bookings are prevented. |
| Visitor passes | Tenants create a pass for a guest; staff at the gate check it on the Gate / Visitors page. |
| Parking | Manage parking slots and assign them to tenants. |
| Polls | Ask tenants a question; each tenant votes once and you see the results. |
| Reviews | Tenants write a review that, once you approve it, can be shown on your website. |
| Contact diary | An address book of useful contacts for your team. |
Where: Community → Facilities / Visitor Passes / Parking / Polls; Notice Board; Contact Diary.
Each role has its own dashboard. The owner's dashboard shows totals for properties, units and tenants, this month's income and expenses, pending payments, vacancy rate, overdue invoices, open repair requests and revenue charts.
| Report | Shows |
|---|---|
| Income / Expense / Profit & Loss | Money in and out by period and property. |
| Property Unit | Occupancy and rent for every unit. |
| Tenant History | Past and current tenants with lease dates. |
| Maintenance | Requests by status, cost and maintainer. |
| Ledger | Every charge and payment for a tenant or property, like a bank statement. |
| Tax Summary | Income and expenses grouped for tax filing. |
| Arrears Ageing | Unpaid rent grouped by how late it is (0–30, 31–60, 61–90, 90+ days). |
| Rent Roll | All units with tenant, rent, lease dates and balance. |
| Landlord Payouts | What is owed to each landlord after expenses and fees. |
Most reports can be downloaded as CSV or PDF.
| Feature | What it does |
|---|---|
| Email notifications | Ready-made email templates for new tenants, invoices, payments, repairs and more. Owners can edit the wording. |
| SMS and WhatsApp | Send messages through Twilio when it is set up in Settings. |
| Push notifications | Browser notifications on the website, and phone notifications in the mobile apps (Firebase). |
| AI tenant assistant | Tenants chat with an assistant that answers questions about their rent, invoices and repairs. Owners can read the chats under Tenant Chats. |
| AI writer | Helps write descriptions, notices and emails on many forms. |
| AI providers | Works with OpenAI, Anthropic Claude or Google Gemini, with an optional backup provider if the first one fails. |
| n8n webhooks | Send events (new user, new tenant, new maintainer, repair completed) to n8n to build your own automations. |
| Activity log | Logged History shows who logged in, when and from where (when the plan includes it). |
Where: System Configuration → Email Notification; Settings → Twilio / AI Settings; N8N; Assistant / Tenant Chats.
Every owner gets a public website at yourdomain.com/web/OWNER-CODE (or on their own domain). Visitors can browse properties, enquire and apply without logging in. The owner builds it under System Configuration → Frontend Manager.
| Feature | What it does |
|---|---|
| Home page builder | Turn sections on or off and drag them into order: banner with search, highlights, numbers, featured properties, amenities, about, team, listings, gallery, video, promo, call to action, testimonials, partners, FAQ and map. |
| Pages | Add your own pages (About Us, Services, House Rules, Privacy Policy...) and show them in the menu. |
| Design | Choose colours, font, layout style (classic, modern, minimal), button shape and light/dark mode. Visitors can switch to dark mode. |
| Property search | Search by location, rent or buy, type, bedrooms and price, with list and map views. On phones, extra filters fold away behind "More filters". |
| Property pages | Photo gallery, facts, description, amenities, units, map, enquiry form, viewing booking, Apply button, sharing and similar properties. |
| Visitor tools | Save favourite properties, compare up to 3 side by side, and sign up for email alerts when new matching properties are listed. |
| Contact | Contact page with address, phone, email, opening hours and WhatsApp, plus a floating WhatsApp button. |
| Blog | Publish articles to attract visitors and help search engines find you. |
| Reviews | Show testimonials and approved tenant reviews. |
| Languages | Offer the website in several languages with a language switcher; Arabic is shown right-to-left. |
| SEO | Page titles and descriptions, share images, clean property web addresses, sitemap, structured data for Google, Google Analytics and Facebook Pixel. |
| Custom domain | Connect the owner’s own domain (for example www.myrentals.com) when the plan allows it. Your server must point the domain to the system and provide SSL. |
| Website stats | See property page views and how many turned into enquiries, viewings and applications. |
| Cookie notice | A cookie consent notice with a link to the privacy page. |
The website works on phones, tablets and computers.
The package includes the source code of a Flutter mobile app for tenants and maintainers, in two separate projects: mobile_app/android_app and mobile_app/iphone_app. You build it with your own app name, logo and colours and publish it under your own developer account.
| Who | What they can do |
|---|---|
| Tenants | Home screen with what is due, invoices and receipts with a Pay now button (opens the secure payment page), repair requests with photos and ratings, agreement and inspection signing, deposit, documents, meter readings, notices, facility bookings, visitor passes, polls and the AI assistant chat. |
| Maintainers | Assigned jobs and schedule, status updates, "On my way", costs, photos and comments. |
| Push notifications | Phone notifications with an in-app inbox, set up from Settings → Mobile App using your Firebase project. |
| Same accounts | Users log in with the same email and password they use on the website. |
| Languages | The app follows the user’s language. |
Step-by-step build and publishing guides are inside each project's documentation folder (android.html and ios.html).
| Feature | What it does |
|---|---|
| Customers | All owners on the platform. Create an owner, assign a package, and log in as them to help (impersonate). |
| Packages | Create plans with a price, billing interval (monthly, quarterly, yearly or unlimited), free trial days and limits on users, properties and tenants. |
| Package features | Turn features on per plan: logged history, AI, n8n and custom domain. |
| Coupons | Discount codes with usage history. |
| Transactions | All subscription payments. Approve bank transfer payments here. |
| Plan limits | When an owner moves to a smaller plan, the extra users, properties and tenants are paused. |
| CMS | Edit the platform’s landing page, custom pages, FAQ, footer and login page. |
| Pricing switch | Turn pricing off to give every owner all features without a subscription. |
Where: Customers; Pricing → Packages / Transactions; Coupons; CMS; Settings.
| Settings tab | Used for |
|---|---|
| General / Company | App name, logo, favicon, currency, date and time format, timezone, invoice prefixes, late fee rules. |
| SMTP details for sending emails, with a test email button. | |
| Payment | Payment gateway keys: Stripe, PayPal, Flutterwave, Paystack, Razorpay and bank transfer. Super Admin keys take subscription payments; owner keys take tenant rent. |
| Site SEO | Title, description and share image for the landing website. |
| Google reCAPTCHA | Protects login and registration forms from bots. |
| 2 Factors Authentication | Extra login security with an authenticator app (Google Authenticator and similar). |
| Cloud Storage | Store uploaded files on the server, Amazon S3 or Wasabi. |
| Agreement | Default terms and conditions used in rental agreements. |
| Twilio Settings | SMS and WhatsApp messages. |
| AI Settings | Choose the AI provider (OpenAI, Anthropic Claude, Google Gemini), model and backup provider. |
| Mobile App | The API address the apps connect to, and the Firebase settings for phone push notifications. |
| Cronjob Settings | The key and command for the daily cron job (see Cron Job Setup). |
Which tabs a user sees depends on their role. Super Admin sees the platform settings; owners see the settings for their own business.
The system comes in 12 languages: English, Arabic, Danish, Dutch, French, German, Italian, Japanese, Polish, Portuguese, Russian and Spanish. Arabic is shown right-to-left.
Translations are stored in main_file/resources/lang, one JSON file per language (for example french.json). Edit the right-hand text to change a translation. To add a new language, copy english.json and the english folder to the new language name and translate them. Back up your changes before upgrading (see Software Upgrade Process).
If you have any queries, please create a support ticket, and our support team will respond as soon as possible.