DATE:
AUTHOR:
Ezzan
🌐 Web

WebApp Version 25.35 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.


New Feature:

  • [Sell] Redesigned Apply Coupon Modal

    The redesigned Apply Coupon Modal now provides detailed coupon information, including general info and requirements, to help cashiers validate eligibility. The behavior where the selling cart automatically reverts to its exact state before the coupon was applied upon removal has already existed in previous versions, but in this release, we further improved the UX by clearly showing this behavior with a warning message, ensuring cashiers understand that any changes made after applying the coupon will be reverted once the coupon is removed.

  • [Orders - Voided Customer Invoice] Redesign Recycle Bin UI/UX for Invoices

    The first update introduces a required field for Void Reason when a user decides to void an invoice. Previously, invoices could be voided without a mandatory explanation, making it harder to track why specific invoices were moved to the recycle bin. With this change, users are now prompted to provide an apparent reason before confirming the void action, ensuring better accountability and traceability throughout the invoice lifecycle.

    We also added a new fulfillment status that can be viewed in the Invoice Recycle Bin: "Returned". If an invoice is voided while its status is still Unsent (products not shipped yet), it will remain Unsent. However, if the void action happens after the goods have already been shipped, the status will now appear as Returned, clearly indicating that the items were sent but then brought back. This enhancement helps businesses distinguish between invoices canceled before shipment and those voided after shipment.

    The second update enhances the Invoice Recycle Bin UI/UX to better differentiate it from the regular invoice list. Instead of displaying identical information, the recycle bin now highlights specific details, including the exact time the invoice was voided and the reason provided by the user for the void. This improvement enables businesses to monitor and review voided invoices more effectively, providing transparency and a clearer audit trail.

    This feature was developed based on customer request #5637

  • [Users] Force Logout Feature

    On the user page, admins can directly manage individual user sessions. If an admin changes a user’s password or group, the admin can manually trigger it using the Force Logout button to update credentials or access rights. This gives admins more flexibility to control when a user must re-login.

    When a user is automatically logged out due to a password or group change, they will be immediately redirected to the login screen. The system ends the active session to ensure that all changes made by the admin take effect. Users will need to re-enter their updated login information to continue using the system. This automatic logout process helps maintain security and ensures users always operate with the correct access rights.

    At the group page, administrators can manage sessions for multiple users simultaneously. For example, if access permissions for a group like Cashier are updated, the admin can click the Force Logout button on the group page. A list of users assigned to that group will appear, and the admin can choose to log out one, multiple, or all users simultaneously. This makes it easier for admins or back-office teams to ensure all users follow the latest access rules without having to log them out one by one.

Minor Improvements:

  • [Products - Variants] Improve Inventory Tab UI for Composite Product

    • Hide Inventory & Outlet Group Tabs

    • Display Composite Inventory Tab in the First Section

  • [Orders]

    • Implement Grid Filter for Invoice List & Voided Invoice List

    • Provide Coupon Filter for Customer Invoice List

    • Display Red Badge for Voided Orders in Transaction Info Page (Invoice, Bill, and Sales Orders)

  • [Logistics]

    • Improve The Receive Transfer Order Modal

    • Allow Users to Scan Invoice Number or Reference Number in Outbound Form

    • Display Red Badge for Voided Transfer Order in Transfer Order Info Page

  • [Adjustment] Improve The Adjustment Note Modal in The Adjustment Form

  • [Promotion - Coupon]

    • New Coupon Type - Authorize Delete Item

      We have introduced a new access coupon type called “Authorize Delete Item”, designed specifically to grant permission for deleting items in the selling cart when this feature is restricted. Previously, users had to apply a full access coupon, which created a drawback since it not only allowed item deletion but also unlocked other restricted features, such as adding discounts. With this new coupon type, access control becomes safer, more precise, and tailored to business needs without unnecessarily granting additional permissions.

      This feature was developed based on customer request #5890

    • Improve Coupon Type Description in Coupon Option

  • [Users]

    • Display Revoked At and Last Login Information in User Info

      We have enhanced the user management feature by displaying two additional pieces of information: “Revoked At”, which shows the exact time when a user was last forcibly logged out, and “Last Login”, which indicates the most recent login activity of that user. These improvements provide administrators with clearer visibility over account activity, helping to ensure better security monitoring and easier auditing of user sessions.

    • Display Created & Modified Information in Group Info

    • New Users Tab in Group Info to Display Assigned Users

  • [Outlet - Quick Key] Display Error Toaster When Creating Quick Key Contains Products Without Active Variants

Bug Fixes:

  • [Products] Remove Time from Release Date Column on CSV Export with Tag

  • [Products - Inventory Log] Fix Bill Number Disappears from Log When Voiding Bill

  • [Reports] Fix Unit Quantity Label Setting Causes Incorrect Data in Some Sales Reports Tabs

