如何在 Quickbooks Online API 中防止重复发票?

问题描述 投票:0回答:2

我一直在尝试将 Quickbooks Online API 与 PHP 集成到我的网站中,但我发现了一个问题,我可以继续创建相同的发票。

虽然这个论坛中已经接受了答案,但它确实很模糊而不准确。

“如果您没有 TxnID,则确实没有办法在 QuickBooks 中检测“重复”发票。

这是否意味着在创建发票时无法检查是否存在重复的发票?发票已通过 API 创建?

https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/invoice#create-an-invoice

创建发票时,“LinkedTxn”字段下返回的值始终为空

“您可以获得的最接近的是通过 RefNumber 查询...无法保证您从该查询中返回的发票就是您创建的发票。”

仍然与第一个相同,但我一直在文档下搜索 RefNumber 但我似乎找不到它。

  • 如果“RefNumber's”无法得到保证,那么其他的是什么 替代方案?
  • 我是否必须在本地处理此问题,或者至少在我的本地添加一列 用于指示项目是否已同步的本地表?

PS:我还尝试在创建发票字段中插入 txnid,但没有成功。

在沙盒上测试时我发现有这个数字,这叫什么?我可以用它来检查现有的发票吗?

php api quickbooks
2个回答
0
投票

您在屏幕截图中显示的

NO.
列是
DocNumber
字段。它位于此处的文档中:

大多数情况下,

DocNumber
是一个唯一字段。但并非在所有情况下(您会在与法国以及自定义文档编号相关的文档中看到一些例外情况)。

避免重复的最佳方法是跟踪您发送到 QuickBooks 的内容。在您这边,维护您发送到 QuickBooks 的内容的列表。已经发送过的请勿再发送。


0
投票

QBO“创建账单”API 的返回正文提供Id数据。

创建 Bill 返回的 Id 值就是您在 QBO GUI 中查找的确切信息

创建账单后,该值可用于调用“读取账单”并检查 QBO 填充的其他默认值

示例:DueDate(如果未提供)会自动填充)

© www.soinside.com 2019 - 2024. All rights reserved.