Quickbooks InventoryItemAdd COGSAccountRef不接受它的请求数据类型

时间:2015-08-04 04:53:49

标签: xml quickbooks intuit

我正在尝试在Quickbooks Desktop 15.0版中以编程方式创建项目。我正在使用Quickbooks SDK 13.0。

这是我的xml

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError"> 
<ItemInventoryAddRq> 
<ItemInventoryAdd> <!-- required --> 
<Name >Cash Sales</Name> <!-- required -->
<IncomeAccountRef> <!-- optional --> 
<FullName >Food Sales</FullName> <!-- optional -->
</IncomeAccountRef>
<AssetAccountRef> <!-- optional --> 
<FullName >Food Sales</FullName> <!-- optional -->
<COGSAccountRef>
<FullName>Cost of Goods Sold</FullName>
</COGSAccountRef>
</AssetAccountRef>
</ItemInventoryAdd>
</ItemInventoryAddRq>
</QBXMLMsgsRq> 
</QBXML>

我从xml验证器收到此错误:

Src Text: <COGSAccountRef>
Reason: Element content is invalid according to the DTD/Schema.

COGSAccountRef正在请求给出的STRTYPE变量,但它并不想接受它。如果我删除了这个标签,验证器会说它是一个有效的xml代码,但我收到了来自quickbooks的回复说:

<ItemInventoryAddRs statusMessage="There was an error when saving a Item Inventory list, element "Cash Sales". QuickBooks error message: A COGS account must be specified." statusSeverity="Error" statusCode="3180"/>

我还尝试使用ListID,以及在quickbooks中手动创建项目,然后查询quickbooks以获取为该项目存储的xml以使用它的COGSAccountRef xml。

我也在快速书中启用了库存。

1 个答案:

答案 0 :(得分:1)

原来我的标签出了故障,万一以后有人需要知道。我刚刚将COGSAccountRef移到了AssetAccount以上而且它运作良好。