Frappe Books

Offline desktop accounting with double-entry, POS, and custom invoice templates

4.9Kstars
1.1Kforks
GNU AGPLv3
TypeScript

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
89/100Excellent
Development Activity84
Maintenance88
Community84
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
77/100Good
Architecture91
Code Quality64
Innovation82
Learning Curve70

The project exhibits a high degree of architectural soundness with a clear separation of concerns and a modern tech stack. While code quality is generally good, the unique implementation of the `StockQueue` and specialized UI components demonstrate a thoughtful approach to solving specific domain problems, elevating the project beyond a conventional implementation.

Dependency Health

Score based on the health, technical quality, freshness, and vulnerability profile of runtime dependencies.How we score it →
75/100Good
Library Repo Health71
Library Technical Quality85
Version Staleness66
Vulnerabilities52
Dependency Footprint100

Frappe Books is a free, open-source desktop accounting software designed for small and medium-sized businesses that need accurate, offline financial management without cloud dependency. It eliminates the complexity and cost of traditional accounting tools by offering a clean, intuitive interface powered by modern web technologies.

Built with Vue.js for the frontend, Electron for desktop packaging, and SQLite for local data storage, Frappe Books runs natively on Windows, macOS, and Linux. It supports full double-entry accounting, point-of-sale transactions, and offline operation—all while keeping user data entirely on the local machine with no cloud uploads.

What You Get

  • Double-entry accounting - Records every financial transaction in two accounts (debit and credit) to ensure accurate, balanced books without manual reconciliation.
  • Point of Sale (POS) - Integrated retail sales system that allows quick invoice creation, payment processing, and inventory tracking directly from the desktop app.
  • Offline-first operation - All financial data is stored locally in a single SQLite database file, enabling full functionality without internet access and eliminating cloud dependency.
  • Custom invoice templates - Built-in HTML-based template builder lets users design professional invoices from scratch or modify pre-built templates using basic HTML knowledge.
  • Fuzzy search navigation - Press Ctrl+K anywhere in the app to instantly search and jump to any function (e.g., “create sales”) for rapid workflow access.
  • Financial reports suite - Includes Profit and Loss, Balance Sheet, General Ledger, and Trial Balance reports with real-time data visualization for business insights.

Common Use Cases

  • Running a small retail store - A boutique owner uses Frappe Books to process sales via POS, track inventory, generate invoices, and produce monthly P&L reports—all without an internet connection.
  • Freelancer or solo consultant managing finances - A freelance designer tracks income, expenses, and client payments using double-entry entries and exports reports for tax season with zero data exposure.
  • Accountant serving local SMEs offline - An accounting professional installs Frappe Books on client machines to manage books securely without uploading sensitive financial data to the cloud.
  • Non-profit organization with limited IT resources - A charity uses Frappe Books to record donations, expenses, and grants with audit-ready reports, relying on offline stability and open-source transparency.

Under The Hood

Architecture

  • The codebase demonstrates a well-defined layered architecture, clearly separating frontend and backend concerns.
  • A component-based design is prevalent, fostering reusability and maintainability.
  • Database interactions are abstracted, suggesting flexibility in database choices.
  • The project structure is organized, with dedicated directories for different functionalities.

Tech Stack

  • A modern TypeScript-first approach is employed, leveraging Vue.js for the user interface and Electron for desktop packaging.
  • The use of Knex.js indicates a focus on database interaction and potential support for multiple backends.
  • Comprehensive testing strategies are evident, including unit and UI tests.
  • Build processes are well-defined, utilizing tools like Vite.

Code Quality

  • The codebase exhibits a generally well-structured approach with a clear separation of concerns.
  • Testing is comprehensive, with reusable helper patterns in backend tests.
  • Error handling is present, though the extent of its application requires further investigation.
  • Naming conventions are generally consistent and descriptive, enhancing readability.
  • Type safety is enforced through TypeScript, contributing to code reliability.

What Makes It Unique

  • A custom StockQueue implementation suggests a focus on performance and accuracy in inventory management.
  • Specialized UI components like FloatingLabelCurrencyInput and POSQuickActions indicate a focus on building a Point of Sale system.
  • The integration of ‘fyo’ suggests a deliberate attempt to build a reusable and adaptable system with internationalization support.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search