Order Synchronization: General Information
You can import sales orders placed in the Shopify store to MYOB Acumatica for further processing.
Learning Objectives
In this chapter, you will learn how to do the following:
- Configure the synchronization of orders between MYOB Acumatica and the Shopify store
- Configure the synchronization of payments between MYOB Acumatica and the Shopify store
- Import sales orders with payments from the Shopify store to MYOB Acumatica
- Configure card payment processing in MYOB Acumatica and Shopify
Applicable Scenarios
The synchronization of orders is the main scenario for the integration between an ERP system and an external e-commerce system. You set up the import of orders from the Shopify store to MYOB Acumatica so that you can process the imported orders further, for example, create a shipment, invoice the customer, and process the payment.
You set up the import of payments if you want to track them within MYOB Acumatica. For card payments, you may want to set up integrated card processing so that you can capture the payment in MYOB Acumatica after the order has been shipped.
Minimal Configuration of Order Synchronization
To start importing sales orders from the Shopify store, you need to activate the required entities and specify the minimal settings for the activated entities on the Shopify Stores (BC201010) form. On the Entity Settings tab, you activate the Sales Order and Customer entities, as well as the Stock Item entity, Non-Stock Item entity, or both entities. If shipments created and processed in MYOB Acumatica for the imported order should be synchronized with the Shopify store, you need to activate the Shipment entity.
You specify the minimal required settings for the activated entities as follows:
- Customer: You specify the settings for customer synchronization on the Customer Settings tab. For information, see Customer Synchronization: General Information.
- Stock Item and Non-Stock Item: You specify the settings for the synchronization of stock and non-stock items on the Inventory Settings tab. For details, see Product Synchronization: General Information.
- Sales Order: On the Order Settings tab, in the Branch box, you specify the branch the system will insert in imported sales orders, and in the Order Type for Import box, you specify the order type that will be assigned to and provide the default settings for the imported sales orders. On the Shipping Settings tab, you map each shipping option (which is a combination of a shipping zone and shipping method) defined in the Shopify store with the ship via code and, optionally, shipping zone and shipping terms defined in MYOB Acumatica.
The Order Time Zone
While you are performing the initial configuration of the Shopify store, on the Order Settings tab of the Shopify Stores (BC201010) form, you can specify the Order Time Zone that the system will use for each sales order imported from the Shopify store when it is created in MYOB Acumatica. The order time zone is needed to determine the correct date and time of the order if MYOB Acumatica and the Shopify store are located in different time zones.
Limiting the Date Range for Order Import
If you have had the Shopify store for a while before implementing MYOB Acumatica, you might want to prevent old orders from being imported to MYOB Acumatica when you start synchronizing orders. On the Order Settings tab of the Shopify Stores (BC201010) form, you specify the Earliest Order Date. Orders created before this date in the Shopify store will be excluded from synchronization between MYOB Acumatica and the Shopify store. Payments and shipments created for such orders are excluded from synchronization too.
Tracking Imported Sales Orders in the Shopify Store
If your Shopify store accepts a large number of orders, it might be useful to be able to see at a glance which orders have already been imported to MYOB Acumatica. On the Order Settings tab of the Shopify Stores (BC201010) form, you select the Tag Ext. Order with ERP Order Nbr. check box. When a sales order is imported from the Shopify store and assigned an order number in MYOB Acumatica, the order in Shopify is assigned two tags, ERP and a tag with the order number from MYOB Acumatica.
Mapping of Shipping Options
You define the mapping of each shipping option (which is a combination of a shipping zone and shipping method) defined in Shopify to the ship via code, and optionally, shipping zone and shipping terms defined in MYOB Acumatica on the Shipping Settings tab of the Shopify Stores (BC201010) form. The Store Shipping Zone and Store Shipping Method columns of the table are populated with the settings from Shopify automatically for shipping options defined in the Shopify store.
Configuration of Payment Synchronization
If payments for at least one payment method set up in the Shopify store should be imported to MYOB Acumatica, you need to activate the Payment entity on the Entity Settings tab of the Shopify Stores (BC201010) form.
For each store payment method—that is, each payment method defined and activated in the Shopify store—payments by which should be imported to MYOB Acumatica, you need to create a mapping with a payment method defined in MYOB Acumatica on the Payment Settings tab. The system automatically adds a row with the store payment method and the currency it was defined for specified (in the Store Payment Method and the Store Currency boxes, respectively) for each store payment method that is active in the Shopify store.
To map the combination of the store payment method and the store currency with the MYOB Acumatica payment method, in the table of the Payment Settings tab, you specify the following settings:
- To indicate that payments by a specific store payment method should be imported to MYOB Acumatica, you select the Active check box.
- In the ERP Payment Method column, you select the payment method defined in MYOB Acumatica for the store payment method. Payments imported from the Shopify store to MYOB Acumatica will have this payment method inserted. For information about setting up payment methods in MYOB Acumatica, see Cash Management: Payment Methods.
- In the Cash Account column, you select a cash account associated with the payment method. The cash account must be in the currency of the store payment method and belong to the branch selected on the Order Settings tab. For information about setting up cash accounts in MYOB Acumatica, see Cash Management: Cash Accounts and Configuring Cash Accounts.
You can also indicate that payments that are imported from the Shopify store should be automatically released as soon as they are imported by selecting the check box in the Release Payments and Refunds column. If refunds issued in the store should be imported to MYOB Acumatica, you select the Import Refunds check box.
Synchronization of Sales Orders and Payments
Orders are imported from a Shopify store during the synchronization of the Sales Order entity. During the data processing stage of the order import, the system does the following in MYOB Acumatica:
- Creates a sales order on the Sales Orders (SO301000) form. For
information about the details and settings that the system inserts in the created sales
order, see Sales Order Entity.Attention:Note that orders that have the Archived status in the Shopify store are filtered during the order import. That is, for each order with this status, the system creates a synchronization record and assigns it the Filtered status on the Sync History (BC301000) form.
- Searches for products (that is, stock and non-stock items) included in the sales order.
Products included in a sales order must be synchronized with or created in MYOB Acumatica. During the import of a sales order, the system searches for an inventory ID of an inventory item in MYOB Acumatica that matches the product's SKU in the Shopify store. If no matching inventory ID has been found, the system continues to search for a matching alternate ID (that is, an additional identifier of the item, which can be an identifier used by your company's customer or vendor, that is specified on the Cross-Reference tab of the Stock Items (IN202500) form for a stock item and of the Non-Stock Items (IN202000) form for a non-stock item). If the matching alternate ID has been found, the system inserts in the imported order an inventory item associated with this alternate ID.
- Searches for a customer that placed the order, and inserts it in the sales order. If the customer has been updated in the Shopify store, updates the customer record in MYOB Acumatica. If the customer has not been found, creates a new customer on the Customers (AR303000) form, and inserts it in the sales order.
- Creates a document of the Prepayment type on the Payments and Applications
(AR302000) form, if the payment method used for paying the sales order in the Shopify
store has an active mapping with a payment method defined in MYOB Acumatica on the Shopify Stores (BC201010) form, and applies it to the sales
order.
If the mapping of the store payment method is inactive or has not been configured, the system creates a synchronization record for the payment on the Sync History form and assigns it the Filtered status. In this case, the prepayment document is not created on the Payments and Applications form.
Workflow of Importing a Sales Order with a Manual Payment
The following diagram illustrates the workflow of importing a sales order to MYOB Acumatica from a Shopify store where it was placed and paid by a manual payment method or a card payment method without integrated card processing.
Synchronization of Payments
You can import payments independently of orders by preparing and processing the Payment entity.
During the synchronization of the Payment entity, the system creates a document of the Prepayment type on the Payments and Applications (AR302000) form and applies it to the sales order if the following conditions are met:
- The store payment method with which the order was paid is mapped to an MYOB Acumatica payment method and the mapping is active on the Shopify Stores (BC201010) form.
- The sales order has the Open status and has an unbilled balance, or the sales order has the Canceled status.
If the mapping of the store payment method is inactive or has not been configured, the system creates a synchronization record for the payment on the Sync History (BC301000) form and assigns it the Filtered status. In this case, the prepayment document is not created on the Payments and Applications form.
If the sales order has been fully invoiced, the system cannot apply the prepayment to the sales order. In this case, the prepayment is applied to the invoice or invoices created for the sales order.
If the sales order has been partially invoiced, the prepayment is applied to the sales order only in the amount equal to the unbilled amount of the sales order. You need to manually apply the remaining amount to the invoice or invoices.
Use of the Guest Customer Account
If you want to allow placing orders in your store without providing the customer's phone number or email address and want to import such orders to MYOB Acumatica, you need to fill in the Generic Guest Customer box on the Customer Settings tab of the Shopify Stores (BC201010) form. This customer account appears on imported sales orders that have been placed in the Shopify store without customer details.
The customer record selected in the Generic Guest Customer box is not exported to the Shopify store during the synchronization of customers.
You can also configure the system to change a guest customer account after a particular number of sales orders have been created for this account. You do so by selecting the Use Multiple Guest Accounts check box. When the maximum allowed number of sales orders is exceeded, the system creates a new customer and inserts its identifier in the Generic Guest Customer box. The settings of the new customer account are copied from the previous generic guest customer account, and its identifier is generated based on the numbering sequence specified in the Customer Numbering Sequence box.
By default, the allowed number of sales orders per guest customer account is limited
to 10,000. You can override this number by adding the
MaxOrdersPerGuestAccount
key to the
<appSettings> section of the
web.config file. For example, to change the guest customer
account after every 500 sales orders, add the following key:
<add key="MaxOrdersPerGuestAccount" value="500"/>
For more information about creating a customer, see Customers: General Information.