AgBMP Loan Management System
HOME - case studies - agbmp loan management system
AgBMP Loan Management System

Industry
Agriculture
Region
United States
Project Type
Web Platform
Timeline
20 Months
Team Size
8 Engineers
Platforms
Web (Angular + ASP.NET Core)
Client Overview
The Minnesota Department of Agriculture (MDA) administers the Agricultural Best Management Practices (AgBMP) Loan Program — a statewide conservation lending initiative that provides low-interest loans to farmers, landowners, and agricultural businesses across all 87 Minnesota counties. The program funds projects covering Conservation Tillage Equipment, Agricultural Waste Management, Feedlot Upgrades, and Septic System Improvements — directly supporting Minnesota's water quality and soil conservation goals.
The program operates through a multi-stakeholder network: MDA at the state level sets policy and oversees compliance; Local Government Units (LGUs) at the county level manage applications and borrower relationships; and agricultural lenders (banks and credit institutions) provide the capital and confirm financing. This three-tier network processes hundreds of loan applications annually, each requiring coordinated review, approval, and documentation from all three organizations before disbursement.
Challenges & Problem Statement
Despite managing a high volume of loan applications with real financial and regulatory consequences, the AgBMP program relied on a fragmented, paper-intensive process that created serious operational inefficiencies:
- Paper-based application processing: Loan applications were submitted and tracked manually, making it difficult to maintain consistent records across 87 counties and multiple organizations.
- Email-driven document exchange: LGUs, lenders, and MDA staff exchanged application documents and approval decisions via email, creating version control problems and audit gaps.
- No real-time budget visibility: MDA administrators had no live view of fund availability per service area, appropriations, and outstanding repayment balances — forcing manual reconciliation.
- Inconsistent stakeholder communication: Notifying borrowers, lenders, and LGUs of application status changes depended on manual outreach, causing delays and missed deadlines.
- Compliance and audit risk: Government programs require a full audit trail of every decision and data change. The manual process provided no reliable mechanism for this, creating regulatory exposure.
- Complex multi-borrower scenarios: Agricultural projects often involve multiple land parcels and multiple borrowers, requiring coordinated loan structuring that the legacy process could not support efficiently.
Project Overview
TTPL designed and delivered the AgBMP Loan Management System — a full-stack government web platform that fully digitalizes Minnesota's agricultural conservation loan lifecycle from first application through final repayment. Built on Angular 15 with an ASP.NET Core Clean Architecture API and SQL Server, the platform serves MDA Administrators, Local Government Units, Agricultural Lenders, MDA Viewers, and Auditors through a unified, role-aware interface.
The system manages over 1,500 loan applications across all 87 Minnesota counties, handling the complete workflow: application creation (single and multi-borrower), multi-stage LGU and Lender approval, MDA state-level review, fund disbursement, repayment scheduling, and document management — all with a comprehensive audit trail and a 30+ trigger automated notification engine. GIS integration through ArcGIS enables precise project location mapping with parcel PIN lookup and watershed coordinate capture.
Approach
TTPL approached the AgBMP platform as a domain-driven engineering problem, not a simple CRUD application. The project required close collaboration with the Minnesota Department of Agriculture through 12+ structured demo and review cycles to iteratively validate business rules, stakeholder permissions, and financial workflow logic before locking them into the codebase.
The architecture was built on Clean Architecture principles across eight discrete layers — Domain, Application, Infrastructure, API, BuildingBlocks, and Configuration — with CQRS implemented via MediatR to separate read and write responsibilities. Every command and query carries its own FluentValidation validator, making the business rule layer independently testable and auditable.
The security model was designed as a security matrix — a configurable, per-field permission definition covering all three organizational roles — rather than a simple role-based approach. This matrix drives both the Angular route guards and the API authorization middleware simultaneously, ensuring consistent enforcement regardless of entry point.
GIS capabilities were integrated using live ArcGIS REST APIs for parcel PIN resolution and HUC12/TRS coordinate lookups, with an interactive map rendering layer on the Angular frontend. Oracle IAM was connected via OAuth 2.0 / OIDC for MDA employee authentication, using a dual-pipeline approach that issued JWT tokens compatible with the same authorization model used by LGU and Lender users.
Solution Delivered
Clean Architecture with CQRS and Field-Level Security Matrix
The API is structured in eight strict layers following Clean Architecture principles. The Application layer uses MediatR to implement CQRS — every read is a Query, every write is a Command, each with its own FluentValidation validator. Access control is enforced through a field-level security matrix defining per-field read/write/hidden permissions for each of the three organizational roles (MDA Admin, LGU, Lender). This matrix is simultaneously enforced at the Angular UI layer (disabling and hiding fields) and the ASP.NET Core API authorization layer (blocking unauthorized writes), so no role can access data outside their defined scope regardless of how the API is called.
End-to-End Loan Lifecycle Engine
The system models the complete agricultural loan lifecycle from initial application through final repayment. Multi-stage approval workflows (LGU review → Lender confirmation → MDA approval) drive application status transitions with precise access rules at each stage. Financial data spans appropriations, project costs, disbursement schedules, interest rates, balloon payment dates, deferment periods, and outstanding balance calculations — all tracked in a coherent financial domain model. Payment location verification, fund balance tracking per service area, and real-time budget panels give MDA administrators live visibility into program-wide financial health.
Multi-Borrower Application with Parent-Child Loan Structuring
Agricultural projects spanning multiple land parcels are supported through a multi-borrower application model. A single parent application accepts multiple individual borrower rows — each with their own parcel location, requested amount, and financial data — imported via a validated Excel template. On processing, the system automatically creates a parent loan record and individual child loan records per borrower, sets the parent project location to the computed center point of all parcel coordinates, surfaces merged summary data across the hierarchy, and generates separate branded PDF loan documents for both parent and child loans. This eliminates the manual coordination previously required for multi-parcel agricultural projects.
GIS Integration — ArcGIS, HUC12 and TRS Coordinate Capture
Project locations are captured through live GIS integrations rather than free-text entry. The platform integrates with ArcGIS REST APIs for real-time Parcel PIN lookup and interactive map-based location selection. HUC12 watershed boundary lookups and Township-Range-Section (TRS) coordinate resolution are implemented through dedicated GIS service integrations, providing agriculturally meaningful geographic context for every project location. An interactive map component on the Angular frontend allows LGU users to visually confirm and refine project locations before submission.
Oracle IAM Authentication Integration
MDA state government employees authenticate through Oracle Identity and Access Management (Oracle IDCS) using OAuth 2.0 / OIDC. The authentication pipeline connects Oracle IDCS's REST APIs to issue JWT tokens carrying the authenticated employee's MDA identity claims, which are then processed by the same authorization middleware used for LGU and Lender users. On first login, an MDA user record is automatically provisioned from Oracle IAM data and assigned the appropriate Admin or Viewer role. This dual-pipeline approach gave MDA the enterprise SSO experience required for government systems while keeping the platform's unified JWT-based authorization model intact.
Configurable Notification Engine with 30+ Event Triggers
A template-driven notification engine manages 30+ distinct event triggers across the loan lifecycle — LGU status changes, lender approvals, queue movements, fund disbursements, withdrawals, service area assignments, and more. Each trigger maps to a fully customizable subject and message template (managed by MDA administrators from the admin portal), delivered via email, in-app notification, or both. Lender primary contacts, branch contacts, and designated copy recipients are all resolved per service area at the point of notification dispatch. Users can opt out of specific notification types, and a full notification history is maintained per application.
Full Audit Trail and Government Compliance Logging
Every create, update, and status transition is captured in a structured activity log — recording user identity, timestamp, application section, field name, old value, and new value. The log is filterable by date range and field name, providing regulators and MDA administrators with a complete, searchable record of every financial and procedural decision made on any application. Serilog structured logging captures system-level events and API activity independently. This dual-layer audit approach satisfies government compliance requirements for financial program accountability out of the box.
Integrated Document Management and Azure Blob Storage
Azure Blob Storage-backed document management is embedded directly into application records and organization profiles. Lenders, LGUs, and MDA users can upload, categorize (contract, amendment, invoice, other), and retrieve documents from within the platform without leaving the workflow. Separate file storage contexts (FileStorage, FileStorageLender, FileStorageLGU, FileStorageTrans) isolate documents by organizational boundary. This eliminates email-based document exchange entirely and maintains all project documentation centrally organized, version-controlled, and instantly accessible to authorized stakeholders.
Result
The AgBMP Loan Management System replaced a fragmented, paper-intensive multi-organization process with a unified digital platform serving the Minnesota Department of Agriculture, 87 county-level LGUs, and their network of agricultural lenders. Over 1,500 loan applications are now managed end-to-end within the platform — from initial submission through final repayment — with complete traceability and zero reliance on email document exchange.
MDA administrators gained real-time visibility into program-wide fund availability, appropriations, outstanding repayment schedules, and budget balances per service area. The automated notification engine eliminated manual stakeholder communication at every workflow stage. The comprehensive audit trail meets government compliance requirements without any additional reporting overhead. Multi-borrower applications — previously handled through manual coordination — are now structured, validated, and processed through a single unified workflow. The platform is deployed across four environments (Development, Test, UAT, Production) and actively serves the full Minnesota agricultural conservation lending network.
Client Benefits
Statewide Loan Visibility
MDA administrators now have a live, consolidated view of all 1,500+ loan applications across 87 counties — application status, fund balances, outstanding repayments, and upcoming disbursements — in a single dashboard.
Eliminated Paper and Email Workflows
All application submissions, document uploads, approval decisions, and stakeholder communications are handled within the platform, removing the risk and inefficiency of paper records and email chains.
Government-Grade Audit Compliance
Every data change across the loan lifecycle is captured in a searchable, filterable activity log — satisfying state government compliance requirements for financial program accountability without manual reporting effort.
Automated Multi-Stakeholder Notifications
30+ event-triggered notifications keep MDA staff, LGU contacts, lender primary contacts, and borrowers automatically informed at every stage — reducing follow-up calls and preventing missed deadlines.
Complex Multi-Borrower Projects Handled Natively
Agricultural projects with multiple land parcels and borrowers are now structured, validated, and processed through a single workflow — with automated parent-child loan creation, GIS-computed center points, and accurate per-borrower PDF documents.
Enterprise SSO for State Government Users
MDA employees authenticate through Oracle IAM with their existing government credentials, eliminating the need to manage a separate identity system while maintaining the platform's unified authorization model.
Client Feedback
"The platform completely transformed how we manage the AgBMP program. What previously required weeks of email coordination and manual tracking now happens in real time. Our LGU partners can see exactly where every application stands, our lenders have what they need without chasing documents, and we finally have a reliable audit record for every loan decision."
- Sarah M. Reinholt, Program Manager, AgBMP Loan Program, Minnesota Department of Agriculture
Technologies Used




