As a guy who has hardcore BLOWN it with MANY very attractive, quality girls because I was too much of a "nice guy" to make a move of any sort, if we're talking about you here (and since you're straight I'm assuming we are), kiss her on the first date. Don't even necessarily wait until the end--saving it for the end of the night allows you to build up an insane amount of pressure in your mind, and that makes it even easier to chicken out. Be surprising--kiss her during the date. Don't stress over it, just do it. Make it easier on yourself by touching often--arm around her waist, touching her cheek, hand on her leg, etc. If you're vibing together, she'll respond with her own touches, which means you're clear for landing. This makes everything easier to figure out, and doesn't have the pressure of going from zero to kiss.
Key thing to remember is she wouldn't be out with you if she didn't like you enough for a kiss, it's just a matter of making her comfortable enough to accept it.
If you don't kiss her on the first date and you're lucky enough to get her out a second time, don't fuck around. Get it done. If you don't kiss her on that second date, forget it; knowing what I know now, I wouldn't even have the balls to call again after that and put myself through the humiliation of being dodged.