payment modal during returns: original total, payment amounts
Setting to allow editing of layaways added to POS.
Setting to toggle a popup if a customer that has a "note" field in BO is chosen
Setting to soft logout the user after the sale confirmation popup is closed
Setting for different cash rounding algorithms
Patchscript template editor now supports QR code fields
Close day respects user rights to remove pending sales (doesn't remove if 0, removes own if 1, removes all if 2)
UPC code column added for rows on the return menu
Mobile view has option to open closeDay and zReport popups
Fixes
Original payments are not automatically copied into payments if the total is positive
"Use legacy printing" option now defaults to false
Layaway "prepayment percentage" replaced with a text input (previously was a dropdown) + added formatting for the percentage to not exceed 100
Fixed issue with scanning products from product search. Now product is added after the search is complete
getAllowedWarehouses now filters out warehouses with isOfflineInventory flag. (user can no longer select the offline inventory warehouse during login and during customer creation/editing)
Search results tables now expand horizontally to show their full contents (but also each column is restricted to 128px max)
Plugins
Plugin that during customer creation detects if a customer with entered data already exists
Configuration of tax exempt plugin has been updated to allow user to select states that the plugin should be applied to.
New plugin (WIP): W** customizations Features implemented:
Customer badge
Customer form
Locking of gift card based on customer group
Customer results
Exchanges can only be finalized if all the products have received a return tag
Plugin fixes
p**Security: Discount detection formula updated
p**PreCore: Correctly limit quantities on pre-core lines
Precore charges are tax exempt
p**RelatedItems: fixed issue with missing related products in the plugin configuration
fixed issue with p** zip code plugin - popup for zip code now shows as expected
CAFees attributes no longer cause other attributes to be hidden
Technical
plugins pluginSetupOnMount and pluginCleanupOnUnmount actions were not always executing on time due to race conditions. Actions were called in useEffect in POS.tsx. Now they are called iside Main/index.js useEffect - used for most of application's set up/cleanup functions
Beaver replaced with Centrifugo
Fixed issue with printing conf missing a default value
Receipt
When composing data for receipt, if the data (literal) is undefined, we don't convert it to string, but rather give empty string.
Tax component prices use the priceFormatter
vatPercentage is calculated using the correct values now. (vatTotal and netTotal)
Invoice logo replaced with receipt logo
Customer display
Shopping cart feed (addition/removal/edit) is sent to customer display from POS
Start sale request sent from POS to customer display
Finish transaction request sent from POS to customer display
Customer display Icon in header is updated to be a dropdown which includes:
Open customer display app - opens the customer display app that PNP is using (developed by our front end team)
Open external customer display app - opens the customer display app, which is more advanced that our app (developed by some unknown team)
Send customer form to display - sends a message to the customer display and shows a customer creation form on the display
Register with received info - dispatches a saveCustomer action with the info, received from the Display
Send search by email to display - sends a message to the display and shows a field to enter user's email.
Search customer by email - initiates POS's customer search based on the message from CD
Send search by phone to display - sends a message to the display and shows a field to enter user's phone.
Search customer by phone - initiates POS's customer search based on the message from CD