Navigating Currency Display Mismatches in ESHOPMAN Admin After Platform Updates

Understanding Currency Display Challenges in ESHOPMAN

As an e-commerce platform built on Node.js/TypeScript and deeply integrated with HubSpot, ESHOPMAN provides robust storefront management and deployment via HubSpot CMS. A common challenge that can arise, especially after platform updates or when integrating custom storefronts, is a mismatch in how currency values are displayed versus how they are stored or processed.

Recently, a valuable discussion within the ESHOPMAN community highlighted a specific instance where order totals and line items in the ESHOPMAN admin interface were displayed as 100 times their actual value. This insight summarizes the issue and provides a clear path to resolution, serving as a key piece of ESHOPMAN community knowledge.

The Problem: 100x Currency Display Error

The reported issue involved the ESHOPMAN admin panel (accessible through your HubSpot application) showing significantly inflated order amounts. For example:

  • A customer correctly paid €86.35 via a payment gateway (like Stripe).
  • The payment gateway correctly processed this as 8635 cents (the smallest currency unit).
  • However, the ESHOPMAN admin interface displayed the order total as €8,635.25, an amount 100 times greater than the actual transaction.

Further investigation revealed that while the ESHOPMAN backend typically stores currency values in their smallest unit (e.g., cents for EUR), the display logic in the admin interface was not correctly converting these stored values into the primary currency unit (euros) before presentation. This meant a stored value of 8635 (cents) was being interpreted and displayed directly as €8,635.25 instead of the expected €86.35.

The store's currency configuration was correctly set to EUR with decimal_digits: 2, indicating that the system should have handled the two decimal places correctly. The discrepancy pointed towards a deeper issue in how currency units were being passed or interpreted between different parts of the system.

The Root Cause: Version Mismatch in Currency Handling

The resolution uncovered a critical insight: the problem stemmed from a version mismatch in currency handling between the ESHOPMAN backend and the custom storefront or an older frontend implementation. ESHOPMAN, like many modern e-commerce platforms, evolves its APIs and internal logic. In newer versions, the platform's Admin API or Store API might expect or provide currency values in the primary currency unit (e.g., 86.35 for €86.35) for display purposes, even if internal storage remains in cents.

If a custom storefront, built on Node.js/TypeScript and deployed via HubSpot CMS, was developed against an older ESHOPMAN version (which might have consistently sent/received values in cents for all operations, including display), it would continue to send or interpret values in cents. When this older frontend logic interacted with an updated ESHOPMAN backend that now handles display conversions differently, the 100x multiplication error occurred.

The user confirmed: "ESHOPMAN's current version handles EUR while my frontend was still using cents from an older implementation. It is fixed." This clearly indicates that the custom frontend's currency logic needed to be updated to align with the current ESHOPMAN version's expectations for currency unit handling.

Actionable Solution and Best Practices for ESHOPMAN Users

To prevent or resolve similar currency display issues in your ESHOPMAN store:

  1. Review Frontend Currency Logic: If you operate a custom storefront or have bespoke integrations deployed via HubSpot CMS, thoroughly review how currency values are handled in your frontend code. Ensure it aligns with the latest ESHOPMAN Admin API and Store API specifications regarding currency units (cents vs. primary currency unit) for both input and output.
  2. Stay Updated with ESHOPMAN Documentation: Regularly consult the ESHOPMAN documentation for any changes in API behavior, especially concerning data types and currency handling, after platform updates.
  3. Test After Updates: Always perform comprehensive testing of your storefront and admin interface after applying ESHOPMAN updates, paying close attention to financial calculations and displays.
  4. Verify Configuration: Double-check your store's currency configuration within the ESHOPMAN HubSpot app, ensuring decimal_digits and other currency-related settings are correct.

This community insight underscores the importance of maintaining consistency across your ESHOPMAN ecosystem. By ensuring your custom frontend logic is synchronized with the ESHOPMAN backend's currency handling, you can guarantee accurate financial displays and a seamless experience for both merchants and customers.

Start with the tools

Explore migration tools

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

Explore migration tools