I currently have a Panasonic PBX in my Company and I also need to provide detailed information for each call every month.
Currently I am using a Panasonic tool that it is called TDCounter (I only use it in Italy, but I assume it is available from any Panasonic branch office). The software basically read everything from the serial port of the PBX and stores all the data in a Microsoft Access database file on a connected PC. TDC also comprises a few reporting tool: if they do not suits your need, you can simply query the MDB directly.
I do not remember exactly the cost of the software, but it was not expensive, maybe 50 or 100€.
Alternatively you can think writing your own software for this: the serial port of the PBX just prints out every call detail in plain text: all you need to do is capture this text and write it in a repository of your choice, then query it for any information you might need.
I never tried this on myself, but I once had a look at the raw output and I saw it was simple formatted plain text, so any decent programmer - maybe even not a decent one :-) - can probably write the basic acquisition software.
Hope this helps, just ask if you need more info.
Luca