User Defined Fields Data

We use UDFs on our Invoices to populate fields with both product codes and lot numbers. If those items are already part of the products invoiced, all is good. If we have to manually enter product codes or lot numbers, we have a weird issue. I'll try to explain as simply as I can. I am learning my way through supporting Sage, so forgive my noob status. I know I have asked a few very rudimentary questions, but this forum has taught me TONS! So thank you to this community for the superb and FREE support!

The problem is this:

In some circumstances, our customers have their own product specific codes, or they want to assign lot numbers to items they purchase from us that typically are not lotted. In those two instances, we write in their product specific codes, or their preferred lot number into a UDF in Sales Order Entry. When we do this for products that we sell out of the same batch to multiple customers, it populates the first sales order placd with the appropriate code and/or lot number in the Invoice, but then for subsequent customers that order the same product sold out of the same batch, their specific codes and/or ot numbers become the same as the first customer. Essentially it won't populate the code or lot number fields in the Invoice report with their specific numeric values. All customers get the same code/lot number as the first.

The form hasn't changed since we upgraded from Mas90 4.3 to Sage 100 Advanced 2019, so I'm thinking the issue exists deeper in Sage than just the Crystal Report, although I have written functions to successfully pull these values into the Invoice. It's not a huge deal, but it does cause extra time for our orders team who have to white-out the incorrect codes and lots and write in the proper ones. 

Any thoughts? It's a weird one.