我想从远程系统的发票中取消付款。
首先,我从 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 用于清除聚合,但我想这可能不适用于引用其他交易的聚合??:
“清除地址或送货地址等聚合类似于清除修改请求中的引用。您可以提供聚合中所有元素的空版本,也可以简单地提供空聚合”