Kryptronic eCommerce Software Update: 9.1.0

An update was released today, November 18, 2021, for Kryptronic eCommerce software version 9. Installation of this update will increase your software version to 9.1.0. This update is intended for all clients running Kryptronic eCommerce software versions 9.0.0 through 9.0.3.

This update has been superceded by update 9.2.0. Follow the link below for more information on upgrading to version 9.2.0.

View Kryptronic eCommerce software update 9.2.0 to continue.

Items Added/Changed In This Update

Search Engine Optimization and Marketing

Added a new Search Engine Optimization component which exposes SKUs.  All Product Offers which use the Inventory Item(s) Offer Type now support SKU URL targets for specific Inventory Items when a choice of two or more Inventory Items are sold by the Product Offer.  SKUs extend Product Offers, and leverage their SEO URLs and metadata.  SKUs are now present in SiteMaps and Google Shopping Feeds (where applicable), and generate SKU-specific microdata.  SKUs were exposed to increase SEO while allowing the entire Inventory Item catalog to be accessed via specific URLs.

The Google Shopping Feed extension module was updated to include a new Helper which allows regeneration of feed files on demand.  This new function allows store owners to easily clear shopping feed issues at Google then regenerate a new file for Google to pick up without waiting for the file to regenerate automatically on it's daily schedule.

Added offer review details to the MicroData extension module's output for product offer pages.

Updated all microdata includes to use instead of for the schema specification.

Sitemaps, Google Shopping and other feeds have been updated to use each MultiSite's status override (if present) when processing feeds for MultiSites.  Previously if on for the DEFAULT site, all MutliSites produced feeds.  This allows turning off feeds per-MutliSite.

Modified ExactSEO logic.  If MultiSite is active, the site name will be appended to the meta title regardless of ExactSEO status.  Previously it was not appended, creating the need for more overrides than necessary.

Added Facebook Pixel support.  Facebook Pixel tracking is now embedded on every page to allow a tighter integration with Facebook.  Facebook Pixel tracking can also be enabled using Google Tag Manager in your Google account (preferred method).  If Facebook Pixel is configured through Google Tag Manager, do not add activate this new feature.

Modified the pricing logic for the Google Shopping feed and product microdata.  Now offers with 'Add to Cart for Price' selected will display in feeds, and will display pricing in microdata, if a 'Google Shopping Price Override' is entered for the offer.  Previously the offer would have been suppressed from the Google Shopping feed, and a zero price would have been indicated in microdata.

Added a dataLayer to Google Tag Manager for tracking transactions (conversions) as events with amounts tied to them.  dataLayer event=transaction, transactionID=orderid, transactionTotal=ordertotal is now sent when orders are processed.

Modified the Google Shopping Feed extension module to better clean text content and descriptions of erroneous information like style tags and unrecognizable characters.

Catalog Categories and Offers

Easy Pick options added.  For Inventory Item offers, in addition to using standard Radio, Select or Multiple Quantity Input displays, a new Easy Pick display was added.  This display allows grouping items into different boxes by adding Easy Pick parameters to Inventory Items.  This new functionality makes color/size picking easy with many Inventory Items and supports an unlimited number of levels and options which can all be exclusive of each other.  A truly full-fledged Inventory Item picker that makes selection easy and intuitive.

When a category is displayed as a category feature grid, if there are any offers which do not have category feature grid parameters, those offers are displayed in a separate grid as accessories.  Two new fields were added to the Manage Categories function to allow separate accessories grids to be displayed using an expandable accordion display.  One field is to turn this functionality on and off (Category Feature Grid Accessories Accordion Status), and the other is to allow control of the name/link displayed (Category Feature Grid Accessories Accordion Name).

Modified Ajax product searches (predictive searches) to use the sort order defined for product offer listings to present results instead of sorting by name ascending.

Added the ability to override wholesale user account discounts for individual users on the product offer level.  This allows specific (lower or higher) discounts on offers overriding manufacturer level wholesale discounts.

Added display options for Inventory Item AddOns to present as Mutliple Quantity Inputs, Checkboxes or Selection Lists (previously Checkboxes or Multiple Quantity Inputs, autoselected based on offer type).  Added a global setting to allow Inventory Item AddOns to always use a quantity of one when added to the cart.  The default for this setting is off - the entered offer quantity is used for AddOns by default.

