Skip to main content

How can I create and manage bill of materials (BOMs)?

Starting with Pickware Advanced, you have the option to create and sell bill of materials (BOMs). To do this, any product can be marked as a BOM in the Shopware Admin. Products and their respective quantities can then be assigned to this product, either also in the Shopware Admin or via CSV import. The CSV import in Shopware 6 is compatible with Shopware 5, so as part of a migration you can easily transfer your existing BOMs from Shopware 5 to Shopware 6.

In this article, we show you how to create and manage your BOMs, and explain the inventory management of BOMs. At the end of the article, you'll also see what BOMs look like within an order in the admin and from the customer's perspective.

You can find all the specifics about picking and returns of BOMs in a separate article each.

Creating BOMs

To convert a product into a BOM, open the product details. In the Bill of materials tab, you'll find the Configure bill of materials section, where you can enable the Product is a bill of materials option. If you want to import your BOMs via CSV file, it's enough for the product to exist, since the Product is a bill of materials option is automatically set upon import.

All BOMs can then be found under Catalogues → Bill of materials as well as under Catalogues → Products.

In addition to regular products, you can also use a variant product as a BOM. What matters here is the specific product or variant that you mark and manage as a BOM. If you work with variants, open the desired variant in the product details and enable the Product is a bill of materials option in the Bill of materials tab there. You then maintain the assigned products and quantities the same way as with other BOMs.

Assigning BOM products in the Shopware Admin

In the product details, in the Bill of materials tab, you can choose which products from your shop should be added to the BOM. Double-click a row to adjust the quantity. Then save the product. To remove a product from the BOM again, use the context menu and select Delete there.

Stücklistenprodukt_Übersicht.png

You'll also see the total price of the assigned products here and what discount results compared to the price of the BOM product. If you want to adjust the BOM price, you can do so as usual in the General tab in the Prices section.

Assigning BOM products via CSV import

To avoid errors during import/export, please be sure to follow these tips: Tips for working with CSV files in Shopware.

If you want to export your BOMs from Shopware 5, proceed as follows:

  1. Open your Shopware 5 backend and navigate to Content → Import/Export.

  2. In the Export tab, select the profile viison_set_articles_compositions (BOM article composition). Select the export format CSV and then click on Start export.

  3. The exported file can now be uploaded without further adjustments in your Shopware 6 admin under Catalogues → Bill of materials → Import. This requires that you have previously created products with the corresponding product numbers. If these haven't yet been marked as a BOM, this happens automatically during import.

Viewing BOM membership

In the product details, in the Bill of materials tab, you can also see whether the product belongs to one or more BOMs by clicking on Bill of materials. If a product belongs to a BOM, it accordingly can no longer become a BOM itself, which is why the corresponding button is greyed out.

Stücklisten_Info1.png

Stücklisten_Info2.png

Adjusting BOMs via CSV import

To avoid errors during import/export, please be sure to follow these tips: Tips for working with CSV files in Shopware.

Exporting all existing BOMs

To adjust your BOMs via CSV import, first perform an export under Catalogues → Bill of materials.

In the overview under Catalogues → Bill of materials, you'll only see BOMs that are already assigned to a product. BOMs without a product assignment are not shown there and therefore cannot be imported. If you want to import new BOMs, always add a product assignment in your CSV file.

In the CSV file, there's a separate row for each assigned product, which contains the product number of the BOM, the product number of the product itself, and the quantity.

Adding a product or adjusting quantity

To add a new product, you need to add another row to your CSV file that contains the product number of the BOM, the assigned product's number, and the quantity. If you want to adjust the quantity for a product that's already assigned, you only need to change the value in the Quantity column.

In this example, the product with the number SW10088 ("Awesome Paper Lyrichord") is added once to the BOM SW10098 ("Heavy Duty Cotton Cutter Claw"), or, if it was already included before, the quantity is corrected to 1.

The columns Product name BOM and Product name assigned product are only for your reference and can be left blank, since they have no effect on the naming in the Shopware Admin.

Product number BOM

Product name BOM

Product number assigned product

Product name assigned product

Quantity

SW10098

Heavy Duty Cotton Cutter Claw

SW10088

Awesome Paper Lyrichord

1

Alternatively:

Produktnummer Stückliste;Produktname Stückliste;Produktnummer zugeordnetes Produkt;Produktname zugeordnetes Produkt;MengeSW10098;Heavy Duty Cotton Cutter Claw;SW10088;Awesome Paper Lyrichord;1

Removing products

If you want to remove products from the BOM, the quantity 0 must be entered for the corresponding product. Simply removing the row is not enough here.

In this example, the product with the number SW10088 ("Awesome Paper Lyrichord") is removed from the BOM SW10098 ("Heavy Duty Cotton Cutter Claw").

Product number BOM

Product name BOM

Product number assigned product

Product name assigned product

Quantity

SW10098

Heavy Duty Cotton Cutter Claw

SW10088

Awesome Paper Lyrichord

0

Alternatively:

Produktnummer Stückliste;Produktname Stückliste;Produktnummer zugeordnetes Produkt;Produktname zugeordnetes Produkt;MengeSW10098;Heavy Duty Cotton Cutter Claw;SW10088;Awesome Paper Lyrichord;0

Importing the updates in the Shopware Admin

Once you've completed all changes, save the file in CSV format and upload it again via Catalogues → Bill of materials → Import. As soon as you reload the page in your browser, the changes will become visible.

Stock of BOMs

Since the availability of a BOM depends on the availability of the assigned products, BOMs themselves don't have their own stock. For comparison, here's the Stock tab of a regular product:

This is what the Stock tab looks like after the product has been converted into a BOM:

A BOM itself is never stock-managed. The stock of a BOM is calculated as follows based on the availability of the assigned products:


Assigned products for which stock management is disabled are not included in the stock calculation.

If stock management is disabled for all assigned products, the available stock is based on the maximum order quantity and looks like this in your Shopware Admin:

The maximum order quantity of the BOM has a higher priority than that of the assigned products. Only if your BOM has no maximum order quantity assigned does the calculation fall back to the maximum order quantity of your assigned products. You can view and set the maximum order quantity in the product details of your BOM or your product in the Availability tab.

Please also note that the stock of your BOM can behave differently when you set the sell-off of your products or the BOM, and when you disable stock management for products.

The following points must be taken into account when calculating availability:

With sell-off enabled for the BOM:

Assigned products:

All assigned products have disabled stock management

Some assigned products have disabled stock management

None of the assigned products have disabled stock management

All assigned products have sell-off enabled

impossible

impossible

Available, if the available stock of the BOM > 0

Orderable quantity = min(available stock of the BOM; maximum order quantity)

Some assigned

products have disabled stock management

impossible

Available, if the available stock of the BOM > 0

Orderable quantity = min(available stock of the BOM; maximum order quantity)

Available, if the available stock of the BOM > 0

Orderable quantity = min(available stock of the BOM; maximum order quantity)

None of the assigned products have disabled stock management (stock management is enabled for all products)

Always available


Orderable quantity =
maximum order quantity

Available, if the available stock of the BOM > 0

Orderable quantity = min(available stock of the BOM; maximum order quantity)

Available, if the available stock of the BOM > 0

Orderable quantity = min(available stock of the BOM; maximum order quantity)

With sell-off disabled for the BOM:

Assigned products:

All assigned products have disabled
stock management

Some assigned

products have disabled
stock management

No assigned

products have disabled
stock management

All assigned products have
sell-off enabled

impossible

impossible

Available, if the available stock of the BOM > 0

Orderable quantity = min(available stock of the BOM; maximum order quantity)

Some assigned products have
sell-off enabled

impossible

Available, as long as all assigned products are available*
Orderable quantity = min(available stock of the BOM; maximum order quantity)

Available, as long as all assigned products are available*

Orderable quantity = min(available stock of the BOM; maximum order quantity)

All assigned products have
sell-off disabled

Always available

Orderable quantity =
maximum order quantity

Always available

Orderable quantity =
maximum order quantity

Always available

Orderable quantity =
maximum order quantity

Note on customs information for BOM articles

When export documents are created for orders containing BOM articles, it's important that a fallback customs value in the default currency is set for the sub-articles.
Since sub-articles are always added to orders at €0, missing price information may otherwise appear in the export documents.

Fallback Zollwert.png

The customs value is determined in the following order:

  1. Price of the order line item

  2. If this is €0: customs value of the product

  3. If this is also €0: price of the product in the default currency

If the main article (i.e. the BOM article itself) has a price, this is used automatically. In this case, no additional fallback customs value is needed for the sub-articles.

You can find more detailed information in the article here.

More articles on bill of materials

Did this answer your question?