🛠️ Building in Public

How I Built Ezy Loan Manager: Software for Jamaican Micro-Lenders

📅 April 2026 ⏱️ 10 min read ✍️ Leroy Alexander

Micro-lending is a significant industry in Jamaica. Small loan companies serve people who need quick access to cash — payday loans, emergency funds, small business capital. It's not glamorous, but it's essential for many Jamaicans.

The problem: most micro-lenders run their operations on spreadsheets, notebooks, and memory. That's fine with 20 loans. It breaks down with 200.

Ezy Loan Manager is my solution — a WordPress plugin that handles loan tracking, payment schedules, customer management, and reporting for small to medium lending operations. This is the story of building it.

The Industry Problem

A typical Jamaican micro-lending operation works like this:

  1. Customer applies for a loan (often in person)
  2. Loan officer reviews documents and approves/denies
  3. Money is disbursed (cash, bank transfer, or mobile money)
  4. Customer makes payments (fortnightly or monthly, often in cash)
  5. Loan closes or customer defaults

Sounds simple. But tracking this across hundreds of customers, with different loan amounts, different payment schedules, different start dates, and varying compliance requirements — that's where it gets complicated.

What I Heard from Operators

"I have a spreadsheet but it's a mess. I don't really know who owes me what until I dig through it. And when customers call asking their balance, I have to look it up and calculate manually."

Generic loan software exists, but it's designed for banks — complex, expensive, overkill for a shop with 100-500 active loans. Jamaican micro-lenders needed something simpler.

Core Requirements

After conversations with several operators, I identified the must-haves:

  • Loan tracking: Principal, interest, fees, total owed, payments made, balance remaining
  • Payment schedules: Auto-calculate due dates for fortnightly or monthly payments
  • Customer profiles: Contact info, employment, documents, loan history
  • Payment recording: Quick entry when payments come in, partial payments supported
  • Overdue tracking: Who's late? By how much? For how long?
  • Reporting: Portfolio value, collection rates, officer performance
  • JMD native: Must work with Jamaican currency and local date formats

Design Decisions

WordPress as Platform

Why WordPress? Same reasons as my other products:

  • Clients can host it themselves on affordable shared hosting
  • I can leverage WordPress user management, admin UI, and ecosystem
  • Easy updates via plugin updates
  • Familiar environment for web hosts and IT support

Payment Structure Logic

One of the trickier requirements: different payment structures for different loan sizes.

The Business Rule

Loans $10,000 - $50,000 JMD: Single payment at end of term. Loans above $50,000 JMD: Fortnightly or monthly installments.

This is specific to how Jamaican payday lenders operate. Small loans are paid in full on payday. Larger loans need installment plans.

// Determine payment structure
function get_payment_structure($principal) {
    if ($principal <= 50000) {
        return 'single_payment';
    }
    return 'installments'; // fortnightly or monthly
}

Timezone Handling

This bit me early. WordPress defaults to UTC, but loan due dates need to be in Jamaica time (America/Jamaica).

A payment due "today" in UTC might be "tomorrow" in Jamaica at certain hours. Customers and officers think in local time. The system needs to match.

// Always use Jamaica timezone for dates
$jamaica_tz = new DateTimeZone('America/Jamaica');
$now = new DateTime('now', $jamaica_tz);
$due_date = new DateTime($loan->due_date, $jamaica_tz);

Feature Deep Dive

📋 Loan Applications

Online application form captures customer info, employment details, loan request. Goes to review queue for officers.

👤 Customer Profiles

Complete customer record: contact info, ID numbers, employment, documents (ID upload, proof of income), loan history.

💰 Loan Management

Create loans with principal, interest rate, fees, term. System calculates total and generates payment schedule.

📅 Payment Schedules

Auto-generated schedules based on loan type. Single payment, fortnightly, or monthly. Editable if needed.

💳 Payment Recording

Record payments quickly. Partial payments supported. Receipt generation for customers.

⚠️ Overdue Dashboard

At-a-glance view of overdue loans. Days late, amount owed, customer contact info for follow-up.

📊 Reports

Monthly reports: loans issued, payments collected, outstanding balance, delinquency rates. CSV export.

👥 Officer Management

