You would like to know why you have an invoice to pay if you only used Heroku for a short period of time, to test, or if there is no activity on your app(s).
Heroku bills on a monthly basis for the usage accrued in the previous month. Heroku computes usage from wall-clock time, not CPU time. Any dynos scaled above 0 accrue usage, regardless of traffic or activity. A data add-on accrues usage as long as it is enabled. Resources used within an account will accrue for the length of time the resource is active.
One example of this accrued usage would be a Standard 1X dyno that is spun up for exactly half of a month. A full month's usage of a Standard 1X dyno would be $25; however if the dyno is active for exactly half of a month the charge would be $12.50.
The Eco dynos plan provides 1000 dyno hours for $5 per month. This dyno hours pool is shared by all Eco dynos in your account.
The Eco dynos plan always renews on the first day of each month. If you subscribe or unsubscribe to Eco after the first day, you are still charged the full $5 for that month.
Heroku doesn't monitor your application success, traffic, or account activity and billing is calculated solely on the resources that are provisioned within your application(s). Resources would need to be spun down or removed when not in use to prevent usage charges from occurring.
Heroku prorates all costs to the second. Dynos can be scaled down when not in use to help minimize usage charges.