不支持java操作:具有BillableStatus的费用在采购中应具有AccountBasedExpenseLineDetail行的CustomerRef
我尝试使用PHP SDK向QBD提交一份购买支票,请求内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Purchase xmlns:ns0="http://schema.intuit.com/finance/v3" domain="QB">
<ns0:TxnDate>2014-02-21</ns0:TxnDate>
<ns0:PrivateNote>Test for QBD Purchase Check</ns0:PrivateNote>
<ns0:Line>
<ns0:Description>E1</ns0:Description>
<ns0:Amount>10.00</ns0:Amount>
<ns0:DetailType>AccountBasedExpenseLineDetail</ns0:DetailType>
<ns0:AccountBasedExpenseLineDetail>
<ns0:ClassRef name="Coffee and tea">QB:8</ns0:ClassRef>
<ns0:AccountRef name="Computer and Internet Expenses">QB:10</ns0:AccountRef>
<ns0:BillableStatus>NotBillable</ns0:BillableStatus>
<ns0:TaxCodeRef>NON</ns0:TaxCodeRef>
</ns0:AccountBasedExpenseLineDetail>
</ns0:Line>
<ns0:Line>
<ns0:Description>E2</ns0:Description>
<ns0:Amount>15.00</ns0:Amount>
<ns0:DetailType>AccountBasedExpenseLineDetail</ns0:DetailType>
<ns0:AccountBasedExpenseLineDetail>
<ns0:CustomerRef name="Arnold Schwarzenegger">QB:3</ns0:CustomerRef>
<ns0:ClassRef name="Alcoholic beverages">QB:2</ns0:ClassRef>
<ns0:AccountRef name="Computer and Internet Expenses">QB:10</ns0:AccountRef>
<ns0:BillableStatus>NotBillable</ns0:BillableStatus>
<ns0:TaxCodeRef>NON</ns0:TaxCodeRef>
</ns0:AccountBasedExpenseLineDetail>
</ns0:Line>
<ns0:AccountRef name="My Bank Account">QB:30</ns0:AccountRef>
<ns0:PaymentType>Check</ns0:PaymentType>
<ns0:EntityRef name="Herry Pilor">QB:9</ns0:EntityRef>
<ns0:TotalAmt>25.00</ns0:TotalAmt>
</ns0:Purchase>
但是,由于这两行都标记为BillableStatus=NotBillable,因此第一行没有CustomerRef
提交该内容应获得以下响应消息:
http://schema.intuit.com/finance/v3" time="2014-02-21T09:04:42.972Z">Operation failed with errors:
Operation not supported: Expense with BillableStatus should have CustomerRef for AccountBasedExpenseLineDetail Line in Purchase </Message></Error></Fault></IntuitResponse>
所以问题是,当BillableStatus=NotBillable时,为什么需要Customer
但在以前的JavaAPI版本中,当不计费时,没有客户期望
请给我一些建议。 谢谢
# 1 楼答案
如果未指定CustomerRef,则必须从请求中排除BillableStatus。这是一个众所周知的问题