- Shipped
- May 29, 2026 at 9:27 PM UTC
- Author
- Kamo
- Commit
- 0e80393
LoanOfferCreateRequest gains three optional fields — interestRateBpsOverride, aprBpsOverride, originationFeeAmountOverride. createDraft applies them when set and otherwise falls back to the product snapshot. Use cases: relationship pricing (rate kickback for repeat borrowers), hardship workouts (waived origination), one-off promotional offers. For installment products, only interestRateBpsOverride is in the normal path — APR is computed from rate + fees + schedule. aprBpsOverride is exposed for the rare case an explicitly disclosed APR must differ from the computation. Audit: writes OFFER_DRAFTED for every draft (uniform with OFFER_SENT/ACCEPTED). Logs explicit override values vs product defaults so the trail can reconstruct what was inherited vs. set per-offer.