General


The Commerce5 Integration between Counterpoint and Magento 2 provides advanced omni-channel features for B2C, B2B and B2B/B2C companies.

  • The integration supports Counterpoint version 8.4.6+ and Magento 2.1.6+
  • The Integration supports linking one or multiple Magento 2 Stores to a single instance of Counterpoint.  It is possible for unlimited Magento 2 Stores to be linked to unlimited Counterpoint instances.
  • The integration supports Configuration and Execution of integration tasks on demand as well as on a schedule.



Customer Integration

Customer Linking and Creation during Order Import

  • The Integration will create and update cash and A/R customers in Counterpoint when importing orders.  If an existing link has been established between the Counterpoint Customer and the Customer on the order from Magento 2 then the order will be assigned to that Counterpoint Customer. If no link currently exists then the integration will attempt to find a match using the email address entered on the Magento 2 Order and Email Address 1 for a Counterpoint Customer.  If more than one Counterpoint customer has the same Email Address, then the one with the lowest Customer Number that is flagged as an Ecommerce Customer will be chosen. After finding a match on email address the Customer Linking table in Commerce5 will be populated with the new link values to connect the Counterpoint and Magento 2 Customer.
  • If NO match can be found during the order import process then a new customer will be created in Counterpoint using the billing and shipping information from the order
  • For each customer update, information captured in Magento 2 can optionally overwrite Counterpoint customer information in the following ways.
    • Commerce5 contains customer control options that can be configured per customer category.
      • Update Billing Address (Yes/No)
      • Update Shipping Address (Yes/No)
      • Add New Shipping Address (Yes/No)
    • The following fields are populated or updated on a customer record and shipping address in Counterpoint based on the customer control options.
      • Customer Name, First and Last Name, Customer Type as Business or Person, Full address, Phone 1, Fax 1, Email 1, Ecommerce Last Order Number, Ecommerce Last Order Date
  • Customers that have an account in Magento 2 will be marked as an Ecommerce customer in Counterpoint when they are created during the order import process.
  • If “Guest Checkout” is enabled in Magento 2 then orders that contain “Guest” customers will still have a customer record created in Counterpoint, but will NOT be flagged as an eCommerce customer in Counterpoint. This will exclude these Guest Customers that are created in Counterpoint from being uploaded from Counterpoint to Magento 2 during the Customer Sync.
  • The Customer Mapping table in the Commerce5 database records the website specific Magento 2 Customer ID linked to the Counterpoint Customer Number. This allows the same customer to have an account on multiple Magento 2 websites while still being linked to one Customer Number in Counterpoint.
  • A shipping address will be created or updated in Counterpoint to match each of the shipment addresses created by the Magento 2 Customer.  Only the Magento 2 shipment address on the current order will be updated or created at the time of integration in the following ways:  Customer Name, First and Last Name, Full address, Phone 1 and Email 1.

Customer Upload and Synchronization

  • Customers will be uploaded from Counterpoint to Magento 2 if the following conditions are met.
    • Customer must have a valid email in the Email Address 1 field
    • Flagged as an ecommerce customer
  • Customer fields that are uploaded
    • Account Info: First Name, Last Name, Email Address 1
    • Billing Info: Prefix, First Name, Last Name, Address 1,2,3, City, State, Zipcode, Country, Phone 1, Fax 1
    • Shipping Info: Prefix, First Name, Last Name, Address 1,2,3, City, State, Zipcode, Country, Phone 1, Fax 1
    • Customer Group Mapping: The Customer Category or Profile Code 1, 2, 3, 4, or 5 in Counterpoint can be mapped to a Customer Group in Magento 2
    • Note: State and Country values in a Counterpoint Customer address will be linked to State and Country values in Magento 2 using ISO Alpha 2 or 3 digit code or full name.
    • EX: US, USA, or United States in Counterpoint will map to United States in Magento 2

Customer Creation by Commerce5

  • By default, when Customers are created in Magento 2 by Commerce5 ALL shipping addresses in Counterpoint will be uploaded. Commerce5 contains a setting to ONLY upload the customer’s (DEFAULT) shipping address if needed.
  • When a customer is created in the Magento 2 by Commerce5 an email will be sent to the customer’s email address from Magento 2 requesting them to create a password for their new account. It is recommended that the customer sync process ONLY be run after the Magento 2 website is live.

