Skip to main content

Apps in Frappe Framework v15

What Is an App in Frappe Framework?

An App in Frappe Framework v15 is a modular, installable package that contains business logic, data models, and user interface components. Every major feature in ERPNext—including Accounting, Stock, HR, and Selling—is delivered through apps built on top of the Frappe Framework.
In simple terms, apps are the building blocks of ERPNext.

Why Are Apps Important in ERPNext?

Apps enable clean separation of functionality and allow ERPNext to remain flexible, extensible, and upgrade-friendly.

Key Benefits

  • Modular architecture
  • Easy installation and removal
  • Independent versioning
  • Clean customization without core changes

This design allows businesses to add only what they need.

Who Uses Frappe Apps?

Target Audience

  • ERPNext Developers
  • Frappe Framework Developers
  • ERP Implementation Consultants
  • Technical Architects

Technical Prerequisites

  • Frappe Framework v15
  • Basic Python knowledge
  • Familiarity with ERPNext concepts

What Types of Apps Exist in Frappe v15?

Frappe Framework v15 supports multiple app types, each serving a different purpose.

1. Core Apps

Core apps are maintained by the Frappe team and provide foundational functionality.

Examples

frappe – The framework itself
erpnext – Core ERP features

2. Custom Apps

Custom apps are created by developers or organizations to add new features or industry-specific logic.

Use Cases

Industry-specific ERP solutions
Integrations with third-party systems
Custom workflows and reports

3. Third-Party Apps

Apps developed by the community or partners that extend ERPNext functionality.
These apps follow the same structure and installation process as core apps.

How Is an App Structured in Frappe Framework v15?

Each app follows a standard directory structure.

Common Components

  • Python modules (business logic)
  • DocTypes (data models)
  • Client Scripts and UI assets
  • Hooks (hooks.py)
  • Configuration files

This standardized structure ensures consistency across all Frappe apps.

How Do Apps Interact with the Frappe Desk?

Once installed on a site, an app:

  • Registers its DocTypes
  • Adds modules to the Desk
  • Integrates with permissions and roles
  • Exposes features through forms, reports, and dashboards
  • Apps become first-class citizens in the Frappe Desk UI.

How Are Apps Installed and Managed?

Apps are installed per site, not globally.

Key Concepts

  • One bench can host multiple apps
  • Each site chooses which apps to install
  • Apps can be enabled or removed without affecting others

This allows flexible multi-tenant ERP deployments.

Real-World ERPNext Use Cases for Apps

Industry Relevance

  • Manufacturing: Custom production apps
  • Finance: Compliance or tax extensions
  • Retail: POS enhancements
  • Healthcare: Patient and clinic management

Apps make ERPNext adaptable across industries.

Best Practices for Working with Apps

  • Keep customizations inside custom apps
  • Avoid modifying core apps directly
  • Use hooks instead of overrides where possible
  • Version-control apps properly
  • Test apps independently before deployment

Common Misconceptions About Apps

“ERPNext Is One Big Application”

In reality, ERPNext is a collection of apps working together on the Frappe Framework.

“Customizations Must Modify Core Code”

Frappe’s app system is designed to avoid core code changes.

Advanced App Concepts

Apps vs Modules

Aspect App Module
Scope Project-level Feature grouping
Installable Yes No
Versioned Yes No

Modules live inside apps, not the other way around.

Integration Patterns

Apps integrate with:

  • Other Frappe apps
  • ERPNext core modules
  • REST APIs
  • External services

This makes Frappe suitable for complex enterprise ecosystems.

Official References (Verified)

Apps Basics (v15):

https://docs.frappe.io/framework/user/en/guides/basics/apps

Frappe GitHub (v15):

https://github.com/frappe/frappe/tree/version-15

Rating: 5 / 5 (2 votes)