POS Brazil Version 4.52.8

May 26, 2025


POS New Features

New GoErp Customer Display

Added new GoERP customer Display under Brazil Customer Display plugin configuration. Only cart information is currently sent from the Brazil POS. 

Requires:

  •  "Use GoErp display application" setting to be enabled in the "Customer Display" plugin configuration within the POS;
  • "Customer Display for GoERP POS" App to be installed
  • "Enable SSE to POS Brazil (Activating this module will make Customer Display to send events to POS Brazil)" module enabled on the App. 

The customer display plugin adjusts the formatting (which side the currency symbol shows up on) in GoErp mode to match the POS formatting. 
GoErp customer display uses a public endpoint. 
GoErp SSE connection is re-opened every 15 minutes.
Added support for automatically opening GoErp customer display on the POS startup. 

Configurable Customer Form 

  • Added the ability to configure default Country for the address when creating a new customer.
  • Added support for disabling fields that are required by Customer registry API. Three options available: always disabled, never or disabled only on edit.
  • Added "Sales for cash only" field.
  • Added ability to set default values for some fields.

Mobile number formatting 

  • Updates to phone inputs (phone, mobile, fax).
  • Validation now checks for valid area code and length that corresponds to it.
  • Leading zeroes are prevented, autocorrecting them into +.
  • Area codes can be selected from dropdown or entered manually, and will render the ISO code and the flag of the detected country. Ambiguous area codes will not render a flag until the ambiguity is resolved.
  • Numbers are recorded with area code included & with correct formatting.

Split Order

Added an option to "Split" the Order when an Order document is clicked on from the Pickup Orders menu. The "Split" option is shown only when the "Partial pick up splits the Order" setting is enabled. Once the Order is split, customer and cart would automatically be populated.

