Announcing a new Frappe Books

For those unaware, Books was a basic accounting and inventory app built on Electron/Vue as a desktop app. Think of it like “ERPNext Lite”. It went unmaintained for quite some time due to lack of an owner.

That repo has now been archived and Books has officially reached its end of life. It is being succeeded by Frappe Books, pretty much the same app except this time built on the Frappe Framework with Frappe UI on top and a mobile app (PWA) to go along with it. Documentation has also been updated with the latest changes.

Do install it and check it out (develop branch only for now). If you find any issues, please make a GitHub issue accordingly.

We hope this new version does justice to the reputation of the old Books :slight_smile:

Good luck with this project!
I wonder why Frappe is leaning toward AGPL-3 license in their new GitHub projects?
How this license differs from GPL-3?

This is interesting. I’m curious how well it can integrate into a site running Frappe CRM. I think it could be a winning combo if it could have one set of customers/contacts, etc.

Maybe custom installer when adding Books to a site already running CRM.

It so cool to see what the framework has been able to achieve over the last few years, as it’s gotten more and more mature. Well done everyone!

I didn’t realize “Develop” branch would mean a minimum Frappe version > 17.

So, Frappe Books will be in the Development branch for a couple of years, yes?

This puts a production-ready/stable version a couple of years in the future?

@mihir-kandoi It looks like Frappe Version 17 has major architectural changes. I’m a bit confused by this excerpt from the documentation. Does the following apply to user-created doctypes when creating a custom app? Does this mean more code to be written vs. the “low code/no code” selling point that Frappe has been based on? Perhaps this is just over my head :wink:

  1. Put each fill, default and rule in the controller.
  2. If the form shows values that the server fills, add a whitelisted preview.
  3. In the DocType JSON, set each placeholder, and the depends_on rules.
  4. Write the model: extend FrappeDoc, set doctype, presentation and previewMethod, and use Frappe fieldnames.
  5. Give each table that needs one a row model in rowModels.
  6. Register the model in frappeModels.
  7. Find each link to the doctype (grep '"options": "Books X"' in the DocType JSON files). Set its filters and createFilters in Frappe fieldnames.
  8. Add route filters for the lists of the doctype (src/utils/filters.ts, sidebar, Get Started) in Frappe fieldnames.
  9. Add node tests for the model and the form layout, and a Playwright spec for the screens.
  10. Run the guards.

I myself am unsure at this point. I will try a v16 version soon.

That was not meant to be user facing, its just some internal instructions Claude made and used itself. The /books SPA currently only supports Custom Fields (through the Settings tab, not through Desk’s Custom Field DocType) and no other customizations right now. I will remove it so it doesn’t cause more confusion.

So I think the problem is that if someone installs either CRM or Books as standalone apps.

One idea could be that all fields that rely on another app (e.g. HRMS needs employee from ERPNext) should be installed as standard at the framework level otherwise we will always have this reco/sync problems

Can anyone with core Framework experience comment if this is possible and what would be the pros and cons

Please, Let’s not make this into something it isn’t. IMO books would be a less capable version of erpnext when it comes to integrations, focused on doing one thing, accounting, and doing it simply and well. If integrations are necessary there is always erpnext.

You could maybe focus on an easy and well documented upgrade route?

So the Desktop app is dead. Now Frappe Books will be only be a Frappe Framework App?

In case of Books it was the ease of just downloading the binaries and running them locally on PC.

Are there any plans to release Desktop version?

It seems POS is missing in the new version.

Any change to it getting added?

It is there, you will have to enable it in the settings.

Didn’t get you… Isn’t that what Books already is? Even when it was an Electron app.

Yes, that is what books was and is now. I was just asking that we be careful about integrating to many outside features as to not recreate erpnext. As it is now, both have there place and uses and hopefully it can stay that way.

I disagree @nktech1135

There are many businesses that don’t manufacture, don’t have multi company, don’t need HRMS, etc. What they do need is a solid accounting app with multi user access, with the ability to combine other business apps, project management, CRM, along with adding custom apps.

There should be a middle ground like ERPlite.

I have migrated my desktop app data from .db file to web app.

This script can be helpful.

I also tried to contribute migration from Electron app db to import data in Web version. .