A policy gap analysis for a fee schedule, done by hand or with a tool, comes down to one comparison. To check a fee policy against state law, compare each fee clause with every state's cap on the payment sizes and frequencies the product actually uses, and list the states where the clause is higher. That list, with the gap in each state and a signed rule to close it, is what product and counsel act on. A fifty-one-row table of caps is only the input. Botminds' State Lending Law Research builds the list directly. Its policy agent compares the lender's fee policy with the state-by-state answer clause by clause, finds the states where a clause breaks the rule, and drafts a per-state exception for counsel to sign. It never edits the policy.
One fee policy against fifty-one jurisdictions, in the sample run
Late charge: 5% of the installment, minimum $15
- Above the state cap (14) · 27%
- Within the cap (30) · 59%
- No fixed cap, as agreed (7) · 14%
Returned payment fee: $25 per item
- Above the state cap (20) · 39%
- Within the cap or no fixed cap (31) · 61%
What is a policy gap analysis, and why is the exception list its product?
A policy gap analysis is a clause-by-clause comparison of your own policy with the rules that apply to it. A survey answers what each state allows. The exception list answers where the lender is out of line and what it will do about it, and that second question is the one product, counsel and an examiner ask. A survey of fifty-one rows where forty states are fine still leaves someone to find the other eleven, work out each gap and write the fix. That work is the slow part, and it is often skipped when the survey arrives late. The fee schedule then ships with a uniform fee and a promise to check the strict states later.
The exception list is also the document that holds up in review. CFPB examiners check "whether the financial institution provides retrospective remediation to all consumers harmed by a particular violation" (CFPB Supervision and Examination Manual, Compliance Management Review). A list that names each state, its cap, the policy amount and the date the exception took effect shows when each fee became compliant and from what date any refunds are owed.
The lender's policy laid over the answer: the breaching states outlined on the map