Customer Updating by Commerce5

  • New Shipping Addresses in Counterpoint that are added after account creation will be added to a customer’s account in Magento 2.
  • Changes to the (DEFAULT) shipping address in Counterpoint will update the default shipping address in Magento 2.
  • Changes to non-default shipping addresses in Counterpoint that had been previously uploaded to Magento 2 will NOT be updated in Magento 2.


Order, Invoice and Shipment Integration

The integration will only handle transactions that originated as orders in Magento 2.

During Order Integration, the following will occur:

  1. By default orders with a status of Pending, Processing and Completing in Magento 2 are imported to Counterpoint as an Order. Commerce5 allows for additional order statuses to be included in the order import process as needed.
  2. Release Tickets in Counterpoint are transferred to Magento 2 as an Invoice (Partial and Full Releases are supported)
  3. Optional: Tracking Numbers that have been added to Counterpoint release tickets are transferred to Magento 2 as a shipment

Supported Shipment Carriers

  • All Magento 2 carrier types are supported and one or more Counterpoint Ship-Via codes can be configured to link to a specified Magento 2 Carrier.
    • Example: Counterpoint Ship-Via Code “USPS” can be mapped to Magento carrier “United States Postal Office”

Supported Taxes

Tax on orders in Magento 2 can be mapped to a Tax Code in Counterpoint based on the following:

  • The Ship-To Zipcode on an Magento 2 order can be mapped to a Counterpoint Tax Code
  • If there is no mapping on zipcode then the Ship-to State/Region can be mapped to a tax code
  • If there is no mapping on zipcode or state/region then a default Tax Code is used
  • If there is NO tax on an order then a tax code can be assigned such as “OST” for Out of State

Note: Tax Codes that are configured can ONLY be assigned to a single Tax Authority that contains a single Tax Rule. If a Tax Code contains multiple Tax Authorities then only the first Tax Authority will be assigned to the order. If a Tax Authority contains multiple tax rules then only the first tax rule will be assigned to the order.


Supported Payment Methods


All Magento 2 payment methods are supported and can be mapped to a Counterpoint pay code with pay code type of Cash, Check, or A/R type payment method and will generate a deposit payment and an adjoining deposit ticket, unless otherwise specified below:   


Check / Money Order
Supported using "Cash" or "A/R" payment type.
When a "Cash" payment type is used, though an order deposit and deposit ticket will be created in Counterpoint, the store will be responsible for reconciling the receipt of manual payments.

Purchase Order
When the purchase order payment method is used in Magento 2, the PO # entered in Magento 2 will be imported to the Counterpoint Customer PO #.

  • The Purchase Order payment can be mapped to a Counterpoint A/R payment type. To import orders with a payment type of A/R, a customer must exist in Counterpoint with a customer type of A/R.

Authorize.net and Authorize.net Direct Post
Commerce5 ONLY supports Authorize.net transactions that have been configured as "Authorize and Capture".  When configured using "Authorize and Capture", Magento 2 will process the card at the time of sale.

Note: To add support for “Authorize Only” Authorize.net transactions where payment is captured when the order is shipped the following Magento extension is required.

Note: By default Credit Card payments can NOT be parsed by credit card type

  • Example: MasterCard, Visa, Amex and Discover are assigned to 1 pay code in Counterpoint. Commerce5 professional services is required if credit card payments need to be assigned to different pay codes based on credit card type.

 

Release Ticket and Invoice Handling

Release tickets in Counterpoint are ready to be integrated as soon as they are created. This includes release tickets that are un-posted or posted. Partial quantity, Partial line and Full releases in Counterpoint are supported and there is no limit to the number of partial releases that can be performed.
Magento 2 requires that 100% of the shipment fees collected on the order are released in full with the first invoice.  There is no ability in Magento 2 to change this; therefore the integration supports this requirement.


In the case that an "Authorize Only" transaction cannot be captured, an email error notification can be configured so that packages for that shipment can be reclaimed before pickup by the carrier. 


Tracking Number Handling