Added CSS classes to the product detail display to allow for better display control based on offer type and inventory selection display controls.  New classes added were: kprodshowright_[offertype] with Inventory Item and Custom Package offer types having display modifiers kprodshowright_invitems_[invitemmultdisp], kprodshowright_invopts_[custpkgdisp]; kxofferaddcartmain wraps the main item(s); kxofferaddcartxaddons wraps each addon item group.

Modified product offer detail displays to include items with matching additional category parents in category feature grids.  Previously those items were only shown on the category displays.

Modified breadcrumbs logic - breadcrumbs are now unset/deleted when searches are performed.  This clears breadcrumbs paths to allow for default (category parent) breadcrumb trails to be used for all searches.

Corrected an issue with the product review modal form not loading properly for sale-only product offers which were set to Special Offer Only.

Dropshipped items now show inventory as 'Available' instead of 'In Stock' in all stock displays in the online store where stock is configured to display.

Increased the maximum number of offers displayed on category pages displaying category feature grids from 500 to 2000.

Inventory Items

Added Minimum Quantity, Maximum Quantity and Incremental Quantity (aka Pack Size) controls to Inventory Items.  Minimum and Incremental Quantities are enforced on the offer level for all Inventory Items type offers.  Maximum Quantities are enforced on the offer and shopping cart level for all Inventory Items, Package Deal and Custom Package type offers.  A global setting was added to General Store Settings which allows Quantity Rules Enforecement to be turned on and off.  The default is off. 

Changed stock notifications for inventory items so they can be used on MultiSites.  Previously the mails sent were for the default MultiSite only.  Now the MultiSite is tracked with the notification request made by the customer.

Added stock notification request alerts so store owners can receive mail message alerts when customers sign up for in stock notifications.  This will help to better identify in demand out of stock items.

Added a new setting under Shopping Cart and Wish List settings which allows like Inventory Item offers to be combined in the shopping cart. 

Added a new Inventory Level Reduction controls for Channel and Wholesale offers on the Inventory Item level.  These controls allow inventory to be reduced by a specified level prior to reporting inventory for channel or wholesale offers.

Added support for dropship purchase cost for inventory items.  Now inventory items can specify a local inventory purchase cost, and a separate purchase cost when dropshipped.  Appropriate changes were made to offers, the shopping cart, purchase orders, order processing and the Inventory Uploader and QuickBooks WebConnector extension modules.

All inventory cost functionality was updated to use the current purchase cost for local inventory items when calculating cost for inventory items in offers and items ordered.  Previously average cost was used. 

A new Wholesale MAP Price field was added to Inventory Items which will allow for MAP pricing adjustments on wholesale pricing independent of retail, and allows for MAP price update delays for either pricing type.


Modified the delivery address book to add a phone number for delivery addresses.  Delivery address phone numbers were defaulted to 0000000000 for all existing address books (for updates/upgrades), and will not display if in this default format.  All new/modified/future address book entries will contain valid phone numbers.

Added an Allow Gift Certificate Use on Gift Certificate Purchases setting under Store / Component / Settings / Checkout which allows you to prohibit gift certificate usage on gift certificate purchases.  The default setting is false (0), which disallows usage of gift certificates to purchase gift certificates.

Modified the delivery address book so it can contain a maximum of 40 entries.

Added a checkout disabled message which shows up in the shopping cart and checkout when checkout when present.  If present, checkout is disabled.  Edit by updating the Checkout Disabled Message setting using Store / Component / Settings / Checkout.

Modified checkout logic to suppress error messaging when entering checkout for the first time and required custom fields are not completed (Example: Disclaimer requiring checkbox selection will not fire an error until the checkout form has been updated once). 

Added logic to the create account and guest checkout forms to auto show/hide the delivery section based on the billing/delivery address choice.

Added logic to checkout to limit error messaging concerning invalid/incomplete custom fields to instances where the customer has clicked the update button to submit changes.

Payment Processing

Added support for the Stripe payment gateway.

Set default referring URL strings for gateways that use the meta-refresh return method.

Added support to the PayPal Standard processing gateway to differential between PDT and IPN requests.  PDT requests can now be validated using a Payment Data Transfer Token.

