QBM Developer Support Reference

Orient developers, support, and AI agents to the main QBM projects, service flow, configuration, logs, permissions, product key checks, and endpoint references.

Guide Summary

AudienceDevelopers, support staff, implementation team, and AI agents with code access.
Applies ToQBM Client, QBM Server, QBMWServices, QSalesView, QClock, common libraries, configuration, endpoints, logging.
PurposeProvide a high-level developer reference for support and troubleshooting without exposing secrets or replacing source review.
Last Updated2026-05-18

Solution Structure

AreaRoleSupport Notes
ClientUIWindows desktop client and help documentation.User-facing forms, menus, and help pages.
QBMServerServer-side Windows service layer.Private service used by QBM Client and QBMWServices.
QBMWServices.NET web API bridge.Used by QSalesView, QClock, and integrations. Common API port is 8053.
Projects/QSalesViewBrowser sales dashboard.Calls QBMWServices using configured BaseAddress or Service Address.
Projects/QClockBrowser/device time clock app.Uses QBMWServices and QBM employee data.
BusinessFacade, BACFacade, BACInterfacesShared business and service-facing layers.Review these before changing cross-module logic.
Dependent DllsShared dependent assemblies folder.Expected loading path; do not change unless development confirms a defect.

Technical Flows

  • Authentication: QSalesView sends login to QBMWServices, which validates through QBM Server and returns token context.
  • Permission check: Browser requests include token and app context; QBMWServices validates permissions with QBM Server.
  • Product key check: QBMWServices reads ProductKey from configuration and exposes validation through its connection API.
  • Database connection: QBM Server owns the database access path to SQL Server and company database.
  • Reporting: Desktop and web reports depend on permissions, filters, QBM Server availability, and database response time.
  • API endpoints: Main QBMWServices controllers include Connection, Company, Customer, Employee, Item, Location, CRM, Lead, Picker, and Restaurant Delivery.

Support Hotspots

  • Configuration files such as QBMWServices appsettings.json.
  • Service installation scripts and Windows service registration.
  • QBM Server private port and QBMWServices API port.
  • Browser BaseAddress and Cloudflare Tunnel target.
  • Logs from QBM Client, QBM Server, QBMWServices, Windows Event Viewer, browser console, and SQL Server.
  • Error handling patterns should present customer-safe messages and keep details for support logs.

Expected result: Code-aware support can locate the likely project, configuration, service, route, or permission layer before changing code.

Troubleshooting Decision Tree

  1. Is this a configuration issue? Verify settings and services before changing code.
  2. Is this a permission issue? Reproduce with exact user, group, screen, report, and app id.
  3. Is this an API issue? Identify controller, route, request fields, response, and logs.
  4. Is this a client/server mismatch? Align deployment before changing code.
  5. Is the issue related to Dependent Dlls? Do not change loading behavior unless a confirmed bug exists.
  6. If code is required, keep the fix scoped and add support evidence to the issue.

What To Send To Support

  • Exact error, route, screen, timestamp, and affected version.
  • Reproduction steps and whether it affects one customer or all customers.
  • Logs and masked configuration.
  • Expected behavior and business rule.
  • Deployment mode: LAN, VPN, ZeroTier, Cloudflare Tunnel, hosted, or local test.

Security Notes

  • Do not copy secrets from configuration into tickets or help pages.
  • Do not expose private ports publicly.
  • Do not recommend removing or changing Dependent Dlls loading unless development confirms it is the bug.