Tracking Number Integration can be configured as "Managed by Counterpoint", "Managed in Magento 2" or "Not Managed".

  • If the tracking number integration is configured as "Managed by Counterpoint", one shipment will be created in Magento 2 for each Release Ticket created in Counterpoint.  The shipment is created in Magento 2 once a tracking number has been attached to the Counterpoint release ticket.  All tracking numbers on a Counterpoint release ticket are assigned to the Shipment in Magento 2. Additional tracking numbers that are added to a release ticket in Counterpoint after a shipment has been created in Magento 2 will be attached to the existing shipment in Magento 2. Once an order has been fully invoiced and fully shipped in Magento 2 the order status is changed to “Complete”.
  • If the tracking number integration is configured as "Managed in Magento", the Commerce5 order processing lifecycle will be complete once the order has been invoiced by Commerce5.
  • If no tracking number has been added to a release ticket in Counterpoint then once an order is complete and posted to order history a shipment will be created in Magento 2 with no tracking number in order to complete the order in Magento 2.
    • Example: Store Pickup or Local Delivery Orders that will never contain a tracking number will be completed in Magento 2 once th order is posted to Counterpoint sales history.
    • Note: There is a global setting to configure the number of days after an order has been posted to Counterpoint sales history before it is automatically shipped in Magento 2. If tracking numbers are added to a release ticket AFTER it has been posted to sales history it is recommended to change this setting to prevent orders from being shipped before the tracking number has been added.

Pricing, Discounts and Coupons

Counterpoint creates all line items on an imported order with a Price Override (Reason Code "Magento"). This prevents Counterpoint price rules from altering the price on an imported order.


Magento 2 Item Discounts are received as the Calculated Price with the pre-discounted price received as Price-1.

  1. If the Price of an item in Magento 2 is changed, pricing is handled the same way a Price Override is in Counterpoint.
  2. If a Coupon in Magento 2 affects the price of an item, pricing is adjusted the same way a line item discount is applied. Coupons must be linked to Counterpoint Discounts using the coupon mapping table in Commerce5 Interface. Magento 2 Line item and Transaction coupons are supported; however they can only be linked to Item Discounts in Counterpoint. One or all of your Magento 2 Coupons can be linked to 1 or more Counterpoint Discount Codes for reporting.
  3. Magento 2 only supports a single coupon per line item. If at any time Magento 2 changes this so that multiple discounts can be applied to a transaction line item, the sum of the line discounts will be entered into Counterpoint as the discount code that is linked to the first Magento 2 Coupon code applied to that item.

Counterpoint transaction prices are handled as follows:

Counterpoint Order Field

Data Value

Regular Price

Counterpoint Regular Price from the Item

Price 1

Counterpoint Price 1 from the Item

Calculated Price

Counterpoint Price 1 from the Item

Price

The Magento 2 Item Price from the Transaction

Line Item Price

The Magento 2 Item Price from the transaction less an item discount.












  • Free shipping coupons will reduce the price of shipping in Magento 2. The reduction in price will be reflected in the price captured from Magento 2; however the coupon will not be recorded in Counterpoint.

Gift Message Handling

When Gift Messages for an Order or Line Items are entered into Magento 2; a Counterpoint Order note with the Note ID "GIFT" will be created combining all Magento 2 gift messages into one Counterpoint note. Note: The Magento 2 “From” and “To” fields for Gift Messages are not available for capture through the standard Magento 2 API, so these fields cannot be imported in Counterpoint.


Transaction Date/Time handling


All transactions entered into Magento 2 are recorded in Universal Time (or Greenwich Mean Time). Commerce5 will adjust the date/time during the order import process to the Time Zone configured on the workstation that Commerce5 is installed on.



Item Integration


Product Data and Images are uploaded to Magento 2 using a SFTP or whitelisted FTP connection to the Magento 2 Web Sever.  Product Data and Images are imported using the Magento Extension uRapidflow Professional.


Products are imported into Magento 2 on a scheduled basis using a cron job on the Magento 2 server.


