WilliamW Resources

Property management system for a multi-property Malaysian portfolio

A full-lifecycle system for an owner holding houses, shophouses, offices and land: every lease generates its rent invoices automatically each cycle, Malaysian property taxes (assessment, quit rent, RPGT, stamp duty) are modelled natively with payment bills, and one-click reports show the true P&L of every property.

Ask me on WhatsApp

Client delivery · 2026

Portfolio dashboard: occupancy, receivables, cash-flow chart and overdue alerts at a glance (sample data)

Collected this month

RM 2,500.00

Billed this month
RM 2,880.00
Net cash this month
RM 2,500.00

Sample data

Portfolio dashboard: occupancy, receivables, cash-flow chart and overdue alerts at a glance (sample data)

The starting point

A growing portfolio meant rent tracked in spreadsheets, deposits remembered by memory, tax deadlines rediscovered every year, and no way to answer a simple question: which property actually makes money after maintenance, taxes and financing?

What was built

  • Property → unit model with a lease state machine: draft, active, expiring, renewed or terminated, with deposits and stamp duty attached
  • Recurring billing engine: rent invoices generate themselves each cycle, with penalty and escalation terms applied automatically
  • Receivables and payables in one ledger: payment allocation, write-offs, deposit ledger, print-ready invoices
  • Malaysian tax engine: cukai pintu/petak, quit rent, RPGT and stamp duty with due dates and payment bills
  • Maintenance work orders and vendor bills tied to properties; documents filed per asset
  • Reports: rent roll, per-property P&L, AR aging, cash flow, occupancy and annual tax summary, all CSV-exportable; daily jobs run automatically

Tech stack

  • Next.js
  • React
  • TypeScript
  • PostgreSQL
  • Drizzle ORM
  • Docker

Inside the system

  • Per-property profit & loss report with income and expense breakdown, exportable to CSV (sample data)
    Per-property profit & loss report with income and expense breakdown, exportable to CSV (sample data)
  • Receivables center: auto-generated rent invoices with status tracking and outstanding balances (sample data)
    Receivables center: auto-generated rent invoices with status tracking and outstanding balances (sample data)
  • Print-ready invoice view for one-click PDF delivery to tenants (sample data)
    Print-ready invoice view for one-click PDF delivery to tenants (sample data)
  • Lease detail: deposits, rent escalation, penalty rules, invoice ledger and recurring billing plan (sample data)
    Lease detail: deposits, rent escalation, penalty rules, invoice ledger and recurring billing plan (sample data)
  • Built-in Malaysian property tax engine: assessment, quit rent, RPGT and stamp duty (sample data)
    Built-in Malaysian property tax engine: assessment, quit rent, RPGT and stamp duty (sample data)

What it changed

  • Rent collection runs on invoices and aging reports instead of memory and bank-statement archaeology
  • Every property answers for itself: income, expenses, taxes and net, in one report
  • Tax season preparation became an export instead of a reconstruction project
  • The accountant works in the same system with accountant-scoped access; no more emailed spreadsheets

Have a project in mind?

Tell me what you need. I usually reply within one business day.

Common questions

How is this different from property agency software?

Agency tools manage listings, viewings and commissions. This manages ownership: leases, money in and out, taxes and upkeep, the owner’s side of the table.

Can it handle properties held under different companies and personal names?

Yes. Each property records its holding entity, and finances roll up both per property and per entity, which keeps accounting and LHDN filings clean.

What does a property management system cost to build?

A first phase covering properties, leases and automatic invoicing is a few weeks of work; taxes, work orders and reports follow as milestones. Send me your portfolio size and I’ll reply with a concrete range within a business day.

Ready to scope it?

Send what you manage today and what hurts. I reply within one business day; once we have talked it through, you get a written scope with a fixed price per milestone within one business day.