Quickbooks Web 连接器如何添加带有项目 Location/Site 的发票

Quickbooks WebConnector How I can add invoice with Item Location/Site

我正在尝试使用 lineitem site/location 在 QuickBooks 桌面中创建发票。 有没有一种方法可以将带有订单项的项目位置与发票一起发送。

我尝试了一些代码但没有用 Web 连接器报告错误 0x80040400:QuickBooks 在解析提供的 XML 文本流时发现错误。

下面4个我都试过了

<Site>location name</Site>

<Site>
    <FullName>location name</FullName>
</Site>

<Location>location name</Location>

<Location>
    <FullName>location name</FullName>
</Location>

但没有成功,它给出了解析错误, 请问你能帮忙吗?

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="7.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>
                        <Location>Floresville</Location>
            </InvoiceLineAdd>
    </InvoiceAdd>
</InvoiceAddRq>
</QBXMLMsgsRq>

`

我只需要知道如何为发票行项目中的项目添加 location/stock

每当您对 Windows 的 QuickBooks 桌面有语法问题时,您应该参考 QuickBooks OSR:

Select Message 下拉列表中选择 InvoiceAdd,您将看到有关所有 XML 标签的文档。

你要找的是这个:

<InvoiceLineAdd>
    <ItemRef>
        <FullName>'.$line['item_name'].'</FullName>
    </ItemRef>
    <Quantity>'.$line['quantity'].'</Quantity>
    <Rate>'.$line['rate'].'</Rate>
    <Amount>'.$line['amount'].'</Amount>

    <InventorySiteRef>
        <ListID >IDTYPE</ListID>
        <FullName >STRTYPE</FullName>
    </InventorySiteRef>
    <InventorySiteLocationRef>
        <ListID >IDTYPE</ListID>
        <FullName >STRTYPE</FullName>
    </InventorySiteLocationRef>

</InvoiceLineAdd>

您应该为这两个节点分别指定 EITHERListIDFullName

此外,您应该在 Whosebug 上搜索此消息:

  • 0x80040400:QuickBooks 在解析提供的 XML 文本流时发现错误。

如果这样做,您会得到一些有用的结果,例如下面链接的结果,它会告诉您如何解决此类问题。例如: