Financial behavior, made explicit
A foundation for financial software.
FinKore is an open-source, language-independent specification for financial behavior. You get explicit requirements, portable acceptance cases, and operation contracts for machine clients.
Your team implements the rules in your own product, choosing the language, architecture, and tools to execute the cases.
FinKore Core 2.0.2 stable
Your product may be unique.
Your financial rules don't have to be.
Every product that handles money faces familiar questions: how should an amount be rounded, who can approve a change, and what history should be preserved? Answering these from scratch takes time, and small differences can change financial results.
FinKore is an open-source blueprint for these shared foundations. It turns recurring financial questions into clear rules, with examples showing the results to expect. Developers and financial specialists can use that common reference to build and review financial software.
Build on those rules in your own product, using the language and tools you choose. Or help improve the foundation: bring a real-world question, make a rule clearer, or add an example. Your contribution can help the next team start further ahead.
One amount, two explicit policies
What happens to 10.005 EUR?
At scale 2, the declared rounding mode changes the result. CoreDoc requires an explicit policy; the Money specification defines each mode.
Follow the rule and its acceptance cases| Mode | Result |
|---|---|
HALF_UP | 10.01 EUR |
HALF_EVEN | 10.00 EUR |
Choose your next step
Read, implement,
or contribute.
Reuse the financial rules and acceptance evidence. Bring your own product logic and implementation.
Read the CoreDoc
Understand why money, identity, history, and approvals need explicit rules.
Build on itImplementation guide
Choose a domain, implement its rules, and check the results against the acceptance cases.
Improve the contractFirst contribution
Choose a small problem, find its source, verify your change, and open a Pull Request.
Explore the CoreDoc
Know the principle.
Explore the rule.
Start with the question in front of you. Open a principle, choose a rule, and read its reasoning here on the site.
5 principles 19 foundational rules
These are the CoreDoc foundations. The domain specifications refine them into precise requirements.
Read the complete CoreDocCORE-001Monetary IntegrityHow do amounts retain their value and currency through calculation?
CORE-002Controlled Financial StateWhich changes are permitted, and what happens when a change is rejected?
CORE-003Financial History and EvolutionHow are original facts preserved when later actions change their effect?
CORE-004Approval IntegrityWhat was approved, by whom, and does that approval still apply?
CORE-005Identifiable and Determinable Financial MeaningCan a reviewer identify the subject, distinguish conditions, and reproduce the outcome?
Licensing · Built for commercial adoption
Build on FinKore.
Keep your product yours.
Designed for banks, fintechs, SaaS platforms, and ERPs. Build on shared financial rules while keeping control of your technology and the business you build around it.
Explore the licensing-
Commercial use. No royalties.
Build proprietary products and paid services without license royalties or a required support purchase.
-
Your implementation. Your choices.
Choose your language, stack, and deployment. Your original implementation of the rules can remain proprietary.
-
Open foundations. Clear terms.
MPL-2.0 preserves the license and notices of covered FinKore files when you distribute them, including your modifications.
The person behind FinKore
Meet the Founder
Will Gittens
Founder & Lead Maintainer FinKore
With over 25 years in software engineering, Will Gittens has built and led software projects across international teams, working extensively with complex financial systems, approval workflows, expense management, and enterprise applications.
His experience in financial software reinforced a belief: the most important engineering decisions should never be hidden inside implementation details. They should be explicit, testable, and open to scrutiny.
That belief led him to create FinKore.
As Founder and Lead Maintainer, Will is responsible for the project's architectural direction, technical consistency, and long-term vision. His ambition is to bring together engineers, architects, and domain specialists who can challenge assumptions, contribute their expertise, and collectively raise the standards of financial software engineering.
He believes the most valuable open-source projects are not defined by how much code one person writes, but by the knowledge they bring together and the trust they earn over time.
Connect with Will on LinkedIn“Great foundations are not built by one person. They are built through shared knowledge, strong principles, and the commitment to make things better.”