Property Management Software

RentalManager — Property Management Software

Track repairs, expenses, mileage, receipts, and documents across your entire rental portfolio. Built for landlords and property managers who want a simple, self-hosted solution with real tax-time value.

RentalManager Dashboard screenshot
The RentalManager dashboard — portfolio summary, mileage deduction tracker, and open repairs at a glance.

Features Overview

🏠 Properties & Units

Manage any number of rental properties, each with one or more units. Track the tenant name, rent amount, and occupancy status per unit. Soft-delete keeps historical data intact when a property is retired.

🔧 Repairs

Log repair requests against any unit with a title, category (Plumbing, Electrical, HVAC, Appliances, Structural, Roofing, Flooring, Painting, Landscaping, Pest, Other), priority (Low → Emergency), and estimated/actual cost. Status progresses through Open → In Progress → On Hold → Completed / Cancelled — and the completion date is stamped automatically.

Filter the list by property, status, or priority. Use the inline search to find any repair by title, category, or vendor.

💰 Expenses & Receipts

Record every property-related expense with a vendor name, payment method, amount, and tax-deductibility flag. Attach one or more receipt images or PDFs per expense — files are stored on the server and viewable inline or downloadable. Filter by property, category, and year.

Supported expense categories: Repairs, Materials, Labor, Utilities, Insurance, Property Tax, Mortgage, HOA Fees, Management, Advertising, Legal, Accounting, Supplies, Other.

🚗 Mileage Log

Log every property-related drive with start/end location, trip date, and purpose. Check “Round Trip” and the app doubles the mileage automatically. The IRS standard rate ($0.70/mile for 2024) is built in — your tax deduction is calculated on every entry and summarized per year and per property.

📁 Documents

Upload photos, PDFs, Word documents, spreadsheets, and text files (up to 50 MB each). Tag documents to a property, unit, repair, or expense. Add free-form tags (e.g. roof, 2024, permit) for easy retrieval. Images appear in a visual photo grid; non-image files appear in a sortable table.

Supported categories: Photo, Receipt, Contract, Lease Agreement, Inspection, Permit, Insurance, Invoice, Other.

📊 Reports

Year-end tax & expense summaries in a single view. Select a tax year (and optionally filter by property) to see:

  • Total miles driven, IRS deduction amount, trip count, and a per-property breakdown
  • Total expenses, tax-deductible total, and an expense breakdown by category
  • A combined “Total Estimated Deductions” banner you can hand directly to your accountant

📊 Dashboard

At-a-glance summary cards for total properties, occupied/total units (with occupancy rate), open repairs (with emergency count highlighted), and year-to-date expenses. A mileage banner shows YTD miles and estimated IRS deduction. The dashboard also lists all open and in-progress repairs so nothing slips through.

License Tiers

Starter

Up to 5 properties · 1 user
  • Properties & Units
  • Repairs
  • Expenses & Receipts
  • Dashboard

Enterprise

Unlimited properties · Unlimited users
  • Everything in Professional
  • Tenant Portal (coming soon)
  • Priority support
Trial mode: All new installations start with a free 14-day trial that includes Starter-tier features. A banner in the app will show how many trial days remain and a link to enter your license key.

System Requirements

Server / Host Machine

  • .NET 9 Runtime (or SDK) — download from Microsoft
  • Windows 10/11, Windows Server 2019+, or any 64-bit Linux distribution supported by .NET 9
  • 500 MB free disk space for the application; additional space for uploaded receipts and documents
  • No external database server required — SQLite is embedded

Browser

  • Any modern browser: Chrome 90+, Edge 90+, Firefox 90+, Safari 15+
  • JavaScript must be enabled (required for Blazor Server)

Installation

Option A — Run from Source (Recommended for Evaluation)

  1. Install the .NET 9 SDK
    Download and run the installer from dotnet.microsoft.com. Verify with:
    dotnet --version
    # Should print 9.x.x
  2. Download or clone the repository
    git clone https://github.com/your-org/RentalManager.git
    cd RentalManager
    Or download and extract the ZIP release from the Releases page.
  3. Build and run
    Use the included helper script:
    # PowerShell
    .\run.ps1
    This runs dotnet clean → dotnet build → dotnet run. On first launch the SQLite database (RentalManager.Web/rental_manager.db) is created automatically.
  4. Open in your browser
    Navigate to https://localhost:5001 (or the URL printed in the console). You will be redirected to the first-run setup wizard.
Schema changes: If you update to a new version that includes database changes, delete RentalManager.Web/rental_manager.db before restarting. The app recreates the database automatically on next launch.

Option B — Self-Hosted Deployment (IIS on Windows)

  1. Install the .NET 9 Hosting Bundle on the server. This includes the runtime and the IIS module.
    Restart IIS after installation: iisreset
  2. Publish the application
    dotnet publish RentalManager.Web -c Release -o C:\inetpub\RentalManager
  3. Create an IIS site pointing to C:\inetpub\RentalManager. Set the application pool to No Managed Code.
  4. Set folder permissions — grant the IIS app pool identity Modify access to the publish folder so the app can write the SQLite file and uploaded files.
  5. Configure HTTPS — bind an SSL certificate to the site in IIS Manager (Let’s Encrypt via Certify the Web is a free option).
  6. Browse to your domain — the first-run setup wizard will appear.