Multiple loan officers. Each sees only their assigned loans. Admin sees everything.

The Hard Parts

Interest Calculation

Sounds simple — multiply principal by rate. But:

  • Is it simple interest or compound?
  • Is it calculated monthly, fortnightly, or on the full term?
  • What happens with partial early payments?
  • How do fees factor in?

Different operators calculate differently. The system needed to be configurable rather than hardcoded.

Lesson: Financial Calculations Are Tricky

Even "simple" interest isn't simple when business rules vary. Build configurability from the start. Let operators set their own calculation methods.

Document Management

Lending requires documentation — IDs, pay stubs, proof of address. These need to be:

  • Uploadable during application
  • Viewable by officers during review
  • Stored securely (sensitive personal data)
  • Associated with the right customer and loan

WordPress media library isn't ideal for this (too public). Built a custom document storage system with access controls.

Loan Transfers

Sometimes a customer needs their loan transferred to a different officer (territory changes, officer leaves, etc.). This required:

  • Transfer tool in admin
  • History tracking (who had this loan before?)
  • Notification to new officer
  • Audit trail for compliance

Customer Reviews System

Surprisingly requested feature: customers reviewing their loan officer. Operators wanted feedback on service quality. Built a simple rating + comment system tied to completed loans.

The Frontend Challenge

Most of Ezy Loan Manager is backend — admin dashboards, loan management, reports. But there's a public-facing piece: the loan application form.

This needed to be:

  • Embeddable on the lender's website
  • Mobile-responsive (many applicants on phones)
  • Multi-step (collecting lots of information)
  • Document upload capable
  • Styled to match the lender's brand

The frontend sits in page-payday-fullpage.php — a page template that handles the complete application experience.

Current State

The plugin is deployed with a micro-lending operation in Jamaica, handling several hundred active loans. Key metrics tracked:

  • Total portfolio value
  • Loans issued this month
  • Collections this month
  • Delinquency rate
  • Average loan size
  • Officer performance

Before, I knew I was owed money but couldn't tell you exactly how much without hours of spreadsheet work. Now I open the dashboard and see everything. Portfolio value, who's overdue, what's coming in this week.

What's Different About This Product

Compared to my tour and car rental plugins, Ezy Loan Manager is:

  • More backend-heavy: Less public-facing UI, more admin functionality
  • More sensitive data: Financial and personal information requires careful security
  • More regulated: Lending has compliance requirements that tours don't
  • Smaller market: Fewer micro-lenders than tour operators, but each needs more functionality

Lessons Learned

1. Financial Software Requires Precision

Rounding errors that seem trivial add up across thousands of transactions. Every calculation needs to be exactly right.

2. Timezone Matters More Than You Think

Due dates, overdue calculations, report periods — all timezone-sensitive. Test extensively across time boundaries.

3. Audit Trails Are Essential

Who created this loan? Who recorded this payment? When was this changed? Financial software needs complete history.

4. Operators Know Their Business

I'm a developer, not a lender. The best features came from listening to operators describe their daily workflows.

What's Next

Roadmap for Ezy Loan Manager:

  • SMS reminders: Automated payment reminders to customers
  • Customer portal: Self-service balance checking and payment history
  • Mobile collection app: PWA for officers collecting payments in the field
  • Payment integration: Accept payments via Lynk/NCB directly
  • Credit scoring: Basic scoring based on repayment history

The core is solid. Now it's about expanding functionality and reaching more operators.

For Other Developers

If you're thinking about building financial software:

  1. Partner with an operator. Build for a real business with real problems. Don't guess what they need.
  2. Security first. Financial data is sensitive. Encryption, access controls, audit logs from day one.
  3. Test calculations obsessively. Write unit tests for every financial calculation. Edge cases will find you.
  4. Plan for compliance. Regulations vary by jurisdiction. Build flexibility for different rules.
  5. Keep it simple. Micro-lenders don't need bank-level complexity. Simple and reliable beats feature-rich and confusing.

Run a Micro-Lending Operation?

Ezy Loan Manager might be exactly what you need. Let's talk about your requirements.

Get a Demo

Related Articles

👨‍💻

About Leroy Alexander

Founder of Ezy Web Pro. 14+ years building software from Jamaica for Caribbean businesses and international clients.