When using a record producer that has an HTML variable, any attachments added to the HTML variable are not copied to the generated record.
This can happen if a custom SC Catalog Item widget is being used instead of the OOB widget. The custom widget will likely not contain the client controller code that will copy the sys_attachment record from the sc_cat_item to the generated record.
To resolve this, using the OOB widget is recommended.
If needed, a clone of the OOB widget can be made and updated to fit the use case that the previous custom widget intended to fill.