I don't see the differences of your DAO layer and manager layer. They seem to have the same responsibility: manage entities.
On the other hand I miss something like a business layer. Inside a business logic you will have usecases which need access to more than one entity. For example to store a new bill you will have updates on billing data, customer accounts, maybe warehouse stock and lots of other entities. All these updates should occur inside one transaction. Therefore you should see all functionylity defined in your current DAO and manager layer as one persistence layer, that's functionality can only be used inside of transactions. To have one DAO per entity is a common pattern here.
Transactions should be triggered by some business layer where the supplied functionality does something usefull in terms of your application logic. That's also the point where transaction demarcation and other aspects like permission checking can be implemented.