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