Goal 1: LedgerSMB as Business Infrastructure
In order to meet changing needs of a diverse market it is important that as LedgerSMB grows, it becomes an easily extensible (and even in some cases invisible) part of the data infrastructure of a business. In essence, it must eventually be possible to separate the web user interface from the software as a whole. Important requirements we should strive towards are:
- Separation of mechanism from interface
- Generic, reusable components wherever possible
- Scriptability from local and remote programs
- Extensibility of the core logic in forward-compatible ways
- Security is be a top priority both in architecture and code
- Compliance to standards enabling integration with other solutions
Goal 2: LedgerSMB as Web Application
The LedgerSMB web interface must be extremely easy to use, but more important, it must always do the right thing accounting-wise. At the same time, the work-flow should be as streamlined as possible. If people want a mechanism to do something that is not generally accepted in accounting circles, then that button must map to an automation of the accepted way of doing it. For example, a delete button might map to a function which posts a reversing transaction. Important requirements we should strive for here include:
- User-friendly naming of things.
- When given a choice of two potentially problematic solutions, the solution taken must try to detect the problem and warn the user.
- The software should be sufficiently easy to use that it can compete with Quickbooks and similar software in their home markets.
- A strong user support structure including contextual help, mailing list support, and commercial support options available from a variety of sources.
- Support from the CPA community.
- Support for businesses from a broad range of locales: many date formats, number formats, support for non-latin character sets.
Goal 3: Universal Adaptability
LedgerSMB should strive to be able to meet the needs of all businesses whether large or small anywhere in the world. While it is necessary that some markets will initially require more attention than others, the general application should be designed so that it can be extended to other environments. Requirements here but not mentioned above include:
- Using localization frameworks wherever appropriate.
- Providing hooks for more advanced transformations (including right-to-left writing systems).
- Providing the ability to plug in rules for local regulatory requirements.
- Support from consultants in a variety of locales.
Goal 4: Being the accounting solution that a start-up doesn't outgrow
The LedgerSMB project's priority is to provide an extremely capable yet user-friendly accounting and ERP solution to small to mid-size businesses in all locales where there is interest in using the software. The focus on small to mid-size businesses offers an opportunity to provide a positive user experience in ways which are not present in larger organizations. LedgerSMB ought to strive to be both the ideal SMB accounting/ERP package and also a solution that a start-up will never outgrow. The goals mentioned above will help us provide this ideal solution by allowing us to focus both on technical architecture and on user experience.