I recently got a new job at a small company and earn a salary rate. They pay on the 15th and 30th of each month however the HR employee explained to me that although the pay week ends on the 15th and 30th of each month, I won't get the check until almost 5 days later for those pay weeks. I am sure they will pay me but according to HR employee it allows them to compensate for any "outstanding balances". Although I'm sure there is not much I can do and honestly I don't like their pay schedule at all however my question is this normal?
It seems perfectly normal to me. I've always worked at places that paid either weekly or bi-weekly; and they always paid 1 week after. This gives time to sort out any problems like your forgetting to complete a timesheet, filling it out incorrectly (working on project X instead of Y, got sick and left early, etc). It's much easier for bean counters to fix things before the money's gone out than after the fact.
If anything, I'm mildly surprised your payday is only offset 5 days instead of 7; which would give the bean counters a consistent 5 days to do their work, instead of 5 days some weeks and 3 days others. Are you sure they meant 5 calendar days, not 5 working days?
is this normal?
Yes, its normal.
I've also worked for companies that paid twice per month - there's nothing odd or nefarious about that. I've also worked for companies that paid once per month, every other week, and a few other arrangements.
And every company I've ever worked for held the paycheck for some number of days after the end of the pay period. Usually, it was around 5 days to 1 week.
In my last company, we were paid on Fridays for the previous week and the week before that (so 7 days after the end of the pay period for many, and 5 days after the end of the pay period for those who worked on Sunday). Timesheets needed to be completed and approved by the end of the day on Tuesdays, so they actually turned them around fairly quickly.
Nothing unusual here at all.