修改ReceivePayment时QuickBooks提示Transaction not in balance错误求助
解决QuickBooks Desktop修改ReceivePayment时的"Transaction not in balance"错误
这个错误的核心原因是收款单的总金额与应用到交易的金额不匹配:
你的QBXML请求里,<TotalAmount>设为0.00,但<AppliedToTxnMod>里的<PaymentAmount>是76.50,QuickBooks要求TotalAmount必须等于所有AppliedToTxnMod中PaymentAmount的总和,这种不一致直接触发了"Transaction not in balance"错误。
解决方案
把<TotalAmount>的值修改为与应用金额一致的数值,也就是76.50,修正后的QBXML代码如下:
<QBXML> <QBXMLMsgsRq onError="stopOnError"> <ReceivePaymentModRq requestID="2"> <ReceivePaymentMod> <TxnID>E4C-1673793968</TxnID> <EditSequence>1673793968</EditSequence> <CustomerRef> <FullName>D.R.H:Sawgrass Lakes:4257 Broomsedge Circle</FullName> </CustomerRef> <TxnDate>2023-01-11</TxnDate> <RefNumber>6866666</RefNumber> <TotalAmount>76.50</TotalAmount> <PaymentMethodRef> <FullName>Check</FullName> </PaymentMethodRef> <AppliedToTxnMod> <TxnID>E45-1673793562</TxnID> <PaymentAmount>76.50</PaymentAmount> </AppliedToTxnMod> </ReceivePaymentMod> </ReceivePaymentModRq> </QBXMLMsgsRq> </QBXML>
额外检查项
- 确保
EditSequence是该收款单的最新序列值,防止因并发修改导致的其他错误 - 如果后续有多个
<AppliedToTxnMod>条目,务必保证所有PaymentAmount的累加值等于TotalAmount
内容的提问来源于stack exchange,提问作者SkRoR
相关产品推荐
相关产品推荐

