Square Integration (Sales Channel)
Sync inventory, pull sales information, sync products to and from Square.
Square can work as POS payment processor or as sales channel. But when it is used as payment processor, it also saves processed payments in Square as sale, which Cin7 Core may load separately if both options are activated. This article covers the use of the Square sales channel, see Process payments with Square for more information about using Square to process Cin7 Core POS payments.
Note: Square only loads customer data from online sales (i.e. from sales through the Square eCommerce channel). POS Square sales do not capture customer data. This is a limitation of the Square API version Cin7 Core is currently using. Updating the API version is a planned area of Cin7 Core development.
NOTE: When a refund is processed for an unfulfilled sale, this will cause an error with restocking the unfulfilled items. These will appear on the Log as Pending fulfillment. If you are experiencing this error, you will need to enable the Ignore restock for non-fulfilled sales setting. This setting is not enabled automatically in order to preserve system logic continuity for users.
Prerequisites
Familiarity with sales (necessary)
Familiarity with Products and Product Management (necessary)
Users will need to Integration: Square permission in order to use this feature.
Square Integration Setup
First, you must connect Cin7 Core to your Square store.
It is possible to link several Square stores to a single Cin7 Core account. Each linked store has an independent catalog, logs and settings.
To connect Square to Cin7 Core:
Navigate to Integration → Square.
Click + to connect a new store.
Click Connect to Square to be directed to the Square website and log in.
You will be asked to connect your Square account to Cin7 Core and allow access.
Once permissions have been allowed, you will be redirected back to Cin7 Core.
Repeat these steps to connect as many Square accounts as you require.
Integration settings
Square can be used in two ways – to Load Sales and Process Payments or Process Payments alone. If Process Payments alone is selected, many of the following settings are not present (see below):
If the Square integration is set to Load Sales and Process Payments, many more integration settings can be customised in the Setup tab.
Order Capture
This option specifies when a Square Order will be captured: when it is created or when it is paid in Square. This setting is also taken into account when downloads of historical orders from Square are triggered.
Consolidate Orders
Cin7 Core - Square Integration allows two options for order consolidation:
No Consolidation
Daily Consolidation.
Note: Returns and Refunds for walk-in sales are not supported in the Daily Consolidation mode.
No Consolidation indicates that sales will be captured from Square as they occur. Daily Consolidation will consolidate all orders from that day into a single order. When Daily Consolidation is chosen, an additional setting becomes available: Consolidation Time. This is your local time when all pending orders aggregated during the day will be processed.
See the Pending Orders Processing section below for more details.
Customer
For the pending order processing to be successful, an existing customer must be selected.
When the Consolidation Type is Daily Consolidation, this customer is used to create a new sale task which will combine all daily sales. A customer can be created in Cin7 Core just for this purpose.
Sale Price Tier
Choose which Price Tier to use as the default price when Cin7 Core syncs products with Square. See Pricing and price tiers for more information.
Pick, Pack and Ship Processing Mode
When pending orders are processed by Cin7 Core, new sale tasks are created. This setting tells Cin7 Core if it should try to Auto Pick, Auto Pack and Auto Ship these tasks. If there is not enough stock on hand to pick the full quantity of products in an order, then Pick will remain in Draft state, and Pack and Ship won’t be completed.
Cin7 Core does not pick up shipment information from Square if auto-ship is selected and will not create fulfilment in Square in this scenario (if Auto Ship is enabled).
Location
Square does not allow the use of multiple warehouses. Each Square store can have a dedicated Location within Cin7 Core which can be selected from the drop-down menu. Selecting a particular warehouse will limit the availability of stock in Square to that location. The default option, All Locations, will display consolidated stock quantities across all of your locations.
Ignore Restock for non-fulfilled sales
When a refund is processed for an unfulfilled sale, this will cause an error with restocking the unfulfilled items. These will appear on the Log as Pending fulfillment. If you are experiencing this error, you will need to enable this setting. Restock/stock allocation quantities will be edited to match the fulfilled items of the sale. This setting is only applicable when Pick, pack, and ship mode for processing online sales is set to Auto Pick + Pack + Ship.
Invoice Status
You can control the Invoice Status for Sale tasks created as a result of pending order processing. By default, the Invoice will not be authorized and will be in Draft state, adjustable and waiting for authorization. However, if this setting is changed to AUTHORISED, the Invoice will be automatically authorized, and pending sync will be created for it to sync with an accounting application of your choice.
Gift Card Liability Account
Cin7 Core will use this Liability account instead of a Revenue account for Gift Card sales. This account should have the ability to accept payments. If a sale is made which contains a gift card, this sale will remain in the Pending Orders area until a Gift Card Liability Account is specified.
Optional revenue account
This is the revenue account to be used for all sales downloaded from Square. This will override settings at the Product/Customer level and any other Account mapping.
Sales Representative Name
This option allows the shop name to be used as a Sales Representative.
Update Stock Levels in Square
You may choose to disable automatic stock level update in Square performed by Cin7 Core at the time the available product quantity changes in Cin7 Core. This may be useful if you are managing the stock level in Square manually and do not want Cin7 Core to change it. Please ensure you have the correct stock quantities entered in Cin7 Core before you turn on this option as these values will override the stock quantities in Square. Enabling Update Stock Levels in Square will display the Use Buffer Inventory setting.
Use Buffer Inventory
Displayed when Update Stock Levels in Square is enabled. Allows for an inventory buffer on stock quantities pushed to Square. Sync quantity passed to Square when updating stock levels will be equal to Actual Stock - Buffer Inventory. Enabling this setting will enable the Buffer Inventory field.
Buffer Inventory
Displayed when Use Buffer Inventory is enabled. Enter an integer number of stock to act as a buffer. Sync quantity passed to Square when updating stock levels will be equal to Actual Stock - Buffer Inventory. When this setting is enabled, Sync Quantity and Buffer Inventory quantity will be added as fields to the Catalog and Bulk Listing tables alongside stock availability.
Note: Once buffer inventory is enabled and specified, it will be applied across all products listed on the Catalog and Bulk Listing tabs. However, sync quantities will only be updated in the channel if the user updates or lists a product.
Sync product categories with Square
You can enable Cin7 Core to push category and brand information to Square and update Cin7 Core with Square category information.
Use Square as Master source for Cin7 Core products
If this option is enabled, products that have been changed or updated in Square will cause the linked products in Cin7 Core to be changed to match upon catalog download.
Export Shipping information to Square
If this option is selected, Cin7 Core will export shipping information to Square. Further details can be found in the Fulfilment section below.
Process Auto-Assembly as
This dropdown field has two options:
For ordered quantity: Does not check stock quantity. An assembly order is created for the quantity specified in the sale order, regardless of stock availability.
-
For minimum quantity required for picking:Assemble stock required to meet the quantity of specific sale order.
If stock availability is negative, auto-assembly will produce a finished goods quantity which is more than the quantity ordered through sale order.
If there is already stock available in inventory but not enough to fulfill the sale order quantity, auto-assembly will assemble the difference in quantity needed to meet the sale order requirement.
If stock availability exceeds sale order quantity, auto-assembly is not triggered.
Stock availability is validated against the sale order location and does not take On Order quantity into account.
Tax Rule Mapping
When a pending order is processed by Cin7 Core, a sale task is created. Each order and invoice line is assigned a tax rule. The tax rules specified in these settings will be used to create these lines.
Cin7 Core does not apply the tax rule to recalculate tax and is simply using the actual tax amount from the Square order. This means that if certain products are not Taxable or with varying tax in Square, all data and totals in Cin7 Core will look identical to Square, but with Cin7 Core tax rule name selected in this setting.
In the case of tax recalculation, the Tax amount will be overwritten with the value calculated by Cin7 Core Taxation rule.
IMPORTANT: Orders will be skipped on download if Taxation mapping is not finished!
Payment Account Mapping
Cin7 Core can capture payments made against orders in Square and is able to automatically add payments to a created sale invoice. To do this, Payment Account Mapping must be completed on this integration settings screen. You must choose an account which is able to receive payments from the chart of accounts.
This setting is not mandatory – if payment mapping is not completed, orders are still captured and downloaded from Square, but payments must be manually added to invoices in Cin7 Core. Some customers prefer to keep invoices open and then reconcile them with payouts from Square.
Disconnect from Square store
When you disconnect from the Square store, Cin7 Core removes all associations between Cin7 Core objects and Square, including Log and Product Catalog.
Catalog
The Cin7 Core Square Catalog page allows the user to download products from Square, upload products to Square, break the link between a Cin7 Core product and its Square listing and update quantities in Square according to Cin7 Core available stock.
Downloading Products
Products can be loaded from Square to Cin7 Core in the Catalog tab by clicking Load Products. This operation may take some time.
There are two types of products in Square: a simple product and a product with options (these have child SKUs).
Cin7 Core will not create a Product Family when loading Square products as Square products lack information regarding option names/values.
If products are already created/linked with Square, then Cin7 Core updates existing products instead of creating new versions. In Square, SKU is an optional product field whereas in Cin7 Core it is mandatory. Cin7 Core requires all SKUs to be specified for all Square products and variations. All products with missing SKUs will be skipped (not loaded) from Square.
When a product is created or updated in Cin7 Core during the download process, a link is established between the product and variant unique Square ID and Cin7 Core unique product ID. This link is used when products are matched against sale order lines in Square and when subsequent product downloads occur.
When downloading products, Cin7 Core tries to match existing products first to avoid creating duplicates.
During product download Cin7 Core automatically creates required product categories.
Data mapping for products between Cin7 Core and Square is as follows:
Cin7 Core |
SQUARE |
SKU |
Variant SKU |
Family Name |
Product Name |
Product Name |
Product Name + Variation Name (unless Variation Name already contains Product Name) |
Category |
Category |
Description |
Product Description |
Price Tier. Default is Price Tier 1. |
Price |
Image (first default image). Existing images won't be deleted. |
Image (existing image won't be overwritten) |
|
Track Inventory (Cin7 Core will enable it for new products created by Cin7 Core; it won’t change the setting for existing products) |
Manage the Catalog
There are two possible statuses for products in the Catalog: Not Listed and Listed.
Note: Updating products from the catalog will update the stock level in Square regardless of the related Quantity update setting status.
List a product on Square:
Click on the product in the Catalog tab.
You can enable or disable stock level syncing at the individual product level.
Click List on Square.
Save your changes.
Unlist a product on Square:
Click on the product in the Catalog tab.
Click Unlink.
Save your changes.
Remove a product from Square:
Click on the product in the Catalog tab.
Click Remove from Square.
Save your changes.
Bulk Listing
As well as listing products individually, products can be listed in bulk to save time.
When Use Buffer Inventory setting is enabled from the Setup tab, Sync Quantity and Buffer Inventory quantity will be added as fields to the Bulk Listing tables alongside stock availability. See Buffer Inventory for more information.
List products on Square in bulk:
Go to the Bulk Listing tab.
Select products to upload in bulk. You can select products by Category, Brand, Family, Product Tag, Listing Status, Products Listed in (another channel or store), and through manual search.
Note: If you have multiple stores in another sales channel, e.g. two different Magento stores, these will be displayed separately in the list of sales channels from which products can be selected for upload.
Click Start to upload all selected products.
Buffer Inventory
Instead of showing actual inventory values in e-Commerce storefronts, many retailers prefer to display an estimated display quantity where there is a safe buffer stock on their backend to avoid overselling products. Cin7 Core allows for an inventory buffer on stock quantities pushed to Square, both for the whole channel and at the product level.
Buffer inventory levels for the whole channel are controlled from the Setup tab. Update Stock Levels in Square setting must be enabled.
Use Buffer Inventory: Displayed when Update Stock Levels in Square is enabled. Allows for an inventory buffer on stock quantities pushed to Square. Enabling this setting will enable the Buffer Inventory field.
Buffer Inventory: Displayed when Use Buffer Inventory is enabled. Enter an integer number of stock to act as a buffer. Sync Quantity passed to Square when updating stock levels will be equal to Actual Stock - Buffer Inventory.
When this setting is enabled, Sync Quantity and Buffer Inventory quantity will be added as fields to the Catalog and Bulk Listing tables alongside stock availability. However, sync quantities will only be updated in the channel if the user updates or lists a product.
Buffer Inventory for the whole channel can be overwritten by a product level buffer from either the Catalog or Bulk Listing page (Use buffer inventory must be enabled from the channel Setup tab). The product level buffer value will ALWAYS override the value set on the Setup tab. If the Setup tab buffer inventory value is changed, this will not affect products with product level buffers.
Note: Product level inventory buffer is disabled by default. In the case of wanting to turn off inventory buffer for certain products only, the user will need to enable buffer inventory and enter a value to apply it to the whole catalog, THEN set product level buffer to 0 for those products, then update or list the item to apply changes.
If the user wishes to apply inventory buffer ONLY to one or more specific products, inventory buffer should be enabled on the Setup tab and set to 0. Then, product level buffer inventory can be enabled and configured for products from either the catalog or bulk listing page. You will need to list or update the item to apply changes.
On the Catalog page:
Click on a listed or unlisted item to open a pop-up window and slide Use Product Level Buffer Inventory to enable. You can then enter an integer value for Product level buffer which will overwrite the channel buffer value. You will then need to Update or List the product for the new stock level quantity to be displayed in the channel. Save and Close to continue.
On the Bulk Listing page:
Use this to update product level buffer for multiple items at once. Use the search box and filter options to filter items to list/update in bulk.
The Use Buffer Inventory menu allows you to Turn on product level setting, Remove product level setting, or Don't update existing setting.
Turning on product level setting allows you to then enter an integer value for Product level buffer. Click List to overwrite the channel buffer value for the filtered products with the product level buffer.
Selecting Remove product level setting, then List, will remove the product level setting from the filtered products and return them to the channel buffer inventory value.
Selecting Don't update existing setting will leave all buffer values, including product level buffer values, unchanged when updating listings or making a new listing.
Orders and Sales
Processing Pending Orders
When a Square store is connected to Cin7 Core, automatic notifications are triggered when orders are created or modified.
Depending on the Order Capture setting selected, Cin7 Core will capture a Square Order and save it as a pending order when the Order is created or paid.
Whenever a sale is captured from Square, it is first placed into Pending Orders, and stock is allocated immediately. Cin7 Core imports new orders immediately as individual sale orders (if No Consolidation is selected in the Integration Settings) or once a day as a consolidated sale order (if Daily Consolidation is selected).
If No Consolidation is selected, each Square sale is converted into an identical sale in Cin7 Core, keeping the same customer and shipping information. If Daily Consolidation is selected, the single daily sale task will use the customer selected in the integration settings, and customer, billing and shipping information imported from Square will be ignored.
When processing orders, the logic is identical to that of the Cin7 Core UI. DropShipping, Kitting and other important scenarios are implemented in the same way as through the Cin7 Core UI.
Pending Orders can be processed manually by clicking Process. They can then be viewed in the Log tab.
Downloading Orders and Payments
Orders are automatically downloaded if their status in Square is changed (for example, a customer pays for an order).
Note: Generally, you do not need to trigger manual order download. However, if an order was not captured by Cin7 Core or to load historical sales you can use the manual Load Order option.
Any imported order is saved to the Pending Orders section. It is a temporary storage of all sales and payments in Cin7 Core. If an order already has an entry in the Log (i.e. was imported previously), it will be skipped. This guarantees that no duplicate sales will be created by Cin7 Core.
While saving orders, Cin7 Core captures customer information, billing and shipping addresses. All line items are captured together with quantities, prices and totals. Total order discounts are applied as are additional charges to the whole order, without distribution by lines to reduce the chance of discrepancy.
Tips and gift card sales are also saved as additional charges in the Sale invoice. Square has special Tax Rules for these additional charges, and you can also link these with Cin7 Core Tax Rules in the Setup tab.
If a Payment Account has been specified in the Integration Settings, Cin7 Core will always assign associated payments to the captured Square orders.
When a Square order is cancelled, Cin7 Core automatically finds and voids the corresponding sale task if already created as a Sale Order or just removes the associated pending order if not yet processed.
The final step in the order download is to trigger an update of stock levels in other Square stores and other connected eCommerce channels.
Updating Fulfilment in Square
When Shipment is authorized in Cin7 Core and the carrier specified, Cin7 Core will try to create order shipment information in Square. This will only work in the No Consolidation processing mode.
Logs
Each captured Square order once saved to Pending Orders creates a Log entry to track the link between the Sale in Cin7 Core and in Square. This eliminates the possibility of creating duplicated orders when capturing the same order several times during manual order load.
Each Log entry has a link to the sale task in Cin7 Core. Depending on the settings selected by the user in the Setup tab, this sales task could be draft or authorized, one or more of the Pick, Pack and Ship tabs could be authorized, and payment could have been applied to the invoice.
Log entries allow you to see which Sale task reflects a particular Square sale. You also have the option to delete a Log entry manually. This will allow reprocessing an order if required. Deleting a log entry will not void or delete its associated sale task.
Reloading Orders from Square
If for any reason you need to reload an order from Square, this can be managed from Cin7 Core. Cin7 Core allows loading historical sales data a maximum of one year old.
To reload an order from Square:
Void the sale task. A record of this will be kept in Cin7 Core for reconciliation purposes, but the transactional data will be deleted.
Return to the Square integration Log tab and delete the Log entry. This will allow the order to be recaptured from Square.
Navigate to the Pending Orders tab and click Load Orders, making sure the date is set to before the order to reload was made. Cin7 Core allows loading historical sales data a maximum of one year old.
Refunds
Cin7 Core captures refunds from Square. Cin7 Core will then capture the refund and return/restock and apply them to the associated sale task.
Please note that if the sale is unfulfilled, this will cause an error with restocking the unfulfilled items. These will appear on the Log as Pending fulfilment. If you are experiencing this error, you will need to enable the Ignore restock for non-fulfilled sales setting.
Submit returns request via RMA portal
Customers can submit returns requests via Cin7 Core RMA Portal if your organization subscription has this feature, allowing customers to submit their return requests, initiate the Cin7 Core RMA workflow, and view the status of their returns. This includes sales processed through connected eCommerce channels.
Any Cin7 Core customer can submit a returns requests via the returns portal with an order number or invoice number and email address simply by accessing the relevant URL. We recommend adding the URL to the return portal to your default sale email template sent to customers. Please see detailed instructions at RMA Portal for returns requests.
Please note that refunds/restocked processed in this way will not be automatically exported to the eCommerce channel, and will have to be added manually updated within the channel. You may prefer to use the returns workflow offered by Square if you do not need the additional RMA workflow features in Core.
Refunds for sales predating integration with Cin7 Core
Merchants with eCommerce channels occasionally have to process returns or refunds for a sale that predates integration of the eCommerce channel with Cin7 Core.
Sales and refund information is imported automatically from the eCommerce channel to Cin7 Core, but can also be manually imported via the Cin7 Core web portal. Historical refunds and returns are handled differently for each case.
Automatic import: Cin7 Core checks the sale order date against the date of integration with the eCommerce channel. If the sale order date predates the date of integration, credit note and refund are imported without the corresponding historical sale task.
A sale is created without order lines or invoice lines.
Credit note tab shows refunded items and if a refund was processed in the eCommerce channel it will be captured on this tab.
Restock tab is left empty and no stock adjustments are made.
Manual import: Manually loading orders from Square functions in the same way whether the sale took place before or after integration with Cin7 Core.
From the Pending Orders tab, click Load orders and select a date to load sales, including historical sales as Pending Orders. Process the sale associated with the refund.
The sale order with have order, invoice, pick, pack, and ship lines. It will also have credit note and restock lines.
User will have to perform a manual stock adjustment to correct any discrepancies from the refund.
Operation Logs
Each time when the user or Cin7 Core download sales, an appropriate record is added to the operation log. It also contains information about results of downloading, including the count of processed, skipped or cancelled orders.
- Publish to everyone.4.log-2010416261.zip20 KB
- Publish to everyone.4.log-2010416261.zip20 KB
- Publish to everyone.4.log-2010416261.zip20 KB
- Publish to everyone.4.log-2010416261.zip20 KB
- Publish to everyone.4.log-2010416261.zip20 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB
- Publish to everyone.4.log-2010416261.zip30 KB