Just found another bug with Custom Products (which I heavily use).
Here are the steps to reproduce:
Add a paid invoice to any random account in ACP and add a Custom Product with it.
In the Client Area Display tab insert some text and an attachment.
Now go to the user's account and edit the custom Product (pencil button) from there: add some more text, delete the attachment, and upload a new file.
After saving the changes go back and edit again the custom product: nothing has changed except for the fact that the old attachment and the new one are both there now.
Now try adding another invoice with a NEW Custom Product and you'll find the editor in the Client Area Display tab prefilled with the original text and both attachments from before.
In some cases, the old attachment is still there but the editor doesn't display it instead. I'm not sure of the steps to reproduce this just yet though. I'll keep looking.
===
Overall Custom Products have a lot of little bugs here and there:
There's no way to immediately add custom fields (like URL, FTP details, accounts, etc) when adding/editing the package itself but going and editing each custom field individually the custom packages show up there.
It's hard to find them once they're added to a single account, there's no easy way or some kind of custom group to list all of them in one place.
Settings for them are saved when you initially create them from an invoice but editing them after they're added to the user account doesn't save some things.
Custom products don't show up in certain settings (like associable products when editing a department).
Honestly, the whole situation is a mess... 🙄