The standard integration supports the creation of the following product types in Magento 2:

  • Gridded Items in Counterpoint created as Configurable Products in Magento 2
  • Alternate Unit Items in Counterpoint created as Grouped Products in Magento 2
  • Normal Items in Counterpoint created as Simple Products in Magento 2
  • Note: Creation of products in Magento 2 as Bundled, Virtual or Downloadable requires Commerce5 Professional Services.

The following fields are included as part of the standard product upload and controlled by the Commerce5 Product Export Control table:

  • Magento 2 SKU can be derived from Counterpoint Item Number or Barcode
  • Magento 2 Name,  Description, Short Description, Attribute Set, Meta Title, Meta Description, Brand, Weight, Taxable Flag, Tag Category, eCommerce Categories, Images, Last Import Date
  • All Valid Grid Dimension Tags (Attributes)
    • Example: Color, Size, Width, Type
  • All Valid Grid Dimension Tag Filters
    • Example: Color Family, Color Swatch, Color Filter
  • MSRP, Price, Special Price, Location Specific Prices and Gridded Item Prices
  • Prices can be derived from Regular Price, Price 1, 2, 3, 4, 5, 6
  • Counterpoint Price Rules can be used to populate the Special Price in Magento 2 by calculating the sale price for a specific customer , Counterpoint Store and for Quantity 1
  • Inventory Quantity on Hand or Qty Available
    • Inventory Quantity can be derived from a specific inventory location, all locations or location group
    • Note: Items are created in Magento 2 with Manage Stock disabled when the item is a non-inventory item or flagged as “Always in Stock” in Counterpoint.
  • Item Barcode
    • Example: Barcodes with a Barcode Type of “UPC”

Counterpoint Items and Grid Cells included in Product Upload

  • Items qualify as Magento 2 Enabled when they are marked in Counterpoint as an Ecommerce Item, are not marked with an Inactive Status and are stocked at the location defined in the Commerce5 Product Export Control Table
  • Cell level status and stock settings override Item level status and stock settings.
    • Example: If all colors and sizes of an item are stocked and active in Counterpoint except Black/Size 4 which is set to Inactive in the Model Stock, all colors and sizes will be uploaded except for Black/Size 4.

Image Synchronization

Images can be synchronized through a SFTP or whitelisted FTP connection from the Counterpoint Server to the Magento 2 Web Server.

                                                     

Images that are uploaded to Magento 2 are renamed with following format changes:

  • Image name is changed to all lowercase
  • Spaces and carrot symbol (^) are replaced with a dash(-)
  • Example: My_Image^Black.JPG à my-image-black.jpg

Email Error Notification

The integration can send an email for any errors that are encountered during order importing, invoice creation, payment capture, shipment creation, and tracking number upload.



Commerce5 Advanced Product Integration Features


Commerce5 has been designed to allow for the uploading of product data from 1 CounterPoint database to multiple Magento Websites or multiple Magento Store Views. The Advanced Product settings described here can be configured for each website as needed.


Inventory Settings

Item Filter

  • By default only items that are flagged as “Ecommerce Items” are included in the product feed. Items can be further filtered to exclude items that don’t meet certain conditions like missing a website name or attribute set.
  • When uploading products to multiple Magento Websites the item filter allows you specify which products are uploaded to which website. The most common setup is to add a website specific checkbox on the item record. (Ex: mywebsite1.com, mywebsite2.com, mywebsite3.com, etc)
  • Note: A filter can be created for ANY attribute on the Item table

 

Quantity Field

  • Quantity Available
  • Quantity on Hand

 

Quantity Location

  • Specific Location
  • All Locations
  • Location Group (list of specific inventory locations)

 

Stocking Location

  • Specific Location that is used to define items that are stocked or active for the website
  • This allows for specific grid cells to be excluded from the website product feed by unstocking the grid cell or changing the status to inactive for the stocking location
  • Note: If specific items or grid cells are only excluded from the website, but not in store then it is recommended to setup a new inventory location in CounterPoint called “WEB” that is used for controlling the availability online. There is no need to track any inventory quantities in the WEB location.

 

Quantity Threshold

  • Quantity Threshold can be defined at both a global and per item level.
  • The Quantity Threshold value determines the qty at which an item is considered “Out of Stock” on the website. By default, an item is considered Out of Stock at a Qty of 0. This setting will allow you to control this value on the website to help prevent overselling of specific products due to inaccurate inventory qty or the selling of inventory out of a shared location.

   

