使用Quickbooks API创建检查
请帮助我使用QuickBooks online(Qbo)API编写支票。我尝试过这样做,但我总是收到一个错误,上面写着“验证详细信息行时出错:至少需要一个详细信息行”。下面是示例代码。。如何为支票添加行使用Quickbooks API创建检查,quickbooks,quickbooks-online,Quickbooks,Quickbooks Online,请帮助我使用QuickBooks online(Qbo)API编写支票。我尝试过这样做,但我总是收到一个错误,上面写着“验证详细信息行时出错:至少需要一个详细信息行”。下面是示例代码。。如何为支票添加行 Dim existingChk = New Qbo.Check() Dim existingChks = commonService.FindAll(existingChk, 1, 10).ToList()
Dim existingChk = New Qbo.Check()
Dim existingChks = commonService.FindAll(existingChk, 1, 10).ToList()
Dim payment = New Qbo.Payment()
Dim payments = commonService.FindAll(payment, 1, 10).ToList()
Dim qboCheck = New Intuit.Ipp.Data.Qbo.CheckHeader()
Dim bank = New Intuit.Ipp.Data.Qbo.Account()
bank.Type = Intuit.Ipp.Data.Qbo.AccountTypeEnum.Asset
Dim Banks = commonService.FindAll(bank, 1, 100).ToList()
Dim accountId As New Qbo.IdType
For Each bnk As Intuit.Ipp.Data.Qbo.Account In Banks
If bnk.Name = "Test Bank" Then
accountId = bnk.Id
End If
Next
qboCheck.BankAccountId = accountId
qboCheck.BankAccountName = "Test Bank"
qboCheck.TotalAmt = 20.0
qboCheck.Currency = Intuit.Ipp.Data.Qbo.currencyCode.USD
qboCheck.TxnId = payments(0).Id
Dim qboCustomer = New Intuit.Ipp.Data.Qbo.Customer()
Dim qboCustomers = commonService.FindAll(qboCustomer, 1, 10).ToList()
For Each cus As Intuit.Ipp.Data.Qbo.Customer In qboCustomers
If cus.Name.Contains("Customer1") Then
qboCheck.EntityId = cus.Id
End If
Next
qboCheck.EntityType = Qbo.EntityTypeEnum.Customer
Dim check = New Intuit.Ipp.Data.Qbo.Check()
check.Header = qboCheck
check.Id = New Qbo.IdType
check.Id.idDomain = existingChks(0).Id.idDomain
check.Id.Value = CInt(existingChks(0).Id.Value) + 1
Dim resultCheck As Qbo.Check = TryCast(commonService.Add(check), Qbo.Check)
看起来这是.NETdevkit中的一个bug(我不是100%确定)。 JavaDocs说accountId和itemId都是从LinePurchase(PFB快照)继承的。但在.NETdevkit中,我在LinePurchase和LineBase中都没有看到这些字段 JavaDoc参考- API端点工作正常
2013-08-09
44
2.
硬盘
如果可能的话,我将在周一使用.net devkit尝试此操作,并确认它是否是.net devkit中的错误
感谢为BillpaymentHeader的c添加伪代码
同样,您可以将其用于检查线:
billheader.ItemsElementName = new ItemsChoiceType[1];
billheader.ItemsElementName[0] = ItemsChoiceType.BankAccountId;
billheader.Items = new object[1];
billheader.Items[0] = new Intuit.Ipp.Data.Qbo.IdType() { idDomain = Intuit.Ipp.Data.Qbo.idDomainEnum.QBO, Value = "1" };
请参阅-如果您已经有账单,则只需使用billpayment API创建支票即可。
网址:
请求JSON数据:
{
"VendorRef": {
"value": "1",
"name": "vendor_name"
},
"PayType": "Check",
"CheckPayment": {
"BankAccountRef": {
"value": "1",
"name": "Test Account"
}
},
"TotalAmt": 100.00,
"PrivateNote": "Acct. 1JK90",
"Line": [
{
"Amount": 100.00,
"LinkedTxn": [
{
"TxnId": "1",
"TxnType": "Bill"
}
]
}
]
}
谢谢你的答复。。这个.Net开发工具包用于我们的应用程序可靠吗?有没有一种方法可以不使用这个SDK集成到API?Devkit很好。您需要使用items数组->Itemchoicetype1枚举。ItemsElementName返回ItemsChoiceType1[]参考-端点详细信息在IPP文档中可用。因此,您完全可以在不使用devkit的情况下调用此API。您需要使用一些Restclient,还需要解析响应XML。(Devkit要容易得多)
{
"VendorRef": {
"value": "1",
"name": "vendor_name"
},
"PayType": "Check",
"CheckPayment": {
"BankAccountRef": {
"value": "1",
"name": "Test Account"
}
},
"TotalAmt": 100.00,
"PrivateNote": "Acct. 1JK90",
"Line": [
{
"Amount": 100.00,
"LinkedTxn": [
{
"TxnId": "1",
"TxnType": "Bill"
}
]
}
]
}