Option C — Self-Hosted Deployment (Linux / Systemd)

  1. Publish to the server:
    dotnet publish RentalManager.Web -c Release -r linux-x64 --self-contained -o /opt/rentalmanager
  2. Create a systemd service unit at /etc/systemd/system/rentalmanager.service:
    [Unit]
    Description=RentalManager
    After=network.target
    
    [Service]
    WorkingDirectory=/opt/rentalmanager
    ExecStart=/opt/rentalmanager/RentalManager.Web
    Restart=always
    RestartSec=10
    User=www-data
    Environment=ASPNETCORE_ENVIRONMENT=Production
    Environment=ASPNETCORE_URLS=http://localhost:5000
    
    [Install]
    WantedBy=multi-user.target
  3. Enable and start:
    sudo systemctl enable rentalmanager
    sudo systemctl start rentalmanager
  4. Optionally put Nginx or Caddy in front as a reverse proxy to handle HTTPS.

First-Run Setup

On the very first launch RentalManager detects that no administrator account exists and automatically redirects every request to /account/setup.

  1. Create your Admin account
    Enter your full name, email address, and a password (minimum 8 characters, at least one uppercase letter and one digit). Click Create Account.
  2. You are now logged in as Administrator. The dashboard opens immediately — no separate login step needed.
  3. Activate your license (optional during trial)
    Navigate to Admin → License in the sidebar. Enter your license key and the email address associated with your purchase, then click Activate. A green confirmation banner confirms success.
  4. Add your first property
    Click Properties & Units in the left sidebar and then New Property.

Using the Application

Adding a Property and Its Units

  1. Go to Properties & UnitsNew Property.
  2. Fill in the property name, address, city, state, and ZIP. Save.
  3. On the property row click the Units icon to open the units list for that property.
  4. Click Add Unit — enter the unit number, monthly rent, tenant name (if occupied), and check Occupied.

Logging a Repair

  1. Go to RepairsNew Repair.
  2. Select the property and unit, enter a descriptive title, and choose the category and priority.
  3. Optionally enter an estimated cost and vendor name. Save.
  4. As work progresses, open the repair and change the status to In Progress, On Hold, or Completed. The completion date is filled in automatically when you mark a repair complete.
  5. You can attach expenses and documents directly to a repair from its detail page.

Recording an Expense

  1. Go to ExpensesAdd Expense.
  2. Select the property, enter a description, date, amount, category, and payment method.
  3. If the expense is tax-deductible check the Tax Deductible box — it will be included in the Reports summary.
  4. To attach a receipt, save the expense first and then re-open it to use the receipt upload section.

Logging a Mileage Trip

  1. Go to Mileage LogLog Trip, or click the Log Trip button on the Dashboard banner.
  2. Select the property (and optionally the unit), enter the start and end locations, miles driven, and purpose.
  3. Check Round Trip if you drove both ways — the total miles (and deduction) will be doubled.
  4. The IRS deduction at $0.70/mile is shown immediately on save.

Uploading Documents & Photos

  1. Go to Documents.
  2. Expand the Upload Documents / Photos panel.
  3. Select a property and (optionally) link to a repair. Choose a category and add comma-separated tags.
  4. Click Choose Files to Upload — you can select multiple files at once. Supported types: images, PDF, Word, Excel, and plain text. Maximum 50 MB per file.
  5. Images appear in the photo grid below; other file types appear in the files table where they can be previewed inline or downloaded.

Running a Tax Report

  1. Go to Reports.
  2. Select the tax year. Optionally filter to a single property.
  3. The left card shows your mileage deduction summary; the right card shows your expense summary by category.
  4. The green banner at the bottom shows the combined estimated deduction — mileage plus tax-deductible expenses. Share this number with your accountant.

Administration

Managing Users

Administrators can manage user accounts at Admin → Users (only visible to users with the Admin role).

  • Invite a new user: Click New User, enter their full name, email, a temporary password, and select their role (Admin or User).
  • Disable a user: Toggle the Active switch on their row. Disabled users are immediately signed out and cannot log back in.
  • Reset a password: Click the edit icon on their row and enter a new password.
Your license tier controls the maximum number of active users. Attempting to add a user beyond the limit will show a license limit error.

Activating or Changing Your License

  1. Go to Admin → License.
  2. The current status shows your tier, expiry date (or “Perpetual”), and how many properties and users you are using vs. your limit.
  3. To activate a new key, enter it in the License Key field along with your registered email, then click Activate.

Backing Up Your Data

All application data is stored in two places:

  • RentalManager.Web/rental_manager.db — the SQLite database (all records, users, settings)
  • RentalManager.Web/receipts/ and RentalManager.Web/documents/ — uploaded files organized by year

To back up, simply copy these files to a safe location. To restore, replace them with your backup copies and restart the application.

Tip: For automated backups on Windows, use the Task Scheduler to run a robocopy or xcopy command nightly. On Linux, a cron job with cp or rsync works well.

Updating to a New Version

  1. Back up your data (see above).
  2. Stop the running application.
  3. Replace the application files with the new release.
  4. If the release notes mention database schema changes, delete rental_manager.dbonly after backing it up. The app will recreate the schema on next launch.
  5. Start the application and verify everything loads correctly.

Questions or issues? Open a ticket in the support portal or email support@example.com.
© 2024 RentalManager. All rights reserved.