I have created a new product type in Magento which seems to break m2epro. The product type is called "Assembly" and for all m2epro purposes it should be treated as a simple product type.
My new product type Assembly is based on the Bundle product type, with many of the features removed. Currently I am using it to be able to sell multiples of a single item as a single item, and still keep the correct inventory of the single item correct. So although there are "options," it is still treated as a simple product for sales purposes. Unfortunately, this causes a problem with m2epro, as it considers any product with options as having multiple variations.
This is because in Model/Magento/Product.php function isProductWithoutVariations().
I was able to create a very simple (admit not the correct way to code) hack by changing isProductWithoutVariations() to:
// -- Update by Me --
if ($this->getTypeId() == 'assembly')
return true;
else
// -- End Update by Me --
return $this->isSimpleTypeWithoutCustomOptions();
Everything seemed to work great, until I noticed the automatic sync is not seeing the qty in the item and hiding the listing with 0 qty. I'm guessing there is a similar piece of code in the sync section that is determining my product type should have variations (which don't exist), and not sending the correct qty. BTW, I have an observer that sets the correct qty for the assembly product each time either the assembly product is changed, or any of the components are changed.
Any help on where the sync is deciding the qty of an item would be helpful.