15. Compatibility with other extensions

ShipTheory

Embedded Erp works with the multi-carriers solution Shiptheory even for partial orders shipments and automatic printing label.

** ShipTheory Configuration **

  • Subscribe to ShipTheory
  • Have the Shiptheory magento module version >=1.1.0 installed on your magento

http://support.shiptheory.com/support/solutions/articles/6000004521-getting-started-with-magento-and-shiptheory

  • in ShipTheory module -> configure it and enable the “automatic printing”

http://support.shiptheory.com/support/solutions/articles/6000116923-getting-started-with-automatic-printing

http://support.shiptheory.com/support/solutions/articles/6000116912-automatic-printing

  • In shiptheory web account (on shiptheory website), configure correctly the carriers, and the rules you need relative to your magento settings.

Carriers : http://support.shiptheory.com/support/solutions/articles/6000149119-carrier-overview

Rules : http://support.shiptheory.com/support/solutions/articles/10125-shipping-rules-explained

  • Install and configure ShipTheory Windows Software
  • Then, just use the packing screen of ERP and when you COMMIT, Shiptheory windows software may print the label and the shiptheory module of Magento will import back import the tracking in the correct shipment created by ERP.

** Test configuration **

Before going into the ERP, we do recommend to run the following test to ensure that everything is properly configured with ShipTheory :

  • Make sure the ShipTheory windows software is running on your computer
  • Create an order in magento
  • Ship this order (using the “ship” button in the order view)
  • When the shipment is created, order should be downloaded by ShipTheory and shipping label printed by the windows software

** Workflow with Embedded ERP **

Once ShipTheory is setup properly, here is the workflow between ERP and ShipTheory :

  • From the order preparation screen, select orders you want to ship and add them into the selected orders tab
  • Print the picking list
  • Go into the packing step, and scan the order barcode (or select it with the drop down menu)
  • Check products (using barcode scanner OR with the +/- buttons)
  • Commit the packing, at this time, ERP will create the order shipment
  • Shipment creation event is handled by ship theory which automatically download the order and process the shipment (print the shipping label)

QuickPay

Mage/Quickpay extension deduct stock when order is payed

fix : in app/code/local/Mage/Quickpay/controllers/StandardController.php

disable this function (around line 132)

public function removeFromStock()

adding for example at begin

return true;

M2ePro Patch

This patch allows to synchronize Catalog / Stocks / Sales between Magento and the sales channels.

It add a System > Configuration entry in

See also

System > Configuration > ERP > M2ePro patch

By default, Magento quantity field contains the stock level, this stock level is decreased when a new order is placed, and is increased when an order is cancelled.

ERP introduces a new behaviour for this field : it contains the real quantity in stock;

For example if you have 3 pieces in stock and you get a new sale, stock level is not decreased until you ship the order.

ERP maintains another stock information titled “Available quantity” : this is the result of the stock level (quantity) minus the quantity to ship for pending orders.

Note

This information is not available as an attribute, it means that you dont have a solution to export it easily to the sales channels.

To fix this problem, we have released “M2ePro Patch” (available in your BoostMyShop account):

  • Download the patch
  • Upload it on your Magento server, refresh caches, logout and login from magento admin panel
  • In Catalog > Attributes > Manage attributes, create a new attribute :
_images/6110c3dbe4b1e2331d021f46ba3c78bc.png
  • Add this attribute in your different attribute sets
  • Once the attribute is configured, go in System > Configuration > M2ePro Patch and set the new attribute
  • Enable the “Initialize mode” and click on the save button
  • Go in ERP > Tools > Product Availability Status and click on “Refresh All” button
  • Once is complete, Go back in System > Configuration > ERP > M2epro Patch and disable “Initialize mode”

Now, the “erp_product_availability” attribute is synchronized with the available quantity.

You can configure it, in the sales channel extension, for using it instead of standard “quantity” value in for example :

Sell on amazon -> listings > select a listing > on button edit setting > tab selling > quantity : select the attribute you have defined in m2epropatch for ERP.

Shipworks

Please look at our compatibility module :

http://documentation.boostmyshop.com/shipworks_for_erp/index.html

Aitoc PreOrder

https://www.aitoc.com/en/magentomods_pre_order.html

We have analysed the code of this extension (1.2.x) and unfortunately, we have to inform you that this extension can’t be compatible with Embedded ERP because Aitoc PreOrder rewrites the same stock functionality of Magento than ERP, the sames function but in a very different way, so a conflict fix and code adaptation is not possible.

Unirgy Giftcert

When you use Unirgy Giftcert

the gift cert you use are note a “simple” product

To enable ERP to reserve them and to make them appear in order preparation

please change code in : app/code/community/MDN/AdvancedStock/Model/Sales/Order/Item.php

In getRemainToShipQty()

Add  case 'ugiftcert': around line 111

Optional Modification :

app/code/community/MDN/AdvancedStock/Model/Observer.php

In sales_order_afterPlace

case 'simple':
case 'ugiftcert':

In app/code/community/MDN/AdvancedStock/Block/MassStockEditor/Grid.php

around line 37

->addFieldToFilter('`catalog/product`.type_id', array('in' => array('simple', 'virtual','ugiftcert')))

In app/code/community/MDN/AdvancedStock/Block/Transfer/Edit/Tabs/AddProducts.php

In _prepareCollection

$allowProductTypes = array();

$allowProductTypes[] = 'simple';

$allowProductTypes[] = 'ugiftcert';

