Overview

Enterprise-grade expense requisition system built with Clean Architecture on ASP.NET MVC 10, Entity Framework Core, and SQL Server. Features multi-tier approval workflows, fraud detection with real-time flagging, 3-way matching (PO/Invoice/Goods Receipt), vendor management, immutable audit logs, and comprehensive finance dashboard with KPI tracking. Implements BCrypt password hashing, AES-256-GCM encryption, and rate limiting for security.

The Problem

Finance departments in mid-to-large organizations struggle with manual expense requisition processes prone to fraud, duplicate submissions, policy violations, and poor audit trails. Existing systems lack real-time fraud detection, 3-way matching for invoice verification, and comprehensive approval workflows. There is no affordable enterprise solution that combines expense tracking, multi-tier approvals, vendor management, fraud detection, and immutable audit logging in a Clean Architecture pattern suitable for long-term maintenance.

The Solution

Zentic is an enterprise-grade expense requisition system built with Clean Architecture on ASP.NET MVC 10, Entity Framework Core, and SQL Server. It provides structured requisition workflows (Draft → Submitted → L1 Manager → Finance Review → Approved/Rejected) with real-time fraud detection flagging suspicious patterns (duplicate invoices, amount anomalies, velocity checks). The system implements 3-way matching (PO ↔ Invoice ↔ Goods Receipt) before payment approval, vendor lifecycle management with bank account validation, hierarchical department approval thresholds, and immutable audit logs for compliance. Security features include BCrypt password hashing, AES-256-GCM encryption for sensitive data, and rate limiting on authentication.

Key Features

Clean Architecture Design

Strict separation of concerns across Domain (entities, value objects), Application (use cases, DTOs), Infrastructure (EF Core, repositories), and Web (MVC controllers, views). Dependency Inversion ensures testability and maintainability.

Real-time Fraud Detection

Automated flagging of suspicious patterns: duplicate invoice numbers, amount anomalies (>3σ from department average), velocity checks (multiple submissions in short time), and off-hours submissions. Finance team receives instant alerts for flagged items.

3-Way Matching Verification

Purchase Order, Invoice, and Goods Receipt verification before payment approval. System cross-validates quantities, amounts, and vendor details across all three documents to prevent fraud and errors.

Multi-tier Approval Pipeline

Configurable approval workflows: Draft → Submitted → L1 Manager Approval → Finance Review → Final Approval/Rejection. Each tier has role-based access control and approval thresholds based on requisition amount.

Vendor & Department Management

Complete vendor lifecycle management (registration → verification → active/inactive status) with multi-account bank validation. Hierarchical department tree with configurable approval thresholds and conflict of interest tracking.

Immutable Audit Logs & Compliance

Append-only audit trail with tamper-evident design. Every status change, approval, rejection, and data modification logged with user, timestamp, and IP address. Export capabilities for compliance audits and regulatory reporting.

Architecture

ASP.NET MVC 10 with Clean Architecture: Domain layer (Entities, Value Objects, Domain Events), Application layer (Use Cases, DTOs, Interfaces), Infrastructure layer (EF Core, SQL Server repositories, BCrypt service, AES encryption service), Web layer (MVC Controllers, Razor Views, Bootstrap 5 UI). Authentication via ASP.NET Core Identity with cookie-based sessions and sliding expiration. Rate limiting middleware protects login endpoints (10 attempts per 15-minute window). FluentValidation for input validation across all layers.

How to Use

Prerequisites: .NET 10 SDK and SQL Server LocalDB/Express. Clone the repository, run dotnet restore to install dependencies, then dotnet build. Launch with dotnet run --project Zentic.Web (auto-migrates database on first startup). Access at https://localhost:7081. Default seeded accounts provide Admin, Finance, Manager, Staff, and Auditor roles for testing. Create requisitions as Staff, submit for approval, review as Manager/Finance, and audit via immutable logs.

Impact & Results

Demonstrates production-grade Clean Architecture implementation in .NET 10 with clear separation between Domain, Application, Infrastructure, and Presentation layers. The fraud detection engine reduces financial losses by flagging suspicious patterns before approval. 3-way matching prevents duplicate payments and invoice fraud. Immutable audit logs ensure compliance with SOX, GDPR, and financial regulations. The hierarchical approval system with configurable thresholds adapts to organizational structures without code changes. BCrypt + AES-256-GCM security model meets enterprise security standards.