使用IPP SDK API通过.NET将销售收据添加到Quickbooks Online

时间:2018-08-09 22:35:34

标签: api sdk quickbooks

这可能有一个非常明显的答案,但是我一直在寻找它几个小时。

我正在尝试弄清楚如何使用sdk api创建销售收据,以便将客户的付款与其发票相链接。据我所知,如果不这样做,付款将存入帐户,但发票将永远不会更新。

我能够读取发票,进行信用卡或电子支票付款,以及阅读客户记录。

但是我正在尝试创建销售收据,但我不确定如何去做。

我可以阅读客户记录,但是如何将其添加到销售收据中?

这只是给我一个语法错误:

Customer customer = readCustomerUsingEmail(email);

SalesReceipt salesReceipt = new SalesReceipt();
salesReceipt.CustomerRef  = Customer;

当我将鼠标悬停在客户上方时,它指出“无法将类型'Intuit.Ipp.Data.Customer'隐式转换为'Intuit.Ipp.Data.ReferenceType'”。

编辑:好的。我现在使用的是Payment对象,而不是SalesReceipt对象。

认为我已经找到答案了,但是还没有运行。它只是没有显示语法错误。

 ReferenceType customerRef = new ReferenceType()
        {
            Value = customerData.Customer.Id,
            name = customerData.Customer.DisplayName
        };
        payment.CustomerRef = customerRef;

1 个答案:

答案 0 :(得分:0)

您正在尝试在这里做一些非常错误的事情:create the sales receipt using the sdk api, for linking a payment made by a customer to his invoice

那不是销售收据做什么。

发票-表示客户欠您钱。

付款-表示客户已向您付款-这本质上是发票的“另一面”。您创建一张发票以表明他们欠钱,然后创建一笔付款来还清发票。

销售收据-表示客户同时欠您已付款的款项。例如这本质上是将发票和付款组合成一个对象,以便在发票和付款同时发生时使用。

S ...

  1. 销售收据不能链接到发票
  2. 未使用销售收据 将付款链接到发票

您应该做的只是创建付款,然后将付款直接链接到发票。要创建付款,您需要至少提供:

  • 客户(CustomerRef字段)
  • 总金额(TotalAmt字段)
  • Line对象(用于链接到发票)
  • Amount行(如果是单张发票的付款,则通常等于TotalAmt字段
  • 一个LinkedTxn节点,链接到要付款的发票(TxnId字段)

在此处查看创建付款和其他文档的示例:https://developer.intuit.com/docs/api/accounting/payment

示例:

{
    "CustomerRef":
    {
        "value": "20",
        "name": "Red Rock Diner"
    },
    "TotalAmt": 55.00,
    "Line": [
    {
        "Amount": 55.00,
        "LinkedTxn": [
        {
            "TxnId": "69",
            "TxnType": "Invoice"
        }]
    }]
}

这里有大量示例代码:

还有一个专门针对Payment的用户: