首页 > 解决方案 > 使用唯一 ID 识别发票中的产品 - Xero API

问题描述

我正在尝试使用 c# 中的 Xero API 从 xero 帐户导入发票。invoice 对象中的 LineItems 集合表示作为发票一部分的发票项目。我想在发票中识别具有唯一 ID 的产品,例如

Invoice1 有 2 个行项目,即 P1 和 P2。同样,Invoice2 有 2 个行项目,又称为 P1 和 P2。当我遍历发票的集合时,我想用唯一的 ID 识别产品 P1 和 P2 并将它们存储在我的数据库中。然后在迭代循环中,每当我遇到 P1/P2 项目时,我应该知道这些产品已经以唯一 id 存储到数据库中,不需要再次保存这些产品,因为它已经存储了。

我认为 LineItemId 和 ItemCode 可能会有所帮助,但 LineItemId 是每次生成的新 Id,我注意到 Itemcode 多次为空。那么有什么方法可以为订单项分配唯一的产品 ID 吗?

感谢帮助,

标签: xero-api

解决方案


LineItemId 是每个发票的每个行项目的唯一 ID,与产品无关,因此这不是您想要的。

如果 ItemCode 缺失或为空,这意味着该产品没有保存在 Xero 产品数据库中,只是作为“一次性”添加,理论上它永远不会再被看到。因此,无法识别不存在的产品。如果这些项目真的不只是“一次性”,那么它们应该被添加到数据库中并给出一个 ItemCode。所以问题在于 Xero 的使用方式。

将其添加为项目后,您可以使用项目端点 (/api.xro/2.0/Items) 来获取作为 GUID 的 ItemID,应使用 ItemCode 将其存储在您的数据库中。


推荐阅读