Ecommerce Core provides the shared contracts and provider-neutral infrastructure used by standalone ecommerce connector apps on Frappe and ERPNext. It centralizes the common models, workflows, and utilities while keeping provider-specific APIs, authentication, webhooks, and business logic inside separate connector apps.
Ecommerce Core is not an ecommerce connector by itself. Install a compatible connector app to integrate ERPNext with a supported ecommerce platform.
- Product mapping: Maintain mappings between ERPNext items and ecommerce platform products and variants.
- Integration logs: Record synchronization jobs, retries, and errors across connector apps.
- Warehouse mapping: Map platform locations to ERPNext warehouses.
- Inventory synchronization: Detect stock changes and synchronize inventory across channels.
- Scheduling: Provide configurable synchronization intervals for connector apps.
- Customer management: Create and reuse ERPNext customers from ecommerce orders.
- Address mapping: Convert platform addresses into ERPNext-compatible records.
- Tax and pricing utilities: Provide shared tax and price list safeguards for integrations.
- Shared utilities: Reuse common controllers, client scripts, and helper functions across connector apps.
Under the Hood
-
Frappe Framework: A full-stack web application framework written in Python and JavaScript. The framework provides a robust foundation for building web applications, including a database abstraction layer, user authentication, and a REST API.
-
ERPNext: The open-source ERP that remains the source of truth for items, stock, accounting and sales documents. Ecommerce Core maps provider data onto ERPNext masters and transactions.
-
Connector Apps: Implement provider-specific APIs, authentication, webhooks, synchronization workflows, and business logic on top of Ecommerce Core.
| Frappe Version | ERPNext Version | Python Version |
|---|---|---|
Version 16 (develop) |
Version 16 (develop) |
3.14+ |
Ecommerce Core targets Frappe and ERPNext version 16 through the develop branch.
Set up a Frappe bench by following the Frappe installation guide, then install ERPNext and Ecommerce Core:
bench get-app erpnext --branch develop
bench get-app https://github.com/aerele/ecommerce-core --branch develop
bench --site <site-name> install-app erpnext
bench --site <site-name> install-app ecommerce_coreInstall a compatible connector app after Ecommerce Core. Refer to the connector's documentation for provider-specific configuration.
A standalone ecommerce connector should:
- Declare
required_apps = ["ecommerce_core"]inhooks.py. - Implement the required settings controller and shared contracts provided by Ecommerce Core.
- Keep provider-specific APIs, authentication, webhooks, and business logic inside the connector app.
- Reuse the shared models, utilities, and synchronization workflows provided by Ecommerce Core.
See the Developer Documentation for the connector architecture and integration workflow.
For AI-assisted development, see the AI Development Guide, which defines the implementation contract and development guidelines.
- Frappe School - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community.
- Official documentation - Extensive documentation for Frappe Framework.
- Discussion Forum - Engage with the community of ERPNext users and service providers.
- Contributing Guide
- Issue Guidelines
- Pull Request Requirements
- Send pull requests to the
developbranch only.
GNU GPL v3.0. See license.txt.