New POS settings

  • “Enable handling of product stock levels” - setting to disable all stock level functionality in the POS (for accounts that don't use product stock).
  • Added a new configuration section “Configure what types of document can be found on return”  in the POS Setting under "Documents". This configuration allows selecting what types of documents to search for on the Return menu. Can be used to prevent for example Orders from showing up when searching for return documents. By default, searches for Invoice-Waybills, Invoices, Receipts, Waybills, Layaways, Orders, Returns, Offers.
  • Added a new setting named “POS images source”. Images on product card and on product grid will be pulled based on that setting. There are 3 options:
    • Erply API
    • CDN API
    • Both
  • Any of the 3 themes (light, dark and high contrast) can now be set to apply to all registers by default or only to the user's device.
  • Added a new setting that allows turning off serialized gift card custom payment amount input.
  • Added address field to customer search results configuration.
  • Created "Hide offline inventory for stock lookup" setting to hide offline inventory.
  • Added support for changing the size of grid buttons.
  • New setting "Copy document creator when saving linked sales (for example saving receipt for order)", disabled by default.
  • Allowed payment tenders and tender limits can now be configured separately for company, warehouse or point of sale.
  • Added new POS association functionality that persists after site data and cache are removed. Added support for restricting access to POS from devices that are not associated with any POS.
  • Increased text color contrast. Added a high contrast theme (WCAG AAA level color contrast compliant).

Translations

  • Added missing French translations.
  • Updated Finnish translations.
  • Improved translations support for objects with names set in multiple languages.
  • Added Russian translations. 

Partial pickup order functionality

  • Orders can now be partially fulfilled up until they are fully fulfilled (all original Order rows have been paid for). 
  • No new products can be added to the picked up Order. 
  • When picking up an Order, users can only increase the row's amount up to the original Order row's amount - the already fulfilled amount. 
  • Row deletion and row's amount decrease can still be performed. 

Performance optimization

  • Optimized performance of adding multiple products to cart in quick succession.
  • Improved performance on low-end (low core count) machines by combining cloudSync service workers.
  • The POS now loads all essential data after the register is selected. The essential data is cached to speed up reloading of the POS. Added a new setting for the essential data cache expiration Settings -> Configuration -> Local database support -> Time until essential data is automatically re-synced (hours).

Other

  • When the session is close to expiry, prompt the user with a password input to extend the session.
  • Added auto-focus when serialized gift card tender is used when paying for something.
  • In case of no internet connection after logging in and before opening the day, the user is able to open the day. The open the day request is added to the requests to be synced when the connection is restored.
  • Layaways: Added the ability to apply a Cancellation Fee. Fee can be applied when either Cancelling the Layaway from the Layaways list or from the Return menu. Cancellation fee is saved as a separate positive payment on the document.
  • Now users can save product info changes by pressing Enter on the keyboard.
  • Added the ability to perform manager override if the current user lacks rights to initiate returns against and without a receipt. Note: feature is built-in, no plugins required.
  • Apply BO date format to coupon date and issue timestamp.
  • An alert is shown when the user tries to refresh the page while payment modal is open.
  • Sales can no longer be made for customers who have "Do not sell" checkbox enabled.
  • Added special handling for gift returns (gift returns are meant to be returned to the gift receiver, not original purchaser).
  • Added offline support for store region customer group price lists.
  • Added support for store region price lists.
  • Added support for not printing issued coupons that are configured to never be printed.
  • Customer's coupons can now be added to the sale at any time from the Customer View.
  • Email validation on the sale confirmation window improved. If email is copied from somewhere, remove any spaces from within the email. Block the ability of entering spaces (' ') into the email. Added error texts to the email field that would indicate what is wrong with the email and why the email button is blocked/disabled.
  • Users can now add a custom payment amount when using a serialized gift card.
  • Added loader for employees when the Clock Out menu is opened. The loader will stay until all the data is loaded.
  • The shopping cart quantity field now allows you to type negative values starting with a minus.
  • Logout functionality augmented - softlogout cases replaced with lock screen that fully maintains POS state.
  • Added configuration for units.
  • POS now redirects to the configured version right after the essential data loader finishes fetching data.
  • The "Start return" button is now hidden in the Recent Sales view in case a sale has ‘no refundable’ products.

POS Fixes

Products

  • units_for_weight config now ignores empty values (previously empty values would cause unitless products to get a prompt).
  • Fixed a bug that caused products on the grid and in customer search to not have price list prices applied to them when the POS is opened.
  • Fixed a bug that caused product list price to be displayed as NaN in product details.
  • Fixed an issue where Previously purchased products would not display anything.
  • Fixed a bug that caused out-of-stock quick select products to be displayed on the grid when POS initially loads if “Fetch only products that are in stock“ setting is enabled.
  • Product grid buttons for matrix products now show the variation count & open the matrix select view faster.
  • Fixed a bug that caused product’s price list price to be displayed as NaN in product details.
  • Fixed mixed up titles for related and substitute products.
  • Fixed a bug that caused stock amounts of related and substitute products to always be displayed as "?"
  • Fixed an issue when product stock levels were not updated in POS product search results in Retail view. 
  • Fixed an issue where POS could crash while having a product selected in the product search results and the product results were refreshed.

Customers

  • Fixed a bug that caused companies to be displayed as contact persons (and vice versa) in search results.
  • Fixed a bug that causes POS to crash when the user opens customer view and the selected customer does not belong to any customer group.
  • Fixed a bug that caused default home store value in the configurable customer form configuration to not be respected.
  • Fixed an issue where address information was not displayed on the customer information view when using customer registry. Now it displays the information from the first available address to the customer.
  • Fixed an issue where phone number would get saved incorrectly in case Configurable Customer Form is being used while having a phone number field have a default value, but being disabled/not shown on the form.

Printing

  • Fixed an issue where receipts were not getting printed.
  • Fixed a bug that prevented receipt from being printed in offline mode.
  • Receipt template editor no longer shows up as a popup window. Editor is now usable on mobile devices and wrapper apps.
  • Rounding data now available in printing.

Shopping cart

  • Fixed a bug that prevented both manual discount and promotions to be applied to one product.
  • Fixed an issue where tax exemption was not applied immediately.
  • If network connection is lost or is regained while the payment screen is open, prices will not automatically re-calculate and would require the user to re-open the payment screen to have the prices recalculated. If network connection was lost right after prices were calculated - keep the prices. If the cart is edited, promotion information will be lost until Internet connection is regained.
  • Fixed an issue where manual discount could be duplicated when added to a row, which was discounted by a price list.
  • Fixed an issue where users would be able to skip setting a return reason for an item, which was purchased with a manual discount.
  • Fixed a bug that caused price lists to not be initially applied to quick select products.
  • Fixed an issue where if the user edits the quantity of a cart item to 0 and submits it very quickly, then the row may remain with quantity of 0 in the cart.
  • Fixed a bug that caused the return reason popup to be opened multiple times instead of one.
  • Users will now be prompted for price when the “Cashier must enter price“ product is manually added to cart during a return.
  • Fixed POS not taking the tax rate override of the register into account when calculating in offline mode.
  • Fixed an issue where Serial Number Title was missing when adding a product with serial number.
  • Fixed a bug that allowed users to open the payment modal before they select a return reason thus cancelling the shopping cart row quantity change. It is no longer possible to open the payment modal before a row quantity finishes updating or to update a row quantity while the payment modal is being opened.
  • If a manual discount is not applied to a shopping cart row then sale discount reason is no longer assigned to it.

Configuration

  • Fixed an issue where languages that could previously be selected can no longer be selected. Such languages are Estonian, Czech, German, Italian and Spanish.
  • Fixed an issue where a user without `settings` module would crash on entering the POS's Settings page.
  • Fixed the sorting of matrix dimension options to be ‘ascending’ instead of ‘descending’ order.
  • Added missing text for the "Display Erply ID in the customer details view" setting within the Customer configuration page.
  • Fixed an issue where changing "User Interface" configuration would freeze the POS.
  • If "Allow offline mode" is enabled, setting "Do not sell to the default customer" is ignored when offline since if both are enabled, users cannot make sales offline.
  • Fixed a bug that caused POS to ignore the "Allow to create invoices for contact persons" setting.
  • Fixed an issue where POS would crash when the Customer Display plugin is enabled and language is changed to non English.
  • Fixed a bug that prevented some settings from being changed.
  • Fixed an issue where a user could not enable Serial number popup unless they edit the "Serial number length".
  • Fixed an issue where "Product out of stock" message would be overridden by the "Product added" message if "Warning message for out of stock products" is set to "message".
  • Fixed a bug that caused "Allow selling only from price list 1" setting to be ignored by quick select product buttons.
  • Fixed miscellaneous settings (most notably pos_timeout, which would become temporarily active every time *any* settings change was saved).
  • Configurable customer form: Fixed a bug that caused the minimum allowed birthday date to be considered invalid in some time zones.
  • Fixed a bug that caused some fields in the configurable customer form to be displayed as not required when they are configured to be required.
  • Setting "Disable unused coupons popup", when checked, no longer shows any tooltips about unused coupons.
  • Fixed a bug that caused POS to crash when using the "Custom POS buttons" plugin.
  • Added "Credit invoice" to the list of options under "Configure what types of document can be found on return" setting.
  • Disabled "Enable resume on refresh" setting.
  • Added a note to "Hide Home Store" configuration - it is shown only if Custom Customer Form configuration is enabled and explains that the setting would be ignored.
  • Removed empty default value from the Customer Group field inside the Customer Form configuration page. This ensures that the selected first group is saved when the customer is saved. This behavior matches the one in Back Office.
  • Added support for not printing issued coupons that are configured to never be printed.

Scanning

  • Product keys are not focused after clicking on them. So, scanning products with a space does not add the same product twice.
  • Unfocused scanning functionality no longer remains disabled after finishing a sale.

User interface

  • Fixed a UI bug where when paying with multiple cards while using Swedbank, the UI would show "Processing payment NaN/2". 
  • Fixed texts missing on Confirmation buttons in the POS.
  • Now the POS Settings menu is visible on the PAX device.
  • Fixed the crash that occurs when clicking on "Details" or "Purchases" while the customer has no coupons.
  • Increased X-report popup height in retail mode.
  • Fixed an issue where the Pickup Orders menu would not show a scroll wheel.
  • Fixed a POS crash when clicking on custom payments.
  • Fixed a bug that caused customer coupons tooltip to appear in a random place on screen.
  • Show an alert in case the gift card pin is empty and show no gift card info.
  • Fixed an issue where the Notifications icon was not shown in the Header.
  • Fixed issues where Icons in the Header were duplicated when expanded  on Mobile View.
  • Fixed a bug that caused date inputs on the recent sale screen to break on narrow screens of mobile devices.
  • Fixed a bug that caused the pencil icon to be missing from grid buttons in edit mode.
  • Fixed an issue where home stores were missing after the POS was reloaded.
  • Fixed missing "add" button on the product view.
  • Fixed an issue where the "Payment opening" error would not disappear after opening the payment screen.
  • Updated texts for error code 1219 (Password update required: not necessarily due to password rotation policy).
  • Fixed an issue where POS rendered too many grid buttons which did not fit on the screen.
  • Fixed an error message for API error code 1219 (password expired).
  • Improved error messages when trying to open the customer display window with missing configuration.
  • Fixed an issue with POS translations. Translations no longer get fetched and are built into the code.
  • Fixed a bug that caused an error alert related to the new POS association to be shown on login when the new POS association is disabled.
  • Email input after a sale now only shows validation text if it is non-empty.
  • Added spacing between currency buttons and customer name in the payment modal header.
  • Fixed header icon alignment.
  • Fixed a bug that caused some of the text in POS to shrink after using the printing microservice and a Back Office template to print X-report.
  • Optimized grid buttons. Sale option and function buttons will now re-render less frequently when “Inventory Write-Off” or “Add bulk products button“ plugin is enabled. 
  • Added line breaks to customer note text that contains very long words displayed on a confirmation popup.
  • Mobile view: Fixed an issue where receipt print icon in Recent Sales menu was too small on wrapper devices.
  • Mobile view: Fixed a visual issue of the Modal page not fully covering the main view when the Header Component was expanded.
  • Clicking the Product's title on the grid while "Expand product buttons" is set to "on click" now correctly adds the product.
  • Fixed a bug that caused text on the product grid buttons to be scaled incorrectly when the buttons are configured to expand on mouse hover or click.
  • Fixed a bug which caused the "Start return" button to be present on recent sales that do not have any remaining rows that are eligible for a return.
  • Fixed a bug that caused names of crashed custom payment integration modals to be displayed incorrectly.

Payments

  • Fixed an issue where when adding a payment from the list of original payments, the payment would not get added with the correct currency. 
  • Fixed an issue where adding a new CASH payment of the same currency on document pick up, the new payment would override the previously paid one.
  • Cash rounding now also applies to payments entered via keypad/numberpad.
  • Fixed an issue where MacOS users would experience crashes during payments while using an older version (13.1.2) of Safari.
  • When canceling layaway and returning the payment with the credit store, only one payment is created and the credit store is shown with a negative value in the x-report.
  • Fixed a bug that caused POS to freeze after sale was finalized.
  • Buying store credit shows correct payments in the back office.
  • Fixed an issue where currency was not displayed on payments on the payment modal.
  • Fixed an issue where paid payments would get selected, resulting in further issues.
  • Users can no longer pay by cards more than the required payment amount (unless a tip was applied).
  • Fixed an issue where if payment modal was opened before return reason could be assigned, the POS would crash on finishing the payment. The return reason popup now closes in the background if the payment window was in any way opened and the return reason popup remains open.
  • Fixed an issue where if a sale was paid for with a single CASH tender with rounding applied, on returning the sale, the pre-filled CASH tender would no longer have the rounding applied.
  • Fixed a bug that allowed users to add multiple duplicate serial gift card payment if the serial gift card search button is quickly clicked multiple times.
  • Serial gift card buttons on the payment modal now only allow the use of gift cards of corresponding type.
  • Fixed an issue where Stripe payment could not get processed.
  • Fixed a bug that allowed users to change the serial gift card payment amount after it has been added and set the amount to a number greater than the gift card balance.
  • Fixed an issue where Order cancellation to CASH would not respect cash rounding, resulting in no payments being pre-filled.
  • Fixed an issue where Order cancellation would incorrectly save the rounding on the document in case it is returned to CASH and cash rounding is enabled.
  • Fixed issues with how CASH tender is pre-filled on returns with rounding, as well as how document is saved when total was 0.01 and rounding was enabled.
  • Partial returns: If sale was originally paid with a single Card payment, pre-fill the payments with the card payment. Once payment starts, the payment will be processed in the currently selected payment integration on the Point of Sale.
    • Full returns: if it was paid with Cash payment and rounding was applied, correctly pre-fill the payments based on the original tenders.
  • Fixed an issue where card number, cardholder and  type information was missing when performing a referenced refund on a different terminal.
  • Fixed a bug that caused partial return cash payment amounts to be rounded in the wrong direction.
  • Bypass that allowed saving a Credit Invoice despite having removed all return rows from the cart.

Documents

  • Fixed an issue where on Order pickup the payments would get added with incorrect currency.
  • Order cancellation: Allow paying with store credit if the order's customer is not the default customer.
  • Users no longer can start a return of the same sale multiple times while the previous return is still loading.
  • Fixed an issue where offer's notes were not visible upon selecting a saved offer.
  • Previous payments are now once again included in the payment list when following up on a layaway sale.
  • Gift card minimum spend requirement is now ignored when cancelling a layaway.
  • Fixed an issue where cash rounding was not recognized when picking up a paid order.
  • Fixed an issue where exact exchanges (cart has both positive and negative quantity items and total is 0) were saved as Invoices instead of Returns.
  • Fixed an issue where exact exchanges (cart has both positive and negative quantity items and total is 0) were saved as Invoices instead of Returns.
  • Fixed an issue where during returns, rows did not get associated with currently logged-in employee.
  • Fixed an issue where Invoice document was not created when fully paying for a Layaway in such a way that there's a negative rounding applied.
  • Fixed an issue where the user was unable to set a layaway cancellation fee 100%.
  • Returns and exchanges can no longer be saved as Account Sales.
  • Date and time in offers are displayed according to the warehouse timezone.
  • Fixed an issue where rounding was not correctly saved onto invoice when fulfilling a fully pre-paid Order.
  • Cash rounding is now applied to document total only on the final payment (prevents rounding from causing under/overpayments).
  • Fixed a bug that allowed to cancel fulfilled layaways by searching for them from the return menu.
  • Fixed a bug that allowed returning rows of a sale if return is started by searching for the sale number and selecting the sale when multiple documents with the matching number are found. 

Customer display

  • Fixed an issue where Customer Display would not show correct titles.
  • Fixed an issue where Customer Display would not show customer registration form in French if French is selected as POS language.
  • Added missing French translations to Customer Display plugin configuration page.

POS operations

  • Fixed clock in / clock out flow from ending up in a blank 'Select POS' screen.
  • Fixed Clock in/out flow in login screen.
  • If a day is already opened, the offline day opening will not show an open day modal and no new day will be created.
  • Fixed an issue where a user would have a limited selection of POSs when and if they closed the Open Day modal when logging in.
  • Users can no longer get stuck on lock screen by locking POS or attempting to switch users in offline mode.
  • Fixed a bug that caused GoErp apps to be authenticated using previously logged in users session data after users switch in POS.
  • Fixed a bug that caused POS to get stuck on the POS selection screen after the page is refreshed when New POS Association is enabled.
  • Fixed a bug that caused POS to check if a day is open at the register multiple times in a row.
  • Product DB no longer syncs from scratch after every explicit logout.
  • Fixed an issue where Quick Notes would be incorrectly reset on clearing the existing ones.
  • POS no longer synchronizes campaigns and coupon rules. POS now only synchronizes active and not expired price lists.
  • Users can no longer get stuck on lock screen by locking POS or attempting to switch users in offline mode.
  • Fixed an issue where logging in via another user's pin would load incorrect CAFA's user config.
  • Fixed an issue where users would get stuck opening the payment screen if they logged in via pin.
  • Fixed a bug that prevented users from cancelling day opening if POS association is enabled or URL parameters contain a register id. Now users will be logged out in such cases. 
  • Users will now be prompted to enter their password to create a new session if their session has been invalidated due to the user's password being changed.
  • Fixed an issue where the day could be closed with incorrect information with slow Internet connection.

Payment integrations

General Fixes

  • POS now sends the correct POS name and version to Adyen, Cayan and Swedbank when making requests.

Verifone FI

  • Fixed an issue where if the user never configured Verifone FI's "When prompted for printing, after inactivity do:", after the payment, an error would be shown.
  • Fixed an issue where Verifone was incorrectly saving the card type when using MS version 1.1.0 and beyond.

Chase

  • Fixed incorrect text for Chase's Test Payment button.
  • Chase only supports a maximum of 6 digits clerkID (employeeID in POS). In case of an ID longer than 6 digits, we send the last 6 digits. Otherwise, we send the whole ID.
  • Reimplemented Chase payment integration.

Adyen

  • Adyen integration now waits for microservice to boot up before starting payment (if payment screen entered super fast while MS are still being installed, for example with the direct-to-payment flow of service app returns).

Swedbank Ingenico

  • Improved the error message, shown when trying to void a refund transaction.

Linkly(PC-Eftpos)

  • Fixed issues related to Linkly (PC-Eftpos) where after cancelling a void, incorrect payments would get processed.

General Plugins

EFSTA plugin

  • EFSTA plugin now supports France. 

Security plugin

  • Any edits to the cart now get automatically saved upon logout, cache clear, or trying to refresh/close the browser.
  • Added ability to configure to request manager override when creating Account Sales with the total exceeding customer's credit limit. Currently can configure if manager override should appear on: 
  • row removal from cart
  • row quantity is being lowered (5 -> 4) (manager override on making the amount negative is a built-in feature, not controlled by plugin)
  • starting new sale via New Sale
  • allowing the user to make Account Sale even if customer has insufficient credit limit

"Mobile money Payment Integration" plugin

  • Fixed an issue where the plugin prevented orders from being saved.
  • Fixed an issue where the plugin was always using default configuration.

USDL age verification

  • Now supports codes with any set of name fields that includes at least one first and one last name - Scanning failures now report the reason (f.ex. missing expiry, missing first name, etc.)

 "Feedback Section for Customer Creation Form" plugin

  • Added support for Configurable Customer Form.
  • Added an option to make questions required.

Customer Display plugin

  • Added the ability to include a birthday field in the customer registration form, sent to the customer display app from the POS.
  • Added `termsAndConditions` and `privacy` fields to customer creation form, which can be configured from Customer Display plugin and are saved to the customer as attributes.
  • Fixed incorrect translations shown on Display if they were reset in the plugin's "Customer Registration Form" translation section.
  • Fixed customer registration form not being re-prompted in case entered information was detected as a duplicate while "Customer creation duplicate warnings" plugin is enabled and the cashier decided to edit the customer information.
  • "Purchase inactivity timeout" field now edits in seconds but saves in milliseconds + warning when below minimum value (60s)
  • Fixed a bug that prevented checkbox fields from being displayed on the customer creation form.
  • Added MP4 as an option for video advertisements/promotions.

Custom POS buttons

  • Product buttons now apply prices from price lists that are attached to selected warehouses and customers. 

Custom Plugins

H** P***** Customisations

  • Tweaks to pay an invoice screen to optimize paying multiple invoices in sequence.
  • Fixed a bug that prevented account sales with purchase order numbers from being saved.
  • Fixed crashing issue when paying for invoice(s) while using H* plugin.
  • Fixed an issue where payments, which included cash rounding or cash over payments, were incorrectly saved while using H* plugin.
  • Now when a total of multiple invoices resulted in requiring CASH rounding, the rounding would only be saved to the document that received the last part of the CASH payment.
  • Now when multiple invoices were paid with CASH with a change, the change would only be saved to the last CASH payment that was split from the original one.

G***** Fiscal Integration plugin

  • Fix for POS not able to save a sale when plugin is enabled.

S** number

  • Fixed a bug that caused the order of quick select product buttons to change when S** number capture plugin is enabled.

G**** plugin

  • Fixed a bug that caused POS to fail to recognize that the user tries to refill the same G**** card twice due to a race condition.
  • Added support for translated error messages (requires G**** MS v1.0.14).
  • Activating or incrementing the same card multiple times in one transaction is no longer allowed.
  • Fixed a bug that caused POS to require to revert failed increment/activate payments in order to void them.
  • Card number and pin are now editable when incrementing/activating card and the G**** payment is locked.
  • Shopping cart and sale data are now reset (selected customer is preserved) when card deactivation process initiates a refund.
  • Added French translations for error messages.
  • Card deactivation charge is now processed only after all other payments have been processed.
  • Multiple G**** gift card products added to shopping carts in succession now get added as separate cart rows.
  • Close the Deactivation page once the G**** gift card has been successfully de-activated.
  • Now saves only the last 4 digits to BO, instead of masking the full number.
  • Added support for multiple increment products.
  • Original G**** payments are now displayed with the configured G**** display name instead of payment type ("CARD").
  • Fixed an issue where on referenced returns G**** payment was added automatically when the payment modal is opened for the first time and G**** payment tender is disabled on referenced returns 
  • Fixed an issue where user could deactivate a G**** card without a PIN despite it configured to be required.
  • Fixed an issue where G**** increment number would get incorrectly saved.
  • Card activation/increment are now processed only after all G**** payments have been selected by the user.
  • Plugin no longer disables regular gift cards payment type.
  • Added support for changing display name of the integration.
  • Added support for card deactivation.
  • G**** payment card type is now configurable.
  • Fixed a bug that caused G**** tender to be prefilled on referenced returns when the plugin configuration does not allow it.
  • Fixed an issue where Store Credit couldn't be used when using G**** Increment.
  • New option added to parse card number from magnetic stripe card while checking gift card balance.
  • Fixed a bug that caused G**** payments to break card payments when using the wrapper.
  • Fixed a crash that occurred when the user charges a card, reverts the charge, cancels payment processing and then starts payment processing again.

W** plugin

  • Applied correct currency and number format to the Visits column.
  • Fixed a bug that caused the customer information box to be out of its container's boundaries.
  • Do not wait for customer data loading to finish if:
    • POS is in offline mode
    • Default customer is set

M** plugin

  • Fixed an issue where Jo***** Membership logos would be shown in the incorrect language.
  • Password rotation confirmation popup is now shown when users switch accounts or unlock POS using their PIN.
  • Fixed an issue where returns no longer inherit the packerID of the original sale.
  • Fixes issue with password rotation popup appearing even when there are more than 14 days remaining till the password rotation deadline.
  • Fixed an issue where regular sale payment tender limits are now applied to referenced exchanges with a positive total when returns with receipt are only allowed to use original payment tenders.
  • Fixed an issue where Inventory Write-off request was not sent on an exchange with a total amount greater or equal to zero (such exchanges are saved as cash invoices).
  • Fixed an issue where the payment screen wouldn't open when doing a partial refund to CASH.
  • Order notification: Logged in employee is now set as the one who packed an online order when the order payment is processed by POS.
  • Replaced default customer badge icon with Jo***** rewards logo if the selected customer is a Jo***** Member.
  • Fixed an issue where when making a refund for a sale that had a row with multiple items and had a discount applied to it, the refund would have the discount incorrectly saved.
  • Added a new grid button that opens a Customer Service GoErp.
  • Added 2 new configuration fields:  CRM service token salt (for service that is used to display customer service app and to change customer email), Registration service token salt (for service that is used to generate customer card numbers)
  • Display PIR form whenever a sale was made with a negative amount (product return) including positive exchanges.
  • G****: During refunds, check for if the auto-filled G**** card payment has been issued or not. If it was not issued, prevent issuing it. 
  • Fixed an issue where Order Notification's document's delivery date lacked the time. Also fixed an issue where the configured warehouse's timezone was not applied to dates.
  • New feature - "password rotation early warning".
  • Added French translations for G**** methods in the history view.
  • Added missing French translations to the Customer Display plugin configuration page.
  • Added French translations for essential data loader.
  • Fixed an issue where Currency text was untranslated on the Tenders view.
  • Use configured G**** title on the Tenders view of the Close Day instead of the G****.
  • G**** refill printout: Dates are now displayed in a time zone of the warehouse where the transaction occurred (matches the time zone used by regular receipts).
  • Fixed an issue where when picking up a document that requires payment, via the Order Notifications plugin, the pay button on the payment screen would be enabled.
  • During refunds, tenders are automatically prefilled as G**** if the original sale was made with multiple tenders or if the return is being performed at a different location. If sale was paid by single tender and it was neither cash, nor a credit card payment, the tender is also automatically pre-filled as G****.
  • The return screen now has just a single dropdown for selecting the global return reason.
  • Gift Card icons are now hidden from the Gift Card buttons on the payment screen.
  • Fixed translations in G**** extra printout.
  • Added customer survey coupon code to the end of the receipt.
  • "Load coupons" menu now renders expiration dates date-first when POS is in French.
  • When printing card numbers, everything but the last 4 digits is now omitted instead of just masked.
  • Fixed a bug that caused new customer's language to be saved as English instead of as default account language if the user never changed language field value.
  • Hide total discount field if the discount is 0.
  • Fixed a bug that prevented G**** card balance from being displayed on receipt.
  • Fixed payment type names on receipt.
  • Fixed an issue where on paying a document via Order Notifications the Date and Delivery Date were not updated.
  • Fix handling of manual discounts on returns.
  • Use `receipt_footer` configuration for the rest of the footer text.
  • The last line of footer now uses text configured in BO.
  • Receipt gift card type labels now also check for type, and failing that, translations set in Back Office.
  • When making a return with receipt via Recent Sales menu: prevent the ability of setting return reason for rows separately, only allow per sale return reasons.
  • When editing the quantity of a row in the shopping cart to a negative one, the return reason popup now only has a "per sale" tab.
  • Use back-office numbering for "delivered" orders from the order notifications panel.
  • Receipt modifications:
    • The product name now uses all available width.
    • The discount name is now displayed as "Rewards Member" if the discount is based on a customer group price list and “Flyer price“ if the discount is based on an event price list.
    • The order of date and time is now swapped - date is first now.
    • Date and time are now on the same line as receipt number.
    • Added translations for transaction types.
    • Shortened transaction type labels.
    • Reduced the amount of “*“ on G**** card numbers.
    • Fixed invalid number values.
    • Added G**** card balance row (requires "G**** payment data" module).
    • Moved discount name on a separate row.
  • Order Notifications - fixed an issue where if Order is picked up from Order Notifications with an existing cart, then the Order would get extra products.
  • Online orders that require in-store payment now send status updates to online order microservice.
  • The salesperson on receipts is now always the logged in employee.
  • Added currency symbol to subtotal, rounding, total discount, paid amounts and detailed paid by card amounts on receipt.
  • Set the default language of an account as the language field default value.
  • Removed automatically applied senior promotion.
  • Coupon redemption date is now displayed in the time zone of the selected warehouse instead of the local time zone.
  • Fixed a bug that caused birthday, gender, sales for cash only and suspended field value to be set to default values when customer email is updated.
  • Plugin now changes the value of the new configuration to only search for Invoice-Waybills and Cash Invoice documents.
  • Added POS active language to GoErp app URLs.
  • Updated French translations.
  • Fixed a bug that prevented vouchers from being used by their owner to pay for an online order.
  • Replaced debit card payment returns with cash.
  • Disregard user permissions and always allow access into the promotions menu.
  • The customer name column is hidden on the return page.
  • The customer group will now be automatically updated when a customer is selected if it does not match the email.
  • Widened "Update e-mail" modal so that text inside of it does not overlap.
  • Fixed an issue where printing would not work when a sale did not have a discount.
  • Added french translation for cash drawer error message & workaround for currency formatting when using CAD with french language.
  • Order notification icon now turns red if there are any new orders user has not viewed orders and shows a pop-up when new orders are created.
  • Fixed an issue where PIR form could not be interacted with.
  • Fixed a bug that caused the "Suspended" field to ignore its configuration.
  • Show home store name instead of unknown location if coupon is  redeemed in another location.
  • Now shows rounding information under taxes.
  • Fixed an issue where Suspended, Sales for cash only, Senior checkboxes would not work correctly on the customer form.
  • After a return is saved inventory write-offs are now created for rows with configured return reasons.
  • Fixed a bug that caused default customers to be assigned to an order when the order is confirmed / paid for. Now after the order is confirmed order notifications modal will automatically reload
  • Integrated PIR form.
  • Vouchers can now be used only by their owners.
  • Fixed custom translation issues (vouchers and cash cards).
  • Gift certificate, Cash card and Voucher payments are now displayed as distinct payment types when closing the day and in reports.
  • Customer form, Customer View as well as Custom Customer Form configuration updated to show "suspended" instead of "Do not sell".
  • Fixed an issue where subsidy was not attached to the transaction.
  • Added support for the "Minimum spend" field for gift cards. Gift card usage can now be restricted based on cart total.
  • Return reasons specified by hidden_reason_codes setting are now hidden.
  • Added support for loading coupons.
  • Added some additional validation to customer form.
  • Added custom translations for gift cards.
  • Show only clock in/out and logout buttons in the user menu for users that lack settings rights.
  • Added online order notification icon. Integrated GoErp application for online order notification processing.  
  • Added automatically added payment when deactivating G**** gift card.
  • Customer coupons are now always automatically applied.
  • Fixed race conditions in the 'load coupons' menu.
  • Order notification: Pickup of in-store-payment-required order now deletes linked layaway via linked automation. Does not require delete permissions anymore.
  • Visual receipt update: added subtitle under logo for customized receipts.
  • Added cash change to receipts.
  • Employee identifier on the custom receipt is now displayed in accordance with the "Employee identifier on receipt" setting in the BO.
  • Grid function buttons now have specific requested and consistent order.
  • Added a popup in order to ask for an email when a customer without an email from Bronze group is selected.
  • Fixed a bug that caused PIR form to be displayed under the "Finish sale" popup.