frappe / books

Free Accounting Software
https://frappe.io/books
GNU Affero General Public License v3.0
2.98k stars 683 forks source link
accounting book-keeping desktop double-entry-accounting electron frappe inventory-management invoicing javascript offline open-source point-of-sale vuejs
Frappe Books logo --- [![GitHub release (latest by date)](https://img.shields.io/github/v/release/frappe/books)](https://github.com/frappe/books/releases) ![Platforms](https://img.shields.io/badge/platform-mac%2C%20windows%2C%20linux-yellowgreen) [![Publish](https://github.com/frappe/books/actions/workflows/publish.yml/badge.svg)](https://github.com/frappe/books/actions/workflows/publish.yml) Free Desktop book-keeping software for small businesses and freelancers. [frappe.io/books](https://frappe.io/books/) Frappe Books Preview

Index

[show/hide] 1. [Features](#features) 2. [Installation](#installation) 3. [Development](#development) 4. [Contributions and Community](#contributions-and-community) 5. [Links](#links) 6. [Translation Contributors](#translation-contributors) 7. [License](#license)

Features

  1. Double-entry accounting
  2. Point of Sale
  3. Invoicing
  4. Billing
  5. Payments
  6. Journal Entries
  7. Dashboard
  8. Works Offline
  9. Financial Reports
    • General Ledger
    • Profit and Loss Statement
    • Balance Sheet
    • Trial Balance

Installation

Via Flatpak

Get it on Flathub

Using Homebrew (for MacOS and Linux)

brew install --cask frappe-books

Manual

Download and install the latest release for your platform from the releases page .

Development

Frappe Books is built on Vue.js and Electron. It is offline by default and uses a local SQLite file as the database.

Pre-requisites

To get the dev environment up and running you need to first set up Node.js version 16.14.0 and npm. For this, we suggest using nvm.

Next, you will need to install yarn.

Clone and Run

Once you are through the Pre-requisites, you can run the following commands to setup Frappe Books for development and building:

# clone the repository
git clone https://github.com/frappe/books.git

# change directory
cd books

# install dependencies
yarn

Development

To run Frappe Books in development mode (with hot reload, etc):

# start the electron app
yarn dev

Note: First Boot

When you run yarn dev electron will run immediately but the UI will take a couple of seconds to render this because of how dev mode works. Each file is individually served by the dev server. And there are many files that have to be sent.

Note: Debug Electron Main Process

When in dev mode electron runs with the --inspect flag which allows an external debugger to connect to port 5858. You can use chrome for this by visiting chrome://inspect while Frappe Books is running in dev mode.

See more here.

Build

To build Frappe Books and create an installer:

# start the electron app
yarn build

Note: Build Target By default the above command will build for your computer's operating system and architecture. To build for other environments (example: for linux from a windows computer) check the Building section at electron.build/cli.

So to build for linux you could use the --linux flag like so: yarn build --linux.

Contributions and Community

If you want to contribute to Frappe Books, please check our Contribution Guidelines. There are many ways you can contribute even if you don't code:

  1. If you find any issues, no matter how small (even typos), you can raise an issue to inform us.
  2. You can help us with language support by contributing translations.
  3. You can join our telegram group and share your thoughts.
  4. If you're an ardent user you can tell us what you would like to see.
  5. If you have accounting requirements, you can become an ardent user. 🙂

If you want to contribute code then you can fork this repo, make changes and raise a PR. (see how to)

Links

Translation Contributors

Language Contributors
French DeepL, mael-chouteau, joandreux
German DeepL, barredterra, promexio, C2H6-383, 0xflotus
Portuguese DeepL, Valdir Amaral
Arabic taha2002, Faridget
Catalan Dídac E. Jiménez
Dutch RijckAlex
Spanish talmax1124, delbertf
Gujarati dhruvilxcode, 4silvertooth
Hindi bnsinghgit
Korean Isaac-Kwon
Simplified Chinese wcxu21, wolone, Ji Qu
Swedish papplo, Crims-on
Turkish Eyuq, XTechnology-TR
Danish Tummas Joensen

License

GNU Affero General Public License v3.0