Simple. You can link together transactions in application DB and one or more ExpressID AFIS DBs by storing pending ExpressID transactions in application DB. Your application keeps retrying those transactions against ExpressID until the transaction succeeds. It can then remove the transaction from application DB and signal success to the outside world. If the failure is persistent, you can remove the transaction along with other data from application DB and signal failure to the outside world. This is a common method of linking transactions in separate databases. In concurrent environment, registrations can be performed before identifications to eliminate the possibility of two concurrent requests not being compared against each other. Full database audit should be performed only occasionally.