Help me troubleshoot: GETPOS app returns HTTP 404 error?

I have ERPNext ver. 15, my goal is to install GETPOS app on erpnext running on Ubuntu server
i did the following commands:

bench get-app https://github.com/nestorbird/GETPOS.git
bench --site [sitename] install-app nbpos

But upon navigation to the GETPOS module it returns 404 error.

How to troubleshoot this? Thanks in advance.

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:


:mag: Checklist to Troubleshoot the 404 Error


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

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

:white_check_mark: 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.


:white_check_mark: 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.


:white_check_mark: 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.


:white_check_mark: 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.


:bulb: 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?