Support for Canadian NetSuite Accounts

Support for Canadian NetSuite Accounts

SuitePOS supports Canadian (Canada) NetSuite accounts (or subsidiaries). There are a few caveats though.
  • Square ea is the only gateway that is supported in Canada. Square Plus is currently NOT supported.
  • A Canadian specific reader is necessary.
  • Avatax is highly recommended since all tax scenarios are supported. Standard NS tax scenarios are also supported with the exception of taxes represented as groups eg. PST + GST.
  • The "Registered NetSuite User" must have a date/time format MM/DD/YYYY and must belong to a Canadian account or subsidiary.
  • The active Customer and Item Saved Search should include all subsidiaries (if applicable) that are using SuitePOS. 
  • If a foreign subsidiary, Optimize Diff Sync is not supported for Canadian Accounts and any differential price updates will not be updated.  If your base currency of the NetSuite account is Canadian, then Optimize Diff Sync is supported (but should be used only if necessary).
  • If subsidiaries are used, the Subsidiary Internal Id must be set on the POS Settings Record.
  • If applicable, you must set the associated Dynamic Option Price Override field on the item/product record to the override price for the currency of the subsidiary (there are separate fields for this). If left blank, the base currency price is used.
  • If applicable, the promotion module must be looked at to ensure "restrict to location" is used on all promotions pertaining to the currency/country they are applicable. This stops item level promotions from co-mingling across countries and ensure the correct currency is being used.
  • If you are using Avatax and you have foreign subsidiaries that are using SuitePOS then you will need to set the Avatax Company Code on POS Settings. This is Avatax's Company Code as defined in Avatax specifically on the AVASUBSIDIARY record (managed by Avatax).  If you do not set it, the system will use the default Avatax Company Code (which is likely not the one you want to use for foreign subsidiaries).
Testing
It is very important to test this in a sandbox first to ensure it is behaving as expected. Even when you move to production, it should be tested on one terminal first to ensure correct operation.
Issue with incorrect pricing in SuitePOS
On several NetSuite setups (specifically around foreign subsidiaries) we noticed that the pricing was, in some circumstances, displaying the wrong price (ie. not the price for the currency of the foreign subsidiary) in SuitePOS. To correct this, go to the currency record and edit the name of the currency of the subsidiary, save it and then edit it back. Then perform another full sync. This seams to correct this issue.
    • Related Articles

    • NetSuite Upgrades and Release Preview accounts

      From time to time NetSuite upgrades their platform. Major releases occur approximately twice a year and are designated (currently) by incrementing the year (or the point). eg. 2019.1, 2019.2, 2020.1 These releases are accompanied by NetSuite giving ...
    • Release Preview and Sandbox accounts

      From time to time NetSuite upgrades their platform. Major releases occur approximately twice a year and are designated (currently) by incrementing the year (or the point). eg. 2019.1, 2019.2, 2020.1 These releases are accompanied by NetSuite giving ...
    • The Importance of Sandbox Accounts for SuitePOS, NetSuite and Salesforce

      Sandboxes are provisioned platform (NetSuite and Salesforce) accounts where you can test configurations, train end-users and most importantly, test upgrades before releasing them in to a production environment. All upgrades of SuitePOS are performed ...
    • NetSuite Script Error: NetSuite Data Center Error During a Sync

      Once in a while, during a sync, a "NetSuite Data Center" error message may pop up. This is thrown by design and is as a result of SuitePOS not being able to obtain the data center endpoint NetSuite uses for the REST API's for your account. This is ...
    • NetSuite Script Error: SSS_REQUEST_LIMIT_EXCEEDED

      This happens when the NetSuite concurrency limit (set by NetSuite) for your account is exceeded. Typically this occurs when you are simultaneously syncing many terminals at the same time. for example, if you have a concurrency limit of 5 and you try ...