I'm doing a similar project but using a magnetic card as the input method.

I tend to agree with the post about on-board memory. Originally, I designed my device to sit on RS-485 network and transmit the account number to a host computer which would respond with a pass or fail message.

Where this gets complicated is when you have more than one entry or the host PC goes offline. You run the risk that both devices will try to use the line at the same time or the PC will not respond at all. Because of this, I added an EEProm to act as an account code storage area (database). The local device determines if the account is good and if entry is allowed or denied. I then am able to poll for the last account code, add accounts, manually open doors, and download account databases all from the host PC.

The hardest part for me is figuring out a method for keeping track of the number of accounts on the EEProm vs Max number of accounts that can be written to that EEProm. This can be tricky after a power cycle.