Magmi

Magmi is a alternative to magento admin panel

It works directly on the magento database without using magento models.

You can use Magmi to create and manage products, however you must NOT use it to update inventory

TO mass update inventory, use The ERP Mass Stock Editor or the ERP import features

Tbt Rewards

Embedded ERP can work with TBT Rewards extension, however, there is a known conflict between both, on the sales/order magento model.

To check if you have the issue, go in any order with menu sales > order > [select one order], you should get this error message :

Invalid method TBT_Rewards_Model_Sales_Order::productReservationAllowed(Array

To fix the conflict, please follow these steps

Note that you must process this with magento programming knowledge, these information are given for reference purpose only and are not guarantee.

  1. Edit file app/code/community/MDN/AdvancedStock/etc/config.xml
  2. Delete line #53 : MDN_AdvancedStock_Model_Sales_Order
  3. Edit file app/code/community/TBT/Rewards/Model/Sales/Order.php
  4. Replace line #50 :

class TBT_Rewards_Model_Sales_Order extends Mage_Sales_Model_Order {

with :

class TBT_Rewards_Model_Sales_Order extends MDN_AdvancedStock_Model_Sales_Order {

  1. Refresh Magento Cache

Then, go back in any order, error message should be fixed.

ShoppingFlux

Grid Customization

If you have Install Custom grid Module that make appear a little button “#Grid customization” upon every grid.

See also

Go in System > Configuration > Custom grids > General

And add some exclusions rules for ERP modules :

  • AdvancedStock/*
  • Purchase/*
  • OrderPreparation/*
  • SalesOrderPlanning/*
  • Organizer/*

since Magento version (1.9.2.2) it is advise to change the rules to :

  • AdvancedStock*
  • Purchase*
  • OrderPreparation*
  • SalesOrderPlanning*
  • Organizer*

Iziflux

Read section about “Sales channel”

Google Shopping Feed XML

If you are using Embedded ERP and you need to sell your products on Google Shopping.

You probably use a feed like Wyomind Google Shopping or another extension and those extensions enable to send the InStock/OutOfStock status.

Problematic

They are 2 problematics :

1) Google shopping restricts the possible “status” to a very restricted list : in stock, out of stock, pre order ( available for order is deprecated). So, the status calculated by ERP are not

natively compatible.

  1. Google will browse your site every week to check for all products in the last feed received and if what you send is not conform to the website displayed status to 95%, they will refuse the feed. More over, in the feed there is the status of the configurable products AND of the simple products, so you need to have them consistent between them.

Solution

So, Since ERP 2.9.5.2, and only from this version, you have 2 features that enable you to solve these 2 problematics :

You need to use BOTH of them :

1) A) use on your front the Product availability status integration :

http://documentation.boostmyshop.com/embedded_erp/8_sales_order_planning.html#introduction

  1. In you feed integrate this (kind of) code for the  stock/out of stock status :

return mage::helper('SalesOrderPlanning/ProductAvailabilityStatus')->getForOneProduct($productId,1)->getMessageForGoogleShopping();

this code will send only the compatibles status whatever your in stock/out of stock message

Example of integration :

_images/e6f5a21b5659a3bf6951c48f86630506.png
  1. activate the option :

See also

System > configuration > ERP > Sales order planning -> General -> Calculate product availability status for non stock managed product

Think to save, Then refresh all the products availabilities status of all your products

M2e pro

  • ERP is compatible with import orders system of M2ePRO.
  • ERP modify Magento to add a  multi warehouses / stock management. Without ERP M2EPRO only read the quantity ok stock of each product. Our system add many management rules to allow some warehouses for sales regarding many advanced options.
  • ERP summarize each product stock level in a feature called “product availability status”, it include the stock level to be exported to M2EPRO. That why ERP is provided with a patch (available in the downlaod section of your boostmyshop account) to synch this avalaible qty calculated.

http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#levels-of-stocks

with the stock Qty exported with M2E pro, using a public dedicated product attribute.

For more details :

http://documentation.boostmyshop.com/embedded_erp/15_compatibility_with_other_extensions.html

Aschroder SMTP

Aschroder SMTP extension rewrites Magento Core class to use a SMTP Server for sending email.

Embedded ERP implements a custom “send email” behaviour to support attachments, this way, it does not use SMTP servers when Aschroder SMTP extension is installed.

To fix this, follow this steps

  1. Duplicate app/code/community/MDN/Purchase/Model/Order.php

into app/code/community/MDN/Purchase/Model/Order.php

and replace line 766

Mage::getModel('Purchase/Core_Email_Template')

with

Mage::getModel('core/email_template')
  1. Duplicate app/code/community/Aschroder/SmtpPro/Model/Email/template.php

into app/code/local/Aschroder/SmtpPro/Model/Email/template.php

Add attachment parameters to function send :

public function send($email, $name=null, array $variables = array(), $attachment = array())

Add this code line #82 (after $mail->setFrom($this->getSenderEmail(), $this->getSenderName());) :

if ((is_array($attachment))){

 foreach ($attachment as $item){
 $pj = $mail->createAttachment($item['content']);
 $pj->filename = $item['name'];

 }
}
  1. Duplicate app/code/core/mage/core/model/email/template.php

into app/code/local/mage/core/model/email/template.php

Add a new input parameter to the sendTransactional function

public function sendTransactional($templateId, $sender, $email, $name, $vars=array(), $storeId=null, $attachment = array())