The APM Power modules are often not very accurate until calibrated. Calibrating the voltage is easy using a multimeter, but calibrating the current is more difficult. In order to get a good current calibration, you should be using about 15 Amps. Many meters only go up to 10 Amps and fuse out if higher. Also, it's a bit dangerous, even if you swap props so they push the copter to the floor.
Here's an easy way that gives great results.
Lipo's are very efficient in that if you pull out 1,234 mah's, your charger ends up putting in almost the same amount of current 1,234 mah. (It probably puts back one or 2 % more but these current monitors aren't that precise anyway)
So... to calibrate within a few %...
1) Plug in a fresh battery and immediately do a flight for 5 minutes or so
2) Immediately unplug the battery
3) Charge the battery and note how many mah's it took to charge. Let's say that was 1,500 mah
4) Download your log and look at maximum CurrTot. Let's say it was 1,300 mah. This implies that your APM Power monitor is calibrated too low.
5) Grab your BATT_AMP_PERVOLT setting from Mission Planner. It defaults to 17
6) Do some math...
NEW_AMPS_PER_VOLT = OLD_AMPS_PER_VOLT * CHARGED_MAH / LOGGED_MAH
With my example numbers, you'd get
NEW_AMPS_PER_VOLT = 17 * 1,500 / 1,300 = 19.61
7) Set the new value in the BATT_AMP_PERVOLT parameter and save to your copter
8) Fly to check
Maybe this way has been around for a while, but I've never seen it. Since I've done this, my battery usage has been within a few percent of my inline battery monitor. I never got it that good on a bench with the props off. Plus, it's measuring it at the current that you are actually using since you are flying while you calibrate.