Assuming newcustomfields is required, the following result was found.
// // copy existing custom fields (not required but just in case) l_CustomFields = invoice.get("custom_fields"); l_NewCustomFields = List(); for each m_CustomField in l_CustomFields { // exclude existing custom field payment mode and date...