【发布时间】:2019-11-19 11:21:47
【问题描述】:
我正在使用 conolibyte Keith Palmer 的 PHP SDK for QuickBooks Desktop 和 Web 连接器。 下面是销售收据 mod 请求的代码。这段代码一定有什么问题?我打印了xml。它正在正确打印。那么可能是什么原因导致该错误 - “QuickBooks 在解析提供的 XML 时发现错误”文本流请帮助我...... ………… .
$xml = '<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="2.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<SalesReceiptModRq requestID = "'.$requestID.'">
<SalesReceiptMod>
<TxnID>'.$row_invoice['quickbooks_txnID'].'</TxnID>
<EditSequence>'.$row_invoice['edit_sequence'].'</EditSequence>
<CustomerRef>
<ListID>'.$row_customer['quickbooks_listid'].'</ListID>
</CustomerRef>
<TxnDate>'.$row_invoice['invoice_date'].'</TxnDate>
<RefNumber>601</RefNumber>
<BillAddress>
<Addr1>'.$row_customer['address_1'].'</Addr1>
</BillAddress>';
while($row_invoice_details = mysqli_fetch_array($sql_sale_invoice_details))
{
$row_item = mysqli_fetch_array(mysqli_query($con,"SELECT quickbooks_listid FROM item WHERE item_id =".$row_invoice_details['item_id']));
$xml .= '
<SalesReceiptLineMod>
<TxnLineID>'.$row_invoice_details['quickbooks_txnLineId'].'</TxnLineID>
<ItemRef>
<ListID>'.$row_item['quickbooks_listid'].'</ListID>
</ItemRef>
<Desc>'.$row_invoice_details['description'].'</Desc>
<Quantity>'.$row_invoice_details['quantity'].'</Quantity>
<Rate>'.$row_invoice_details['price'].'</Rate>';
/////////check if tax is applied or not////////////////
if($row_invoice['sales_tax_percent']!=0)
{
$xml .= ' <SalesTaxCodeRef>
<FullName>tax</FullName>
</SalesTaxCodeRef>';
}
else
{
$xml .= '<SalesTaxCodeRef>
<FullName>non</FullName>
</SalesTaxCodeRef>';
}
///////////////////////////////////////
$xml.='</SalesReceiptLineMod>';
}
$xml .= '</SalesReceiptMod>
</SalesReceiptModRq>
</QBXMLMsgsRq>
</QBXML>';
return $xml;
下面是打印出来的xml
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="2.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<SalesReceiptModRq requestID = "1">
<SalesReceiptMod>
<TxnID>279-1574097843</TxnID>
<EditSequence>1574097843</EditSequence>
<CustomerRef>
<ListID>80000030-1573831750</ListID>
</CustomerRef>
<TxnDate>2019-11-18</TxnDate>
<RefNumber>601</RefNumber>
<BillAddress>
<Addr1>kothrud1234564789</Addr1>
</BillAddress>
<SalesReceiptLineMod>
<TxnLineID>27B-1574097843</TxnLineID>
<ItemRef>
<ListID>8000004A-1574094120</ListID>
</ItemRef>
<Desc>100 meter pipe</Desc>
<Quantity>1</Quantity>
<Rate>300</Rate> <SalesTaxCodeRef>
<FullName>tax</FullName>
</SalesTaxCodeRef></SalesReceiptLineMod>
<SalesReceiptLineMod>
<TxnLineID>27C-1574097843</TxnLineID>
<ItemRef>
<ListID>8000004B-1574094123</ListID>
</ItemRef>
<Desc>200 meters pipe</Desc>
<Quantity>1</Quantity>
<Rate>400</Rate> <SalesTaxCodeRef>
<FullName>tax</FullName>
</SalesTaxCodeRef></SalesReceiptLineMod>
<SalesReceiptLineMod>
<TxnLineID>27D-1574097843</TxnLineID>
<ItemRef>
<ListID>8000004C-1574094242</ListID>
</ItemRef>
<Desc>test desc</Desc>
<Quantity>1</Quantity>
<Rate>200</Rate> <SalesTaxCodeRef>
<FullName>tax</FullName>
</SalesTaxCodeRef></SalesReceiptLineMod></SalesReceiptMod>
</SalesReceiptModRq>
</QBXMLMsgsRq>
</QBXML>
【问题讨论】:
-
您需要告诉我们您的问题究竟是什么。
-
@delboy1978uk 我正在将我的软件与 quickbook 桌面集成。我已经使用 qbxml 将销售收据添加到 qb 桌面。但在发送销售收据修改请求时出现此错误
-
@delboy1978uk 错误 - 0x80040400:QuickBooks 在解析提供的 XML 文本流时发现错误
-
@GAURAVDESHPANDE 如果您搜索该错误消息,您会发现很多很多解释如何解决该特定错误消息的答案。使用 QuickBooks SDK 中包含的 XML Validator 工具,它会准确地告诉您问题所在。
标签: php quickbooks intuit qbxml