SuitePOS Release 2.4

July 05, 2017


NOTE:  If you are on build 507C or prior; you will need to upgrade the NetSuite or Salesforce bundle/package you are on first. 

2.4.1B Build 576

  • For customers using Square, sale information is now written to the payment transaction in Square - great for verification.
  • Fixed minor bugs around ticketing

2.4.1A Build 575

  • Updated Socket Scan SDK for better stability 
  • Updated Star Printer SDK for better stability 

2.4.1 Build 573 - General Availability (*d)

  • Fixed the occasional crash due to receipt printing of bar codes
  • Fixed some minor layout and icon issues
  • For Returns only, use the deposit account defined on the Payment Accounting List versus what is on our settings record ('Customer Refund Account') when the setting field is blank. This is better in alignment with how NetSuite operates. (see below under Whats New and NetSuite Only instructions)

2.4.1 Build 570 (Beta 4) (*d)

  • Fixed issue card ease manual cards
  • Fixed some infrequent customer edit issues
  • Fixed a whole order discount issue when transaction retrieved from hold
  • Fixed other minor bugs

2.4.1 Build 563 (Beta 3) (*d)

  • Fixed issue with customer search when last name is first
  • Fixed various dynamic option issues
  • Fixed rare issue when optimizing diff syncs
  • Fixed ticket number not saving issue

2.4.1 Build 560 (Beta 2) (*d)

  • Fix minor bugs
  • Updated CardEase/ChipDNA SDK for stability

