0

我想从远程系统的发票中取消付款。

首先,我从 QuickBooks Desktop 同步一个ReceivePayment项目。AppliedToTxnRet它在ReceivePaymentQueryRS响应中有 1 个发票交易。

然后在远程系统上,从发票中删除交易。因此,现在没有应用此付款的交易。在 QBXML 中,我如何指定它,ReceivePaymentModRq或者是否有其他方法可以指定它以将其发送回 QuickBooks,以便不再将付款应用于 QuickBooks 中的发票?

我试图发送一个空的<AppliedToTxnMod/><AppliedToTxnMod></AppliedToTxnMod>这样的:

        <ReceivePaymentModRq>
            <ReceivePaymentMod>
                <TxnID>612-1631305229</TxnID>
                <EditSequence>1631418450</EditSequence>
                <CustomerRef>
                    <ListID>80000089-1613077827</ListID>
                </CustomerRef>
                <ARAccountRef>
                    <ListID>8000001B-1578805288</ListID>
                </ARAccountRef>
                <TxnDate>2021-09-04</TxnDate>
                <RefNumber>cash11</RefNumber>
                <TotalAmount>11.00</TotalAmount>
                <PaymentMethodRef>
                    <ListID>80000001-1578006261</ListID>
                </PaymentMethodRef>
                <Memo/>
                <DepositToAccountRef>
                    <ListID>80000021-1620340635</ListID>
                </DepositToAccountRef>
                <AppliedToTxnMod/>
            </ReceivePaymentMod>
        </ReceivePaymentModRq>

但是验证器给了我:

Line: 13
LinePos: 48
Src Text: <AppliedToTxnMod></AppliedToTxnMod>
Reason: Element cannot be empty according to the DTD/Schema.

我偏离了我认为 QBSDK 所说的(https://static.developer.intuit.com/resources/QBSDK_ProGuide.pdf)第 1 页。126 用于清除聚合,但我想这可能不适用于引用其他交易的聚合??:

“清除地址或送货地址等聚合类似于清除修改请求中的引用。您可以提供聚合中所有元素的空版本,也可以简单地提供空聚合”

4

1 回答 1

0

要从交易(例如发票)中取消应用付款,请在<ReceivePaymentMod>发送<AppliedToTxnMod>聚合引用<TxnID>您要删除的金额为零的<PaymentAmount>. 例如:

<ReceivePaymentMod>
    <TxnID>612-1631305229</TxnID>
    ...
    <AppliedToTxnMod>
        <TxnID>52F-1630633150</TxnID>
        <PaymentAmount>0.00</PaymentAmount>
    </AppliedToTxnMod>
</ReceivePaymentMod>
于 2021-09-16T00:42:46.907 回答