In Core, when a time entry is marked as non-billable, the charge amount is not zero. The reason for this is that you and your employees charge time and expenses to a project. Essentially, every time entry gets charged to the project irrespective of its billable status. This helps you measure the true 'amount spent' on a project. It is during the billing process that the project charges the client depending on billable status, contract type, write-up/write-down and other factors.
In the Time Entries screen, the Charge Amount column refers to what you are charging the project, not the client. So whether the time entry is billable or non-billable, it shows an amount other than 0. It also gives you an idea of the amount you could charge the client if the entry was billable. So it displays an Amount column that gives you the bill amount before WUD and taxes, and Charge Amount that gives you the bill amount after WUD and taxes.
The Reviewer screen shows both time and expense entries and so it shows the Amount and Charge Amount columns associated with them. Both columns show values irrespective of the billable status of the entries.
Amount = Hours x Bill Rate
Charge Amount = Hours x Bill Rate x WUD
Amount = Units x Cost Rate
Charge Amount = Units x Cost Rate x MU%
WUD = Write-Up/Write-Down Multiplier
MU% = Markup Percentage