Shop

B2C e-commerce storefront powered by ERPNext and Frappe Builder (work in progress, not production ready)

Install Shop

bench get-app https://github.com/frappe/shop

Tags

  • ecommerce
  • erpnext
  • frappe
  • frappe-builder
  • storefront
  • vue

Add the Frappe Gems badge to your README

Maintain Shop? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=frappe%2Fshop)](https://frappegems.com/gems/apps/frappe/shop)

About Shop

Frappe Shop Logo

Frappe Shop

**A storefront you can actually redesign**
Frappe Shop storefront, merchant admin and mobile
> [!WARNING] > Frappe Shop is under active development and is **not production ready**. > Doctypes, APIs and theme internals are still changing without migrations, so > treat it as a preview: try it on a fresh site, not on a store you sell from. ## Frappe Shop Frappe Shop is B2C e-commerce for the Frappe stack. The shopper facing storefront is rendered entirely by [Frappe Builder](https://github.com/frappe/builder) pages, so every page is a canvas a merchant can restyle visually rather than a template only a developer can touch. Orders, items, pricing, stock and customers are plain ERPNext documents, and a [Frappe UI](https://github.com/frappe/frappe-ui) admin at `/shop` runs the store day to day. ### Key Features - **Visual storefront:** Home, listing, product, cart, checkout, order and account pages are Builder pages. Drag the shipped components onto a canvas to rebuild any of them, or design new ones. - **Themes:** Ship as Builder template groups and switch in one click from Settings. Merchant edits survive a switch, so you can try a theme and go back. - **Guest checkout:** Carts are keyed by an httponly cookie, so shoppers buy without an account and can still track the order from a signed link. - **Payments:** Cash on delivery works with zero configuration. Connect any gateway supported by the [payments](https://github.com/frappe/payments) app for online payment. - **Returns and replacements:** Customers raise a request from their own order page inside the return window; merchants approve, reject or complete it from a queue, with a note the customer sees. - **Fulfillment:** Ship it yourself with a delivery note and tracking, or plug in a provider through the fulfillment hook. - **Merchant admin:** Dashboard, orders, fulfillments, returns, products and variants, inventory, collections, customers, reviews, discounts and carts. - **ERPNext native:** Products are a publish layer over Item, variants are item variants, prices are Item Prices and stock is Bin. Nothing is duplicated, so the rest of ERPNext keeps working. ### Under the Hood - [Frappe Framework](https://github.com/frappe/frappe): full stack web framework. - [Frappe Builder](https://github.com/frappe/builder): renders the storefront. - [ERPNext](https://github.com/frappe/erpnext): orders, stock, pricing, customers. - [Frappe UI](https://github.com/frappe/frappe-ui): the merchant admin. ## Getting Started ### Local Setup 1. [Set up Bench](https://docs.frappe.io/framework/user/en/installation). 1. In the frappe-bench directory, run `bench start` and keep it running. 1. Open a new terminal, cd into `frappe-bench` and run: ```bash bench get-app erpnext bench get-app payments bench get-app builder bench get-app shop bench new-site shop.localhost \ --install-app erpnext --install-app payments --install-app builder --install-app shop bench --site shop.localhost set-config server_script_enabled 1 bench --site shop.localhost add-to-hosts bench browse shop.localhost --user Administrator ``` `server_script_enabled` is required: storefront pages read their data through Frappe's `safe_exec`. Open `http://shop.localhost:8000/shop` and finish onboarding to set up the store, sample products and payments. The storefront is then live at `http://shop.localhost:8000`. ### Development ```bash bench --site shop.localhost execute shop.demo.setup # sample catalog bench --site shop.localhost execute shop.demo.teardown # remove it bench --site shop.localhost run-tests --app shop # server tests cd apps/shop/e2e && npx playwright test # storefront and admin E2E cd apps/shop && yarn dev # admin dev server ``` The walkthroughs at `/shop/walkthroughs` seed the exact state for a persona, guest shopper through to operations manager, and hand you the steps to try that flow end to end.

### Links - [Theming guide](docs/theming.md): page data contract, building pages, authoring a theme. - [Frappe Builder](https://github.com/frappe/builder) - [Discuss Forum](https://discuss.frappe.io)

Frappe Technologies

Related Retail apps for Frappe & ERPNext

  • Ury — URY - FOSS restaurant management system super powered by ERPNext.
  • Ecommerce Integrations — Ecommerce integrations for ERPNext
  • Webshop — Open Source eCommerce Platform
  • Posnext — A modern, high-performance Point of Sale system for ERPNext with offline capabilities, real-time updates, and intuitive UI.
  • Woocommerceconnector — Integration App for ERPNext to connect to WooCommerce
  • Pos Awesome V15 — POS Awesome is an open-source Point of Sale for Erpnext using Vue.js and Vuetify
  • Woocommerce Fusion — WooCommerce connector for ERPNext v15
  • Go1 Webshop — Go1 Webshop is an Open Source eCommerce portal built on frappe builder.