DATE:
AUTHOR:
Ezzan
🌐 Web

WebApp Version 25.24 Changelog

DATE:
AUTHOR: Ezzan

This update includes new features, essential performance improvements, and usability enhancements, ensuring your daily operations run smoothly. We've also addressed several bug fixes to enhance stability and reliability. Thank you for your continued trust and feedback, which help us deliver the best possible service.


Introducing Our New Versioning Format!

Starting now, we’re adopting a year-week (Y.W) versioning system to better align with our weekly release cycles.

  • New Format: [Year].[Week].[Patch]

    • Example: 25.24.1 = 2025, Week 24, Patch 1.

  • Old Format: Incremental (e.g., 12.74 → 12.75).

This change ensures clearer tracking of releases while keeping the familiar patch index for minor updates.

Next Release: 25.25.0 (2025, Week 25) — Stay tuned for updates!


New Feature:

  • [Logistics - Transfer Order] New Feature - Transfer Order Update History

    To address your concerns regarding who edited or deleted Transfer Orders, we’ve released a new feature: Transfer Order Update History. Unlike update histories in other modules like Invoices or Bills, this one offers granular tracking — every minor change (such as quantity edits, outlet adjustments, or note updates) is recorded in detail. However, like other modules, if the transaction is reformatted, all historical update logs will be cleared. This helps keep the history relevant only to the latest format. For better accountability, we recommend reviewing this log frequently and limiting access to users with DELETE privileges.

    In cases where a Transfer Order is permanently deleted, the system will retain one final row in the Update History. This row indicates that the transaction was deleted and, if applicable, will include any changes to the transaction number made before deletion. This ensures transparency that the transaction once existed, even if the data is no longer recoverable. If you’d like to have a similar detailed tracking feature in other modules such as Invoice or Bill, feel free to submit a request to our Customer Support team — we’re happy to explore expanding this capability.

  • [Sell] New Order Display Broadcast Settings

    We’ve improved the way you manage Order Display (ODS) triggers by moving the configuration directly into the Sell / POS page, replacing the previous setup that was only available under the Outlet menu. This change allows frontline staff to easily control when transactions are pushed to ODS. In the Sell page, you’ll now find 4 trigger options:

    • Off – Do not send to ODS

    • Park – Order appears in ODS when parked

    • Pay – Order appears in ODS when paid, if fulfillment is set to “Later”

    • Park and Pay – Order appears in both scenarios above

    This setting is saved per outlet, so if you select "Park" while logged in to Outlet A, all users operating under Outlet A will follow this setting—unless changed again. Other outlets will continue using their own default (initially set to Off).

    Please note that the previous configuration under the Outlet menu has been removed, and now the ODS trigger setting is entirely managed from within the Sell/POS interface. This helps simplify the configuration process and ensures clarity across outlets. If you’re looking for a full changelog of updates related to Order Display itself, please refer to the dedicated ODS Changelog Documentation.

  • [User - Roles] New Role: Sell UI - Product Input Restriction

    We’ve introduced a new role called “Sell UI - ProductInputRestriction”. This role is designed to prevent cashiers from searching or typing product names manually in the Sell (POS) screen. Once this role is assigned, the cashier will only be able to add items to the cart via Quick Keys or a Barcode Scanner. This feature helps minimize human error, such as mistyping product codes or selecting the wrong item. You can activate this role from the user access settings by assigning it to specific cashier accounts.

    In the Sell page, when this restriction is active, the product search bar will be disabled after a trigger. For UX consistency with other input restrictions, the restriction only activates after the user attempts to type at least 3 characters in the product search field. Once triggered, the restriction is enforced, and manual typing will no longer be allowed. From that point onward, cashiers must use Quick Keys or barcode scanning to add products to the cart.

