So my plan is the server stores all the updates. When you connect you will tell the server the date-time stamp of the last time you (dis)connected and it will catch you up. While you are connected you receive updates.
Don't use a timestamp for this; in particular, connection and disconnection are non-discrete, non-atomic events, and especially they are prone to preemption. It's quite possible that any number of transactions could occur during the time it takes you to tear up a connection and begin receiving non-handshake data; it's also quite possible that any number of transactions could occur between the last packet that was delivered to you and your application becoming aware of a disconnect.
If you're trying to journal transactions, you need to use a serial number that you can guarantee is unique+ordered, and for banking probably sequential. In many cases, this is where you offload to a worker that writes synchronously to the DB, waits for the commit to complete and captures the resulting row id to throw back to the originator.