Non-Inventory and Always in Stock Items

  

  • By default, Non-Inventory items in CounterPoint are created in Magento with the setting “Manage Stock” set to “No”. This allows for an unlimited amount of a product to be purchased.

  • Commerce5 includes a flag on the item record called “Always in Stock”. This allows for an Inventory item to be flagged as always in stock, which will create the item in Magento with the setting “Manage Stock” set to “No”
  • Note: items that are typically flagged as always in stock are ones that can be quickly fulfilled (1-2 day delay) by a 3rd party vendor, downloadable products, memberships, donations, etc.

 

Web Status

  

  • Commerce5 includes a “Web Status” field on the item and parent items records that allows the products website status in Magento to be controlled from within CounterPoint.
  • Two good uses for this feature are:
  • When adding a new product to Magento have the product created with a status of “Disabled”. Once the product has been reviewed in Magento and is ready to be available for purchase on the front end of the website change the web status in CounterPoint to “Enabled”.
  • When trying to bulk remove products from the website, setting an item to “Disabled” in CounterPoint will set a configurable product and all associated simple products to “Disabled” in Magento. This is much faster than performing this task in Magento when there could be potentially hundreds of associated simple products.

 

Web Archive

  

  • For SEO reasons, it can be detrimental to delete or disable products on the website that have been indexed by SEO bots like Google. This can result in 404 errors and the loss of valuable backlinks from Social Media websites like Pinterest or Facebook.
  • Commerce5 includes a “Web Archive” checkbox on the item and parent item records in CounterPoint that lets you flag items that are no longer available for sale on the website, but should still remain accessible through the direct product url.
  • When an item is flagged as “Web Archive” the product will be configured as follows in Magento:
  • Removed from ALL product categories
  • Forced to Qty of 0
  • Forced to Out of Stock
  • Visibility changed to “Catalog” instead of “Catalog, Search”
  • This will prevent the item from showing up in search results.
  • Note: If you are looking to permanently remove these archived items from the website it is recommended that you consult with your Magento Developer or SEO consultant to determine the best course of action.

 

Website Backorder Method

  

  • Commerce5 allows for the Backorder value to be specified on a per item basis.
  • Settings:
  • Blank Value = No Backorders
  • No Backorders
  • Allow Qty Below 0
  • Forces Item Stock Available to always be “In Stock”
  • Allows a customer to order qty below 0, but with no notification
  • Allow Qty Below 0 and Notify Customer
  • Forces Item Stock Available to always be “In Stock”
  • Allows a customer to order qty below 0 and receive notification during checkout of the qty that will be backordered


  



Advanced Settings

  

CounterPoint does NOT factor Qty on BO, Qty on SO and Qty on Transfer In when calculating the quantity available for a specific inventory location. The following settings will allow these values to be included in the quantity available that is uploaded to the website.

 

Note: These settings have no impact if the Qty on Hand is being uploaded instead of Qty Available.

  

  • Include Qty on Backorder
    • Calculation: Qty Available – Qty on Backorder = Web Qty Available
  • Include Qty on Special Order
    • Calculation: Qty Available – Qty on Special Order = Web Qty Available
  • Include Qty on Transfer In
    • Calculation: Qty Available + Qty on Transfer In = Web Qty Available

 

  • Note: The Advanced Settings for include qty on BO, include qty on SO, and include qty on Transfer In are applied to the location specific inventory qty values.

 

 

 

Commerce5 provides a variety or price settings for populating the MSRP, Price and Special Price fields

  

Price Location

  

  • If using location specific pricing in CounterPoint, then you can use the price location setting to specify which location to pull prices from for the website.
  • If no location is specified the prices would be pulled from the all (*) location price

 

Cost Location

  

  • (Optional) Allows you to specify the inventory location to use as the product cost in Magento

 

Use Grid Cell Price

  

  • If using grid specific pricing in CounterPoint, then this setting will incorporate those prices into the product upload

 

