Frontaccounting
Links
- Frontaccounting - Wikipedia
- http://frontaccounting.com - Project homepage
- Source Code Clone: hg clone http://hg.code.sf.net/p/frontaccounting/mercurial frontaccounting-mercurial (Found only by chasing Wiki link from homepage, which led to Sourceforge page
Technical
- PHP
- MySQL
- GPLv3 or later
Preliminary evaluation
Positive
- Most recent release 2013-09-05
- Themable
- Seemingly easy to deploy (Looking at their source release, structure looks similar to wordpress, for good or worse)
Negative
- It seems to be built from scratch and not leverage any frameworks.
- Seems like a messy codebase: Table-based design. No templating, HTML is
echo
-ed to stdout. - Uses the deprecated PHP
mysql_*
functions.
Detailed Evaluation
Evaluation of Reporting UseCases
- Trial Balance Report: Yes
- Bank Reconciliation Report: Yes, seems ok
- Chart of Accounts: Yes
- Cash Disbursements Journal: Yes, looks like GL Account Transactions works for this
- Income Report: Not obviously there, but should be easy given the number of reports available.
- Expense Report: Not obviously there, but should be easy given the number of reports available.
Evaluation of Reporting UseCases for Fund Accounting
It seems FrontAccounting's "Dimension" feature likely can do all of these, since it seems you can limit any of the above reports by "Dimension".
Evaluation of Fund Accounting UseCases
- Fund-only View: No, seems to be no way to restrict a user to a specific Dimension.
- Funds as part of whole org View: Yes, dimensions appear to be purely informative.
- Ignore Funds for operations: Yes, dimensions appear to be purely informative.
Evaluation of Double-entry Accounting UseCases
- Does the system implement pure double-entry accounting? Yes, it appears to do so.
Evaluation of TrackingDocumentation UseCases
Does the system link up to external documentation? Not that I can find. It doesn't seem to allow addition links to external documents.
Does it have a the ability to explore transactions via documentation linkage? Not that I can find.
Evaluation of Handling multiple currencies UseCases
- Does it support the concept of a single functional currency, while still permitting multi-currency entries? It probably could be beat in submission to work. It does have the knowledge of a default currency and converts to it based on stored rates and reports come in the default currency. However, it doesn't appear that you can confine those to a single transaction.
Evaluation of WorkFlow UseCases
Is a specific workflow dictated by the system ? It does appear that there are certain automated operations that occur upon creation of invoices, and purchase orders are required.
Is a the workflow configurable ? No.
- Unaccrued Invoice ? Seems you can't generate an invoice without accruing it.
- Purchase Order required ? Seems that way.
Evaluation of the Reading and Reporting API
Interaction with the data seems to happen with embedded SQL statements intermixed with PHP code. Thus, writing SQL statements is really the only way to interact with the data, and as such, given that there isn't anything specifically innovative about the data model, this is no better nor worse than most other projects of this nature.
Evaluation of the Storage API
Again, SQL appears to be the only way to interact with the storage of double-entry data. Double-entry data does not appear to be segmented away from the other information.
Evaluation of the Community Health
- Is the license both determined as Free Software by FSF and OSI-approved? Yes, it's GPL'ed.
- Is the ?license GPL-compatible? Yes.
- Does the project require assignment of copyright or a CLA to get code upstreamed? Doesn't seem to require that.
- How many
?active developers/companies contribute to the project?
Likely two, as two developers made 98% of the commits:
hg log|egrep '^user'|sort | uniq
- If there aren't many, how hard would it be to take over the project if needed? Does not seem that easy given how it's designed.
- Is there good developer documentation? There's a bit on the wiki but not much.
- How easy it to engage as a developer with the community? Developers mailing list is barely active.
Final Evaluation
Frontaccounting seems to be a project kept alive by just two people who presumably have deployments that are driving their work, but generally, there is not much unique about this codebase, and the design doesn't seem to have many reusuable components. Converting it for use with non-profits would be an uphill battle. While the system clearly works, and is in fact very easy to install, it has many assumptions about workflow that are likely specific to its current deployments and inappropriate for non-profits.
Finally, The use of straight PHP without a framework, and use of deprecated techniques and APIs means that it will be difficult to attract new developers.