Files
@ 73eb41054495
Branch filter:
Location: NPO-Accounting/npo-accounting-ikiwiki/ExistingProjects/ERPNext.mdwn - annotation
73eb41054495
7.4 KiB
text/plain
Fix typo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | e702b70370d9 e702b70370d9 e702b70370d9 e702b70370d9 e702b70370d9 4eef73916620 4eef73916620 0fb088b9a38b 59736676d254 59736676d254 59736676d254 59736676d254 59736676d254 59736676d254 59736676d254 59736676d254 59736676d254 71e3516c6e42 59736676d254 59736676d254 59736676d254 da30e8b51d99 da30e8b51d99 59736676d254 59736676d254 da30e8b51d99 da30e8b51d99 0fb088b9a38b a04c883058a8 a04c883058a8 a04c883058a8 0fb088b9a38b a04c883058a8 a04c883058a8 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 59736676d254 da30e8b51d99 da30e8b51d99 da30e8b51d99 0fb088b9a38b da30e8b51d99 da30e8b51d99 da30e8b51d99 da30e8b51d99 da30e8b51d99 da30e8b51d99 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b da30e8b51d99 da30e8b51d99 da30e8b51d99 59736676d254 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 59736676d254 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b e03dd27c8726 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 59736676d254 0fb088b9a38b e03dd27c8726 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 9818c70a48e6 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b da30e8b51d99 0fb088b9a38b 0fb088b9a38b 9818c70a48e6 da30e8b51d99 da30e8b51d99 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 59736676d254 0fb088b9a38b 0fb088b9a38b 0fb088b9a38b 59736676d254 0fb088b9a38b 55b89a306494 e19014223038 0fb088b9a38b 59736676d254 e19014223038 e19014223038 873f61994ca0 873f61994ca0 873f61994ca0 873f61994ca0 873f61994ca0 873f61994ca0 873f61994ca0 873f61994ca0 873f61994ca0 9d7e61885047 da30e8b51d99 da30e8b51d99 da30e8b51d99 | Links:
- <https://erpnext.com> - Commercial homepage
- <https://erpnext.com/open-source> - Community homepage
- <https://github.com/webnotes/erpnext> - Source code
Demo: <https://demo.erpnext.com>
### Evaluation of codebase & development
The framework [wnframework](https://github.com/webnotes/wnframework) is used and seemingly developed in parallel.
The python code does not follow the guidelines in [PEP8](http://www.python.org/dev/peps/pep-0008/).
#### Database
wnframework contains a database model abstraction which is used in some places, though there are > 2000 places where raw SQL is composed using python's `'foo %s' % ('bar')` string formatting. I have managed to cause some minor SQL injections, I have not yet found any places where I can cause significant damage / data loss.
Not using a database abstraction model such as SQLAlchemy reduces storage portability and adds security overhead to ensure that no malicious queries can be executed.
Update: SQLAlchemy has a severe performance penalty based on our testing. Plus, SQL reduces the code complexity in many instances and has much better performance too. - *Rushabh*
In those places I have seen, no input sanitation was performed, although they were only SELECT queries. I suspect that you could alter database contents by modifiying a SELECT query, but I have not managed to do so myself.
Update: The library does not allow multiple SQL Queries to be executed, hence altering is not possible. There is possibility of overriding certain conditions. We will fix these on priority. - *Rushabh*
### Evaluation of [[Reporting|UseCases/GeneratingReports]] UseCases
- [[Trial Balance Report|UseCases/GeneratingReports#trial-balance]]: [Yes](https://demo.erpnext.com/app.html#trial-balance)
- [[Bank Reconciliation Report|UseCases/GeneratingReports#bank-reconcilation]]: [Yes](https://demo.erpnext.com/app.html#Form/Bank%20Reconciliation/Bank%20Reconciliation)
- [[Chart of Accounts|UseCases/GeneratingReports#chart-of-accounts]]: [Yes](https://demo.erpnext.com/app.html#Accounts%20Browser/Account)
- [[Cash Disbursements Journal|UseCases/GeneratingReports#cash-disbursements]]: FIXME
- [[Income Report|UseCases/GeneratingReports#income-report]]: [Kind of](https://demo.erpnext.com/app.html#financial-analytics)
- [[Expense Report|UseCases/GeneratingReports#expense-report]]: Yes, shown together with "Income Report" and a graph.
### Evaluation of [[Reporting|UseCases/GeneratingReports]] UseCases for Fund Accounting
Can each of these reports be generated, confined to a specific temporarily
restricted asset type?
*It does not seem like it*. There are 'Cost Centers', but they do not seem to be usable in fund accounting.
Update: *Yes*. Cost Centers can be easily extended to manage funds. Each Income / Expense is tagged against cost center, so you can accurately track per Fund. Some of the terminology can be fixed if required - *Rushabh*
- [[Trial Balance Report|UseCases/GeneratingReports#trial-balance]]: YES
- [[Bank Reconciliation Report|UseCases/GeneratingReports#bank-reconcilation]]: YES
- [[Chart of Accounts|UseCases/GeneratingReports#chart-of-accounts]]: YES
- [[Cash Disbursements Journal|UseCases/GeneratingReports#cash-disbursements]]: YES
- [[Income Report|UseCases/GeneratingReports#income-report]]: YES
- [[Expense Report|UseCases/GeneratingReports#expense-report]]: YES
### Evaluation of [[Fund Accounting|UseCases/FundAccounting]] UseCases
*No*. It does not seem like 'Cost Centers' can be used this way.
Update: *Yes*. Please see earlier comment, each fund can be a cost center and invoices, expenses can be booked against it. Even budgeting can be done against a cost center. - *Rushabh*
- [[Fund-only View|UseCases/FundAccounting#fund-view]]
- [[Funds as part of whole org View|UseCases/FundAccounting#fundless-view]]
- [[Ignore Funds for operations|UseCases/FundAccounting#fundless-view]]
### [[UseCases/Collaborating]] evaluation
- [[Simultaneous Editing of Ledger|UseCases/Collaborating#simultaneous-ledger-edits]]: Yes, the application is web-based.
- FIXME: Other uses cases need rewrite.
### Evaluation of [[Double-entry Accounting|UseCases/DoubleEntryAccounting]] UseCases
- Does the system implement pure double-entry accounting? In my judgement, yes. Money goes into one or more accounts, out of another one or more accounts.
### Evaluation of [[TrackingDocumentation|UseCases/TrackingDocumentation]] UseCases
- Does the system [[link up to external documentation|UseCases/TrackingDocumentation#document-link-up]]? Yes, it seems so.
- Does it have a [[the ability to explore transactions via documentation linkage|UseCases/TrackingDocumentation#document-link-explore]]? Yes, you can e.g. filter "Journal Vouchers" by "Bill No".
### Evaluation of [[Handling multiple currencies|UseCases/MultiCurrency]] UseCases
- Does it support the concept of
[[a single functional currency|UseCases/MultiCurrency]], while still
permitting multi-currency entries? I have a good faith belief that it does.
### Evaluation of [[draft transaction|UseCases/DraftTransactions]] UseCases
- Does the system allow
[[generally for draft transactions|UseCases/DraftTransactions#draft-general]]
that can be later approved before officially being posted to the books? Yes. Each transaction has a Draft and Submitted status. And separate rights can be given to separate roles for doing approvals. Plus rule based approvals based on properties also exist.
### Evaluation of WorkFlow UseCases
- Is a [[specific workflow dictated by the system|UseCases/WorkFlow#workflow-dictated]] ? Yes
- Is a [[the workflow configurable|UseCases/WorkFlow#workflow-configurable]] ? Yes - there is a workflow system [User Docs](https://docs.erpnext.com/workflows.html)
- [[Unaccrued Invoice|UseCases/WorkFlow#unaccrued-invioice]] ? Exists - You can check in Accounts Receivable
### Evaluation of the [[Reading and Reporting API|UseCases/ReadingAPI]]
See below.
### Evaluation of the [[Storage API|UseCases/StorageAPI]]
It is a web application using JavaScript to communicate with the backend, so there is an API endpoint for everything you'll ever see in the application.
- Is the accounting API separate from the ERP stuff? No
### Evaluation of the [[Community Health|UseCases/CommunityHealth]]
- To post in [erpnext-developer-forum](https://groups.google.com/forum/#!forum/erpnext-developer-forum) you must first apply for membership.
- Is the [[license both determined as Free Software by FSF and OSI-approved|USeCases/CommunityHealth#license-approved]]? Yes, it's [GPLv3](https://github.com/webnotes/erpnext/blob/master/license.txt), (CC-BY-SA 3.0 for documentation).
- Is the [[license GPL-compatible||USeCases/CommunityHealth#gpl-compatible]]? Yes, it's [GPLv3](https://github.com/webnotes/erpnext/blob/master/license.txt), (CC-BY-SA 3.0 for documentation).
## Final(-ish) Evaluation
<a id="final-eval"></a>
Unfortunately, we discovered
[this policy early in our evaluation](https://github.com/webnotes/erpnext#copyright-for-contributors),
and decided that until this policy can be corrected to something more fitting
with actual copyright law and that will allow us to contribute under the
stated license of the project, it's not worth further evaluation of the codebase,
since this policy is just not acceptable. bkuhn has
[raised the issue on the ERPNext Developers' Forum](https://groups.google.com/forum/?_escaped_fragment_=msg/erpnext-developer-forum/jfsURU8Ew9A/HVDX1z3vvkgJ#!msg/erpnext-developer-forum/jfsURU8Ew9A/HVDX1z3vvkgJ).
Udpate: **FIxed** - Rushabh
|