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):