How are you "copying" the value? The copy and paste script steps will fail silently (no visible error message) if the referenced field is not on your current layout--that's one possible explanation here.
What version of Filemaker are you using?
If it's new enough to support passing a parameter to a script, you could pass the item number as a parameter to a script in the second database.
In Invoices, your script would include this line:
Perform Script ["YourExternalScriptName" from file: "ProductDatabaseFileName" ; Parameter: Invoices::YourItemNumberField]
In your Product database, you'd have a script like this:
Enter Find Mode
Set Field[Product::ItemNumber; Get(ScriptParameter)]
Set Field [Product::Sold Date ; Get ( CurrentDate) ]
If you can't pass a script parameter, you could store the item number in a global field instead of using copy/paste.