QuickBooks SDK 中签入的名称
我有一个客户要求将 QuickBooks 中编写的支票导出为特定格式,因为他们的银行允许通过上传文件来防止欺诈,并且他们会在清算之前根据您提供的名称验证支票上的名称。
我查看了 QuickBooks SDK(我们通常使用 XML 进行通信),它引用了支票上名为 PayeeEntityRef 的字段,并具有 FullName 属性,但通常在 QuickBooks 中,该数据结构将指示实体的名称,而不是显示在检查(例如,供应商有一个 NameOnCheck 属性,该属性可以是其名称以外的其他内容)。
如果没有编写多个测试用例来演示 QuickBooks 行为,是否有人有获取支票上打印的姓名的经验?最好的方法是什么?
I have a customer requirement to export the checks written in QuickBooks into a specific format because their bank allows fraud prevention by uploading a file and they verify the name on the check against what you give them before clearing it.
I looked at the QuickBooks SDK (we use the XML to communicate in general) and It references a field on the check called PayeeEntityRef with a FullName property, but typically in QuickBooks that data structure would indicate what the entity is called, not what appears on the check (Vendors have a NameOnCheck property, for example, which can be something other than their name).
Without coding up multiple test cases to demonstrate QuickBooks behavior here, does anyone have experience with getting the name as it was printed on the check? What is the best way to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
获得您想要的东西在某种程度上是可能的,但是会出现一些问题,您需要让客户知道。主要问题是无法检索支票上打印的实际姓名。
您首先需要查询支票/账单付款 - 银行帐户的支票。然后,使用 PayeeEntityRef(我将使用 ListID 组件)找出该实体位于哪个“列表”上;客户、供应商、员工或其他。除了对每个列表进行查询之外,我不知道有什么方法可以判断 PayeeEntityRef 来自哪个列表。
如果 PayeeEntityRef 是供应商或员工,则您可以检索 NameOnCheck 值。您需要记住的唯一一件事是,如果在打印支票后修改了 NameOnCheck,则名称将不匹配。
如果 PayeeEntityRef 是客户或其他名称,那么您必须做更多的事情。 QuickBooks 用于打印姓名的值取决于为客户记录填写的字段。如果 CompanyName 字段不为空,它将首先使用该字段。接下来,它将尝试使用 First/Middle/LastName 字段(如果它们不为空)。最后,它将使用“名称”字段作为最后的手段。请记住,这不是 FullName 字段,而只是 Name 字段。
我还没有使用“其他”名称对此进行测试,因为我让我的客户尝试不使用该列表,但我认为它与客户的工作方式类似。
It's somewhat possible to get what you are wanting, but there are going to be some hiccups that you'll need to let you client know about. The main problem being that there's no way to retrieve the actual name printed on the check.
You would first need to query for the Checks/Bill Payment - Checks for the bank account. Then, using the PayeeEntityRef (I would use the ListID component) figure out which "List" the entity is on; Customer, Vendor, Employee, or Other. I don't know of any way to tell which list the PayeeEntityRef is from other than doing a query for each of the lists.
If the PayeeEntityRef is a Vendor or Employee, then you can retrieve the NameOnCheck value. The only thing you would need to keep in mind is that if the NameOnCheck has been modified AFTER the check was printed, the names will not match.
If the PayeeEntityRef is a Customer or Other name, then you have to do a little bit more. The value that QuickBooks uses for the printed name is based on what fields are filled out for the customer record. It first will use the CompanyName field if it is not null. Next, it will try to use the First/Middle/LastName fields, if they are not null. Finally, it will use the Name field as a last resort. Keep in mind that this is not the FullName field, just the Name field.
I haven't tested this with an "Other" name, as I have my clients try not to use that list, but I would imagine it's similar to how Customers work.