How to do a policy gap analysis on a fee schedule, step by step
The comparison is mechanical once both sides are written precisely, and most mistakes come from imprecise wording on one side. The policy clause has to be read as a formula, such as "5% of the late installment, minimum $15, once per installment, after the grace period". Each state's cap has to be read the same way, with its form, its delay and its conditions. Then both are worked out on the same payment and compared.
Three comparisons need to be made separately. The first is the amount on the reference payment. The second is the amount at the edges of the product, its smallest and largest payments, because a percentage clause and a flat cap cross at some payment size. The third is the conditions: the grace period, the written-agreement rule and how often the fee can be charged. In the sample, the lender's grace-period clause sets 10 days "or longer where the state requires", so it adjusts to each state by its own wording, and the margin note confirms it already does. One late-fee cap, from Florida's statute to your fee policy shows where a percentage clause and a flat cap cross.
Schedule A in the sample: where the $15 minimum breaks the cap
| Jurisdictions | Cap on $182.40 (sample rules) | Over by |
|---|---|---|
| Massachusetts | $5.00 | $10.00 |
| New York, New Jersey, DC, Connecticut, Vermont, Maryland | $9.12 | $5.88 |
| Texas | $10.00 | $5.00 |
| Pennsylvania | $10.94 | $4.06 |
| Rhode Island | $11.00 | $4.00 |
| West Virginia, Maine | $12.00 | $3.00 |
| Illinois | $12.50 | $2.50 |
| Minnesota | $13.50 | $1.50 |
Which fee clauses most often break state caps?
The late charge gets the attention, but the clauses most likely to break a state rule are the ones nobody asked about. Some state acts list every charge a lender may make and forbid the rest. Florida's consumer finance act says that beyond interest, delinquency and insurance charges, "further or other charges or amount for any examination, service, commission, or other thing or otherwise may not be directly or indirectly charged" as a condition of the loan, except for a short list (Fla. Stat. § 516.031(3)(a)). In a state written that way, a processing fee that is lawful elsewhere is a gap whatever its size.
Four kinds of clause deserve a row each in any review. The returned-payment fee, which Florida caps at the greater of $20 or the bank's actual charge. The prepayment penalty, which Florida forbids outright for licensees. Fees for paying by phone or card, which a closed list may not mention. And any fee charged on refinancing, where Florida limits the unpaid interest carried into the new loan to 60 days. In the sample, the review of a late-fee question found the returned-payment clause above the cap in 20 jurisdictions, more than the late charge itself.
A policy gap analysis template: the columns that hold up in review
A usable template has one row per clause and state, and keeps the arithmetic and the source on the row. The common spreadsheet version, with a column for the state and a column for "compliant: yes or no", loses exactly what a reviewer needs: the form of the cap, the payment it was worked out on, the conditions and the date of the text. The columns below are the ones the sample's Schedule A carries, and the ones a team building its own should start from.
Policy gap analysis template for a fee clause, one row per state
| Column | What goes in it | Why a reviewer needs it |
|---|---|---|
| Clause and formula | "4.2 · 5% of the late installment, minimum $15" | The policy read as arithmetic, not as prose |
| State rule, in its form | Flat, percentage, or greater or lesser of the two; the delay; the conditions | Two caps with the same amount can behave differently on other payments |
| Cap on the reference payment | The cap worked out on the product's payment, e.g. $182.40 | The number the clause is compared with |
| Cap at the product's edges | The cap on the smallest and largest payment the product allows | Where a percentage clause and a flat cap cross |
| Gap | Policy amount minus cap, per fee | The size of the problem, and the input to refund exposure |
| Citation and passage | Section and the operative words | Lets counsel check the row in a minute |
| Rules in force on | The date the text was read, and its version | Tells you when the row needs re-checking |
| Exception and sign-off | The drafted fix, who signed it and when it took effect | Shows from what date fees were compliant |
Size each gap as refund exposure, not as a percentage
A gap of $5.88 per late payment does not look large. Multiplied by every late payment in the state, over every year the policy ran, it becomes a refund obligation. State regulators order such refunds. In June 2026 California's DFPI settled with Navitas Credit Corp. for a $4 million penalty, and the company committed to "refund money to borrowers who were charged excessive interest on loans of less than $5,000", covering loans made "between March 2018 and June 1, 2026" (DFPI, June 2026). The penalty in that case was mainly for unlicensed lending. The refunds reach back more than eight years.
One state order, and how far back refunds reached
$4M
penalty California's DFPI ordered Navitas Credit Corp. to pay, June 2026
8+years
of loans covered by the refund commitment, March 2018 to June 2026
20days
Florida's deadline to refund or credit an overcharge once a bona fide error is discovered
Florida shows the other side of the calculation. Charges above what its consumer finance chapter allows "constitute a violation of chapter 687 governing interest and usury", and a loan with a greater charge than the chapter allows "is not enforceable in this state" (Fla. Stat. § 516.02). For a bona fide error, the licensee must refund or credit the overcharge "immediately but within 20 days after the discovery of such error" (§ 516.031). Once a lender finds a gap, it has to act on it quickly.
Refund exposure for one fee clause, as a sum over the breaching states
Overcharges to refund
(fee − cap) × fees charged
For each breaching state, the gap on each borrower's actual payment, times every fee charged since the clause took effect or the state's rule changed.
Exception list and servicing system
Interest or penalty on top
as the state or an order sets
Some laws and orders add interest, statutory damages or a penalty to the refund itself.
Counsel
Finding the accounts
accounts × hours × rate
The work of identifying every affected borrower over the lookback, which in the Navitas order reached eight years.
Operations and compliance
Already returned
− credits and refunds made
Bona fide error credits and earlier remediation reduce what is still owed.
Finance
Drafting the exception counsel can sign
The fix is usually one sentence plus a schedule. The sentence keeps the house rule and caps it state by state. The schedule lists the states, each cap and its citation. In the sample, the drafted exception reads: "In the 14 jurisdictions in Schedule A, the late charge is the lesser of (i) 5% of the late installment, minimum $15, and (ii) the maximum the state's rule allows." The same review found a second clause, a $25 returned payment fee, above the cap in 20 jurisdictions. That clause gets its own question and its own schedule rather than being folded into the first.
The policy clause, the margin notes and the drafted exception

