# Frappe Books: offline double-entry accounting for small businesses

> Frappe Books is an Electron desktop accounting app storing everything in a local SQLite file. The README says it is currently blocked from releasing new updates because essential code-signing certificates were not renewed.

**frappe/books** — Free Accounting Software

- Repository: https://github.com/frappe/books
- Website: https://frappe.io/books
- Stars: 4,995 · Forks: 1,152
- Language: TypeScript
- License: AGPL-3.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/frappe-books

## The gap Frappe Books is aimed at

Small businesses are the stated target. The README describes a market gap where small businesses face expensive, complex accounting tools, and positions Frappe Books as an intuitive open-source alternative that combines simplicity with essential features and works offline. That framing matters more than it looks, because offline is not a feature bolted onto an accounting package. It is the reason the app is packaged as a desktop program rather than a web service.

The feature list is conventional for the category: a dashboard, point of sale, invoicing, billing, payments, journal entries, and reports covering the general ledger, profit and loss, balance sheet and trial balance. Double-entry accounting is the underlying model, so every transaction is recorded in two accounts. If you have used a bookkeeping package before, the vocabulary will be familiar.

The audience is narrower than the feature list suggests. This is software for one person, or a very small number of people, working on one machine. The README does not describe a hosted multi-user mode, a permission model, or an audit trail for concurrent editors. A business with several bookkeepers working at once is not the shape this fits.

## Electron, Vue and a SQLite file: what the stack implies

The README's Under the Hood section names three pieces. Vue.js powers the front end, described as reactive and component-based. Electron packages the app as a standalone desktop application for Windows, macOS and Linux. SQLite is the local database, and the README states that all financial data, transactions and configurations are stored in an SQLite file on the user's machine.

The repository confirms the shape. package.json lists vue, vue-router, better-sqlite3, knex, electron-store and bree among the dependencies, with electron-builder configuration at the top level. better-sqlite3 is a synchronous SQLite binding, and knex is a query builder, which together suggest the data layer is plain SQL against a local file rather than a client-server database. The directory listing includes models, reports, schemas, fixtures, regional and translations, which is what you would expect from an app that ships report definitions and locale data with the binary.

The practical consequence is that the backup unit is a file. There is no server to export from and no connection string to change. It also means two machines are two separate sets of books unless you move the file yourself. The README mentions working offline and syncing later, but it does not document a sync mechanism, a conflict resolution rule, or what happens when the same record is edited on two machines. Treat that line as an aspiration rather than a specification until you find the mechanism in the source.

## Installing Frappe Books and opening your first company

For normal use the README points at prebuilt packages. On macOS and Linux, Homebrew installs the cask:

```bash
brew install --cask frappe-books
```

On Linux there is also a Flatpak build, published on Flathub as io.frappe.books. The README links the Flathub badge rather than printing the install command, so check the Flathub page for the exact invocation. Windows and other cases are covered by downloading the installer for your platform from the releases page.

If you want to run from source, the README requires Node.js v20.18.1 and npm, suggests nvm for managing Node, and asks for yarn. Then:

```bash
git clone https://github.com/frappe/books.git
cd books
yarn
yarn dev
```

The README warns that on first boot Electron starts immediately but the UI takes a couple of seconds to render, because dev mode serves each file individually and there are many files. In dev mode Electron runs with the --inspect flag, so an external debugger can attach on port 5858; the README suggests visiting chrome://inspect in Chrome while the app is running.

To produce an installer rather than run in dev mode, the build script is:

```bash
yarn build
```

By default this targets your own operating system and architecture. The README points to the Building section of electron.build/cli for cross-building, and gives `yarn build --linux` as an example of building for Linux from another platform.

Once the app is open, the first real task is creating a company and entering an opening position, then recording a transaction through one of the entry types the README lists (invoice, bill, payment or journal entry) and checking that it appears in the general ledger and that the trial balance is level. That check is the point of double entry, and it is the fastest way to confirm the install actually wrote to the SQLite file rather than failing silently.

## The code-signing block is the real adoption risk

The most important paragraph in the README is not about accounting. It states that Frappe Books is currently blocked from releasing new updates due to a lack of support from Frappe in renewing essential code-signing certificates, and links to an issue in the flathub/io.frappe.books repository.

Read that carefully. The repository is not archived and the last push was on 2026-09-20, so work is landing on the default branch. But the README's own notice says the release path is blocked. The listed releases stop at v0.36.0 on 2025-11-06, while package.json carries version 0.37.0, which is consistent with commits accumulating without a corresponding published release. Anyone planning to depend on this for bookkeeping should verify the current status of that Flathub issue before installing, and should not assume that a fix is coming on any particular schedule.

