Screenshots age poorly. Immutable event records with stable IDs age well — if you keep them long enough and know how to query them.
Agree with engineering on three fields for every revenue-relevant event: a globally unique ID, a contract or subscription foreign key, and a UTC timestamp. Without the foreign key, auditors invent joins that break under plan migrations.
Retention that matches the audit cycle
If your statutory or partner review looks back thirteen months, a ninety-day log window is a control failure waiting to happen. Archive cold events to object storage with the same IDs; do not rely on “we can rebuild from invoices.”
What reviewers ask for
In practice: the event payload for the sample, proof it was not edited, and the journal that recognized revenue. The middle piece — integrity — is where many stacks are weakest. Hash chaining or append-only tables help more than another dashboard tile.