Is there a way to pre-configure ERPNext?

I’ve got a client who basically wants to sell ERP software to gas stations. Running a gas station is of course well within the capabilities of ERPNext. Configuring it would just be matter of adding the particular items that are needed, and hiding a lot of stuff that isn’t needed.

Is it possible to create a pre-configuation of ERPNext, which is set up in advance for a particular business? So that the customer types in his business name, and can begin using it at once?

(I guess this could be taken either as a technical question or a licensing question. I’d be interested in either type of reply.)

There are no licensing issues. ERPNext is licensed GPLv3. You’re certainly allowed to act as a service provider.

In terms of “how” to accomplish this technically. Here’s one possibility:

In Advance

  • Create your “base” App, with all your custom code.
  • Create your “base” database, with all your default DocType values.

New Customer Registers

  1. Create some sort of registration website/portal. Doesn’t necessarily need to be built with Frappe Framework.
  2. New customer enters the mandatory data. Web page validates, customer clicks “Submit”
  3. This triggers a few actions:
    • Create a new ERPNext Site.
    • Makes a copy of your “base” database, updates a few SQL rows (Company Name, Usernames, Passwords), and assigns that database to the new Site.
    • Possibly some TLS certificate registration.
  4. New customer is redirected to the login page for their ERPNext Site.

If the database restore doesn’t sound fun, you could probably use Fixtures in your App to handle creating the default DocType records. Pros and cons to each approach.

There are dozens of other considerations if you wanted this stable and scalable. But that’s the basic idea.


FYI, Frappe Cloud offers to take care of the sign-up and deploy steps for you, so that you’ll just have to create your custom app.