Assembly Line

Medici

Double-entry accounting system for nodejs + mongoose

Medici is an open-source ledger engine project on GitHub under the MIT license (permissive), with 361 stars. It is built with TypeScript and Mongo. Its last push was 3 months ago.

Stars
361
License
MIT
Activity
Slowing
Latest release
v7.2.0

Code on GitHub

Judgement

What it is
Building block
What it does
A Node.js library that implements double-entry accounting journals and balances on top of MongoDB and Mongoose.
Adopt it when
Your Node.js app already uses MongoDB and needs an internal ledger for balances or wallets.
Watch out
Tied to MongoDB and Mongoose, and maintained by a small team.
Ready for
Usable
Runs as
Library
Built with
TypeScript, Node.js, MongoDB and Mongoose
How established
Established: started 13 years ago, latest release v7.2.0.
What the license allows
You can build it into a product you sell, as long as you keep its copyright notice.

Judged on 2026-11-03 from the project's README and GitHub data. The license and age lines are worked out directly.

Built from

Follow it down: Medici → TypeScript → Go → runs on a microchip

How compilers were built, back to punched paper tape

Open-source alternatives to Medici

  1. 1
    TigerBeetle tigerbeetle

    The financial transactions database designed for mission critical safety and performance.

    Building block Usable You are building a payments or ledger system that needs very high throughput and correctness.

    ★ 17k Apache-2.0 Zig Active, pushed 3 days ago
  2. 2
    Fineract apache

    Apache Fineract

    Complete system Production-ready You run or build a lending, microfinance or savings business and need an open core banking back end.

    ★ 2.6k Apache-2.0 Java Active, pushed today
  3. 3
    Django Ledger arrobalytics

    Django Ledger is a double entry accounting system and financial analysis engine built on the Django Web Framework.

    Building block Usable You are building a Django product that needs real accounting inside it.

    ★ 1.4k GPL-3.0 Python Active, pushed 4 days ago
  4. 4
    Blnk blnkfinance

    Blnk is an open-source ledger & financial core for shipping fintech products fast.

    Building block Usable You are building wallets, payments or lending products and need a ledger rather than writing one.

    ★ 577 Apache-2.0 Go Active, pushed today
  5. 5
    Pgledger pgr0ss

    A double entry ledger implementation in PostgreSQL

    Building block Usable Your app runs on Postgres and needs an internal money ledger without adding a separate service.

    ★ 495 MIT Go Active, pushed 12 days ago
  6. 6
    Sequence hoophq

    Immutable, scalable, and easy to use ledger service.

    Building block Experimental You want to study or prototype a tamper-evident ledger service.

    ★ 512 Apache-2.0 Clojure Slowing, pushed 3 months ago
  7. 7
    DoubleEntry envato

    A double-entry accounting system for Ruby applications.

    Building block Production-ready Your Rails app moves money between users or accounts and needs reliable balances.

    ★ 460 MIT Ruby Slowing, pushed 10 months ago
  8. 8
    Ledger abivia

    General Ledger and Journal Accounting Package and API for Laravel

    Building block Experimental You need a general ledger inside a Laravel app and can maintain the code yourself.

    ★ 132 MIT PHP Quiet, pushed 3 years ago

Commercial double-entry ledger engines

  1. 1
    Modern Treasury Ledgers Modern Treasury

    Track every transaction in real-time with double-entry accounting. Built for teams that need perfect accuracy and auditability.

    Building block Production-ready A fintech or platform team needs an auditable ledger for customer balances and does not want to build one.

    Commercial
  2. 2
    Fragment Fragment

    Fragment is the financial system for agents. Programmable money that bills, pays, and accounts for itself.

    Building block Usable A product team wants to define its ledger as code and query balances through GraphQL instead of building a ledger.

    Commercial

Stars, license and activity come from GitHub and refresh on a rolling hourly schedule. The project's own description is quoted as written.