Kaikei is an AI-assisted bank reconciliation desktop app for macOS and Windows. It compares an accounting ledger with one or more bank statements, finds direct and grouped matches, identifies discrepancies, and exports an audit-ready report. A deterministic local engine handles the arithmetic; GPT-5.6 reviews ambiguous exceptions through Codex App Server and returns schema-constrained JSON. Kaikei uses the user's ChatGPT session instead of requiring an API key and keeps the accountant in control of every suggested adjustment.
Inspiration
Bank reconciliation is essential, but for many small businesses and accounting teams it is still a monthly exercise in copying data between banking portals, accounting software and spreadsheets. Equal values may occur on different dates, one bank movement may correspond to several ledger entries, and real exceptions—fees, duplicates, deposits in transit or unrecorded transactions—are hidden among hundreds of normal rows.
I wanted to build a tool for the person who must explain and sign off on the reconciliation, not only produce a match percentage. Kaikei was inspired by the Colombian accounting workflow, where evidence, traceability and professional review matter as much as speed. The goal was a desktop experience that accountants could understand immediately, without deploying a server, configuring an API key or surrendering the final decision to a black box.
What it does
Kaikei lets the user load one accounting ledger and one or more bank statements in XLSX, CSV, OFX, QFX or PDF format. It detects likely columns, lets the accountant correct the mapping, and normalizes dates, values, descriptions, references, debits and credits.
A deterministic reconciliation engine first searches for auditable 1:1 and grouped 1:N/N:1 matches using amount, sign, date windows and references. GPT-5.6 then reviews the remaining exceptions through Codex App Server, looking for patterns, risks and explainable findings. Its response is constrained by JSON Schema and validated again locally with Zod before it reaches the interface.
The result is a complete reconciliation workspace with:
- matched and unmatched transactions;
- book and bank differences;
- duplicate and anomaly findings;
- suggested follow-up controls and accounting adjustments;
- charts and reconciliation metrics; and
- exportable Excel, executive PDF and JSON reports.
Kaikei includes tailored context for Colombian private companies, nonprofit entities and public-sector organizations. It never posts an accounting entry automatically: suggested adjustments remain subject to evidence, review and approval.
How we built it
Kaikei is a cross-platform Electron application with a React and TypeScript interface. The Electron main process parses financial files locally, isolates file-system access from the renderer, and runs the deterministic matching engine. The renderer receives only normalized previews and report data.
For AI analysis, Electron starts codex app-server over stdio. account/read reuses the user's current ChatGPT/Codex session, while account/login/start handles sign-in when required. The app creates an ephemeral, read-only thread and sends only the normalized movements, deterministic candidates and reconciliation rules. turn/start.outputSchema constrains the final GPT-5.6 response, and Zod performs a second local validation before the report is accepted.
Codex was also the development collaborator for the project. Starting from a plain-language accounting workflow, Codex helped research the Colombian reconciliation context, translate it into product requirements, design the Electron/App Server architecture, implement the parsers and matching engine, build the interface, create tests, diagnose packaged-app issues, produce installers and prepare the documentation. Mauricio made the core product decisions: use the user's ChatGPT login instead of an API key, keep file handling local, combine deterministic matching with AI reasoning, and require human review for every adjustment.
Challenges we ran into
The first challenge was that bank and accounting files are inconsistent. The same concept can appear as a signed value, separate debit and credit columns, localized dates, or a PDF text table. We addressed this with explicit normalization, editable column mapping and format-specific parsing.
The second challenge was avoiding a reconciliation that merely “looks intelligent.” Matching must remain explainable and numerically reliable. We therefore separated responsibilities: deterministic code proposes matches and calculates totals; GPT-5.6 focuses on ambiguous exceptions, patterns and narrative findings.
Structured AI output was another challenge. A report screen cannot depend on loosely formatted prose, so we use JSON Schema at generation time and Zod validation at the application boundary.
Finally, packaging a secure cross-platform Electron app while communicating with Codex App Server required careful process management, sandboxing, preload isolation, login-state handling and real packaged-app testing on macOS.
Accomplishments that we're proud of
- We shipped a complete, installable desktop product rather than a chat mockup or isolated proof of concept.
- Kaikei works without a custom backend and without asking the user for an OpenAI API key.
- The hybrid engine keeps arithmetic deterministic while using GPT-5.6 where language understanding and exception reasoning add the most value.
- Every AI report is schema-constrained, locally validated and presented for human review.
- The app supports five common financial-file formats, grouped matching, charts and three export formats.
- The interface includes consent, security boundaries and clear professional-accountability language.
- The repository includes sample data, Colombian reconciliation research, automated tests and reproducible packaging instructions.
What we learned
We learned that the strongest use of an advanced model in accounting is not to replace deterministic controls, but to sit on top of them. Code should establish totals, candidate matches and invariants; GPT-5.6 should explain the long tail of exceptions and turn raw discrepancies into actionable review.
We also learned that structured output changes what is possible. Once the model response is treated as a typed application boundary instead of chat text, AI analysis can safely drive dashboards, exports and workflow states.
Most importantly, Codex proved useful beyond code generation. It helped move continuously between domain research, architecture, UX, implementation, testing, packaging and communication while Mauricio retained the product and accounting decisions.
What's next for Kaikei
The next milestone is a signed and notarized production release for macOS and Windows. From there, Kaikei will add reusable templates for more Colombian banks and accounting systems, persistent reconciliation history, multi-account batch processing, reviewer approval workflows and stronger audit trails.
We also plan to add direct integrations with accounting platforms, configurable organization policies, richer evidence attachments and bilingual Spanish/English reporting. Longer term, Kaikei can become a general financial close assistant: not only identifying differences, but preserving the reasoning, evidence and approvals behind every resolved exception.
Log in or sign up for Devpost to join the conversation.