Artificial delays were added for PayPal PDT (customer relay) transfers.  When PDTs are processed and a Payment Data Transfer Token is in use (Store / Component / Settings / PayPal Standard Settings), the delay is between 2-6 seconds in 2 second intervals.  When a Payment Data Transfer Token is not in use, the delay is between 2-12 seconds in 2 second intervals.  The order is reloaded and checked to see if it was processed by an IPN request after the delay.  This is done to prevent double-payment posting during simultaneous IPN/PDT transfers.

Added a new setting named Instant Payment Notification (IPN) Activated Status (Store / Component / Settings / PayPal Standard Settings).  It is highly recommended to turn this setting on, and to confirm that IPN is configured within your PayPal account using the instructions for the new setting.  Turning this setting on, and configuring IPN at PayPal will ensure relay requests are held for processing until IPN requests are validated.

The SagePay (Protx) Payment Form payment method was updated to use openssl_encrypt() instead of mcrypt() in order to maintain compatibility with PHP7.2 and higher.

Modified checkout for PayPal Express Checkout orders.  Logic changed to ensure the billing address book entry is used for the default delivery address (which will match the data sent back from PayPal).

Removed obsolete processing gateways: CardSave, ECHO, EFSNET, GoEMerchant, GoRealtime, Internet Secure, REVecom, RTware, SECpay, Skipjack, Verisign, Viaklix, Bank of America.

Added logic to allow for order number regeneration in checkout when the back button is used during payment form relay to a processing site.

Added logic to the SagePay (Protx) - Payment Form processing gateway to trigger order number regeneration if the back button is used to return to checkout from SagePay.  This combats a known issue with SagePay when the back button is used which is due to in their system's session handling logic.

The Online Processing module was updated to prevent double-payment of orders for certain processing types in the event the payment page is bookmarked and inadvertently reloaded.

When using PayPal Express Checkout, billing and shipping address updates are now suppressed in Checkout.  Changing either required reset of the PayPal Express Checkout session due to possible material information changes.

Orders and Order Management

Implemented an order archival system which archives orders, order items and related payments to archive tables.  Orders which are complete, without a balance due and which have not been manually unarchived are archived after 400 days.  Orders recently completed are extended an additional 30 days beyond the completion date to allow for accounting system exports (430 days maximum).  The ability to unarchive orders is present, as well as the ability to manually archive orders which have previously been unarchived.  All reports and functions which search, list and lookup orders were modified to look for archived orders in addition to orders which have not been archived, or were unarchived.

Streamlined customer information displays in orders, credits and purchase orders to display phone numbers and email addresses billing contact info under a Billing Information heading.  This brings appearance of the billing displays more in line with the delivery displays and lessens the number of words and headers used.

Added an external order comments auto-fill field for customer accounts to allow for auto-population of external order comments for customer accounts.

Added branded UPS tracking link functionality to order summaries, invoices and mail messages.  If UPS branded tracking is available for your account, enter your link id under UPS Online Tools Settings.

Added a Tagged Orders section to the Order Center.  Tag orders by adding tags in the Order Manager / Edit Order Billing Info function by adding Tags under the Comments tab.  All enabled non-future orders can utilize tags and be placed in the Tagged Orders section.

Added a function to the Order Manager which allows all personal identifiable information (contact name, billing address, delivery address) to be updated using a single form for orders missing personal identifiable information.  These orders are generally from channels like Amazon which may not send personal identifiable information.  All such orders set the customer name as 'Unknown', and this new function allows updating that info.

Added residential/commercial indicators to Order summaries, invoices and mail messages for the billing information display (displayed for internal/backend requests).

Added a delivery phone number to order items.  Delivery address phone numbers were defaulted to 0000000000 for all existing orders (for updates/upgrades), and will not display if in this default format.  All new/future orders will contain valid delivery phone numbers.

The ordersave() function in the Order Manager was updated to use a fingerprint-based system when updating orders.  This will avoid data collisions during simultaneous post-backs from payment processors.  Fingerprints are returned for the order, items and payments when the order is loaded.  These fingerprints are checked when saving order updates in order to skip unnecessary updates, and to perfom inserts, updates, deletes to order, order item and payment data.

Modified the search function in the Order Center to search delivery names on the item level, in addition to order level fields.

