В некоторой степени можно получить то, что вы хотите, но будут некоторые икоты, о которых вам нужно будет сообщить клиенту. Основная проблема заключается в том, что нет способа получить фактическое имя, напечатанное на чеке.
Сначала необходимо запросить чеки / платежи по счетам - чеки для банковского счета. Затем, используя PayeeEntityRef (я бы использовал компонент ListID), выясните, в каком «Списке» находится объект; Клиент, Продавец, Сотрудник или Другой. Я не знаю, как определить, из какого списка получен PayeeEntityRef, кроме как сделать запрос для каждого из списков.
Если PayeeEntityRef является Продавцом или Сотрудником, то вы можете получить значение NameOnCheck. Единственное, что вам нужно иметь в виду, это то, что если NameOnCheck был изменен ПОСЛЕ печати чека, имена не будут совпадать.
Если PayeeEntityRef - это имя клиента или другого, то вам нужно сделать немного больше. Значение, которое QuickBooks использует для напечатанного имени, основано на том, какие поля заполнены для записи клиента. Сначала оно будет использовать поле CompanyName, если оно не равно нулю. Затем он попытается использовать поля First / Middle / LastName, если они не равны NULL. Наконец, он будет использовать поле «Имя» в качестве последнего средства. Помните, что это не поле FullName, а поле Name.
Я не проверял это с именем «Другое», поскольку мои клиенты стараются не использовать этот список, но я думаю, это похоже на то, как работают клиенты.