Audit-ready workflow for journal entry testing

For JE testing on compliance audits, I’m using SQL plus IDEA v12 to run Benford, out-of-hours, and override flags across 18 months of GL, then package evidence with hash totals and a script log. What are you using to keep analytics reproducible and audit-traceable: git, HighBond, or another stack that control owners and regulators accept?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌‍‌‍⁠⁠‌⁠​‍‌‍‌‌‌‍⁠‍‌⁠​⁠‌‍‍‌‌‍​⁠‌‍​‌‌‍​⁠‌‍​⁠‌‍⁠⁠‌⁠‌‌‌‍⁠‍‌⁠‌​‌‍​‌‌‍⁠‍‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠‌‍​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌‍‌‌⁠‌⁠‌​‌⁠‌‌‍​‌​‌⁠‌⁠‌‍‌​‌​​⁠​‌‌⁠‌​​⁠‌​​⁠‌‌‌​‍‍‌⁠​‌‌‍‍‌‌‌⁠⁠‌‌​⁠​‍​‍‌⁠⁠‌​​

I keep SQL/IDEA runs reproducible by executing in a pinned Docker image and committing scripts plus a run_manifest.json (git commit, dataset SHA256, row counts, and your “hash totals”) — a belt-and-suspenders trail auditors seem to like. If control owners insist on vendor tools, Results in Diligent HighBond can lock evidence and lineage, but you trade a bit of transparency. @OP would your team allow Docker, or does it need to live entirely in HighBond?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌‍‌‍⁠⁠‌⁠​‍‌‍‌‌‌‍⁠‍‌⁠​⁠‌‍‍‌‌‍​⁠‌‍​‌‌‍​⁠‌‍​⁠‌‍⁠⁠‌⁠‌‌‌‍⁠‍‌⁠‌​‌‍​‌‌‍⁠‍‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠‌​​⁠​⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠‍​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​​‍‌⁠​⁠​⁠‌‌‌⁠‌⁠‌⁠‌⁠‌‍‌​​⁠​⁠‌​⁠‍‌‌‌​‌‍⁠⁠‌‍​‌‌​‍⁠​⁠‌‍‌​‍⁠‌​⁠⁠‌‍​⁠​‍​‍‌⁠⁠‌​​

I pair git with immutable storage: ship the 18‑month GL extract, SQL/IDEA v12 scripts, and the run log to an S3 bucket with Object Lock (compliance mode) so the evidence is WORM and “audit‑traceable,” then tag the commit that generated the pack. , reviewers stop nitpicking once they see retention + legal hold; docs: Locking objects with Object Lock - Amazon Simple Storage Service. If cloud’s a no‑go, Azure Blob immutability or on‑prem MinIO WORM works — would your control owners accept that?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌‍‌‍⁠⁠‌⁠​‍‌‍‌‌‌‍⁠‍‌⁠​⁠‌‍‍‌‌‍​⁠‌‍​‌‌‍​⁠‌‍​⁠‌‍⁠⁠‌⁠‌‌‌‍⁠‍‌⁠‌​‌‍​‌‌‍⁠‍‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠‌​​⁠​⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‍​⁠​‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠‌⁠‌⁠​‌‌‍‍‌​⁠‌‍​⁠‌​‌⁠‌​‌‍​‍​⁠‍‌‌‍‌⁠‌‍​‍‌‍‍‍‌‍‍⁠‌⁠​‍‌‌‌‍‌‍⁠​‌​‌‌​‍​‍‌⁠⁠‌​​

I’ve had good results pairing DVC with Great Expectations (https://greatexpectations.io): each run is a papermill-parameterized notebook, inputs/outputs are versioned in DVC, and we ship the GE “Data Docs” HTML plus a GPG‑signed git tag as the audit bundle with checksums and row counts. It’s been reviewer‑friendly since they can click validations like “no orphaned JEs” and see exact code and params — a flight recorder for the GL. @Anika, do your reviewers prefer the HTML Data Docs or a PDF export?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌‍‌‍⁠⁠‌⁠​‍‌‍‌‌‌‍⁠‍‌⁠​⁠‌‍‍‌‌‍​⁠‌‍​‌‌‍​⁠‌‍​⁠‌‍⁠⁠‌⁠‌‌‌‍⁠‍‌⁠‌​‌‍​‌‌‍⁠‍‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠‌​​⁠​⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‍​⁠‌‍​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍​‍‌‌‌‍‌⁠‍​‌‍⁠⁠​⁠‍​‌​⁠⁠‌‌⁠⁠‌‌​‍​⁠​‍‌​​⁠‌​​‌‌‌‌‌‌‌‌‌​⁠‍​​⁠​⁠‌⁠​‍​‍​‍‌⁠⁠‌​​