This article describes how to check transaction edit history using the Journal Transaction History endpoint and derive the latest edit timestamp when a LastModified field is not available on the source transaction object. Refer to the developer documentation: Journal Transaction History. For background on endpoints that include a LastModified field, see: Last-Modified field not updating.
Endpoint
Use the Journal Transaction History endpoint to retrieve change history for transactions:
/{cf_uri}/Report/JournalTransactionHistory
Overview
The Journal Transaction History endpoint returns a list of journals and their history across transaction types, recording each operation performed over time. Each entry includes an OperationType value such as Added, System, Edited, Deleted, or Reversed, indicating the operation that was executed. The DatePosted field provides the timestamp for the day the operation was recorded, which can be used to determine when an edit occurred.
The SourceTransaction object contains the originating transaction’s UID, TransactionType, and URI. It is present on the latest version of the journal entry (unless the transaction has been deleted). The DisplayID field represents the transaction number (e.g., “0001234”). The GroupUID is the UID of the first version of the transaction and is common to all history entries for that transaction.
Determine the latest edit timestamp
To find when a transaction was most recently modified, filter history entries for the target SourceTransaction/UID with OperationType equal to Edited, then order by DatePosted descending and take the most recent entry.
GET /{cf_uri}/Report/JournalTransactionHistory/?$filter=SourceTransaction/UID eq guid'936abe86-06a6-4853-998b-06b7ba5c8d81' and OperationType eq 'Edited'&$orderby=DatePosted desc
Example JSON response:
{ "UID": "dee518bc-c4c0-4ddc-bcab-783c83fd1ded", "DisplayID": "0001234", "JournalType": "Purchase", "SourceTransaction": { "UID": "936abe86-06a6-4853-998b-06b7ba5c8d81", "TransactionType": "Bill", "URI": "{cf_uri}/Purchase/Bill/936abe86-06a6-4853-998b-06b7ba5c8d81" }, "DateOccurred": "2025-09-28T00:00:00", "DatePosted": "2025-09-28T13:33:02", "Description": "Purchase memo", "OperationType": "Edited", "GroupUID": "dee518bc-c4c0-4ddc-bcab-783c83fd1ded", "Lines": [], "URI": "{cf_uri}/Report/JournalTransactionHistory/dee518bc-c4c0-4ddc-bcab-783c83fd1ded", "RowVersion": "3837641927100989440" }
Use the DatePosted value from the Edited entry in place of a missing LastModified field on the source transaction.
Retrieve complete history using GroupUID
If only the latest entry is available (with a non-null SourceTransaction), use its GroupUID to fetch the entire transaction history.
GET /{cf_uri}/Report/JournalTransactionHistory/?$filter=GroupUID eq guid'{GROUP_UID}'
IMPORTANT NOTES
Filtering using $filter on this endpoint is limited to the following fields:
UID,JournalType,DateOccurred,DatePosted,SourceTransaction/UID,OperationType,GroupUID.Sorting is available via $orderby using one of:
DateOccurred,DatePosted.If a transaction is deleted (OperationType:
Deleted), the SourceTransaction object is null because the source transaction no longer exists in the file. You cannot retrieve details of deleted transactions via SourceTransaction/UID.Historical entries in JournalTransactionHistory have a null SourceTransaction; only the latest entry for the transaction has a non-null SourceTransaction.
All historical entries for a transaction share the same GroupUID. Use GroupUID to retrieve complete history:
/Report/JournalTransactionHistory/?$filter=GroupUID eq guid'{<GroupUID_GUID>}'
Note: If you need the list of endpoints that include a LastModified field, open this page directly: Last-Modified field not updating.
For information on the /Report/JournalTransactionHistory endpoint, please see the below endpoint documentation:
Comments
0 comments
Article is closed for comments.