There is a second, quieter limitation. The README does not document rollback, database migration, or what happens to an existing SQLite file when a newer version expects a different schema. The repository has a schemas directory and a models directory, which implies schema definitions are versioned in code, but the README says nothing about upgrading an existing company file. Before you trust a year of books to this, copy the database file somewhere else and open the copy after an upgrade.

## How Frappe Books differs from a server-based ledger

The obvious alternative is a server-hosted accounting system, whether a self-hosted ERP or a SaaS bookkeeping product. The difference is architectural, not cosmetic. Frappe Books runs the whole application, UI and database, inside an Electron process on one machine, with better-sqlite3 writing to a local file. The README's own description of the motivation says the app is meant to work offline, and the SQLite choice is what makes that possible: no network round trip sits between a keystroke and a committed journal entry.

A server-based system inverts that. Your data lives in a database the server owns, access is mediated by accounts and roles, and the client is a browser. You gain concurrent users, centralized backups and access from anywhere. You lose the ability to keep working when the network is down, and you take on the operational work of running the server or the recurring cost of renting it.

There is a middle option worth naming: using Frappe Books as the bookkeeping front end for a business whose other systems already live on a Frappe stack. The repository's topics include frappe, and the author is Frappe Technologies, but the README does not describe an integration path between this desktop app and a Frappe server. Do not assume one exists just because the names match.

If your requirement is a shared ledger that several people edit at the same time, Frappe Books is the wrong tool, and no amount of feature parity on reports changes that.

## Licence, maintenance and the cost of keeping it current

Frappe Books is licensed AGPL-3.0. For a business running the desktop app to keep its own books, that is unremarkable. The licence matters if you modify the code and make it available to users over a network, because the AGPL's network clause extends source-availability obligations to that case. This is not legal advice; if you plan to embed Frappe Books in a product, read the licence text and talk to someone qualified.

The upgrade story is the part to watch. The README gives install and build commands but no upgrade procedure, no changelog policy, and no statement about backwards compatibility between versions. Releases are versioned and tagged, and the version in package.json is ahead of the latest published release, which suggests the project's own release cadence is currently constrained by the certificate issue described in the README.

Practically, the maintenance cost of adopting this is the cost of treating a file as the system of record. You need to know where the SQLite file lives on each platform, copy it on a schedule, and verify that a copy opens and contains the expected entries. The README does not document a backup command, so the backup is a file copy you script yourself. Budget for that, and for the possibility that a future release changes the schema underneath it.

## Conclusion

Adopt Frappe Books if you run a small business that needs double-entry books, invoicing, billing and point of sale on a single machine, and you can live with a local SQLite file and a release pipeline the README says is blocked by code-signing certificates. Do not adopt it if you need a hosted multi-user ledger, a documented sync story, or vendor support. Before committing, verify the current state of the code-signing block on the Flatpak issue the README links to, confirm that the release you intend to install is the one you actually get, and open a copy of the SQLite database to confirm it contains your company data.

## FAQ

### What is Frappe Books?

It is an open-source desktop accounting application from Frappe Technologies, licensed AGPL-3.0, aimed at simplifying financial management for small and medium-sized businesses. The README lists double-entry accounting, invoicing, billing, payments, journal entries, point of sale and standard financial reports.

### How do I install Frappe Books on macOS or Linux?

The README gives the Homebrew cask command, brew install --cask frappe-books. On Linux there is also a Flatpak build published on Flathub as io.frappe.books, and for other platforms the README points to the releases page for a downloadable installer.

### Where does Frappe Books store my accounting data?

The README states that SQLite is the local database and that all financial data, transactions and configurations are stored in an SQLite file on the user's machine. That file, not a server, is the system of record.

### Does Frappe Books work without an internet connection?

Yes. Working offline is one of the key features the README lists, and it is the reason the app is packaged with Electron and SQLite rather than served from a remote database. The README mentions syncing later but does not document how that sync works.

### Why is Frappe Books not getting new releases?

The README carries a notice that Frappe Books is currently blocked from releasing new updates due to a lack of support from Frappe in renewing essential code-signing certificates, and links to an issue in the flathub/io.frappe.books repository. The published releases stop at v0.36.0.

## Sources

- [frappe/books on GitHub](https://github.com/frappe/books)
- [License: AGPL-3.0](https://github.com/frappe/books/blob/master/LICENSE)
- [Project website](https://frappe.io/books)
- [README](https://github.com/frappe/books/blob/master/README.md)
- [Releases](https://github.com/frappe/books/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/frappe-books
