Много лет назад я написал пользовательскую интеграцию между системой на базе SQL Server и QuickBooks, которая автоматически создает счета в QuickBooks из данных на SQL Server. XML строка для создания счетов-фактур довольно проста: система, основаннаяQuickBooks API Invoice <DueDate> tag
<QBXML>
<QBXMLMsgsRq newMessageSetID="10025027" onError="continueOnError">
<InvoiceAddRq requestID="10025027">
<InvoiceAdd>
<CustomerRef>
<FullName>Acme Corporation, Inc.</FullName>
</CustomerRef>
<TxnDate>2014-02-05</TxnDate>
<RefNumber>124</RefNumber>
<ShipAddress>
<Addr1>16-01 16th Avenue, Dock 3</Addr1>
<Addr2/>
<Addr3/>
<Addr4/>
<City>Astoria</City>
<State>NY</State>
<PostalCode>11105</PostalCode>
</ShipAddress>
<PONumber> 6028019</PONumber>
<SalesRepRef>
<FullName>H</FullName>
</SalesRepRef>
<Memo>1401106</Memo>
<InvoiceLineAdd>
<ItemRef>
<FullName>SALES</FullName>
</ItemRef>
<Desc> Semi Annual Sampling - M1; Day 1</Desc>
<Rate>5580</Rate>
</InvoiceLineAdd>
</InvoiceAdd>
</InvoiceAddRq>
</QBXMLMsgsRq>
</QBXML>
SQL Server фактически печатает подробные счета-фактуры, которые доставляются заказчику, QuickBooks используется только для отслеживания остатков по счетам и платежам. Я сейчас пытаюсь добавить DueDate к фактуре, добавив следующий XML-тег:
<DueDate>2014-03-07</DueDate>
Я попытался поместить этот тег в нескольких местах в строке XML, но QuickBooks отклоняет запрос со следующей ошибкой:
«QuickBooks обнаружил ошибку при анализе предоставленного текстового потока XML».
Бухгалтер может вручную изменить срок оплаты счетов-фактур после их создания, но по какой-то причине я не могу указать дату выполнения при создании счетов-фактур с помощью API QuickBooks. Есть идеи?
Спасибо.
Возможно, вам следует отправить свой XML-запрос *, фактически показывающий, где вы пытаетесь поместить тег DueDate *? –