You’re on the right path! Installing GETPOS (nbpos) on ERPNext v15 should mostly work, but that 404 error usually means one of the following:
Checklist to Troubleshoot the 404 Error
1. Check if the App Is Installed on the Site
Run this command to confirm it’s installed on your site:
bench --site [sitename] list-apps
You should see nbpos
in the output.
If not, rerun:
bench --site [sitename] install-app nbpos
2. Clear Cache and Rebuild
After installation, you need to clear the cache and build the assets:
bench --site [sitename] clear-cache
bench --site [sitename] build
bench restart
Also try:
bench --site [sitename] migrate
3. Make Sure Desk Module Is Properly Registered
Check if nbpos/config/desktop.py
defines the module, e.g.:
app_name = "nbpos"
app_title = "NBPOS"
app_publisher = "Nestorbird"
app_description = "Point of Sale for ERPNext"
And in desktop.py
, something like:
app_icon = "octicon octicon-file-directory"
app_color = "blue"
app_email = "support@nestorbird.com"
app_license = "MIT"
app_include_js = "/assets/nbpos/js/nbpos.js"
app_include_css = "/assets/nbpos/css/nbpos.css"
Check also if the module shows in Role Permissions Manager — if not, then the module isn’t properly registered.
4. Check for Route in App
Open this link directly in the browser (change site URL accordingly):
http://[your-site]/app/nbpos
If that doesn’t work, it might be because the Doctype or Page you’re trying to load isn’t properly defined or doesn’t have a route.
Check in the code if there’s a Page
, Workspace
, or Module Def
created for nbpos
.
If you’re using ERPNext v15, verify that there’s a Workspace defined for GETPOS.
5. Check Workspace and Module Def
In the site’s database, check if there’s a workspace page:
bench --site [sitename] console
Then run:
frappe.get_all("Workspace", filters={"module": "NBPOS"})
If nothing is returned, that means the GETPOS module isn’t properly configured with a Workspace — and ERPNext v15 uses Workspace instead of Desk Modules.
You can manually create a workspace or import it via fixtures.
6. Look at Browser Console / Frappe Logs
- Check browser console for errors.
- Check Frappe logs:
tail -f logs/web.log
That might give more info on what’s failing when you navigate.
Recommendation
If GETPOS was originally built for ERPNext v13 or v14, it might not be fully compatible with the Workspace system of ERPNext v15.
You can fix that by:
- Creating a new Workspace manually under
Workspaces
- Adding the GETPOS doctype/pages there
- Assigning the Workspace to the
NBPOS
module
Would you like me to guide you step-by-step on creating a Workspace for GETPOS in ERPNext v15?