Back to Work

United Wholesale Mortgage

QM Fee Allocations

Product Owner, Regulatory Compliance & Fees2016 – 2020

Moving from a lump sum credit allocation system (total credits minus total fees) is pretty typical in mortgage. The problem is that it breaks down when you need to prove compliance with specific fee guidelines—what borrowers are allowed to pay for vs. what they aren't. That was the situation we were in following the implementation of the Dodd-Frank Act. We needed a documented, loan-level credit allocation process that could be audited and clearly demonstrate compliance throughout the system.

The task:

  • Build a granular credit allocation system that distributed lender and seller credits on a fee-by-fee basis
  • Create compliance controls to ensure each loan maintained a compliant fee profile against federal and state guidelines

The challenge:

  • Outdated technology meant we had to take a creative approach and work around limitations in the existing loan origination system
  • There's no law dictating what order credits should be applied to fees, so we had to define a defensible standard
  • As always, there was some vagueness in the wording of the rules, which meant long internal discussions and alignment on implementation
  • In mortgage compliance, mistakes get expensive fast—incorrectly stated fees or credits often become lender-paid remediation, so even small errors could snowball into major cost

The approach:

  • Built a new SQL stored procedure that accepted a set of fees and credits and allocated them according to a fee schedule we designed
  • Ran the allocation logic outside of the loan origination system, since the LOS was outdated and would try to override or "correct" the allocations
  • Partnered with compliance leadership to design a bulletproof fee schedule that was both consumer-friendly and defensible under QM guidelines
  • Integrated the new allocation workflow into the underwriting and closing services so it was enforced end-to-end

Learnings:

  • Don't be afraid to make a change. On this project, our original senior developer unfortunately didn't have the skill set to build a wide-ranging, multi-purpose credit allocation system. We adjusted the team midstream and brought in new resources, and that proved to be the right move instead of burning more time
  • Outdated architecture is brutal. The legacy LOS constantly created new issues for our allocation schedule and found new, ridiculous ways to throw figures off
  • Automate testing whenever possible, and don't be afraid to ask for help. With only one full-time QA on the team (and me plus our BA pitching in), we couldn't realistically test every possible combination of fees and credits. That gap contributed to two releases that caused production errors and required financial remediation from the company