How to track PTO/Vacation/Sick Time accrual

Hi, I’m attempting to build a board that will track PTO accrual for all employees. There are so many ways to structure this that I’m overwhelmed at where to start.

Where I’m currently getting tripped up is how to have the board automatically add that persons specific hourly accrual amount (based on how many years they’ve been employed with us) when the end of the pay cycle hits.

For Example: On January 7th, employee get 4 hours added to their balance, and then when January 21 hits, the same thing.

Now let’s say they’ve hit a new accrual tier and their rate jumps up to 5 hours per pay cycle. I know how to do the formula for this, but what I don’t know is how to adjust the automation for it? Here is the formula I’m currently using to have the board know what accrual rate they should have:
IF({Employment Year}<=5,".385",IF({Employment Year}<=10, “4.62”,IF({Employment Year}>=11,“6.16”)))

And to really shoot for the stars here, how could I get it to stop accruing once they hit the max balance? ie. stop accruing once they reach 160 hours accrued.