Professional Domain Experience
Accounting & Finance Management System
Transactional accounting platform work — customers, accounts, financial records, and reporting.
- ASP.NET Core Web API
- Angular
- SQL Server
- Entity Framework Core
- C#
Transparency note: This reflects professional experience on employer-owned accounting software. The engineering approach is described; the employer's code, clients, and figures are not.
Overview
A case study based on my professional experience building and maintaining accounting applications at Abbott Track. Accounting software is an exercise in correctness: every entry affects balances, every operation must be auditable, and concurrent edits must never corrupt financial state.
The problem
Financial records demand a level of integrity most applications never need. Balances must always reconcile, partial writes are unacceptable, and users in different roles — accountants, managers, administrators — need different levels of access to sensitive data.
The solution
An ASP.NET Core Web API and Angular application over SQL Server, built around explicit database transactions. Every financial operation — recording a transaction, adjusting an account, generating a statement — runs inside a transaction boundary, with validation at the API layer and constraints at the database layer acting as a second line of defense.
System architecture
Angular Frontend
Forms with strict client-side validation
REST API
Validated endpoints, role-gated access
Service Layer
Transaction boundaries around financial operations
EF Core
Change tracking + explicit transactions
SQL Server
Constraints, isolation levels, integrity
Architecture
Layered ASP.NET Core Web API with a service layer owning transaction boundaries, EF Core for data access, and SQL Server enforcing integrity through constraints and transactional isolation.
Key features
- Customer and account management
- Financial transaction recording with double-checked validation
- Account statements and financial records
- Reporting views for balances and activity
- Authentication and role-based access to financial data
- Audit-friendly, append-oriented data design
My contribution
- Built and maintained accounting features across API, frontend, and database
- Implemented authentication and role-based authorization for financial data
- Worked extensively with transactional database operations
- Developed secure, efficient RESTful endpoints for financial workflows
Technical challenges
Guaranteeing atomic financial operations
A transfer or adjustment touches multiple rows that must change together. Explicit EF Core transactions with appropriate isolation levels ensure operations either fully commit or fully roll back.
Concurrent edits to shared records
Two users acting on the same account at once is a normal Tuesday in accounting software. Concurrency tokens and careful update patterns prevent lost updates without locking users out.
Outcome
Sixteen months of production accounting work that instilled a transactions-first mindset: validate early, constrain at the database, and never trust a financial write that isn't atomic.