Admin (uid=1) access denied to custom module page
This:

'access callback' =&gt; array('view ledger reports'),


Needs to be:

'access arguments' =&gt; array('view ledger reports'),


Currently you're trying to make Drupal invoke a function by string while giving it an array - it's not going to like that very much ;)