Я пытаюсь создать элемент программно в Quickbooks Desktop Version 15.0. Я использую Quickbooks SDK 13.0.Quickbooks InventoryItemAdd COGSAccountRef Не принимается запрашиваемый тип данных
Вот мой 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.
У меня также есть инвентарь включен в быстрых книгах.