Independent product · Business application · 2026
Finance & Accounting with AI Copilot
Multi-company double-entry accounting with approval and posting workflows, reports, budgets and cash-flow forecasting. Its copilot takes every figure from typed tools, and code verifies the narrative before anyone reads it.
Screenshots
The problem
Language models are fluent even about numbers they have never seen. In accounting, one invented figure in a well-written paragraph is worse than no answer at all — and an AI that can post entries is an AI that can move the books.
What I built
- A deterministic general ledger: multi-company with role-based access, chart of accounts, fiscal calendar, journal lifecycle (draft → approve → post → reverse), opening balances, multi-currency foundations and an append-only audit trail.
- Trial balance, journal, general ledger and account-statement reports; receivables and payables with ageing; cash and bank reconciliation; budgets with budget-versus-actual; deterministic cash-flow forecasting and management dashboards.
- A Finance Copilot whose numbers come from typed tools over the same reporting engine the screens use, while a deterministic claim validator checks its narrative — one regeneration, then the narrative is withheld and the reader gets the table.
- The AI can only propose a draft entry; a person confirms it, and approving or posting do not even exist in the AI layer.
- Preview-then-confirm imports from CSV/XLSX files, SQL and HTTP sources, and an Azure Document Intelligence invoice-intake adapter — every path ends at a draft.
- A SQL Server test gate that must execute in CI rather than skip: 165 engine-specific tests, including concurrency and locking.
Architecture
Blazor screens
28 routes · Turkish and English
Finance Copilot
Azure OpenAI function calling
Application services
every call authorized against the active company
Typed tools + fact ledger
a claim validator checks the narrative
Ledger engine
journals · reports · open items · bank · budgets · forecasts
SQL Server
EF Core migrations · append-only audit
Key decisions
Numbers from tools, words from the model, verification from code
A narrative whose figures cannot be traced to a tool result is regenerated once and then withheld. No model verifies another model on this path.
Absent, not denied
Approve, post and reverse do not exist in the AI and import layers, so no setting or prompt can reach them — and a source scan fails the build if one appears.
A forecast is arithmetic, not a stored guess
Cash-flow forecasts are recomputed from stated inputs and never stored, and every figure says whether it is actual, bank-asserted, budget or forecast.
Honest scope
Engineering-complete and validated locally and in CI on a throwaway SQL Server, with a controlled live Azure OpenAI test of the copilot. Not deployed, not yet validated on Azure SQL, and not certified for statutory reporting.