User Activity

I pay for O2 on a monthly Top Up, which takes £15 on the 22nd. Last month I topped up £15 on the 20th and on the 22nd it told me there was not enough money to pay the monthly charge so I had to pay another £15. Does anyone know why this might happen?