Dec. 10, 2001

  1. Version 1.6.13
  2. added variables for contact information to invoices

Dec. 9, 2001

  1. Version 1.6.12
  2. added Polish translation
  3. fixed division by zero error
  4. fixed error reporting if DBD is missing

Nov. 23, 2001

  1. Version 1.6.11
  2. added translation and default chart of accounts for Simplified Chinese
  3. updated Traditional Chinese translation
  4. added default chart of accounts in Traditional Chinese
  5. updated Italian translation and chart of accounts
    the chart of accounts includes an account for the 20% withholding tax
  6. updated Spanish translation for Venezuela
  7. fixed bug in vendor invoice; AP and paid selection menu item didn't match up with stored values.

Nov. 14, 2001

  1. Version 1.6.10
  2. fixed error when service item was part of an assembly
  3. updated Danish and Norwegian translations
  4. added Danish chart of accounts

Oct. 23, 2001

  1. SQL-Ledger in the news.
    Featured in Zonker's Product Picks in the November 2001 issue of the Linux Magazine
    Read about it on page 58.

Oct. 19, 2001

  1. Version 1.6.9
  2. revised AR & AP screens to allow entering taxes regardless if tax is included in amount or not
  3. taxes are calculated based on tax included switch
  4. added defaults for initial name to render screen based on the settings for the name

Oct. 17, 2001

  1. Version 1.6.8
  2. added chart of accounts for Czechoslowakia
  3. added Danish Default chart of accounts
  4. added Czech templates
  5. updated translations for Czech, Danish, Norwegian
  6. added invtotal and taxbase variable to invoices
  7. added 'if not' conditional for templates

Oct. 9, 2001

  1. Version 1.6.7
  2. added chart of accounts for Italy
  3. Italian templates and updated translation

Sep. 24, 2001

  1. Version 1.6.6
  2. added code for debit and credit balance check to get rid of out of balance error where there is none. Apparently computers don't always know that 14.05 plus 1.96 is 16.01 and not 16.0000000000997.

Sep. 20, 2001

  1. Version 1.6.5
  2. added Portugese translation
  3. added missing texts to translate dates for trial balance
  4. when subtotals were used on a trial balance the totals also included the subtotals; fixed

Sep. 17, 2001

  1. Version 1.6.4
  2. added function after posting an invoice to ask if user wants to create another invoice
    this prevents the invoice number from being incremented
  3. fixed incorrect tax included variable in inventory received module
  4. added last cost for service items

Sep. 7, 2001

  1. Version 1.6.3
  2. fixed dates for GL reports
  3. security fix

Sep. 2, 2001

  1. Version 1.6.2
  2. added Czech translation
  3. updated Arabic and Norwegian translation
  4. added headings and subtotals on reports
  5. revised connect string for local database connection

Aug. 21, 2001

  1. Version 1.6.1
  2. revised AR and AP transaction screen. "Update Form" now calculate taxes, due dates and total amount based on the customer / vendor selected.
  3. added stylesheet and charset variable
  4. added Dutch Chart of Accounts and templates

