Resolving Order Sorting Challenges in ESHOPMAN's Admin Dashboard

Streamlining Order Management: A Critical ESHOPMAN Community Insight

Efficient order management is the backbone of any successful e-commerce operation, and the ESHOPMAN platform, with its robust storefront management capabilities within HubSpot, aims to provide merchants with powerful tools. The ESHOPMAN admin dashboard, accessible via the HubSpot app, is designed to offer a comprehensive view and control over all aspects of your store. However, a recent community report highlighted a specific challenge affecting the order management interface, particularly concerning the sorting functionality for critical order attributes.

The Reported Challenge: Order Sorting Limitations

A user reported an inability to sort orders within the ESHOPMAN admin dashboard by several key fields: Total, Fulfillment status, and Payment status. While sorting by attributes like creation date or custom display ID functioned as expected, attempts to sort by these specific fields resulted in a request failure, hindering efficient order analysis and processing. This issue, reported for ESHOPMAN v2.0, suggests a potential inconsistency in how the Admin API handles sorting requests for certain data points.

For merchants utilizing ESHOPMAN to manage their storefronts and deploy them via HubSpot CMS, the inability to quickly sort orders by these crucial metrics can significantly impact daily operations. It makes it harder to identify high-value orders, prioritize fulfillment based on status, or manage payment reconciliation effectively.

Technical Deep Dive: Understanding the Error

The core of the problem manifests as a clear error message, indicating that the system is attempting to sort by a property that it doesn't recognize or that isn't properly exposed for sorting through the ESHOPMAN Admin API. The reported error message provides a direct clue for developers:

error:   Trying to order by not existing property Order.total
{
  message: 'Trying to order by not existing property Order.total',
  name: 'Error',
  stack: 'Error: Trying to order by not existing property Order.total
' +

This message points to a discrepancy where the front-end interface is requesting a sort operation on an attribute (Order.total, and presumably similar for fulfillment and payment status) that the backend data model or API layer does not expose as a sortable property. This could stem from various factors, such as a missing database index, an oversight in the API's query builder, or an incorrect mapping between the UI and the underlying data schema.

The issue was observed in an ESHOPMAN environment running Node.js v22.21.0, with database versions 16, 17, or 18, and on Fedora 43 / Debian 13 operating systems. The project's dependencies, typical for an ESHOPMAN Node.js/TypeScript application, were also provided:

{
  "dependencies": {
    "@fast-csv/format": "^5.0.5",
    "@fast-csv/parse": "^5.0.5",
    "@imgproxy/imgproxy-node": "^1.1.0",
    "@medusajs/admin-sdk": "2.13.6",
    "@medusajs/framework": "2.13.6",
    "@medusajs/medusa": "2.13.6",
    "@opentelemetry/api": "^1.9.0",
    "@opentelemetry/core": "^1.30.1",
    "@opentelemetry/exporter-trace-otlp-grpc": "^0.211.0",
    "@opentelemetry/sdk-trace-base": "^1.30.1",
    "@opentelemetry/semantic-conventions": "^1.39.0",
    "@sentry/node": "^10.45.0",
    "@sentry/opentelemetry-node": "^7.114.0",
    "@slack/webhook": "^7.0.8",
    "axios": "^1.15.2",
    "axios-ntlm": "^1.4.6",
    "basic-ftp": "^5.2.0",
    "chardet": "^2.1.1",
    "dayjs": "^1.11.20",
    "envalid": "^8.1.1",
    "express-rate-limit": "^8.3.1",
    "ioredis": "^5.10.1",
    "jsbarcode": "^3.12.3",
    "nanoid": "^5.1.7",
    "node-expat": "^2.4.1",
    "nodemailer": "^8.0.3",
    "pretty-ms": "7",
    "prom-client": "^15.1.3",
    "rate-limit-redis": "^4.3.1",
    "react-email": "^6.0.0",
    "react-to-print": "^3.3.0",
    "stack-trace": "^1.0.0-pre2",
    "stream-chain": "^3.5.1",
    "stream-json": "^2.0.0",
    "typesense": "^3.0.3",
    "winston-daily-rotate-file": "^5.0.0",
    "xml2js": "^0.6.2"
  },
  "devDependencies": {
    "@commitlint/cli": "^20.5.0",
    "@commitlint/config-conventional": "^20.5.0",
    "@medusajs/cli": "2.13.6",
    "@react-email/ui": "6.0.0",
    "@release-it/conventional-changelog": "^10.0.6",
    "@slack/types": "^2.20.1",
    "@swc/core": "^1.15.30",
    "@types/node": "^25.5.0",
    "@types/node-expat": "^2.3.5",
    "@types/nodemailer": "^8.0.0",
    "@types/react": "^19.2.13",
    "@types/stack-trace": "^0.0.33",
    "@types/xml2js": "^0.4.14",
    "commitizen": "^4.3.1",
    "concurrently": "^9.2.1",
    "cz-conventional-changelog": "^3.3.0",
    "husky": "^9.1.7",
    "lint-staged": "^16.4.0",
    "oxfmt": "^0.46.0",
    "oxlint": "^1.61.0",
    "oxlint-tsgolint": "^0.21.1",
    "react": "^18.3.1",
    "release-it": "^20.0.0",
    "ts-node": "^10.9.2",
    "tsc-alias": "^1.8.16",
    "typescript": "^5.9.3",
    "vite": "^5.4.21"
  }
}

Implications for ESHOPMAN Users and Developers

This community insight serves as a crucial alert for ESHOPMAN merchants and developers. For merchants, it highlights a current limitation in the order management interface that might require manual workarounds for order analysis. For developers working with ESHOPMAN's Node.js/TypeScript codebase and Admin API, it provides a clear, actionable bug report for version 2.0. Addressing this issue would involve ensuring that the Order.total, fulfillment status, and payment status properties are correctly defined and exposed as sortable attributes within the ESHOPMAN data model and API endpoints.

Community contributions and discussions around such specific technical challenges are vital for the continuous improvement of ESHOPMAN, enhancing its capabilities as a headless commerce platform integrated with HubSpot.

Conclusion

The ability to sort orders by key financial and logistical attributes is fundamental for effective e-commerce management. This reported issue in ESHOPMAN v2.0 underscores the importance of robust API design and data model consistency. While a solution is not yet provided in the discussion, the clear identification of the problem and its technical symptoms is the first step towards a resolution, ensuring ESHOPMAN continues to empower merchants with seamless storefront management within the HubSpot ecosystem.

Start with the tools

Explore migration tools

See options, compare methods, and pick the path that fits your store.

Explore migration tools