Here is a list of wishes and current development approaches. If you make some development you want to share, feel free to add description, status and your contact info here, to avoid work doubling.

Proposed new features and improvements

  • Single User with multiple Access Level ( in short single user multiple role( access to dept. )
  • Permission for add edit and delete to resp. users ( means the users given permission for add edit and delete can only perform such functionality )
  • Multiple lines with the same stock_id in purchase documents. Done - itronics,
  • Quick Entries to also include period balance from an account as origin instead of amount. Done by Joe.
  • Optimize database for speed. Create all missing indexes on felds which are used in any WHERE/ORDER/GROUP clauses. Done.
  • Accommodate Tom Hallman team's reporting extensions, whether in core code (generic features) or as extension report set.
  • Changing Accounts, Groups and Classes. Extending the account code from varchar(11) to varchar(15). Changing GL Group id from integer to varchar(10) and changing GL Class id from integer to varchar(3).
    Also fix so the account group id can be changed (when updating also update underlying sub-levels and GL Accounts).
    Done by joe?
  • Change Work Order entry like Sales Order/Quote and Invoice (very relevant for 'Advanced Manufacture' so it can be handed to production and then if problems come up the WO can be adjusted.)
  • Add method of converting a Sales Order (Demand) to Work Order (Produce) so it can be Delivered and Invoiced, it should copy any Dimensions (if logical) and 'Customer Order Ref.' to 'Memo' of Work Order. It can use the same functions used by 'Stock Check Sheets' for computing shortage display (by TomM)
  • Optional global variable indicating how the tax include on sales documents should be presented. Instead of sub-total, tax included outside the amount column and the total invoice, it could also be presented as sub-total tax excluded, tax and total tax included. Done by Joe.
  • A new parameter on the customer or branch indicating which doctext.inc to use. Standard as now, but with more doctextX.inc where more languages could be written. The doctext.inc without a trailing number is always the default (gettextizised). By Joe.Alternatively we should have only one gettextized doctext.inc, and select language just before report generation to any installed language - selected in customer prefs Done itronics.
  • Add new Supplier_Contacts Table keyed by Supplier_ID with name, email and roles. Sample Roles - Purchasing (Send PO), Accounts Receivable (Send Payment notices), etc. The roles can be expanded in the future with little impact. If no role is defined for the need (ie Send PO and not PO Role defined) then the code should use the default contact defined in the supplier record. Implemented in 2.3 itronics
  • Decrement reference when voided document was the one recently entered (i.e. reference number reuse). Done itronics?
  • Automatic voiding underlaying auto SO/DN during voiding direct delivery note/sales invoice. Done by Joe
  • Allocation of prepayments - payment can be allocated to SO/PO, and is later automatically reallocated to related sales/purchase invoices.
  • Selectable sales currency (setting in customer prefs used as default).
  • Contracts implementation - for contracted customers recurrent invoices issued at the end of invoicing period should also colect all additional deliveries made during a period.
  • Implement a link to an eventually attached document from the inquiry popup windows. The 'View Attachment' will only be shown if there are attachments. (by avb3) Done by Joe.
  • Implement revaluation of currency exchange as an option on the company and break it out into a function. Done By Joe.
  • User specified default 'days in past' (from date) for display screens eg. General ledger inquiry. Currently hardcoded in most scripts with '30'. NOTE to Joe/Itronics: I have coded this up, with a new 'Transaction Days' setting in Display setup. Joe get in touch if you want the code for this. I've done this for all the screens I use frequently, a few more are required (easy to do). (Pete p2409) Done by Joe.

Proposed feature for expanded information (drill down)

  • Khaled wants the account selection combobox to show the groups (types) which can be expanded to show the accounts for selection. Sometimes the COAs are very big.

Khaled Say : As per itronics suggestion and with what i proposed earlier, we may reach this feature like this : in FA preferences, we choose one of two methods :

 1 - original combobox menu for small & medium COA's 
 2 - OR a control button who Popup a small window (Calendar View Type Menu) in case of a long and complex COA's.

Yes. This seems to be optimal. If you wish implement it go ahead. You can also subscribe to development list to discuss your approaches with other developers. itronics

  • Chaitanya wants a drill down Trial Balance/BS and/or PL, where the groups inside the classes are shown first and then can be expanded.

Inquiry form should initially display only main heads divided in Assets and Liability side. (Income and Expense for PL statement) It should in form of a horizontal balance sheet i.e. all Assets accounts groups on left side and Liabilities on right hand side.

By clicking on any group, we should be able to drill down to it's subgroups and direct accounts listing and so on.

The presentation could be simple as shown here. Check this looks very handy - http://en.wikipedia.org/wiki/Balance_sheet#US_small_business_balance_sheet

The functionality could be just similar to trial balance. On trial balance screen when one clicks on account code, all transaction are displayed.

Similar logic can be implemented.

On clicking on group, all subgroups and directly linked accounts will be displayed with balances. And when we click on account code the transactions will come up as in case of trail balance.

This could be easily achieved as we already have many things ready for reuse. We need to develop only an additional logic to have groups displayed along with the balance.

I would stress on horizontal balance sheet presentation at start. As it gives better understanding than vertical one. Done for release 2.2.6 by Chaitanya

Point of Sale module (POS)

Proposed features for a POS module.
1. Some enhancements to Direct Invoice to make it easer to use at the POS.

  • Amount Tendered, and change back calculation. AM
  • Save, Retrieve, and edit Sale Invoice before it is processed. AM

2. Stand alone POS module.

  • more on this later (AM)

Purchase Order and Inventory Control: feature improvements

1. Purchases

  • Purchase Order Entry
    • Quantity discount on some items. When entering a quantity less then supplier min. or less then discounted quantity, you get a pop-up with additional information, or warning.
    • Auto Create: show all items for that supplier that are equal to or less then Re-Order Level, and show preset Reorder Quantity, filter by one or more locations, or integrated with Purchase Request or Requisition.
    • Option to create a Request to the supplier for a Quote (Proforma Invoice), edit and create Purchase Order.

2. Items and Inventory

  • Inventory Location Transfers
    • Create: Outstanding Inventory Location Transfers Maintenance
      • reports to use by warehouse to pack transfers, packing list, and document showing values for customs, .pdf, .xlt
  • Inventory Reports
    • Stock Check Sheets, add filter by Supplier. AM (This is an extremely complicated task, due to internal manipulation. Joe/ It may no be too bad if we do it at the innermost level of recursion/Tom)

Currently under development

  • Customer login - Chaitanya.
  • New central secure package repository. Packages (extensions, themes,languages...) will be selected to be installed/removed by admin without need for additional manual parameters entry Done Janusz (itronics)

Proposed technical changes

  • Move all lasted sql queries from ui pages to respective includes/db/*_db.inc - Joe (Joe) Done minus awaiting reports - Joe
  • Company preferences table changed so every setting occupies one record (sys_prefs) itronics

Adding New Options / Controls ( Khaled )

  • Print Paper Size Selector: Option/Select A4,A3,LETTER or LEGAL size before issuing reports.
  • Amounts Multiplier in Reports: Controlling Amounts values to be displayed in the reports as multiple of : x1 ; x10 ; x100 ; x1000.
  • Adding an "Edit Voucher Button" Option in Web Page View Windows.
  • Displaying the Current Fiscal Year at the bottom or top of the web pages.
  • Hiding Transactions with Accounts having Zero Amounts.
  • Balance Sheet Report : Output it with Debit & Credit Column Headers (same as Trial Balance output design report).

Add an option to sort item lists by item name

  • I think item drop downs should have a setup option to allow you to order the items by name rather than item code as if you have lots of items and do not know the code it takes a while to find the item on the list as they tend to be mixed up. I also think that as show item codes is off by default that order by name should be on by default so the drop downs look ordered.
--- includes/ui/ui_lists.inc	Wed Nov 06 16:43:56 2013
+++ includes/ui/ui_lists.inc	Sun Nov 24 16:34:16 2013
@@ -758,7 +758,7 @@
 		'size'=>10,
 		'select_submit'=> $submit_on_change,
 		'category' => 2,
-		'order' => array('c.description','stock_id')
+		'order' => array('c.description','s.description')
 	  ), $opts) );
 	if ($editkey)
 		$ret .= add_edit_combo('item');		
@@ -827,7 +827,7 @@
 		'size'=>15,
 		'select_submit'=> $submit_on_change,
 		'category' => 2,
-		'order' => array('c.description','i.item_code'),
+		'order' => array('c.description','s.description'),
 		'editable' => 30,
 		'max' => 255
 	  ), $opts) );

Multiple Supplier/Customer contact details (RodW)

  • Supplier table needs more than one set of phone and email contact details. The easy way would be to add additional fields to the Supplier table for Sales Contact, Purchasing Contact, and Accounts contact. Purchase Orders could be Directed to the Purchasing contact, Remittance advices to the Accounting Contact and general enquiries directed to the sales Contact. Implemented in 2.3
  • The harder (and more flexible way) would be to create a new Contacts table with fields for SuppplierOrCustomer and ContactType and allow the User to define at the company level which ContactType was used for various documents (such as purchase orders and remittance advices. A missing contact type would mean the correspondence should e redirected to the default contact details.
  • I would suggest that the Contact data table was modelled on the vcard specification (see http://en.wikipedia.org/wiki/VCard ) as this would allow vcard import to be established as an additional (maybe stage 2) feature.

Roadmap for v2.4


  • full utf-8 support - All tables now made InnoDB in v2.4
  • sales orders in prepayment mode (invoices can be issued for partial pre-payment)
  • support for supplier/customer sub-accounts in GL journal
  • ability to use multiple numbering sequences for invoices and other documents
  • module creator