Look at the clause 4.4 note. The review found a second problem the original question did not ask about, and it is reported rather than fixed silently.
The roles follow a maker-checker split, in which the one who prepares a document does not approve it. The agent drafts and the analyst checks the schedule. Counsel signs, and the CCO owns the policy the exception amends. In the sample the exception was signed nineteen minutes after the question was first asked, and product received one late-fee rule it could print, with a cap for every state that needed one. Who answers a fifty-state question covers those roles in detail.
What should a policy gap analysis tool do?
It should do the comparison you would do by hand, for every clause and every state, and show its working. A spreadsheet copes with one clause in a handful of states. It struggles at fifty-one jurisdictions, several fee clauses, two or three payment frequencies and caps that change during the year, which is where a tool earns its cost. The test of any tool is whether counsel can sign its output without redoing it.
What to require of a policy gap analysis tool for fee schedules
- Reads the clause as a formula
Percentage, minimum, maximum, frequency and grace period, not just the headline amount.
- Answers every state with its passage
The cap for each jurisdiction in scope, cited and quoted, with the date of the text.
- Works the cap on your payments
On the reference payment and at the product's edges, so crossing points show.
- Reports clauses nobody asked about
A second clause over the cap, such as a returned-payment fee, surfaced rather than ignored.
- Drafts, never edits
A proposed exception and schedule for counsel; the policy document changes only when a person signs.
- Re-runs when a rule changes
A change to any cited section flags the exceptions and answers that rest on it.
Keeping the exception list true
An exception list is correct only while the caps under it hold, and it is the document a rule change affects most directly. If a state raises its cap, the exception may be costing the lender revenue it could lawfully collect. If a state lowers it, the exception is now too generous and fees above the new cap begin to accrue. In the sample, the solution compares every cited section each night. When a state in Schedule A changes, the exception is flagged along with the saved answers, and the owner is told.
The list also needs a re-run whenever the product changes. A new payment frequency, a larger loan size or a move into a new state changes which caps bind and by how much. The reference loan in the solution's settings exists for this reason, and a second product needs its own. How often do state lending laws change covers the change side, and the State Lending Law Research page shows the policy check in the full flow.
Questions people ask
What does a compliance gap analysis example look like?
One row from the sample shows the shape. The clause charges 5% of the late installment with a $15 minimum; the Massachusetts rule in the sample's demonstration library caps the fee at $5.00 on a $182.40 payment, so the gap is $10.00 on every late payment there. The row ends with the fix, a "lesser of" exception, and counsel's signature.
Should we lower the fee everywhere instead of keeping exceptions?
That is a product decision. A uniform fee at the strictest cap is simplest to run and gives up revenue where states allow more. Exceptions keep the revenue but have to be maintained. Either way, the comparison has to be done first.
Is a policy gap analysis the same as a compliance audit?
No. The CFPB's compliance management review treats policies and procedures, and monitoring or audit, as separate parts of a compliance program. A gap analysis tests whether the policy as written meets the rule; monitoring and audit test whether what the lender actually charged followed both.
Can a spreadsheet do a fee policy gap analysis?
For one clause in a few states, yes. In the sample, two clauses checked against 51 jurisdictions produced two separate exception schedules, of 14 and 20 states, each needing its own citations and caps. Keeping those current by hand is the part a spreadsheet does worst.
Does a gap analysis need to cover contracts and disclosures too?
Yes, because some state conditions live in the contract rather than the amount. Florida, for example, allows its late charge only "if the charge is agreed upon, in writing, between the parties before imposing the charge", so a lawful amount missing from the contract template is still a gap.