如何创建(或更新)QBO BillPayment以使其具有未应用的付款金额?

时间:2014-12-11 14:45:50

标签: quickbooks intuit-partner-platform quickbooks-online

我通过QuickBooks Online(QBO)Web UI创建了一个帐单。然后我查询了使用API​​(v3,记录为here)。回复:

{
    "SyncToken": "16", 
    "domain": "QBO", 
    "VendorRef": {
        "name": "MyVendor", 
        "value": "237"
    }, 
    "TxnDate": "2014-12-07", 
    "TotalAmt": 1.83, 
    "CurrencyRef": {
        "name": "United States Dollar", 
        "value": "USD"
    }, 
    "PayType": "Check", 
    "PrivateNote": "test billpayment description (mod)", 
    "sparse": false, 
    "Line": [
        {
            "Amount": 1.22, 
            "LinkedTxn": [
                {
                    "TxnId": "1412", 
                    "TxnType": "Bill"
                }
            ]
        }
    ], 
    "Id": "1413", 
    "CheckPayment": {
        "PrintStatus": "NeedToPrint", 
        "BankAccountRef": {
            "name": "MyBankAcct#1234", 
            "value": "137"
        }
    }, 
    "MetaData": {
        "CreateTime": "2014-12-07T18:44:51-08:00", 
        "LastUpdatedTime": "2014-12-10T20:20:28-08:00"
    }
}

正如你所看到的,它没有应用任何账单的TotalAmt的0.61美元。(其他1.22美元适用于比尔1412.)现在,当我尝试将此账单更新为只更改应用于链接交易的金额,我得到意想不到的结果。

这是更新请求正文:

{
    "SyncToken": "16", 
    "domain": "QBO", 
    "VendorRef": {
        "name": "MyVendor", 
        "value": "237"
    }, 
    "TxnDate": "2014-12-07", 
    "TotalAmt": 1.83, 
    "CurrencyRef": {
        "name": "United States Dollar", 
        "value": "USD"
    }, 
    "PayType": "Check", 
    "PrivateNote": "test billpayment description (mod)", 
    "sparse": false, 
    "Line": [
        {
            "Amount": 1.21, 
            "LinkedTxn": [
                {
                    "TxnId": "1412", 
                    "TxnType": "Bill"
                }
            ]
        }
    ], 
    "Id": "1413", 
    "CheckPayment": {
        "PrintStatus": "NeedToPrint", 
        "BankAccountRef": {
            "name": "MyBankAcct#1234", 
            "value": "137"
        }
    }, 
    "MetaData": {
        "CreateTime": "2014-12-07T18:44:51-08:00", 
        "LastUpdatedTime": "2014-12-10T20:20:28-08:00"
    }
}

在响应中,似乎API基本上无法处理这种情况(即使我在Web UI中创建它时显然存在)。 看看TotalAmt属性会发生什么变化!它减少到LinkedTxn中的付款:

{
  "BillPayment": {
    "VendorRef": {
      "value": "237",
      "name": "MyVendor"
    },
    "PayType": "Check",
    "CheckPayment": {
      "BankAccountRef": {
        "value": "137",
        "name": "MyBankAcct#1234"
      },
      "PrintStatus": "NeedToPrint"
    },
    "TotalAmt": 1.21,
    "domain": "QBO",
    "sparse": false,
    "Id": "1413",
    "SyncToken": "17",
    "MetaData": {
      "CreateTime": "2014-12-07T18:44:51-08:00",
      "LastUpdatedTime": "2014-12-10T20:25:02-08:00"
    },
    "TxnDate": "2014-12-07",
    "CurrencyRef": {
      "value": "USD",
      "name": "United States Dollar"
    },
    "PrivateNote": "test billpayment description (mod)",
    "Line": [
      {
        "Amount": 1.21,
        "LinkedTxn": [
          {
            "TxnId": "1412",
            "TxnType": "Bill"
          }
        ]
      }
    ]
  },
  "time": "2014-12-10T20:25:01.91-08:00"
}

我在known issues page上没有看到对此的讨论,所以我很困惑。

如果您对如何做到这一点有任何建议,我感谢您的想法!

0 个答案:

没有答案