Workaround for 'StockEntry' object does not support item assignment

Why is this disallowed in the first place and is there a workaround? I spent the day creating an API to automatically create stock entries using our company’s internal work order system. However, when I finally got to actually making the document insertion, Frappe suddenly tells me this isn’t allowed for some reason.

Is there a workaround? I thought of inserting BOM records instead but BOM also does not allow item assignment. Please help as the current process of creating similar stock entries for each unique item is very tedious.