RULE-TERM-ARITH: Maturity minus loan date equals the stated term
| Kind | reconciliation |
| Severity | warning (shown to the reviewer; does not block approval) |
| Ruleset | v1.0 |
| Inputs | loan_date, maturity_date, term_months |
What it checks
Section titled “What it checks”For each document that states loan date, maturity and term, loan date plus the term in months must land on the maturity date.
How it decides
Section titled “How it decides”Evaluated per document (the three values must come from the same document), with one finding per document that is off. Drift beyond rules.date_tolerance_days is a warning, not an exception: a term-length mismatch is usually a scrivener issue rather than a boarding risk. The decision is deterministic code, not a model: extraction only supplies the values and their provenance.
Thresholds (Settings → Other options → rules)
Section titled “Thresholds (Settings → Other options → rules)”rules.date_tolerance_days: date agreement tolerance in days (default 0)
The thresholds in force are recorded on every reconciliation run. An administrator can switch this rule off under Settings → Rules; a disabled rule is skipped by later runs, and the skip is recorded on each run and in the evidence chain.
Example
Section titled “Example”2026-08-27 + 60 months = 2031-08-27 → no finding. Maturity 2031-09-27 → warning “31 days off”.
Resolution
Section titled “Resolution”Review and accept; correcting the documents and re-processing clears the finding on the next run.