@kazte, yes, what you are after is possible. You can have pre-paid or post-paid accounts. You can apply a limit to post-paid accounts too. In the event an account exceeds its limit, it will terminate calls. You simply need to set an account to be pre-post paid and set the limit. You also need to ensure the Jonny5 app is running.
By default, limits are per-month (though you could use the API to "top up" an account or change its limit on a more frequent interval).
Limits apply to resellers also. When an account underneath a reseller account makes a call, the reseller account is also charged for that call. Likewise the root/superadmin account by default is also charged for the resellers calls (charges all the way up the chain). Each account may be charged a different rate (based on their ratedeck). You can choose NOT to charge a specific account (useful for the root/superadmin account) by using "flat rate trunks".
Ratedecks can be at the system, reseller or account level.
Hotornot is the app in charge of figuring out how much to charge for a call (it does the call rating)
Jonny5 enforces the limits (it does limiting). I personally do not know how often Jonny5 checks limits/credit.