Aug. 12, 2001

  1. Version 1.6.0
  2. new General Ledger report which can be customized for a source (invoice number or other sources), a date range, a description (doubles as customer and vendor name. You can include all accounts or accounts by category (income, expense, ...), fields can be selected to show only the ones you require. This report can be used to produce ledgers such as sales and purchase journals or tax collected for period, by customer, etc.
  3. build assemblies from parts, services and assemblies. When the assembly is sold expenses are posted to all the accounts listed for the individual parts. Income and tax is recorded in the account specified for the assembly. Individual items can be edited right from within the assembly, total price is calculated but can also be changed.
  4. stocking assemblies is done by adding the assembly to inventory. This reduces the inventory level for the parts and assigns it to the assembly. The re-order point can be used to indicate how many assemblies should be in stock.
  5. numbers are formatted to a string you specify in your preferences. You can also input numbers in your familiar way (1.000,00 or 1000,00, ...)
  6. long and short dates on all reports
  7. new administration interface to create databases and preload with a Chart of Accounts of your choice.
  8. Standard Chart of Accounts or industry specific Chart of Accounts can be added to the selection list without touching the code
  9. language specific templates can be selected when you add a user
  10. you can also add your own templates; no more copying over top of the standard templates
  11. balance field in the chart of accounts was dropped; instead when you run a trial balance or list the Chart of Accounts the balances are calculated
  12. Business Number field; can be used on any of the template driven reports
  13. username variable was added for the invoice
  14. all the double entries for AR and AP transactions are gone.
  15. Access control for every menu item; it is now possible to setup a screen for say counter personnel and give them access to the inventory and invoicing portion only.
  16. Aging reports for receivables and payables either for all or for a selected customer / vendor and up to a certain date. The report can also be used to produce statements if you like.
  17. Invoices are on one form only. The customer / vendor selection was moved to the invoice itself.
  18. "Update Form" now replaces buttons such as "Add Item" or "Add MakeModel row" or "Add Row". One consistent interface, if in doubt what you should do press the "Update Form" button. For instance on an invoice the button will retrieve customer information and retrieve the part entered. It also recalculates the form when you change quantities or prices.
  19. Inventory report can be produced for all items or for parts, assemblies, services or items on hand.
  20. "Search" link has changed to "Reports" since the search function really produces reports. So, to search for a particular transaction you click on "Reports" and enter the search criteria. The same applies to all the modules (AR, AP, GL, Inventory)

July 26, 2020

  1. Version 1.4.13
  2. added locale files for Venezuela

July 13, 2020

  1. Version 1.4.12
  2. included Norwegian translation

July 11, 2020

  1. Version 1.4.11
  2. included Dutch translation

July 10, 2020

  1. Version 1.4.10
  2. negative quantities and amounts didn't show up on invoices. Fixed.

July 9, 2020

  1. Version 1.4.9
  2. added headers for trial balance.
  3. posted French chart of accounts

July 8, 2020

  1. Version 1.4.8
  2. fixed missing weight and domestic currency display in parts screen.
  3. included perl web server

June 24, 2020

  1. Version 1.4.7
  2. added sorting by account number for GL transactions
  3. fixed missing translations

June 17, 2020

  1. Version 1.4.6
  2. changed payment and receipt transactions to record payment date
  3. added missing translation string in customer/vendor module
  4. added datepaid column for accounts receivable report

June 5, 2020

  1. Version 1.4.5
  2. changed language selection to pull-down menu
  3. removed chart of account file dependencies

June 3, 2020

  1. Added Swedish translation

May 30, 2020

  1. Version 1.4.4
  2. minor bug fixes

May 21, 2020

  1. Version 1.4.3
  2. updated translations

May 14, 2020

  1. Version 1.4.2
  2. better error reporting
  3. added field selection for GL transaction report
  4. added Debit and Credit and sums to GL report
  5. added account number to collect GL transactions for account
  6. revised GL report to include all sub accounts

May 12, 2020

  1. Version 1.4.1
  2. fixed chart_id attribute for tax accounts
  3. included revised Danish and Estonian translations.

May 11, 2020

  1. Version 1.4.0
    This is a major milestone in the development with many new features.
  2. Revised tax system, dynamic, data driven
    choose wether to include tax in price or calculate on top
  3. Customers/Vendors can be flagged to include only certain taxes
  4. Parts and services can be setup to include different taxes
  5. Trial balance for period of time, from or up to dates
  6. Choose which fields to include in AR, AP reports including sums
    can be used to generate customer/vendor statements
  7. no more cookies, lynx friendly
  8. streamlined invoicing system
    eliminated initial step to choose the accounts for posting and moved the selection menus to the invoice
    taxes show up on invoices only if there are amounts
  9. revised translation mechanism to make it easier to change texts
    no more errors when texts are missing
  10. added Arabic translation
    Arabic support is not yet finished and limited to the language
    display mirroring will be in a later release
  11. added Italian translation
  12. encrypted passwords
  13. new configuration file (sql-ledger.conf) to specify location of members file, users directory and templates directory
    this makes it easier to create packages (rpm, deb, ...)
  14. terminal variable can be passed on the URL to setup the display
    only mozilla and lynx work at the moment, a console port is on it's way
  15. Automatic invoice and due dates on invoices

Feb. 27, 2001

  1. Version 1.2.10
  2. Included Estonian translation and templates

Feb. 17, 2001

  1. Version 1.2.9
  2. fixed date display for German dates.
  3. changed substring searches, PostgreSQL's ~* operator to a LIKE statement

Feb. 8, 2001

  1. Version 1.2.8
  2. added Brazilian Portuguese translation

Jan 7, 2021

  1. added shiptoemail field to customer table

Jan 3, 2021

  1. added Danish and Traditional Chinese translation

Nov 20, 2020

  1. added code to convert double quotes; you can now enter single or double quotes in any character field.

Oct. 6, 2000

  1. Added French translation
  2. fixed subroutine for deleting parts
  3. added version number to bug report

Sep. 18, 2000

  1. Added Spanish translation
  2. Added subroutine to update inventory account numbers in parts table

Sep. 14, 2000

  1. Added tel, fax, signature variables for use in templates

Sep. 10, 2000

  1. Version 1.2
  2. Inventory control is done, this completes the accounting cycle
  3. Added Vendor Invoice to record parts and services received/purchased
  4. Added payment and receipt screen to process payments, this eliminates the need to recall the original invoice to record a payment
  5. Added foreign language support, thanks to Thomas Bayen who provided the code and some German translations and to Maria Gabriela Fong for the Spanish texts.

Aug. 16, 2000

  1. Fixed subroutine to save user preferences.

July 27, 2020

  1. Removed dependencies for a unique identifier; every user with the same login name now uses the same preference file.
  2. Fixed cookie so that one can work on two or more instances or with other application requiring a cookie.
  3. Enabled database options field to send options to the backend required to set variables after a connection is made. The options field can be used to set a DateStyle variable.

July 15, 2020

  1. Setup mailing lists for users and developers

July 11, 2020

  1. Added packing list
  2. Fixed bug in account sorting callback string
  3. Added sort algorithm to display the sorted column first

July 4, 2020

  1. Version 1.0
    The jump to version 1.0 from 0.5 is because SQL-Ledger is now a double entry system.
    Version numbering will be even numbered for the stable releases, and odd numbered for development releases.
  2. New Features:
  3. Because of the double entry feature and tight integration, the new version will only work with SQL servers with transaction support.

Apr. 20, 2000

  1. fixed couple scripts which referenced scripts with pl extension

Mar. 8, 2000

  1. merged accounting menus into one
  2. couple minor bug fixes, SQL syntax (not all servers are equal!)
  3. created schema file for SQL servers with AUTO_INCREMENT fields

Feb. 28, 2000

  1. Released version 0.5
  2. The display interface has changed to using frames
    There is a complete new way to sign on through a login script now.
    You can now log in with the same user-name several times.
  3. The members file holds all the variables for each user and sets up the environment. This makes it true multiuser, multi-company capable (by multi-company I mean you can work with the same installation on a different set of data)

Oct. 29, 1999

  1. Released version 0.4
  2. You can now configure some very country specific stuff like your native currency or the name of your tax, or how you enter dates
  3. The tax fields are free to be labeled whatever you have in your country The two tax levels can also be set to calculate additive or tax on top of tax
  4. GST/PST report was renamed to a generic tax report.
  5. AR/AP reports now summarize by currency without showing a conversion to CDN currency. Sums are converted to your native currency instead.
  6. other variables in the configuration include date formats, shipping point, native currency, driver strings for the DBI module
  7. Parts cross-references (alternates) now show the make and you can jump to the part by clicking on a hyper-link to view, edit or link to another part
  8. Relations by part numbers are gone and parts relate to each other by IDs instead.
  9. Each part in the table may have multiple supplies which are linked back to a part in the parts table
    You can have multiples of the same part in the parts table and still differentiate who supplies what
  10. The menu for supply is gone. All the functions to add/edit/delete a supply item has been merged into the parts side with a [ Check Supply ]

Oct. 18, 1999

  1. adapted for use with ODBC driver
  2. changed table currency to exchangerate
    MS Access barfed on a "select * from currency"
  3. tested on MS Windows with ODBC driver and apache
Need some minor changes to test for existence of data. Apparently not all drivers are equal and the only way to check if there is data in the tables is to fetch all the rows.

Oct. 14, 1999

  1. Version 0.3
  2. altered database structure to work with hopefully any SQL servers as long as either sequences or auto increment fields are supported.
  3. tested with the Pg and mysql drivers

August 6, 2020

  1. Version 0.2
  2. complete rewrite to make use of DBD and DBI.
  3. The Pg module version 0.1 will no longer be maintained

April 27, 2021

  1. merged updates into sql-ledger.0.1.2.tgz

March 25, 2021

  1. added search option to search for parts and supply by description
  2. fixed variable reference for oid to update supplier in supply update script.

Feb. 9, 1999

  1. display all vendors for printing addresses instead of vendors with outstanding balances only.

Initial release - Jan. 29, 1999

The first release is complete to a point where it is usable in a production environment. The scripts perform as expected equally well when used with the Lynx or Netscape browser. Currently there is no provision for double-entry bookkeeping the easy way. However with some creative thinking one can use the 'order field' in the A/P table to keep track of various expense and an identifier attached or integrated with your invoice number such as JOMO1001:SALES1 to track your income categories. Identifiers like 'JAN1999:TELEPHONE:OFFICE' are easily split with perl, awk or sed to produce a report. Later releases will include a master chart of accounts to keep descriptions uniform and to setup a system to produce financial statements the way you want them.

  1. Bank Accounts

  2. Scripts to record bank transactions are the same for all bank accounts. This way you can add/change bank accounts or rename them to suit your needs.

  3. Accounts Receivables

  4. The Order field may be used to categorize for reports. This makes it easy to report by customers, regions or whatever you choose it to be. I also use a special customer '1 -- Exchange Rate Premium' and keep a record of the exchange rate differences. The '1' makes the customer the first entry in the lookup box.

  5. Accounts Payable

  6. Order field may be used to categorize for reports. This makes it easy to record a transaction against an A/R invoice or some other expense category. A 'Search for transaction' limited to 'TELEPHONE' entered in the order field will then list all A/P invoices where 'TELEPHONE' appears. A special vendor '1 -- Exchange Rate Premium' may be used to keep track of foreign exchange rate differences. Menu item 'Print vendor's mailing address' produces a list of vendors to select from. It will print one address on a sheet of paper which may be used to stuff in a window envelope along with a check or other material you wish to send to the vendor.

  7. Contacts

  8. The 'Notes' field in the company, supplier, vendor and customer tables is a free form searchable field. This makes it very convenient to categorize your companies. Companies, suppliers, vendors and customers have all something in common and one might ask why there are different tables when one or two would do. The reason behind this is that each one has it's own place in the system. The vendor's address, contact information is usually different for the accounting department, the supplier is not a vendor but the company who could supply an item. The contacts in the company table grow to a size you'd normally don't need for your customers so they were split. The extra work involved entering some companies twice is a small price to pay for increased performance and keeping a system tidy.

  9. Exchange Rates

  10. To keep track of the most recent exchange rates. Buy and sell fields are provided. Used to calculate the price of an item listed in the parts table. Inverse rates are also listed when listing all currencies.

  11. Invoice
  12. Invoices can be e-mailed to the customer, there is support built in to produce invoices with different company headers. Members file holds header information about the person preparing the invoice You can also produce the invoice in a foreign currency.

  13. Quotes
  14. same as invoice

  15. Makes
  16. To keep track of manufacturers.

  17. Parts

  18. Parts listings include alternates and a hyper-link to check supply.
    The supply table holds all parts you know you can buy from a particular supplier. If you have more than one supplier for a part it is added for as many suppliers you have.