I’ve been using tubesync and jellyfin for this for awhile and it works okay. The tubesync software is not the best, and the docker container made by the dev has way too much going on in it but it works.
I have tubesync set up to watch and auto download from certain channels and then I watch via jellyfin. There’s even a jellyfin YouTube metadata plugin if you want to set that up too.
Check out actual, I think you can get the automatic transaction ingestion with it
https://github.com/actualbudget/actual