You could use a production order, adding non-inventory costs equal to the purchase invoice for the sewing service. In doing so, you could post the sewing service purchase invoice to an expense account and post the non-inventory production order cost to the same. This will have the effect of transferring the sewing service cost to the Inventory on hand account for the finished duvet, along with the cost of the fabric. Of course, this approach requires that you create the finished duvet as an inventory item first. If you are never going to sell this particular duvet again, that would result in an ever-growing list of inventory items not in stock.
Another approach, as you suggested, is to simply record the sewing purchase invoice as a subcontract labor expense. Then, when invoicing the customer, add a line item for sewing service in the same or higher amount. There would be no direct link between the transactions, but the difference between the two amounts, if any, will be your profit on the sewing. The rest of the cost of the duvet would be recovered through other line items on the sales invoice. This approach would not, however, treat the sewing service as part of the cost of goods.
There have been other discussions on the forum in recent weeks about how to handle subcontracted production labor. You might get other ideas by reading them.