RELEASE NOTES
LedgerSMB 1.4

Latest Revision:  1.4.33-dev

1:  Welcome to LedgerSMB

LedgerSMB is an accounting and ERP program initially aimed at small to midsize
businesses.  Currently the financials and supply chain management modules are
fairly complete, while other modules such as project management exist in a
rudamentary form.  The initial features are identical to SQL-Ledger 2.6.17 from
which it was derived, but the feature set is starting to diverge rapidly.

1.1 System Requirements:

* Perl 5.8.
* Apache, IIS, or other web server that supports CGI.
        * As of 1.3.24, FCGI is experimentally supported as is Plack-Starlet
* PostgreSQL 8.4 or higher.
* Any operating system that supports the above environment.
* The following CPAN modules:
	* Data::Dumper
	* Locale::Maketext
	* Locale::Maketext::Lexicon
	* MIME::Base64
	* Digest::MD5
	* HTML::Entities
	* DBI
	* DBD::Pg
	* Math::BigFloat
	* IO::File
	* Encode
	* Locale::Country
	* Locale::Language
	* Time::Local
	* Cwd
	* Config::General
	* MIME::Lite
        * TemplateToolkit
        * Moose
	

2:  What's New in 1.4?

2.1:  Framework Changes

New code in 1.4 now uses Moose to define classes.  Documentation is interlaced
in code and this allows for easier maintenance as well as better documentation.

1.4 also includes a new reporting framework which makes it relatively simple to
create reports from SQL queries which can then be displayed in HTML, PDF, and
CSV formats.

2.2:  New Features

LedgerSMB 1.4 now has a sophisticated and flexible business reporting dimensions
system replacing the older project and department accounting code.  This
approach allows a business to effectively tag line items of transactions with
various designations and then use these for running reports later including 
financial statements.  These dimensions are each hierarchical, allowing for
nesting of projects and departments for accounting and reporting purposes.

This can be used to do project and department accounting similar to the way
things worked in previous versions, but additionally these can be used to do
funds accounting and will be the basis of many new features in the future, from
CRM task lists to heavy manufacturing.

We have also integrated the template transaction addon, allowing for better
management of recurring transactions, as well as the budgets add-on.  The point
of sale has been broken off into addons to allow for faster release cycles.

Finally templates for user documents (invoices, etc) are now loaded in the 
database.

2.3:  Overhauled Manufacturing Support

LedgerSMB 1.4 overhauls the manufacturing support.  This means we can now track
what went into a manufacturing lot (allowing for more sophisticated solutions to
be developed).  Manufactured goods now are tracked against their own inventory
accounts rather than having costs dynamically allocated when sold.

In past versions, assemblies could not be effectively sold regarding costs of 
goods sold unless all materials necessary to manufacture them were in stock.  
Now they can be, but the assemblies can no longer be stocked if this is the 
case.

2.4:  Reporting Workflow Changes

In the past GL/General Journal reports automatically included a balance column
where there was only one account.  As of 1.4, all columns must be specified by
checking boxes and the balance can be selected for searches spanning multiple 
accounts (for example by the lines on a given transaction matching a given
department or other reporting unit).


2.5:  Database Changes

Projects and Departments have been replaced by the new reporting units
framework.  

3:  Known Issues (Long Term)

3.1:  Upgrade Limitations

The upgrade procedure does not import audit trails where we don't know who did 
something (i.e. where person_id is null).  If you have such, you may want to 
the pre-upgrade data around (it is in a schema called lsmb13).

3.2:  Foreign exchange and payment reversals

The current design of foreign exchange handling means that if you reverse a
payment, the foreign exchange gains and losses will not be exactly reversed 
unless you are able to reverse on the same day.  If reversed on different days the 
gain/loss will be realized per the time when the payment was in effect and 
not reversed.

3.3:  Reconciliation and Adjustments

If you enter adjustments for reconciliation you cannot simply add them with the
same source, etc. on the transaction screen.  You must go through payment,
payment reversal, or gl workflows.  Failure to do so may cause the payment to 
fail to be recognized by existing in-process reconciliation workflows.  If this
happens, start the bank reconciliation over and the payment will be recognized.

4.  Known Issues when Upgrading

4.1:  Tighter balance calculations on reports

Reporting has been fully rewrittein in 1.4.  As a result in some cases where 
data corruption exists, the balance sheet can be out of balance where it would
have been balanced in 1.3.  We believe that this is a feature because out of
balance trial balances and balance sheets should reflect any problems in the
underlying data.  This is a rare issue, but would mostly affect users who have
been using LedgerSMB since before 1.3, of using SQL-Ledger 2.6 or earlier.

4.2:  Inability to migrate books with NULL amounts

Currently there is no provision for removing lines where the amount is NULL.
This should never happen but could occur from inadequately tested third party 
addons.  In this case, check which add-ons may have caused the problem and
follow up with the authors or get professional support.

5:  Roadmap
This project has a losely defined roadmap and a set of statements and 
objectives contained in the documentation manager and trackers of sourceforge.
In general, our development is focused around the following principles:

* LSMB as infrastructure:  LSMB should be accessible from other applications.

* Universal applicability:  LSMB should be usable by any business and should
always do the right thing in the background.  Businesses should never find that 
they have outgrown the software.

* Focus on Small to Midsize Businesses:  LSMB's core market will remain in the
small to midsize market.

The above being said, we have a set of targets for the next major release 
(1.5.0).  There is no guarantee we will reach these targets but we have them
anyway.  These include:

* Rewritten Sales Orders 
* Rewritten journal entry and invoicing system for easier reporting.
* Heavy manufacturing support

6:  Get Involved
Contributors should start by joining the LedgerSMB users and devel lists.  Code
contributions at the moment must be committed by either project maintainer and
should be submitted either using the patches interface at Sourceforge or the
devel mailing lists.

Additionally, we can use help in QA, documentation, advocacy, and many other
places. 