Added a new Order Mail Message Gift Certificate Notice setting to Store / Component / Settings / Order Manager which allows for using marketing language in order mail messages to highlight issued gift certificates.

Added an order confirmation namespace (orderconfirm) in order to set the canonical URL as /OrderConfirmation/{ID} during order processing.  The canonical tag can be used to identify order confirmation pages.

Damage Claim and Warranty Return Order references are now shown with links to the source order in the Order Manager.

Order Review

Removed the wording 'Review Conditions' from the review conditions added to internal comments for orders which trigger a review and have conditions appended to internal comments.

Added a new order review condition named 'Item Quantity/Price Above Thresholds' which allows order reviews to be triggered when items are ordered above certain quantities (Order Review Item Check: Quantity setting) and/or above certain single item amounts (Order Review Item Check: Price).  Managed using Store / Component / Settings / Order Manager.  This new review condition can be used to trigger review when uncommon quantities and/or larger than usual amounts are seen in orders.

Changed Order Review logic for wholesale orders. Wholesale orders are now not subject to the Billing/Shipping Address Mismatch check.  That check was in place to flag potentially fraudulent retail orders and when active for wholesale orders ends up flagging orders that are being dropshipped for the wholesaler (blind shipments).

Zero total orders and orders being shipped to apartments/units/suites can now be flagged for review in the Order Manager to require review before shipment.

Added a new Order Review condition that checks if the order Email Address domain is Listed as Excluded.  Excluded email domains can be added, modified, removed, and the review condition can be activated, using the Order Review Email Domains setting found under Store / Component / Settings / Order Manager.


The European Union VAT tax system was removed in favor of a Regional VAT system which can now be used by businesses in the EU or UK.  The new Regional VAT system is fully Brexit-compliant, and implements all current VAT rules on a regional basis - using UK and/or EU rules.  System / Component / Settings / Tax Settings was streamlined, and new settings were added.

Currency conversion information is now updated automatically, once a day using rates published for EUR conversion by Europa.  These rates are converted to the system base currency then conversion rates are updated for all supported currencies.  With this automated, the system is capable of calculating accurate realtime conversions for items like calculating export thresholds set in another currency.

GDPR: Removed the Cookie Info skin widget, and added a new Cookie Info Banner function.  You can control the Cookie Info Banner status, and the displayed content in the banner using System / Component / Settings / Privacy Settings.

Exports from foreign locations to the UK and EU now support proper VAT estimates, and VAT calculations.  System / Component / Settings / Taxes: Exports was added to fine-tuned control over exports to these regions.  Adjust thresholds (by default set to match UK and EU regulations) and actions (charge VAT, estimate VAT, do nothing, block transaction) for cases over and under thresholds.

VAT tax registration numbers are now validated in Checkout against the proper UK or EU validation system, depending on the source/location of VAT tax registration number.

Modified VAT logic in checkout to better handle (rare) cases where VAT is included in item prices and rounding results in a 0.01 price mismatch between the shopping cart and checkout.

Tax registration numbers for VAT regions (UK and EU) are now managed using System / Component / Settings / Taxes: Registration Numbers, which allows input of tax registration numbers for the UK, EU OSS/IOSS, and all EU countries.  These registration numbers are automatically displayed on all order summaries and invoices as well as the company information page, if entered.

Tax display language is now managed using System / Component / Settings / Taxes: Display Language, which now provides control over Standard tax system display language as well as Regional VAT tax system display language.

Order summaries and invoices were updated to make use of new tax display language changes, and an estimated tax display was added for VAT estimates on exports to the UK and EU (Delivery Duties Unpaid).  VAT Summaries may be displayed as, well as VAT Estimates, depending on the type of taxes applicable to the order.

GDPR: Create Account, Guest Checkout and Contact forms were modified to use a new Terms and Conditions agreement field. The field description can be changed by updating the Terms and Conditions Description Override setting located under System / Component / Settings / Privacy Settings.

The abbreviation for UK - Northern Ireland was changed from GB to XI.

Shipping and Batch Shipping

The Batch Shipping Manager extension module was updated.  The setting Maximum Batch Size has been changed to Default Maximum Batch Size, and a new control was added to the Create Batches function which allows changing the maximum batch size on-demand when creating batches.

