2

QBXMLMsgsRs戻り値を解析せずに、1 回限りのアイテムで請求書を作成したり、不足しているアイテムをオンデマンドで生成したりすることは可能ですか?

QuickBooks Web Connector を介して QuickBooks に請求書を送信しようとしていますが、アイテムが既に存在することを確認できません。QuickBooks 自体がオンデマンドでアイテムを作成できることは知っていました。

次の返信メッセージが表示されます。

QBXMLMsgsRs :

請求書明細に QuickBooks アイテム「1000000000」への無効な参照があります。QuickBooks エラー メッセージ: 引数が無効です。指定されたレコードはリストに存在しません。

フォールバックとして、戻り値を解析し、アイテムを作成して請求書を再度送信しますが、既存の実装を探しています。役立つ情報がなくても、オンスクリーン リファレンス(InvoiceAdd)を確認しました。

これが私の例ですQBXML

<?xml version="1.0" encoding="us-ascii"?>
<?qbxml version="13.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <InvoiceAddRq requestID="bd4a0a4d-81ea-4f95-ae09-150f15a12423">
            <InvoiceAdd>
                <CustomerRef>
                    <ListID>80000004-1434444973</ListID>
                    <FullName>University of North Carolina</FullName>
                </CustomerRef>
                <TxnDate>1999-01-21</TxnDate>
                <RefNumber>9668</RefNumber>
                <BillAddress>
                    <Addr1>University of North Carolina</Addr1>
                    <Addr2>University City Blvd</Addr2>
                    <Addr3 />
                    <City>Charlotte</City>
                    <State>NC</State>
                    <PostalCode>9201</PostalCode>
                    <Country>United States</Country>
                </BillAddress>
                <InvoiceLineAdd>
                    <ItemRef>
                        <FullName>1000000000</FullName>
                    </ItemRef>
                    <Desc>Item 1 Description Goes Here</Desc>
                    <Quantity>1</Quantity>
                    <Rate>295</Rate>
                </InvoiceLineAdd>
                <InvoiceLineAdd>
                    <ItemRef>
                        <FullName>1000000001</FullName>
                    </ItemRef>
                    <Desc>Item 2 Description Goes Here</Desc>
                    <Quantity>5</Quantity>
                    <Rate>25</Rate>
                </InvoiceLineAdd>
            </InvoiceAdd>
        </InvoiceAddRq>
    </QBXMLMsgsRq>
</QBXML>
4

1 に答える 1

3

1 回限りのアイテムで請求書を作成したり、不足しているアイテムをオンデマンドで生成したりすることは可能ですか?

いいえ。

アイテムが既に存在することを確認できません。

なぜだめですか?他の誰もがそうです...

QuickBooks 自体がオンデマンドでアイテムを作成できることは知っていました。

これは正しくありません。QuickBooks はオンデマンドでアイテムを作成できません。項目が存在せず、リストに入力しようとすると、GUI は手動で作成するようにプロンプ​​トを出します。

フォールバックとして、戻り値を解析し、アイテムを作成して請求書を再度送信しますが、既存の実装を探しています。

もう 1 つのオプションは、要求をバッチ処理し、アイテムが存在することを確認するために常にアイテムの作成を試みることです。

例えば:

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="7.0"?>
<QBXML>
    <QBXMLMsgsRq onError="continueOnError">
        <ItemNonInventoryAdd>
            ... your item data here ...
        </ItemNonInventoryAdd>
        <InvoiceAdd> 
            ... your invoice data here ...
        </InvoiceAdd>
    </QBXMLMsgsRq>
</QBXML>

その他の例:

これにより、アイテムがまだ存在しない場合は、請求書の前にアイテムが作成されます。アイテムが存在する場合、QuickBooks はリクエストのその部分をスキップし、次の部分に進みます。

于 2015-06-29T12:19:49.073 に答える