Adding Components to a Product

Explains how component/package lines are attached to a product so that ordering the product automatically adds the right component items as separate line items on the order.

Steps to Follow

Open the product in wp-admin (Products) that you want to attach components to.
Make sure component inclusion is enabled for this product, this is a per-product setting; if it isn't enabled, component lines will never be added to orders for it.
For a simple product, add each component line using the format: quantity:sku:name, for example 2:BOLT-M4:M4 Bolt. Each line is one component.
For a variable product, decide whether the component applies to every variation (set it at the product level) or only to a specific variation (set it on that variation's own line list).
If the SKU on a component line doesn't match any real product/variation SKU in the store, the line will still show on the order for reference, but it won't pull in an actual orderable item, so double check the SKU is correct and exists.
If the product is a package/bundle built with WPC Product Bundles (WooSB), component lines are read from the bundle's own child items rather than a separate list, so make sure the bundle's included items and their attributes are set correctly, since components are matched against the bundle's selected variation attributes.
Save the product.
Test by placing (or manually creating) an order for the product and confirming the expected component lines appear as separate items on the order, with zero price (components are informational/pick-list items, not additional charges).

WAPI vs WooSB, what's the difference

WAPI (Woo Addon - Package Inclusions) is an in-house plugin built and maintained by Ryner G. It's what actually reads component lines off a product and injects them onto an order as separate line items.
WooSB (WPC Product Bundles for WooCommerce) is a paid third-party plugin. It's what currently defines package/bundle products themselves, meaning the parent bundle, its selectable options, and which child products belong to it.
Right now, both are in use together: WooSB defines the bundle/package structure, and WAPI reads that structure (plus its own component lines on simple/variable products) to build the order line items.
The plan going forward is to phase WooSB out and have WAPI handle bundles/packages natively instead, so the store no longer depends on a paid third-party plugin for this. This is a migration, not a switch, since existing WooSB bundle products need to be duplicated/rebuilt under WAPI's own bundle handling before WooSB can be retired.
Until that migration is complete, don't assume every package product works the same way, check whether a given package is still a WooSB bundle or has already been rebuilt under WAPI before troubleshooting its component behaviour.

How this behaves on the order

When an order is created, each ordered product/variation is checked for component lines. If found, WAPI adds them to the order as their own line items, quantity multiplied by however many of the parent product were ordered.
These component line items are linked back to their parent line item internally, so if the parent line's quantity changes on the order, the component quantities update to match.
If a parent order line is deleted, its component lines are automatically removed with it.
Component lines added this way are hidden from the normal WooCommerce order-item meta display so the order screen doesn't get cluttered with internal tracking fields.

Notes

Component lines with a blank/invalid SKU or zero quantity still show on the order as a 'display-only' note line, they're informational only and don't add a real product.
If a component's product record can't be found at all (bad SKU, product deleted), it's flagged as 'no product id' rather than silently dropped, check these on the order and fix the SKU on the product if this happens.
Bundle (WooSB) products only pull in components when the bundle's per-product override setting is off, if a bundle has its own override enabled, its own bundle items are used instead of the parent component list.
WooSB is a paid plugin and is planned to be phased out entirely once all bundle/package products have been migrated to WAPI's own bundle handling, check with Ryner G before assuming a WooSB-specific fix is still needed on a given product.