Minor Improvements:

  • [Products]

    • Freeze Inventory Header Row During Vertical Scrolling in Variant Info

      This improvement was developed based on customer request #2956

    • Add Close Button in Assigned URL on Upload Product Image Form

    • Populate Variant Code from Product Code After Filling Product Code If Variant Code Generator is Enabled

      When the Variant Code Generator feature is enabled, users can now enter the Product Code after adding multiple variants, and the variant codes will still be automatically generated based on the newly entered product code. No more worries about the input order when creating products with multiple variants.

  • [Sell - Form]

    • Set Default Calculator Values for Price, Quantity, and Discount Fields

    • Restrict Calculator Price Input with Sell Price Editor Role

    • Hide Calculator Price Input for Users without Product Price Role

  • [Sell - Offline Orders]

    • Disable Retry Button Immediately After Successful Offline Upload in After Sell Page

    • Display Final Adjusted Invoice Numbers (If Created with Duplicate Number)

    • Make Invoice Number in Success Offline Orders Tab a Hyperlink to Customer Invoice Info

  • [Contacts - Customers]

    • Set Waiting Approval Status in Customer Form When Activation Email Required Configuration is Enabled

    • Allow Users to Update Display Name via CSV Import

  • [Reports - Products]

    • Display Outlet Code Instead of Outlet Name in Product Sold by Outlet Table Header

    • Provide Row Count & Pagination in Invoice Items Report

  • [Payment - Detail] Improve Data Sorting Order to Ascending

    This improvement was developed based on customer request #3033

  • [Orders - Customer Invoice]

    • Improve Offline Date Format in Customer Invoice Info

    • Adjust Barcode Display for Long Character Strings in Packing Slip Printing

  • [Inventory - Timeline] Display Category Name in CSV Export

  • [Adjustment - CSV] Provide Row Count for Product in CSV File on Download Sample Modal

  • [Buy]

    • Set Default Calculator Values for Price, Quantity, and Discount Fields

    • Restrict Calculator Cost Input with Product Cost Role

  • [Fulfillment - Pick] Set Default Assign To Option to Active User ID

  • [Outlets]

    • Users Should Input Reason When Suspending Outlet

    • Display Product Image in Preview in Quick Key Template Form

  • [Setup - Module (Buy)] Hide FIFO for Users That Has Not Selected the Option

  • [Setup - Whatsapp] Implement Character Limit Validation for WhatsApp Receipt Messages

  • [Infrastructure] Add Date Validation with Toaster Error for Invalid Date Range Selection

Bug Fixes:

  • [Reports (Purchase) - History] Fix Cost Column Doesn't Multiply Quantity

  • [Reports (Purchase) - Sales] Fix Filter Date Doesn't Work Properly

  • [Users - Groups] Fix Days Range Configuration Does Not Work When Set to Value of 1

  • [Outlets - Park Layout Templates] Fix User Cannot Delete Existing Layout Record

Patch [25.24.1]:

  • [Buy]

    • Allow Users to Import Items with Discount Amount & Percentage to the Cart

    • Restrict Discount Amount Import for Users Without Cost Role

    • Update CSV Sample for Items Upload/Import

  • [Logistics - Outbound Logistics] Fix Outbound Created from Sales Order Cannot be Printed

  • [Outlets]

    • Send Suspend Reason to Internal Management When Suspending Outlet via CSV Import

    • Fix Auto Suspend Outlet After Closing Suspend Modal Before Suspending

Patch [25.24.2]:

  • [Buy]

    • Fix Outlet Option will Select The First Outlet in Fulfillment List Option When Switching Fulfillment Tabs

    • Implement Cost Fallback Logic When CSV Cost Column is Empty

  • [API Customer] Fix Update Customer without Referred By Property will Erase Existing Referred Customer

  • [API Sales Order] Handle Updating Reference Number from Update Sales Order API

Patch [25.24.3]:

Patch [25.24.4]:

  • [Sell] Hide Disabled Coupon Provider from Apply Coupon Modal

  • [Contacts - Suppliers] Remove Debt Limit from Supplier Module

  • [Reports - Summary] Remove Rounding Configuration Implementation from CSV Export

  • [Inventory - Valuation] Restrict Sell Value & GPM in Summary Modal with Role

  • [Developer - Coupon Provider] Add Property Notification

Patch [25.24.5]:

  • [Contacts] Fix Nullable Property in Contacts Module

Patch [25.24.6]:

  • [Sell]

    • Fix Park Layout Still Appears When Outlet Park Layout Configuration is Empty

    • Disable Opening Quick Add Customer Modal for Unauthorized Users

  • [Orders - Bulk Print A4] Allow Users to Bulk Print Invoice with Multiple Receipt Templates

  • [Fulfillment] Fix Inventory Information is Missing from Warehouse Option


Stay tuned for more updates, and don't hesitate to reach out if you have any questions or need support.

Powered by LaunchNotes