As well as a budgeting course, they need a complete change in mindset, which may be very difficult or impossible.
They need to work out what their regular bills cost and make sure they get paid first.
They need to work out how much is needed for essential food and travel and make sure money is available for this.
They need to put aside some savings to cover irregular and unexpected expenses including money to cover reduced/lost income.
Only after all the above is covered should they consider money to be available for spending on non essentials.
Maybe get their salary paid into an account where all the essential payments are paid from. On or shortly after payday, a standing order moves the calculated amount for irregular/unexpected payments and general savings into a separate account that is not touched unless absolutely necessary.
A second standing order to move money for food and fuel into a separate account, to be only used on these items and a third standing order into another account that can be spent freely, but when it's gone it's gone.
If they can trust themselves not to spend all their food and travel money on unnecessaries, these two accounts can be combined. Fairly simple to set up and run but the the remaining fun money may be a lot less than what they're used to and it takes discipline not to touch the bills money or emergency money and that sounds like the main issue.