This software is written using Python 3 and powered by MySQL.
It has so far been tested on Linux.
Features
Point of Sale
Functionality to query and add products by Barcode Number, Name and Code Name.
Associate customer with each sale and purchase using their unique contact mobile phone number.
Apply discount of individual products and the entire sale.
Sale with cash (full payment), cheque (credit sale), purchase and return both sales and purchase.
Update cash collected/paid against credit sales/purchase with cheque numbers.
Accounting
Make automated General Journal Entries with each sale, purchase and returns of both. These entries are made in Sale, Purchase, Cash, Accounts Recievable and Accounts Payable of Individual Customers.
Make manual General Journal Entries
Edit existing entries
Display accounts of each Head of Account
Maintain Accounts Recievable and Payable of each customer
Create Control Account
Create Income Statement
All accounts mentioned above can be viewed for any date range
Future Plans
Add ERP functionality to control access rights of employees
Add Depreciation and Inventory Valuation
Include BI Dashboard
Development and Technicalities
I have built this software using Python3. It uses PyMySQL and WxPython.
To understand the design start following the code starting from mainInterface.py.