DHL Adapter
The Bill of Materials plugin is compatible with the DHL Adapter powered by Pickware. For deliveries abroad, for example to Switzerland, both the bill of materials product and its sub-products are always shown on the export document. Due to requirements of the DHL interface, these have some slight peculiarities.
Price – The price of a bill of materials product is set independently of its sub-products and is also the price the customer ultimately pays. For this reason, sub-products are listed without a price (the DHL interface sets a minimum value of €0.01) and the final price is stated on the bill of materials product.
Weight – Since a bill of materials product is a virtual product with no weight of its own, the weight of the DHL package is made up only of the sub-products. For this reason, the bill of materials product is listed without weight (the DHL interface only sets a minimum value of 0.1 kg), while the sub-products instead have their regular weight.
Line items – A maximum of 99 line items can be shown on the export document. If a bill of materials product exceeds this quantity, all line items beyond number 98 are combined into a 99th line item. The individual sub-products must still be listed for correct customs clearance.
Magnalister
The Bill of Materials plugin works with Magnalister insofar as the two main functions of the Bill of Materials plugin are implemented for product and order synchronization with the various marketplaces:
Calculated product properties from sub-products (stock, weight) during product export. This means the plugin automatically calculates the stock based on the sub-products and passes it on to Magnalister and, in turn, to the external marketplaces.
Splitting bill of materials products into sub-products when importing orders. Bill of materials products are split into sub-products when an order is imported, just as they are in the Shopware storefront.
To ensure compatibility, the following classes from Magnalister are extended via patch files. This happens automatically when the Bill of Materials plugin or Magnalister is installed.
ML_Shopware_Model_Product
ML_Shopware_Model_Order
If you have implemented other custom extensions in Magnalister that extend the same classes, compatibility of the plugins can no longer be guaranteed.
In addition, a hook file is stored that is meant to be executed on a specific event. However, Magnalister only loads one such hook file. So if you have already stored a hook file for this event, only one of these files will be executed — not the other (addOrder_1.php).
Product Feed
Since some properties of bill of materials products are not stored directly in the database, but are always calculated live from the sub-products, an adjustment was also implemented for the Product Feed. The stock (instock) and weight (weight) properties are calculated from sub-products, which is why the product filters "Stock greater than minimum stock" and "Stock less than minimum stock" now also work with bill of materials products.
For compatibility with custom adjustments to the SQL filter, the corresponding values must be present in the database — see here.
Backend Orders
The Bill of Materials plugin does not work with Shopware's Backend Orders plugin, since the mechanism for splitting the bill of materials into its individual sub-products cannot take effect here.
From a technical standpoint, the function of the Bill of Materials plugin is triggered by completing an order in the storefront. If an order is created through a different route (this also applies to creating orders directly in the database), the order completion process is not run properly, and the plugin's function is therefore not triggered. If you want to place orders on behalf of your customer, we recommend doing so through the storefront. You'll find the corresponding button Log in as this customer directly in your customer's account.
Stock Warning (Cronjob)
Since the stock level of a bill of materials product is not meaningful in the backend, the email notification property under Basic settings → System → Cronjobs will not work as expected for a bill of materials product.
ESD Products
So-called ESD products may not be part of a bill of materials, since otherwise a download of the ESD product would not be possible for the customer upon purchase.
heidelpay Plugin by heidelpay GmbH
When using the heidelpay plugin in combination with our Bill of Materials plugin, it can happen that canceled orders are recreated by heidelpay without running the bill of materials logic, causing the sub-products to be missing from these orders.
Bill of Materials Products in Combination with Pickware ERP, WMS, and POS
The Bill of Materials plugin integrates fully with the Pickware ERP inventory management system and is also compatible with the Pickware WMS plugin, which allows bill of materials products to be picked using handheld scanners just like normal products.
Integration with the inventory management system is especially helpful, since introducing bill of materials products makes it possible to track the stock of individual sub-products separately, while the availability of the bill of materials product is calculated and displayed automatically. You can find more information on this here.
Thanks to compatibility with Pickware WMS, individual sub-products can be distributed across multiple storage bins. WMS knows the storage bins for the products, so warehouse staff can pick the bill of materials product, or rather its sub-products, just like any other order line item.
Example: A shop owner wants to sell the (bill of materials) product "Gift Basket". This product does not exist as a whole in their warehouse; instead, it is assembled for each order from 1x "Blue Basket", 2x "Red Wine", and 1x "French Soft Cheese". Conventionally, the shop owner would have to manually adjust the stock of the three sub-products for each order and re-check the availability of the "Gift Basket" product each time. By using the Bill of Materials plugin, the shop owner only needs to specify once which sub-products make up the "Gift Basket" bill of materials product. The availability of the "Gift Basket" and the stock levels of the sub-products are then maintained automatically. When using Pickware WMS, warehouse staff also see the sub-products contained in the bill of materials listed on their digital picking list.
When a bill of materials product is purchased in the shop, both the "virtual" stock of the bill of materials product and the stock levels of all sub-products are reduced correctly.