Packing lists generated by the Batch Shipping Manager extension module now suppress the company name and address display for blind shipments.  Blind shipments are considered wholesale orders not shipping to the billing address on the order.  These are orders dropshipped for wholesalers which should not provide store information in the packing list header.

Pack and pull lists generated by the Batch Shipping Manager extension module now show quantities greater than 1 as bold with a gray background to highlight them.

Modified UPS Online Tools ratings so that dimensional caps are no longer used to limit packages to maximum sizes.  In September 2020, UPS began allowing oversize ratings, which are returned now with oversize and fuel surcharges included in the rates.

Added support to the Batch Shipping Manager extension module's CSV Tracking Import function to allow for standard (default) or Royal Mail column headings.  This allows imports from Royal Mail Click and Drop Desktop Software into the Batch Shipping Manager.  Created instructions for importing Shipment CSV files into Royal Mail via Click and Drop and Print Assist.

The FedEx module updated so that shipments can originate from outside the United States and Canada.  Previously API support was limited to those countries.

Modified the Batch Shipping Manager extension module to reset package weight in kilograms prior to creating shipments.

Added origin data to the shipment data saved by the Batch Shipping Manager extension module.  Address controls for Blind Orders were added to Batch Shipping Manager settings.  Blind orders do not print origin information to Packing Lists.

Added 'Express Shipping: Methods' and 'Express Shipping: Notice' settings to the Store / Component / Settings / Shipping Settings function.  Notices in checkout, and on order summaries, invoices and mail messages are triggered (when configured) when express shipping options are selected.

Changed USPS API URLs to SSL URLs that support newer/working International Rate functionality.

The country entry for United States was moved from Royal Mail zone 2 to zone 3 as per recent Royal Mail reclassification.

The Batch Shipping Manager extension module was updated so that retail orders are now sorted before wholesale orders during Smart Prioritization.

Purchase Orders

The Purchase Order Creator was updated to allow for adjustment of all prices for items being ordered by a percentage, which xan used to update pricing for inventory items, or just for the Purchase Order being created.

An option was added to the Purchase Order Receipt function to allow sending an email to the vendor if the PO is not fully received.  A freeform additional mail message text field was added to include one-time notes on the mail message.  The new mail message indicates items require fulfillment and highlights the items required in the message.

Case quantities were added to Purchase Order vendor mail messages to handle the case where vendors may require ordering by the case and transmitting the quantity per case. 

Added residential/commercial indicator displays to Purchase Orders (displays, management, mail messages).

Purchase orders were modified to show warehouse locations for inventory items.  Updates were made to mail messages (XHTML and TEXT), and the display, create, modify and receive functions.

The purchase order items required mail message (Backorder Update Request) was added as an available option under the Send Vendor Mail Message function for purchase orders.  This option is only available when a purchase order has backordered items.

POS Discount information is now removed from Dropship Purchase Orders.


Added new account authorization logic.  Activate using System / Component / Settings / Account Section.  New account authorization adds a layer of protection to the store.  Users who create new accounts are emailed an authorization code which they must enter correctly (3 retries permitted) in order to create an account.

Added support for newer cryptographic ciphers to the CORE_Crypt class.  Newer ciphers use random initialization vectors and defaults to AES-256 encryption.  Older HCE_MD5 methods are available as a fallback if openssl support and/or strong ciphers are not available, and to decrypt data encrypted prior to the class update.

jQuery version updated to 3.5.0 to maintain PCI compliance.  Security Metrics is currently issuing warnings for sites using jQuery lower than 3.5.0.

Modified CAPTCHA submission handling so that case no longer matters.  Received reports of mobile users having issues due to devices capitalizing the first letter of input.

Added CAPTCHA fields to the create account and guest checkout forms.  These CAPTCHA fields will decrease fraud and bogus accounts by requiring CAPTCHA input when completing these forms.

Added the HttpOnly flag to all cookies in order to maintain compliance with future PCI requirements.

Added a CAPTCHA field to product offer reviews in order to reduce bot-generated SPAM reviews.

Added a CAPTCHA field to the Stock Notification forms to combat SPAM and bogus entries.


PEAR Mail Mime2 and MimePart2 modules updated to support PHP7.3 and higher.  Updated PEAR and the main CORE module to support PHP7.4 and higher. 

Moved the bot check function isbot() to the CORE class from the CORE_Display class to allow usage when displays are not being generated.

