Sync inventory, pull sales information, sync products to and from Magento. Magento can also be used just to process payments without managing inventory.
NOTE: DEAR supports Magento 2. See Magento 2.0 Integration for more information.
NOTE: If using translation or localisation apps in Magento, ensure that base attribute values (colour, etc.) are in English. Base attribute values not in English can cause problems when listing products.
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.
- Admin access to Magento (necessary)
- Familiarity with the Processing a Sale process (necessary)
- Familiarity with Products and Product Management (necessary)
Table of Contents
- Magento Integration Setup
- Orders and Sales
Magento Integration Setup
First, you must connect DEAR to your Magento store. You will need admin access to Magento to set up the integration. DEAR provides two free external integrations with the standard subscription plan, however, additional external integrations must be purchased from the My Subscription page.
Setup in Magento
To prepare for the integration in Magento:
- Log in to the admin panel of your Magento store.
- Create a new Role in your Magento store. Go to System → Web Services → SOAP/XML-RPC – Roles.
- You will see the list of roles in your Magento shop. For a new installation, this list will be empty.
- Click Add New Role.
- In the Role Info tab, name the role and enter the admin password.
- In the Role Resources tab, set Resource Access to All. Click Save Role.
- Create a new User and assign it to this Role. Go to System → Web Services → SOAP/XML-RPC – Users.
- Click Add New User.
- In the User Info tab, fill in the mandatory fields. User Name and API Key will be required to integrate with DEAR Inventory. All the other fields are just general information required for Magento user registration.
- Click on User Role on the left and select the newly created role for this user. Click on Save User to save changes.
- Update permissions for the new role (here, named Guest). Go to System → Web Services → REST – Roles.
- Click the newly created Guest Role from the list to open permissions.
- Set Resource Access is set to All. Click Save Role to save your changes.
Connecting Magento to DEAR
It is possible to link several Magento stores to a single DEAR account. Each linked store has an independent catalog, logs and settings. DEAR provides two free external integrations with the standard subscription plan, however, additional external integrations must be purchased from the My Subscription page.
To connect Magento to DEAR:
- Navigate to Integration → Magento.
- Click + to connect a new store.
- Enter your Magento shop details and click Connect to Magento.
- You will be redirected back to DEAR. Repeat these steps to connect as many Magento accounts as you require.
In the Setup tab, several integration settings can be customised.
This option specifies when a Magento Order will be captured: when it is created, when it is fulfilled or when it is paid in Magento. This setting is also taken into account when downloads of historical orders from Magento are triggered.
DEAR - Magento Integration allows two options for order consolidation:
No Consolidation indicates that sales will be captured from Magento 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 Pending Order Processing section for more details below.
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 DEAR just for this purpose.
Use Company as a Customer
This parameter only has an effect when the No Consolidation option is selected.
In Magento, each sale order has an optional Company field which can be filled in by a customer. If you would like DEAR to create a customer using the company name (as opposed to the Customer name attached to the sale order in Magento), this option should be selected.
Choose which Price Tier to use as the default price when DEAR syncs products with Magento. See Pricing and Price Tiers for more information.
Pick, Pack and Ship Processing Mode
When pending orders are processed by DEAR, new sale tasks are created. This setting tells DEAR 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.
DEAR does not pick up shipment information from Magento if auto-ship is selected and will not create fulfilment in Magento in this scenario (if Auto Ship is enabled).
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
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.
Link Magento sales to DEAR Location
Magento does not allow the use of multiple warehouses. Each Magento store can have a dedicated Location within DEAR which can be selected from the drop-down menu. Selecting a particular warehouse will limit the availability of stock in Magento to that location. The default option, All Locations, will display consolidated stock quantities across all of your locations.
You can control Invoice Status for Sale tasks created as a result of pending order processing. By default, an invoice will not be authorised and will be in Draft state, adjustable and waiting for authorisation. However, if this setting is changed to AUTHORISED, the invoice will be automatically authorised and pending sync will be created for it to sync with an accounting application of your choice.
Gift Card Liability Account
DEAR 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 Gift Card Liability Account is specified.
Optional revenue account
This is the revenue account to be used for all sales downloaded from Magento. 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 Magento
You may choose to disable automatic stock level update in Magento performed by DEAR at the time available product quantity changes in DEAR. This may be useful if you are managing stock level in Magento manually and do not want DEAR to change it. Please ensure you have the correct stock quantities entered in DEAR before you turn on this option as these values will override the stock quantities in Magento.
Send email from Magento
When enabled, this sends an email to the customer from Magento when shipping has been authorised.
Tax Rule Mapping
When a pending order is processed by DEAR, 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.
DEAR does not apply the tax rule to recalculate tax and is simply using the actual tax amount from the Magento order. This means that if certain products are not Taxable or with varying tax in Magento, all data and totals in DEAR will look identical to Magento, but with DEAR tax rule name selected in this setting.
The Tax Free tax rule mapping specified in this setting is used to create these lines for non-taxable products. This tax mapping could be useful for accounting.
In the case of tax recalculation, the Tax amount will be overwritten with the value calculated by the DEAR Taxation rule.
IMPORTANT: Orders will be skipped on download if Taxation mapping is not finished!
NOTE: For US Magento stores, the provided Sales Tax is used instead of Tax Rule mapping.
Payment Account Mapping
DEAR can capture payments made against orders in Magento 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 Magento, but payments must be manually added to invoices in DEAR. Some customers prefer to keep invoices open and then reconcile them with payouts from Magento.
Disconnect from Magento store
When you disconnect from the Magento store, DEAR removes all associations between DEAR objects and Magento, including Log and Product Catalog.
The DEAR Magento Catalog page allows the user to Download products from Magento, list DEAR products on Magento, break the link between a DEAR product and its Magento listing and update quantities in Magento according to DEAR available stock.
Products can be loaded from Magento to DEAR in the Catalog tab by clicking Download → Products. This operation may take some time.
Each product variation in Magento must have a unique SKU. Configurable products require individual simple products for each variation. These simple products will have individual SKUs in DEAR.
When a product is created/updated in DEAR during the download process, a link is established between item unique Magento ID and DEAR unique product ID. This link is used when products are matched against sale order lines in Magento and when subsequent product download occurs to update the same products.
Magento supports Product Families but all Product Family variants are downloaded as simple products. This is due to performance issues of Magento SOAP API during loading.
Magento Product Types are mapped to DEAR categories.
When downloading products, DEAR tries to match existing products first to avoid creating duplicates. Matching is performed by item or variant SKU.
Data mapping for products between DEAR and Magento is as follows:
Listing SKU if defined, otherwise first 50 characters from combination of (Product title + Option 1 Value + Option 2 Value + Option 3 Value)
|Name||Product title + Option 1 Value + Option 2 Value + Option 3 Value|
|Description||HTML Product Description|
|Weight||Weight (Converted to KG)|
|Price Tier. Default is Price Tier 1||Price|
|Images||Small product image|
|Product Tags||First 256 characters of Product Tags|
|Option 1 Value||Option 1 Value|
|Option 2 Value||Option 2 Value|
|Option 3 Value||Option 3 Value|
Manage the Catalog
There are two possible statuses for products in the Catalog: Not Listed and Listed. To be listed, every item needs to have a description, item image and default location specified.
NOTE: DEAR does not update category or images for an existing product in Magento, category and images are pushed only upon product creation.
NOTE: DEAR products can only be synced as a simple product (not a bundle) in Magento even if it was configured with a bill of material in DEAR. DEAR product families are synced as configurable products in Magento. This is due to a limitation of the integration.
NOTE: Updating products from the catalog will update the stock level in Magento regardless of the Update Stock Levels in Magento setting status.
To list or update a product on Magento:
- Click on the product in the Catalog tab.
- In the pop-up window, specify the Attribute Set (this is required). It is required to specify the Magento Attribute Set in order to create a product in Magento. DEAR products must have an Attribute Set specified to be listed.
- You can enable or disable stock level syncing at the individual product level.
- Click List on Magento for a product which has not yet been listed or Update on Magento for a product which has already been listed.
- Save your changes.
To unlist a product on Magento:
- Click on the product in the Catalog tab.
- Click Unlink.
- Save your changes.
To remove a product from Magento:
- Click on the product in the Catalog tab.
- Click Remove from Magento.
- Save your changes.
Products from your DEAR inventory can also be listed in bulk. If products are already listed, this action will update them.
To list products on Magento in bulk:
- Go to the Bulk Listing tab.
- Select products to upload in bulk. You can select by Category, Brand, Family, Product Tag, Attribute Set, Listing Status, Currency, and Products Listed in (another channel), and through manual search.
NOTE: If you have multiple stores in another sales channel, e.g. two different Shopify stores, these will be displayed separately in the list of sales channels from which products can be selected for upload.
- Specify an Attribute Set for the product. It is required to specify the Magento Attribute Set in order to create a product in Magento. DEAR products must have an Attribute Set specified to be listed.
- Select Currency. If you are using markup pricing, a currency conversion will be performed between the DEAR base currency and the selected currency. If you are using static pricing, the price tier value will be passed to Magento unchanged.
- Click List to upload all selected products to Magento. You can also Unlist and Unlink products in bulk in the same way.
Orders and Sales
Processing Pending Orders
When a Magento store is connected to DEAR, automatic notifications are triggered when orders are created, when their status is changed, and when they are cancelled or deleted.
Depending on the Order Capture setting selected, DEAR will capture a Magento Order and save it as pending order when the Order is created, fulfilled or paid. Sometimes it takes up to 10 minutes for the order to be picked up by DEAR because Magento may send notifications with some delay.
Whenever a sale is captured from Magento it is first placed into Pending Orders, and stock is allocated immediately. DEAR 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 Magento sale is converted into an identical sale in DEAR, 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 Magento will be ignored.
When a Magento order is cancelled or deleted, DEAR automatically finds and voids the corresponding sale task, if created, or removes an associated pending order if the order has not yet been processed.
When processing orders, the logic is identical to that of the DEAR UI. DropShipping, Kitting and other important scenarios are implemented in the same way as through the DEAR UI.
Pending Orders can be processed manually by clicking Process. They can then be viewed in the Log tab.
Customers can be loaded from Magento to DEAR in the Catalog tab by clicking Download → Customers.
This function downloads all customers from Magento to DEAR. If the customer already exists in DEAR, this function updates any details that have been changed in Magento. As DEAR automatically creates customers when processing sale orders (if the No Consolidation option is selected), this function is generally only used for testing purposes.
This function creates a customer in DEAR with Contact, Billing and Business addresses captured from Magento. Customers cannot be uploaded from DEAR to Magento.
Downloading Orders and Payments
Orders are automatically downloaded if their status in Magento 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 DEAR 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 DEAR. 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 DEAR.
Pending Orders can be processed manually by clicking Process, which writes the orders into DEAR as sales tasks. They can then be viewed under the Log tab.
While saving orders, DEAR 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.
Shipping and handling are also saved as additional charges in the Sale invoice under Shipping.
If a Payment Account has been specified in the Integration Settings, DEAR will always assign associated payments to the captured Magento orders.
When a Magento order is cancelled, DEAR 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 the update of stock levels in other Magento stores and other connected eCommerce channels. This is performed by clicking Update Quantities in Magento from the Catalog tab.
Updating Fulfilment in Magento
When Shipment is authorised in DEAR and the carrier specified, DEAR will try to create order shipment information in Magento. This will only work in the No Consolidation processing mode.
Each captured Magento order once saved to Pending Orders creates a Log entry to track the link between the Sale in DEAR and in Magento. 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 DEAR. Depending on the settings selected by the user in the Setup tab, this sales task could be draft or authorised, one or more of the Pick, Pack and Ship tabs could be authorised, and payment could have been applied to the invoice.
Log entries allow you to see which Sale task reflects a particular Magento 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.
To delete a specific log record, click the Delete icon. This allows the sale task to be reprocessed, if required.
Reloading Orders from Magento
If for any reason you need to reload an order from Magento, this can be managed from DEAR.
To reload an order from Magento:
- Void the sale task. A record of this will be kept in DEAR for reconciliation purposes but the transactional data will be deleted.
- Return to the Magento integration Log tab and delete the Log entry. This will allow the order to be recaptured from Magento.
- Navigate to the Pending Orders tab and click Load Orders, making sure the date is set to before the order to reload was made.
Still no answer to your question? Please do not hesitate to get in touch with DEAR support.
Pending orders not loading
A common Magento error is when orders are placed via the Magento website but do not come through to DEAR. When trying to load orders, this error message appears:
This error is caused b incorrect Magento server configuration, it can't call itself by the external domain name. Magento API calls itself while executing API calls.
While the WSDL URL (http://remote_host/index.php/api/index/index/wsdl/1/) can be loaded from your computer, your remote server can't contact itself via its REMOTE_HOST.
PHP's SoapServer object (used by Magento's implementation) needs to contact the WSDL to know which methods are exposed.
For reasons unknown, it's a common network configuration for a server to not have access to its own DNS entries. Connect to your server via SSH and try running the following:
It is most likely you'll get a network timeout or a REMOTE_HOST unknown error. Fix your configuration so your server can access itself, and everything should start working.