So far, I've built a few houses and they all followed the requirements:
- House must be at least 6 blocks high
- House must be at least 10 blocks wide
- House must have a wall that covers the background
- House must have a chair and a table
- House must have a light source, such as a torch
- House must be far from corruption
So far the only NPC living in an occupited house is the guide, no one else is moving in. All my money is in a chest (as it says if you store your money you won't lose them if you get killed, also I'm on normal difficulty). But should I have my money in my inventory in order for an NPC to appear so I can assign them to one of my built houses? Is there something else I'm missing? I checked housing and it said it's suitable.
UPDATE: I have a table too. So that won't work.
UPDATE 2: I made the floor stone, since it said a solid floor. But the linked question said to have a wood floor, so I'll change that.
UPDATE 3: I have a few hundred coins in my chest, so I won't be able to fit all of them on my inventory, but I'll fit some.
UPDATE 4: After a mining trip, I got a message saying a merchant NPC has arrived.