Modified dashboard stats to speed up queries and remove reports.

Added better error handling for CORE startup errors when connecting to the core using auxiliary scripts.

Added support to the CORE Remote class to enable requesting raw results to be returned (with headers available).

Modified the order, credit and purchase order centers to speed up queries and remove reports.

Implemented a video gateway namespace in K9 used for embedding videos via AJAX call from the modal in which they are launching.  This has offloaded the embed code from the initial page load until the modal is loaded with a click to view a video (if loaded at all).  This was implemented for store category pages and product offer listings where video modals are used, which may have multiple video links.  Page load times for all pages with embedded videos has been cut in half as a result on tested production pages.

New functions were added to streamline getting and caching information on countries and states/provinces.  All functions previously attaching to the database to obtain this info were updated to use these new functions.


Modified all textbox and textarea inputs using JavaScript to handle updates.  Previously changes were bound to keyup(), now they are bound to input(), which catches both keystroke and paste via mouse events.

Removed the province entry for 'Newfoundland' and added 'Newfoundland and Labrador' with abbreviation 'NL'.

Added the degree symbol to the XHTML translation table.

Country numeric codes are now referenced as 'Numeric Country Codes' instead of 'HSBC Country Codes'.  HSBC payment gateway removed (defunct).

Modified form functions which process email addresses for account creation and guest checkout to trim whitespace from entered email addresses to avoid hard-to-identify copy/paste and autofill errors.

Modified core email address checking to accept top level domains (TLDs) up to ten characters in length.  Previous limit was five characters.

Modified handling of special offers and points multiplier logic.  A calculated variable is now used instead of updating the global settings.  This reserves the global settings for midstream multisite loads, and assured multisite and guest logic under all cron conditions.

Modified the SpecialOffersLink, PointsMultiplierLink and ComboPromoLink namespaces to produce content when accessed instead of a 302 redirect to the appropriate content.  This aids in maintaining tracking from email links in the event cookies are not being used to track conversions.

Modified form displays for all forms directing to login namespaces to use the name 'Login' for the submit button instead of 'Submit'.

Added delivery phone number displays to checkout displays, all Order Manager displays, order summaries (display, printable, mail messages), all Purchase Order Manager displays, extension module Point of Sale, Customer Viewer and Batch Shipping Manager displays, and all Account Overview displays.

Added functionality to send mail message alerts to the site owner when wholesale discounts are changed for wholesale user accounts.  These alerts can be disabled using the new Wholesale Discount Change Alert Status setting under System / Component / Settings / Wholesale Settings.

Added the ability to suppress Banner Adverts from displaying when a particular Main Banner Group (or groups) is active.


Added logic to all forms containing state/province and country selections which makes those selections dependent on one another.  This provides validation to be sure state/province selections are valid for country selections (and vice versa).

Accessibility updates to maintain WCAG and Section 508 compliance.  Now WCAG 2.1 and Section 508 compliant as per WAVE testing.

Address Verification displays were modified to use shorter page titles so they appear better in modals on mobile devices.

Modified order mail messages so that order tracking (order lookup) links now target order summaries directly instead of targeting the order lookup form and requiring the order and email address to be entered.  Added tracking links to the order modified mail messages (all other messages that had tracking links retained them).

Channel Extension Modules

Added Walmart channel extension module.  This module allows clients to publish new offers and update existing offers on Walmart, and to download, process and ship orders with tracking posted back to Walmart.  This is a complete module which offers full channel functionality for the Walmart marketplace.

Added purchase order generation for Amazon FBA orders.  These orders are now treated as any other dropship orders are, with automated purchase order creation when the order is added, and purchase order receipt when tracking information is received from Amazon.

Changed the lookback for Amazon FBA orders to adjust for timing differences in getting FBA shipment information.

Added a secondary inventory item match to the Amazon, eBay and Walmart channel integrations to allow for matching on inventory items when matching on offers fails during new item setup during offer synchs.

Added inventory type override controls to ecommerce channel offers.  The Amazon, eBay and Walmart modules were updated.  Now, on a per-offer basis, you can override the inventory type for the inventory items sold with all channel offers.

