Idempotent loads when finance reopens a closed period
Restatements happen after audit findings or late supplier invoices. Pipelines that only append can post duplicate journal lines when finance reruns a window.
Natural keys versus surrogate keys
We check whether merges use a stable business key (posting reference + line) or a load-batch UUID that changes on every rerun. Surrogate-only merges often hide duplicates in summary reports.
Delete-and-reload versus merge
Delete-and-reload for a bounded period is acceptable when documented and transaction-wrapped. Blind merges without period predicates can erase legitimate adjustments.
What we ask finance before signing off
Which periods may be reopened, who approves reruns, and whether downstream cubes cache aggregates that need explicit refresh. ETL code cannot answer those alone.
Tests we want to see
Replay tests that load the same extract twice and assert row counts and amounts unchanged. Scenario tests for partial period deletes.
Need an outside read on your ledger feeds? See our ETL code review engagement.