The way this usually works in my experience is that if you have a documentation need outside of the IDB database it's generally because you're trying to share information with other reverse engineers. For this, you may want to take a look at [collabREate](http://www.idabook.com/collabreate/) or the [IDA toolbag](http://thunkers.net/~deft/code/toolbag/). The unfortunate truth is that a lot of these projects tend to slow down or die completely due to a lack of interest from the original authors. Now if your problem is completely centered around documentation, what I also find fairly common is to have header files with the function, class and structure definitions in them with [doxygen-](http://www.stack.nl/~dimitri/doxygen/) or [JavaDoc-](http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html)formatted comments in them. You then use doxygen to generate automatic documentation and class diagrams. This way the documentation becomes completely living, self-maintaining and easily navigated.