IJournalEntryMod的文档说此调用只需要 txnId、txnLineId 和 EditSequence。我尝试更改其中一行的帐户,但收到错误“交易不平衡”。
- 您是否必须将现有 JournalEntry 行中的每个值复制到附加到 JournalEntryModList 的行中?
- 您是否需要提供现有事务的所有行?(我注意到文档上的这条评论“请注意,在 mod 请求中,包括 [原文如此] 一行意味着您必须包括所有行,无论是否修改”。
IJournalEntryMod的文档说此调用只需要 txnId、txnLineId 和 EditSequence。我尝试更改其中一行的帐户,但收到错误“交易不平衡”。
您是否必须将现有 JournalEntry 行中的每个值复制到附加到 JournalEntryModList 的行中?
您不必再次发送 [JournalLineMod] 中的每个元素,但您必须至少为每一行发送 [TxnLineID]。
例如,如果你只是发送这个:
<JournalEntryModRq>
<JournalEntryMod>
<TxnID>ABCD1234</TxnID>
<EditSequence>1234</EditSequence>
<TxnDate>some new date here</TxnDate>
</JournalEntryMod>
</JournalEntryModRq>
然后,您实际上是在告诉 QuickBooks 删除该日记帐分录中的每个现有行项目。
相反,您必须为要保留的每个行项目发送 TxnLineID。您未发送的任何行项目 TxnLineID 值都将从交易中删除。
所以是这样的:
<JournalEntryModRq>
<JournalEntryMod>
<TxnID>ABCD1234</TxnID>
<EditSequence>1234</EditSequence>
<TxnDate>some new date here</TxnDate>
<JournalLineMod>
<TxnLineID>An existing TxnLineID goes here</TxnLineID>
</JournalLineMod>
<JournalLineMod>
<TxnLineID>An existing TxnLineID goes here</TxnLineID>
</JournalLineMod>
<JournalLineMod>
... bla bla bla lots of new data goes here ...
</JournalLineMod>
</JournalEntryMod>
</JournalEntryModRq>