Down Payment
Operational Use Cases
- Point-of-sale deposits: BNPL or installment plans that require the borrower to pay a percentage immediately when the order is disbursed.
- Merchant-funded contributions: Merchant pays part of the ticket up front while the lender finances the remainder; the down payment records that cash movement explicitly.
- Auto-sweeps at disbursement: Enable automatic collection on disbursement so the borrower’s default payment method is charged without agent intervention, with manual capture as the fallback.
Only Dynamic Schedule products can enable down payments (enableDownPayment). The configuration adds three key fields to the product/loan:
| Setting | Meaning |
|---|---|
enableDownPayment | Turns on down-payment periods in the schedule and exposes the percentage fields. |
disbursedAmountPercentageForDownPayment | Percentage of each disbursement that should be collected up front. |
enableAutoRepaymentForDownPayment | If true, Embarc attempts to auto-sweep the down payment on disbursement using the borrower’s default payment instrument. |
Lifecycle Snapshot
flowchart TD
A[Disbursement posted] --> B{Down payment enabled?}
B -->|No| C[Standard amortization]
B -->|Yes| D[Calculate down payment amount]
D --> E{Auto-repayment flag enabled?}
E -->|Yes| F[Auto sweep posts DOWN_PAYMENT transaction]
E -->|No| G[Schedule shows DP period awaiting manual payment]
F --> H[Loan status updated]
G --> I[Operations posts manual down payment]
I --> H
Key differences vs. regular repayments:
- The schedule always shows a dedicated DP period separate from installment #1.
- Statements and delinquency calculations treat down payments as their own bucket, so missing the DP period will mark the loan delinquent even before installment #1 is due.
- Down payments can be reversed with the standard chargeback command, so dispute handling is identical to repayments.
API Playbook
-
Confirm product settings
GET /v1/loanproducts/{productId}Ensure
enableDownPayment=trueand the percentage matches the commercial offer. -
Approve & disburse the loan
- When the loan is disbursed, Embarc automatically posts the DP transaction if
enableAutoRepaymentForDownPayment=true. The response fromPOST /loans/{loanId}?command=disburseincludes the down-payment transaction ID insubResourceId. - If auto repayment is off (or fails), the schedule still shows the DP period but no transaction is posted yet.
- When the loan is disbursed, Embarc automatically posts the DP transaction if
-
Collect (or re-collect) the down payment
POST /v1/loans/{loanId}/transactions?command=downPayment { "transactionDate": "05 Jan 2026", "transactionAmount": 200.00, "paymentTypeId": 2, "note": "Deposit collected at store", "externalId": "DP-INV-4589", "locale": "en", "dateFormat": "dd MMM yyyy" } -
Adjust / reverse if needed
- Use chargeback (
command=chargeback) to reverse a down payment after a dispute. - Use
adjustloantransactionif you need to edit the amount/metadata while keeping the transaction.
- Use chargeback (
Baseline Example (Baseline D)
Baseline D (see baseline-loans.md) finances USD 800 with a 25% down payment. Auto-collection succeeds on 05 Jan 2026, so the balance immediately drops to USD 600 and the first installment isn’t due until 19 Jan 2026.
| Step | Effect |
|---|---|
| Disburse (05 Jan) | DISBURSEMENT = 800.00 |
| Auto down payment | DOWN_PAYMENT = 200.00; remaining principal = 600.00 |
| Subsequent installments | Exactly match Baseline B (promo periods then interest-bearing periods). |
If auto-collection had failed, operations would call the manual API to post the down payment later; the schedule would continue to show the DP period as overdue until that transaction lands.
Loan summary delta
| Metric | Before DP | After DP | Notes |
|---|---|---|---|
| Principal outstanding | 800.00 | 600.00 | DP reduces principal immediately. |
| Interest outstanding | 0.00 | 0.00 | No interest accrues until installment #4 (same as Baseline B). |
| Next due date | 05 Jan 2026 | 19 Jan 2026 | Once DP is paid, the next installment becomes current. |
Accounting snapshot
| Entry | Debit | Credit | Amount |
|---|---|---|---|
| Down payment cash receipt | Cash / Clearing | Loans Receivable (Principal) | USD 200.00 |
Because it is a repayment-type transaction, no special GL mapping is required beyond the usual repayment accounts.
Verification Checklist
GET /v1/loans/{loanId}?associations=repaymentSchedule,transactions,loanSummary– confirm:- A DP period exists in the repayment schedule.
transactions[]contains an entry labeledDOWN_PAYMENT.loanSummary.totalDownPayment(if exposed) orprincipalOutstandingreflects the reduced balance.
- If auto-repayment should have fired but didn’t, review your payment automation logs or simply post the manual API call.
- Chargeback a DP transaction in QA to confirm disputes follow the same workflow as repayments.
- For UI design, clearly label the DP amount separate from installment #1 so borrowers know they’ve already paid part of the loan.
With these steps, servicing teams can explain exactly how and when down payments occur, troubleshoot autopay failures, and handle manual corrections using the same APIs they already know for repayments.
Updated about 1 month ago
