Refactor transfer to create or update transfer item on the fly

The unless is desirable here. It helps to express the main case first, then the exceptional case first. I always want to present the main piece of code before the secondary piece.