The eBay Channel extension module was updated to allow for submitting and updating Item Specifics for listings.  eBay has recently started requiring Item Specifics for some categories.  Previously Brand and MPN were transmitted as Item Specifics if present.  This new functionality allows for additional Item Specifics to be configured.

The Amazon, eBay and Walmart channel extension modules were updated so new customer accounts are only created when that feature is active and the order contains personal identifiable information (the customer name and address is known).  Orders missing personal identifiable information are now automatically put into review.

Modified the eBay and Amazon channel classes to make them easier to maintain going forward.

Added delivery phone number logic to all channel extension modules (Amazon, eBay, Walmart), and the core Session handler.

The Amazon module was updated to allow for the ability to connect using your own developer credentials (using a Developer AWS Access Key ID and Client Secret), or by connecting via an authorized Kryptronic app (using a MWS Authorization Token).

Added an extra layer of error handling to the publishoffers() and updateinventory() functions in the eBay channel module to better handle situations where large numbers of items have errors and/or call rate limits have been reached.

Added a function to automatically delete personally identifiable information saved in orders by the channel extension modules.  Thirty days after orders are completed (fully shipped), name and address information is changed to 'Removed' for applicable orders.

All channel extension modules were updated so that zero total orders no longer create payment entries. 

Accounting Extension Modules

Modified the QuickBooks Web Connector extension module to use a global timestamp for determining runtime (to aid in capping runs on specific dates). 

Modified the QuickBooks Web Connector extension module to order purchase order items based on entry order in QuickBooks by verifying entry order at the time the edit sequence is retrieved.  This allows for purchase order line resorting in Quickbooks.

Item Receipt handling was updated in the QuickBooks Connector extension module.  Item receipts are now grouped by time received, with the earliest receipts scheduled to synch first.  Only one group of receipts (one specific time) per purchase order is sent to QuickBooks during each synch.  If a purchase order had multiple item receipts at different times between synchs, multiple synchs will be necessary to fully receive the purchase order in QuickBooks.

Modified the QuickBooks Web Connector extension module.  Added the ability to import average cost from QuickBooks during synch.

The QuickBooks Web Connector extension module was updated to double the velocity for master-slave and slave-master orders and credits.  Empty credits are now sent as generic requests.

Other Extension Modules

Added Order Follow Up extension module.

Added ReadyCloud extension module which exports orders to ReadyCloud for fulfillment and/or returns processing.

Added ShipWorks extension module to integrate with ShipWorks desktop shipping software.

Modified the THUB extension module to remove shipment batching functionality.  The functionality was unnecessary due to the way THUB processes shipments, when shipment processing is activated.

Vanilla Forum Feed updated to correct an issue with the number of recent articles count retrieved by the feed.

The Bulk Pricing Editor extension module was updated.  New regular and wholesale price percentage fields were added so that prices can quickly be adjusted by percentage before being edited individually.

Modified the Customer Viewer extension module wholesale pricelist function to include inventory information, as well as finer detail specifying offers and inventory items.

The Listrak extension module was updated to include support for manually triggering signup modals using a Modal/Popup ID.  Using this functionality allows better control within Kryptronic software over when a signup modal will be presented.

Purchase costs are now updated when orders are loaded for modification using the Point of Sale extension module.

Modified the wholesale price list created by the Customer Viewer extension module for wholesale users so that it now contains new columns for the Wholesale MAP Price, Barcode, Case Quantity and Retail Compare Price (MSRP).

Special Offers Editor extension module updated to list up to 1000 product offers during searches.  The previous limit was 500.

Modified the Articles category skin widget to produce category listings for logged-out users.  The listing was not present for guests previously, even if article categories visible to guests were present.

Future Update Roadmap

The following updates are on the schedule and currently in development: ShipStation extension module; Selective Caching; PayPal integration enhancements; Architecture enhancements

Filesystem Changes in This Update

Filesystem changes are available below for clients with modified installations. If your installation is modified, review the file listings below to aid in backing up and manually applying your modifications after running this software update.

New Files Added
Files Removed
Files Modified
© 1999-Present Kryptronic, Inc. All rights reserved worldwide. Kryptronic, the Kryptronic logo and all Kryptronic software names and logos are trademarks of Kryptronic, Inc. All Kryptronic software is copyrighted and the intellectual property of Kryptronic, Inc. All Kryptronic software is developed and distributed under license by Kryptronic, Inc.