In any multi-currency spend report there are days when a rate simply is not available: the source has not published it yet, or that currency was never covered. What should the report show?
The usual answer is to carry yesterday's rate forward, or fall back to a monthly average. The report looks complete, but the number is no longer a fact, and nothing marks it as inferred. When finance finds a few thousand missing at month end, nobody can trace which day and which currency introduced it.
We do the opposite. The converted amount stays empty, the rate field stays empty, and an alert goes into the audit log. The original-currency amount is stored in full. You see an obvious gap rather than a plausible wrong number.
Gaps can be filled. When the rate is published a few days later, re-running that day fills it in, because writes are keyed and idempotent, so re-running changes nothing else. Had we written a guess, there would be no way to know which day needed the re-run.
The same rule applies to every field we cannot resolve: an unidentifiable country is stored as UNKNOWN, not as the most likely guess. Data is trustworthy only when the uncertain parts are visible.