2.4.1 Build 556-Beta1 (*d)

  • Initial beta release
    (*d) Deprecated, (*dSF) Deprecated, Salesforce Only,  (*dNS) Deprecated, NetSuite Only

    WHATS NEW IN 2.4

    SuitePOS Now Works with iOS 11

    We have updated the App to work with iOS 11.

    Dynamic Options Module

    Dynamic Options is a feature that guides you through a configuration process for the purposes of "kitting". This makes the POS a lot easier to use for products that lend themselves to configuration.

    Once the module is enabled, you select the main product that has Dynamic Options and then add in all the Dynamic Options used.  In turn, these options (which have been previously defined) determine which product (or groups of products) are including in a specific Dynamic Option.

    At the POS, when the main item is selected, each Dynamic Option (and its constituent products) are displayed, in turn, for selection or scanning. 

    For example:

    • A Hamburger that consists of two dynamic options; toppings and condiments.
    • A 3 Compartment Bento Box that consists of three dynamic options; Candy 1, Candy 2 and Gift Wrapping.

    Additionally, Dynamic Options can be Mandatory or Optional and the price of the product(s) that are part of the Dynamic Option can either be 0.00, the actual product price (blank) or a special price override.

    Dual Displays and Screen Mirroring

    You can now display a consumer friendly real-time cart to the customer using a separate HD Screen. (Requires a separate HD Screen and Apple TV).

    Note: Not recommended for Square Payment customers due to the nature of the App to App integration.

    Customer Sync Improvements (NetSuite)

    For Customers with large customer counts (50k+), we have significantly improved the time it takes to sync. 

    Making Customers Taxable or Non-Taxable

    You can now set Customers to Taxable or Non-Taxable when Adding or Editing a Customer. To enable this feature you must enable the 'Taxable field' on the Customers tab in the Settings.  
    NOTE: Some Customers used the 'Status' field and a Workflow to set Taxability. This was a workaround and has to be removed because the 'Status' field for Customers has been deprecated due to performance problems.

    Item Sync Improvements (NetSuite)

    We have made things better for Customers that have a lot of products that are distinct to specific locations and/or those that have external systems/scripts updating items.
    • We now dynamically ilmit the saved item search (for full and differential syncs) on either "restrict by location" or "restrict by terminal". Before, we looked at the full item search and then parsed the restrictions; now we limit the item search by the restrictions dynamically.  This means fast syncs for those customers that have high item counts and restrict.
    • We now only do differential syncs on newly created items or items that have had fields updated that are specific to our POS. Before, we sync'd the items regardless of the fields updated; this meant that items that are updated by external systems (fields nothing to do with our POS) would get sync'd.  

      To achieve this, we have introduced a POS Setting, 'Optimize Diff Sync' and a new workflow 'SPOS Update Item POS Mod Date' (which must be explicitly enabled). When enabled the sync's uses a special item field 'POS Modified Date' to perform the differential syncs.  In addition, we have introduced another Item field 'Force Diff Sync', this provides a manual way of forcing a specific item to sync to the POS on the next diff sync.

      Note: Price updates for Customers with Multi-Currency Enabled but Price Levels not enabled are NOT supported. 

      Custom Fields for Customers

      We have provided the ability to track user defined customer custom fields. This is useful to store and track specific data relating to a named customer.  On the POS Settings record, you can define up to five fields of each type (checkbox, text (120 chars max), picklist and date) with custom labels.

      Menu Option To Link to Another Web Site/Page

      A configurable URL link out option has been provided to the menu structure. This can be controlled at the clerk and settings level.  With the right clerk permission, clicking this menu option will display the web page defined on the settings record for that terminal. This is useful for providing clerks (or managers) with quick access to things like instructional pages, other services/sites or analytical pages.

      Default Payment Method for the Payment Screen

      To increase speed of operation at the terminal, a default payment method has been introduced in the settings.  It be be blank (or Cash), or Credit Card.  This is particularly useful for those customers that use the Square Gateway and want to avoid having to select Credit Card on each payment.  It has little or no impact for CardEase or Shift4 Gateway customers since it auto-detects the payment method based on if a swipe/dip transaction has occurred.

      Shorten Avatax Delays

      Customers with the Avatax module sometimes could experience delays (with no indication) of up to 60 seconds if the Avatax service was not available or incredibly slow. We have shortened this delay to 15 seconds and output a message when Avatax is being calculated.

      Smarter Item Search

      Currently, items are search for entire words. For example, "The Toy" would pull up all items that contains "The Toy".  It would not, however,  pull up items that contained "The Red Toy". We have fixed that to search for items that contain "The" AND "Toy".

      Vendor Name/Code Search

      We have now included the Vendor Name/Code item field in those fields that are searchable when scanning (it was already included for manual searches).

      Returns - Tax Rate Changes and Returns From Other Locations

      We have made it so that "Created From" returns use the tax code (and rate) from the original sale transaction. This means the correct tax code (and rate) gets applied when it was sold as a different rate or in a different tax jurisdiction.

      Note: Returns from other locations are not fully supported for Avatax customers. There is currently a Avatax Bug (case #15287155) that prevents returns from other locations working in NetSuite. Please contact Avalara for more information.

      More Than 30 Inventory Locations

      We now allow more than 30 inventory locations to be displayed when viewing stock levels at each location.

      Better Support Regional Pricing (Using Price Levels/Books)

      Currently, you can set up regional pricing by using an alternative price level/book and setting that on the store settings for that region. The issue is that if a customer has an alternative price already set, then that price is used.  For some retailers, it is not desirable. We have introduced a new setting option, 'Override Default Customer Pricing' on the settings record that will always use the default price level on the settings record; no matter what the customer is set to. 

      Returns - Use NetSuite Default Payment Deposit Accounts

      Currently, all returns are processed to a Customer Deposit Account defined on the settings record. This behavior remains the same unless you make this field blank. When this field is blank, the system uses the deposit account from the Payment Accounting List instead. This is/could be useful for better reconciliation across your credit card and cash accounts.

        • You must be on the NetSuite Bundle (or Salesforce Package) specified on the download page.  
        • It is strongly advised that you test this release with a sandbox account before running in production. SuiteRetail accepts no responsibility for lack of testing.


        • Go to the active "customsearch_sposcustomersearch", Remove the fields "Status" and "Last Modified" and then Save.

        • Go to the active SuitePOS Item Search "SuitePOS Item Search "customsearch_spositemsearch", Remove the field "Last Modified" and then Save.

        • Ensure a deposit account is set for each payment method defined (only if the POS Setting 'Customer Refund Account' is blank).


        Package URL:  

        Settings Layout Upgrade

        Add the following fields to the Settings Layouts(s) and associated Profiles:


        Add New Section "Custom Customer Fields"

        SPOS__Custcheckboxpermission<n>__c (where <n> is 1 thru 5)
        SPOS__Custdatepermission<n>__c (where <n> is 1 thru 5)
        SPOS__Custtextpermission<n>__c (where <n> is 1 thru 5)
        SPOS__Custpicklistpermission5<n>__c (where <n> is 1 thru 5)
        SPOS__Custcheckboxlabel<n>__c (where <n> is 1 thru 5)
        SPOS__Custdatelabel<n>__c (where <n> is 1 thru 5)
        SPOS__Custtextlabel<n>__c (where <n> is 1 thru 5)
        SPOS__Custpicklistlabel<n>__c (where <n> is 1 thru 5)




        Product Layout(s) Upgrade 

        Add the following fields to the Product Layouts(s) and associated Profiles:


        Add the following Related List to the Product Layouts(s) and associated Profiles:

        Valid Dynamic Options
        Note: Make sure you select 'Dynamic Option' as the column name displayed (and not Id).

        Menu Upgrade 

        Add the following tab to the SuitePOS Menu:

          Accounts Layout(s) Upgrade 

          Add the following fields to the Account Layouts(s) and associated Profiles:

          SPOS__text<n>__c (where <n> is 1 thru 5)
          SPOS__picklist<n>__c(where <n> is 1 thru 5)
          SPOS__date<n>__c (where <n> is 1 thru 5)
          SPOS__checkbox<n> (where <n> is 1 thru 5)

            Assign the default values (for each picklist) to the Person Account Record Type

              Menu Link Upgrade

               Add "Link" as a picklist value on the field 'SPOS__Menu_Access__c' on the Object 'Access'. 


                  Also in Releases

                  SuitePOS Release 2.3

                  March 23, 2017

                  Read More

                  SuitePOS Release 2.2

                  November 04, 2016

                  Read More

                  SuitePOS Release 2.1

                  May 19, 2016

                  Read More

                  Contact us today

                  To see how SuiteRetail can transform your retail business with SuitePOS.

                  Contact Sales