Patch [25.35.1]:

  • [Sell]

  • [Shift] Display Red Badge for Voided Shift in Shift Details

  • [Reports - Details] Fix Missing Assigned Sales Person to Item in All Export Options

  • [Reports - Person] Fix Outlet Option in Filter Display No Data in Sales Person Report by Employee View

  • [Reports - Monthly] Fix Outlet Option in Filter Display No Data in Monthly Sales Report by Table View

  • [Payment - Detail (Type Column)] Fix XLSX Export Column Misalignment Due to Commas in Payment Notes

  • [Orders - Parked Orders] Provide Unit Price & Total Amount in CSV Export

  • [Fulfillment]

    • Fix Users Should Have Read Access in Both Order & Fulfillment Outlet to View Data

    • Fix Missing Data Pagination in All Tab

  • [Promotion - Coupon] Provide New Coupon Import CSV Template That Contains Mobile Phone Column for Customer Requirement

  • [Users - Groups] Fix Users Cannot Update Some User Groups Information

  • [Sharing Component] Fix Unwanted Line Breaks in Note Column When Exporting to XLSX

  • [API Variant] Provide Promotion Event Array in Get Variant by ID API Response

Patch [25.35.2]:

  • [Sell]

    • Display Point Deduction in Applied Coupon Modal

    • Fix Applied Coupon Modal Cannot Be Opened in Edit Form

  • [Reports - Products]

    • Fix Index Number Column Displaying Product ID in CSV Export

    • Remove HTML Tag from CSV Export with Description Option

  • [Payment - Details (Type Column)] Fix Exported Reports Combine All Payment Methods into Cash Column

  • [Orders - Customer Invoice]

    • Fix Users Cannot Clear Tax Filter After Applying

    • Provide Void Note from Invoice List\

  • [Logistics - Transfer Order]

    • Restrict Item Tab in Transfer Order Form's Product Dialog with Inventory View Role

    • Fix Edit Form Shows Incorrect Quantity from Previous Session That Created from Low Inventory

  • [Fulfillment] Fix Filter Outlet Does Not Work Properly

  • [User - Groups] Fix User Tab in Group Info Display Blank Username

  • [Setup - Module (Sell)] Provide New Configuration to Enable/Disable Product Calculator

Patch [25.35.3]:

  • [Reports (Purchase) - Summary] Fix Filter Row Count Does Not Work Properly

  • [Orders - Supplier Bill] Fix Users Cannot Add Payment from Bill Info

  • [Orders - Invoice History] Display Record from Adding Payment from Invoice Info

  • [Inventory - Over] Auto-Select Source Outlet & Auto-Set Item Qty When Create Transfer Order

  • [Logistics - Outbound] Fix Multiple Warning Modals Appear When Sending Outbound Without Scanning

  • [Developer - Webhook]

    • Fix Search Shows No Results After Clearing Keyword

    • Move Host Column Position

    • Provide Host Name Filter

  • [API - Bill Payment] Prevent Recording Payment with Zero Amount

Patch [25.35.4]:

  • [Sell] Display Warning Message in ODS Config Modal When Users Do Not Select Any Outlets

  • [Orders - Customer Invoice]

    • Implement Auto-Focus to Void Note Input Field When Voiding Invoice

    • Display Tooltip in Created & Modified Information

  • [Orders - Invoice Update History]

    • Tidy Up Invoice Update History List

    • Provide Column Toggle

  • [Orders - Voided Invoice] Tidy Up Voided Invoice List

  • [Inventory - In Transit] Hide In Transit Inventory from Voided Transfer Order

  • [Logistics - Transfer Order Detail] Fix Search Results Only Show First Page (Subsequent Pages Not Displayed)

  • [Users] Add UserTraceException to Hide StackTrace for Users

  • [Setup - Module (Products)] Set Product and Variant Page Size Maximum

Patch [25.35.5]:

  • [Products]

    • Provide Export Option "Display Name"

    • Remove "Name" Column from Default Export Option

  • [Products - Variants] Improve Table View Logic in Variant History Tab

    • Hide History Table from Unauthorized Users

    • Hida History Tab When All History Tables Are Not Displayed

  • [Products - Import] Improve Updating Variant Display Name UX via CSV Import

    • If the "DisplayName" column exists and has a value, the existing display name will be overridden by the value from the CSV file.

    • If the "DisplayName" column exists but the value is empty, the existing display name (if any) will be replaced by the system’s default formula.

    • If the "DisplayName" column does not exist in the CSV file, the display name will also be replaced by the system’s default formula.


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

Powered by LaunchNotes