Is there anybody else who uses Manager that really needs a robust reporting module to produce a variety of reports for management and financial purposes?
As a member of a crowd-sourced project, I would be willing to contribute funds to support the hiring of a programmer to help @lubos in his efforts to create a full-featured reporting module that uses date ranges, filters, and has access to all fields (both stock and custom) to produce reports of all types. I would also like it if the reporting module could interface with Excel (and compatible) spreadsheets and use the macro language to format spreadsheets on the fly.
Is there any support for this kind of idea and group effort?
I can assure you the issue is not of financial nature. Also, writing the code is the easiest part of building Manager.
Some features are not yet implemented not because there isn’t another programmer. It’s simply because I lack clarity on that feature. It’s not that I don’t have time to write it, it’s that I don’t know how to write it yet without shooting myself in the leg. If it would be as simple as adding another programmer to speed things up, other accounting software companies employing hundreds of programmers would produce at least 10x better accounting software than Manager. We all know that is not the case. Mostly because developing software is not about writing code.
There are so many feature requests out there and as I think more about them, the greater clarity I get. Once I have so much clarity on a given feature that the solution is obvious, code gets written to implement it.
Thank you for the candid insight into your development process. I didn’t know what was entailed in getting from point A to B. I was just hoping to accelerate the arrival of the reporting module. In my opinion, it’s the one thing that stands out as a deficiency in an otherwise brilliant piece of software. In no way is that to imply that Manager isn’t very useful, only that a robust reporting module would be like the icing on the cake. It would complete it. And on a more self-serving note, it would allow me to use it more widely in my accounting practice because I would then be able to supply clients with a variety of useful reports.
Is there something that we, the users of Manager, can do to assist you? Such as, providing meaningful ideas, suggestions, or advice. Or is the process more solitary and you have to plot out a path within yourself? Please let us know if we can be of assistance to you.
With big ticket features, it’s not as simple as having an idea. The worst of all is that many people think they have the same idea but once you dig deeper, you realize they have all different expectations of how the feature should work. That is the case for custom reports. For example, some users want SQL queries, others want something more visual. If I implement SQL queries, a lot of users will be shocked how big and complicated database schema actually is. To the point, they won’t use the feature after all that effort they’ve put into requesting it. If I implement something visual, then a lot of users will be disappointed in limitations what can be done using a visual tool.
Also, the issue with SQL queries is that they are not going to survive as database schema keeps evolving. So introducing a feature like this could induce upgrade anxiety. You have a few carefully crafted SQL queries which work but you won’t be upgrading the software because you don’t want these SQL queries to break.
Visual tool can handle upgrades gracefully but it will be - well - limited.
I see your point regarding how to approach the issue. Depending on how you initially designed the database, it could be a real headache to develop an all-encompassing report manager that can query all the data. After all, it’s not a simple flat file database with all the records in a single table. It’s a relational database with the records stored across many different tables. And if the data field labels change occasionally out of necessity, the report manager would lose its ability to find them and query the data.
Then, as you said, people want different things. Some may be happy with a simple columnar report, while others want a complex report that includes pre-processing and grouping.
To that end, is it possible to identity or tag all the data fields in such a way so that a report manager could query all the tables that make up the database and report the table name and data fields back for easy selection in creating a report? That would sort of fall in line with your visual tool, which might include a drag and drop feature. If that were possible, then the use of filters (e.g., inclusion/exclusion) and ranges (e.g., dates and account name/numbers) could be employed to create a number of reports for various purposes; and eliminate the need to store reports based upon absolutes, as is the case presently. Using the range and filter idea, the header of the report manager could allow for ad hoc reporting on an as-needed basis for fast and efficient report generation. And allowing the user control over the output of the data would be ideal. Then features could be added over time to allow for grouping within a report and pre-processing of data in multiple steps in the creation of complex reports.
If the user had full control over the output of the data – both formatting and layout – then data fields could be placed where needed so that, for example, a report could be created to print checks. Then the benefit would extend beyond just information type reports.
And it goes without saying that PDF file output is essential.
Anyway, I’m eager to see the report module take shape and come to fruition.
Hello Lubos, just to tell you that what you are doing is the very top of the programming. It’s hard for anyone to offer such software in three different versions, desktop edition, cloud edition and server edition, but it works on four different Windows, Mac, Ubuntu and Fedora operating systems. In this I personally conclude that your programming skills are at the very top and that you do not need any help when it comes to writing code for this software.
What I would suggest to you, and in connection with visual reports, is to try to use a smart dashboard such as Excel or Access 2007 PivotTable and PivotChart, so that you allow users to cross certain data for a specific term and a certain time interval.
I’m really convinced that with your programming skills you can do it.