Skip to content

Latest commit

 

History

History
242 lines (136 loc) · 8.09 KB

sql-ledger.pod

File metadata and controls

242 lines (136 loc) · 8.09 KB

NAME

SQL-Ledger - open source ERP and accounting system

DESCRIPTION

SQL-Ledger is an open source ERP and accounting system. It gives you all the functionality you need for quotations, order management, invoices, payrolls and much more. The program is written in Perl, runs on an Apache webserver, uses a PostgreSQL database and is highly configurable.

ABOUT THIS REPO

SQL-Ledger is developed by DWS Systems Inc.. The master branch contains the original version from DWS. It has version tags, so you can download a specific version back to 2.6.0 from October 1, 2005.

The full branch, which is checked out by default, provides some additions:

  • WLprinter

  • real Unicode support

  • JSON API

  • recently used objects

  • minimalistic documentation

  • Swiss charts of accounts in German, French and Italian

  • security patch for template editor

INSTALLATION

To install the program on Debian, you can use the Ansible Role for SQL-Ledger. If you are on a different distribution, either follow the instructions from DWS, or open an issue in the other repo (the chances that you get an update depend on your Github name, the weather and the lunar phase).

WLPRINTER

WLprinter, included in the full branch, is a Java program that is executed on the client PC and allows to print directly from SQL-Ledger to your local printers. It is available for printing if you add a printer with command wlprinter at System--Workstations. The client program is started from Batch--WLprinter. You will have to add a Java security exception for your SQL-Ledger server.

UNICODE SUPPORT

In difference to the original SQL-Ledger, the version in the full branch internally works with Unicode characters. This requires that your database, your templates and translations are all encoded in UTF-8.

DOCUMENTATION

The documentation is very minimalistic and doesn't contain much more than the function names of the different modules. If you have Mojolicious and Mojolicious::Plugin::PODViewer installed, you can start a perldoc server from your SQL-Ledger base directory with

perl -I. -Mojo -E'plugin "PODViewer"; a->start' daemon

and browse to localhost:3000/perldoc/sql-ledger.

CONTRIBUTING

As mentioned above, what you find here is more or less a copy of the code from DWS. 'copy' means that the code flows from DWS to here and rarely in the other direction. 'more or less' means that the differences between the full and the master branch should always be as small that it is possible to include updates without problems. 2 merge conflics are not a problem, but 100 conflics are.

It follows that if you want the DWS code to change, you have to speak with them. If on the other hand you want this repo to change, don't care about the moon calendar and create an issue.

It was mentioned too that the full branch contains some additions, like Unicode support and documentation. So it's probably more correct to call it a superset of the DWS code.

REFERENCE

bin/mozilla - Frontend

SL - Backend

  • SL::AA - AR/AP backend routines

  • SL::AM - Administration module

  • SL::API - JSON API

  • SL::BP - Batch printing module backend routines

  • SL::CA - Chart of accounts

  • SL::CP - Check and receipt printing payment module backend routines

  • SL::CT - Backend code for customers and vendors

  • SL::Form - Request container and utilities

  • SL::GL - General ledger backend code

  • SL::HR - Backend code for human resources and payroll

  • SL::IC - Inventory Control backend

  • SL::IM - Import/Export module

  • SL::IR - Inventory received module

  • SL::IS - Inventory invoicing module

  • SL::Inifile - Routines to retrieve / manipulate win ini style files

  • SL::JC - Job Costing

  • SL::JS - Routines to create Javascript functions

  • SL::Mailer - Mailer package

  • SL::Menu - Routines for menu items

  • SL::Num2text - Default code for the Check package

  • SL::OE - Order entry module

  • SL::OP - Overpayment function

  • SL::PE - Project module

  • SL::PM - Price Matrix for IS, IR, OE

  • SL::RC - Account reconciliation routines

  • SL::RD - CMS backend routines

  • SL::RP - Backend code for reports

  • SL::RU - Backend for recently used objects

  • SL::SM - Module for reposting/deleting invoices

  • SL::User - User related functions

  • SL::VR - Voucher/batch register backend routines