Don't forget, it isn't just nationality you should be concerned with verifying. You also need to check against government denied party and debarred lists.
Two months ago we started using a system from Lobbyguard. It is working OK so far. It checks against the government lists, keeps records, and prints out badges that are red if not a US person.
I also would use caution with visitor logs. I hear auditors love them. It is a great place to find non-conformances.
(Note: I am not associated with Lobbyguard)