Веб-коннектор Quickbooks выдает ошибку разбора при попытке добавить накладную с полем InventorySiteRef.
0x80040400: QuickBooks обнаружил ошибку при анализе предоставленного потока текста XML.
Ниже мой поток XML.
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="continueOnError">
<InvoiceAddRq requestID="' . $requestID . '">
<InvoiceAdd>
<CustomerRef>
<ListID>' . $invoice['customer_id'] . '</ListID>
</CustomerRef>
<RefNumber>' . $invoice['ref_number'] . '</RefNumber>
<BillAddress>
<Addr1>' . $invoice['bill_addr1'] . '</Addr1>
<Addr2>' . $invoice['bill_addr2'] . '</Addr2>
<Addr3>' . $invoice['bill_addr3'] . '</Addr3>
<Addr4>' . $invoice['bill_city'] . '</Addr4>
<State>' . $invoice['bill_state'] . '</State>
<PostalCode>' . $invoice['bill_postalcode'] . '</PostalCode>
</BillAddress>
<ShipAddress>
<Addr1>' . $invoice['ship_addr1'] . '</Addr1>
<Addr2>' . $invoice['ship_addr2'] . '</Addr2>
<Addr3>' . $invoice['ship_addr3'] . '</Addr3>
<Addr4>' . $invoice['ship_city'] . '</Addr4>
<State>' . $invoice['ship_state'] . '</State>
<PostalCode>' . $invoice['ship_postalcode'] . '</PostalCode>
</ShipAddress>
<PONumber>' . $invoice['po_number'] . '</PONumber>
<DueDate>' . $invoice['due_date'] . '</DueDate>
<ShipDate>' . $invoice['ship_date'] . '</ShipDate>
<Memo>' . $invoice['memo'] . '</Memo>
<InvoiceLineAdd>
<ItemRef>
<FullName>'.$line['item_name'].'</FullName>
</ItemRef>
<Quantity>'.$line['quantity'].'</Quantity>
<Rate>'.$line['rate'].'</Rate>
<Amount>'.$line['amount'].'</Amount>
<InventorySiteRef>
<FullName>Odessa</FullName>
</InventorySiteRef>
<InventorySiteLocationRef>
<FullName>Odessa</FullName>
</InventorySiteLocationRef>
</InvoiceLineAdd>
</InvoiceAdd>
</InvoiceAddRq>
</QBXMLMsgsRq>
Я тоже пробовал только с
<InventorySiteRef>
<FullName>Odessa</FullName>
</InventorySiteRef>
А также пробовал только
<InventorySiteLocationRef>
<FullName>Odessa</FullName>
</InventorySiteLocationRef>
Когда я попытался добавить счет-фактуру без InventorySiteRef и InventorySiteLocationRef, счет-фактура тега была успешно создана
Я думаю, что InventorySiteRef не является определением, где-то в QuickBooks консолидировать PHP DevKit.
Включите подробное ведение журнала и посмотрите, что на самом деле генерируется QBXML. QBXML будет в файле журнала.
https://help.developer.intuit.com/s/article/QBD-QBSDK-Logging
Возьмите сгенерированный QBXML и запустите его через программу проверки, включенную в QBXML SDK.
Убедитесь, что у вас правильный порядок тегов и он соответствует экранному справочному руководству.
https://developer-static.intuit.com/qbsdk-current/common/newosr/index.html
Других решений пока нет …