我有客户要求将QuickBooks中写入的支票导出为特定格式,因为他们的银行可以通过上传文件来防止欺诈,并且在清除之前验证支票上的名称是否与您提供的内容有关。
我查看了QuickBooks SDK(我们通常使用XML进行通信),它引用了一个名为PayeeEntityRef的检查字段,其中包含FullName属性,但通常在QuickBooks中,数据结构将指示实体的调用内容,而不是支票上显示的内容(例如,供应商有一个NameOnCheck属性,可以是其名称之外的其他属性)。
如果没有编写多个测试用例以在此处演示QuickBooks行为,是否有人在获取打印在支票上的名称时有经验?最好的方法是什么?
答案 0 :(得分:3)
有可能得到你想要的东西,但是你需要让你的客户知道一些小问题。主要问题是无法检索支票上印刷的实际名称。
您首先需要查询支票/账单支付 - 检查银行账户。然后,使用PayeeEntityRef(我会使用ListID组件)找出实体所在的“List”;客户,供应商,员工或其他。除了对每个列表进行查询之外,我不知道有什么方法可以告诉PayeeEntityRef来自哪个列表。
如果PayeeEntityRef是供应商或员工,则可以检索NameOnCheck值。您唯一需要记住的是,如果在打印支票后修改了NameOnCheck,则名称将不匹配。
如果PayeeEntityRef是客户或其他名称,那么您必须多做一点。 QuickBooks用于打印名称的值取决于为客户记录填写的字段。如果它不为null,它将首先使用CompanyName字段。接下来,如果它们不为null,它将尝试使用First / Middle / LastName字段。最后,它将使用Name字段作为最后的手段。请记住,这不是FullName字段,只是Name字段。
我没有使用“其他”名称对此进行测试,因为我的客户尝试不使用该列表,但我认为它与客户的工作方式类似。