Use Alternate Units

  

  • Alternate Unit Pricing is supported through the creation of Grouped products in Magento with unit specific Price and Special Price
  • Commerce5 allows for specific alternate units to be included in the product upload on a per item basis using the following settings on an item record:
    • Include Stocking Unit
    • Include Alternate Unit 1
    • Include Alternate Unit 2
    • Include Alternate Unit 3
    • Include Alternate Unit 4
    • Include Alternate Unit 5
  • Note: The Product Names in Magento for Alternate Units are created by appending the Unit Display Name in CounterPoint to the end of the Item’s Website Name.

     

Use Price Rules

  

  • Enables the use of CounterPoint Price Rules in calculating an item’s special price on the website
  • Note: Special Prices are only calculated for Qty 1 of an item
  • Price Rule Customer #
    • Only Price Rules that are valid for this specific Customer # will be used when calculating the website special price
  • Price Rule Store
    • Only Price Rules that are valid for this specific Store will be used when calculating the website special price
  • Last Price Calculation
    • Date and Time for the last time the special prices for calculated
    • The special prices are automatically recalculated once a day or if the Last Modified Date of any Price Rule is after the current Last Price Calculation Date.
    • The special prices can be forced to be recalculated by clearing the Last Price Calculation Date

 

Note: Customer Specific Contract Pricing, Item Tier Pricing, and Other Advanced Pricing Uploads are available via Commerce5 Professional Services

  

Price, Special Price and MSRP

  

Note: Price Values are pulled from the Price Location or Grid Cell as Specified in the settings

 

  • Price (Default)
    • When Regular Price > Price 1 then Regular Price else Price 1
  • Special Price (Default)
    • When Regular Price > Price 1 then Price 1
    • When Calculated Price from CounterPoint Price Rules < Price 1 then Calculated Price
  • Web MSRP
    • Select from Regular Price, Price 1, Price 2, Price 3, Price 4, Price 5, Price 6

 

Commerce5 provides Advanced Settings for overriding the default price and special price

 

The following price settings allow select from following price levels: Regular Price, Price 1, Price 2, Price 3, Price 4, Price 5, Price 6 (Optionally with custom Price 7, Price 8, Price 9, Price 10)

 

  • Web Base Price Level
    • Magento Price
  • Web Default Price Level
  • Magento Price if Web Base Price Level is empty.
    • If no Web Default Price Level specified then it defaults to Price 1 Level
    • Web Special Price Level
  • Magento Special Price

 

Parent/Child Items


 

For a number of reasons in CounterPoint items that would normally be gridded are setup as separate items. Most commonly this is done to track variant specific pricing and costs. When selling these products online it is beneficial from a customer shopping experience standpoint to group these separate items together as configurable or grouped products.

 

Commerce5 provides parent/child functionality to group together both regular inventory items as well as gridded items. It is possible to create a 4-dimensional gridded item (configurable product) on the website by combining gridded items or regular items with 4 variant options.

                                                                                                                                                                   

The Parent Item # is assigned to the Child Products on the Website Info (Custom) tab on the Item Table

         

The Commerce5 Parent Item # table is a separate table from the CounterPoint Item Table

  

Note: The Parent Item # MUST not match a regular Item #

 

The Parent Item Table Contains the following fields by default:

 

  • Parent Item #
  • Name (Must be Unique)
  • Type (Configurable or Grouped)
  • Ecommerce Item
    • When a parent item is unflagged as an Ecommerce Item all associate child products are automatically unflagged as Ecommerce Items
  • Web Status (Enabled/Disabled)
  • Attribute Set
  • Grid Dimension Tag 1, 2, 3, 4
  • Web Description
    • Defaults to Child Description if left blank
  • Web Short Description
    • Defaults to Child Short Description if left blank
  • Web Categ 1, 2, 3, 4, 5
  • Defaults to Child Web Categories if left blank
  • Meta Description
  • Meta Title
  • Child Items (View Only)
    • List of associated child items
  • Lowest Child Price (View Only)
    • Parent Price and Special Price are pulled from the lowest associated child price

  

Professional Services

  

If configuration changes or professional services are required for additional functionality and feature requirements, Red Rook will identify during discovery and sales process and deliver a scope of work on a per instance basis.