Statement of Direction for LedgerSMB

Goal 1: LedgerSMB as Business Infrastructure

In order to meet changing needs of a diverse market it is important that as LedgerSMB grows, that 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:

  1. Separation of mechanism from interface
  2. Generic, reusable components wherever possible
  3. Scriptability from local and remote programs
  4. Extensibility of the core logic in forward-compatible ways
  5. Security should be a top priority both in architecture and code

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:

  1. User-friendly naming of things.
  2. When given a choice of two potentially problematic solutions, the solution taken must try to detect the problem and warn the user.
  3. The software should be sufficiently easy to use that it can compete with Quickbooks and similar software in their home markets.
  4. A strong user support structure including contextual help, mailing list support, and commercial support options available from a variety of sources.
  5. Support from the CPA community.

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:

  1. Using localization frameworks wherever appropriate.
  2. Providing hooks more advanced transformations (including right-to-left writing systems).
  3. Providing the ability to plug in rules for local regulatory requirements.
  4. Support from consultants in a variety of locales.

Goal 4: Being the ERP 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.