Skip to main content
Meneja’s vendor loan feature connects your marketplace vendors with loan providers so vendors can access working capital directly through the platform. As an admin, you register loan providers, configure loan products for each provider, and then oversee the full lifecycle of every loan request — from initial submission by a vendor through to approval, disbursement, and repayment. All operations are available through the dashboard as well as the REST API.

Loan providers

A loan provider is a financial institution or lending organisation that offers loan products to your vendors. You must register at least one provider before vendors can apply for loans. Provider statistics — total_loans, loan_growth, avg_loan_value, and repayment_rate — are aggregated automatically and visible on the provider’s detail page.

Register a provider

Send a POST request to /v1/loans/providers/ with the provider’s details:
To list all providers registered to your tenant, send a GET request to /v1/loans/providers/ with the X-Tenant-ID header.

Loan products

Each provider offers one or more loan products. A product defines the financial terms that apply to any loan a vendor takes under that product.

Create a loan product

Send a POST request to /v1/loans/products/ with the product definition:
To retrieve all products for a given provider, send a GET request to /v1/loans/products/provider/{provider_id}.

Loan requests

When a vendor applies for a loan, Meneja creates a LoanRequest record. You review, approve, and disburse loans from the Vendor Loans section of the dashboard.

Loan request fields

Loan statuses

The loan lifecycle

1

Vendor submits a loan request

The vendor selects a product and submits a request via the marketplace. Meneja sends a POST to /v1/loans/requests with the following payload:
The request is created with status: pending. You can retrieve it at any time with a GET to /v1/loans/requests/{request_id}.
2

Admin reviews the request

Open Growth Tools → Vendor Loans → Requests in the dashboard. Click the request to view the vendor’s profile, the loan product terms, the requested amount, the stated purpose, and any supporting documents.The vendor details panel shows business registration information, KYC documents, bank details, transaction statistics, outstanding payments, and current orders — giving you the context needed to assess creditworthiness.
3

Approve or reject the request

To approve, send a POST to /v1/loans/requests/{request_id}/approve. This moves the status to approved and stamps approved_at and approved_by.To reject, update the status to rejected and provide a rejection_reason so the vendor understands why their application was declined.
4

Disburse the loan

Once approved, disburse funds by sending a POST to /v1/loans/{loan_id}/disburse. This moves the status to disbursed and stamps disbursed_at and disbursed_by. The loan then transitions to active once the payment schedule begins.The loan record is created at this point, containing the principal_amount, total_expected_interest, total_fees, outstanding_balance, the full schedules array, and a repayments array.
5

Track repayments

Each installment in the payment schedule has a status of pending, upcoming, paid, overdue, or partial. As the vendor makes payments, record each repayment with a POST to /v1/loans/{loan_id}/repayments:
Each repayment record captures the amount_paid, payment_method, payment_date, optional reference_number, and a status of COMPLETED, PENDING, FAILED, or SUCCESS.
6

Close or flag the loan

When all scheduled payments are received, the loan status moves to completed. If a vendor misses payments beyond the allowed threshold, update the status to defaulted and record a penalty with the amount, reason, and applied_at timestamp.

Payment schedules

Each active loan has a payment schedule — one entry per installment — generated at disbursement.
You can retrieve the full schedule and repayment history for any active loan with a GET request to /v1/loans/{loan_id}.

Penalties

If a vendor misses or underpays an installment, you can apply a penalty:
Yes. Register each provider separately under /v1/loans/providers/ and then create products under each provider. Vendors see all active products when they apply.
The loan requests list can be filtered by status, vendor_id, product_id, provider_id, amount range (min_amount, max_amount), and date range (start_date, end_date).
The vendor details panel on a loan request shows KYC documents (business license, business certificate, TRA certificate), bank details, business registration information, and transaction statistics such as total transaction count, total value, and last transaction date.