Documentation version 5.0
First of all, Thank you so much for purchasing this application and for being
my
loyal customer.
You are awesome!
You are entitled to get free lifetime updates to this product +
exceptional support from the author directly.
This documentation is to help you regarding each step of usages. Please go through the documentation carefully to understand how this application is work. PHP, HTML, CSS and MySQL knowledge is required to customize this application. You may learn basics here, here.
You will need the following requirements to install this application.
Be careful while editing the
application. If not edited properly, the logical and design layout may
break completely.
No support is provided for faulty customization.
START
NEXT
NEXT
Finished
Please have an overview of dashboard
In this section you can manage following options .
Company information and logo for invoices and other type of receipts.
TAX, TAX ID, Langauage and other invoicing related settings
Company Currency Format settings like Decimal Separator,Thousand Separator etc
Date & Time Format settings
Transaction Categories are helpful to sort transactions in categories
You can set your goals here it will display on dashboard.
One of the most popular types of API is REST or, as they're sometimes known, RESTful
APIs. REST or RESTful APIs were designed to take advantage of existing protocols.
Application is shipped with ready to use RestFul Service. You can write code in rest
section and link it with other applications. More
Here
Geo POS utilize SMTP protocol to send its all emails including (invoice notifications,
user password reset). You must configure SMTP correctly to send emails. Please do not
send support requests regarding SMTP configuration. It has perfectly tested SMTP
integration so check your server credentials.
In this section you can manage your company employee and their roles. To login employee email and password are required.
Application has ready to some popular payment gateways.
You can enable or disable these either all or individually.
Enabled gateways will display publicly on invoice payment page where customer can make a
payment. Look at screenshots of public invoice payment page. Please do not send support
requests reagrding Payment Gateway Credentials and configuration. These gateway integration
is perfectly tested so check your Gateway credentials or contact to service provider.
Final Payment Page it will display like this
In sales section you can create invoices, quotes and recurring invoices.
It will ask you to open teh register before POS Invoice creation.
Here you can view the invoices history and mange them.
Subscriptions is same as other invoices but here invoices will automatically generated. You need to setup the cron job for automatic invoices
In this section you have to do entry of your all stock. There is a stock tracker added in application which will provide you stock records.
This feature is helpful to maintain record of your incoming stock. Additionally you can forward it your suppliers as an email also. Functionality of this section is similar to the invoices but it acts opposite to the invoice.
Customer Relationship Management section have all customers address, all invoices and money transactions by the customer. Here you can reset the customer login password.
You can send bulk email to all customer in a group.
A supplier is required to create a purchase order. We had discussed on purchase orders on above section.
This section is heart of your business. Here you have to add internal business accounts. Payments in invoices,purchase orders , income and expenses transactions will automatically reflected in this section.
In Export Data Section you can customers,suppliers,transactions and products easily.
Exported date_format is .csv.
Additionally, you can backup your whole database also.
Application has pre-installed REST drivers. You can you use the application as per your requiremnts.
Sample Get function
public function clients_get() { $id = $this->get('id'); if ($id === NULL) { $list = $this->restservice->customers(); if ($list) { // Set the response and exit $this->response($list, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code } else { // Set the response and exit $this->response([ 'status' => FALSE, 'message' => 'No users were found' ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code } }
To enable rest service you have to generate an api key in settings>REST API section.
Default data response will be in json format
By deafult some basic functions are added. You can add more methods in application/controller/Rest.php
Sample POST methodpublic function clients_post() { $id = $this->post('id'); if ($id === NULL) { $list = $this->restservice->customers(); // Check if the users data store contains users (in case the database result returns NULL) if ($list) { // Set the response and exit $this->response($list, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code } else { // Set the response and exit $this->response([ 'status' => FALSE, 'message' => 'No users were found' ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code } } // Find and return a single record for a particular user. $id = (int)$id; // Validate the id. if ($id <= 0) { // Invalid id, set the response and exit. $this->response(NULL, REST_Controller::HTTP_BAD_REQUEST); // BAD_REQUEST (400) being the HTTP response code } // Get the user from the array, using the id as key for retrieval. // Usually a model is to be used for this. $list = $this->restservice->customers($id); if (!empty($list)) { $this->set_response($list[0], REST_Controller::HTTP_OK); // OK (200) being the HTTP response code } else { $this->set_response([ 'status' => FALSE, 'message' => 'User could not be found' ], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code } }
The software utility Cron is a time-based job scheduler in Unix-like computer operating systems. People who set up and maintain software environments use cron to schedule jobs (commands or shell scripts) to run periodically at fixed times, dates, or intervals. It typically automates system maintenance or administration though its general-purpose nature makes it useful for things like downloading files from the Internet and downloading email at regular intervals.
To create a cron job, perform the following steps:
Select the interval at which you wish to run the cron job from the appropriate menus, or enter the values in the text boxes.
Common Settings-This menu allows you to select a commonly-used interval. The system will configure the appropriate settings in the Minute, Hour, Day, Month, and Weekday text boxes for you.
Minute - Use this menu to select the number of minutes between each time the cron job runs, or the minute of each hour on which you wish to run the cron job.
Hour- Use this menu to select the number of hours between each time the cron job runs, or the hour of each day on which you wish to run the cron job.
Day - Use this menu to select the number of days between each time the cron job runs, or the day of the month on which you wish to run the cron job.
Month- Use this menu to select the number of months between each time the cron job runs, or the month of the year in which you wish to run the cron job.
Weekday- Use this menu to select the days of the week on which you wish to run the cron job.
The software utility Cron is a time-based job scheduler. People who set up and maintain autometed application task use cron to schedule jobs to run periodically at fixed times, dates, or intervals. Recommended corn job scheduling is in midnight.
Job Subscription Invoices Auto Management URL is
WGET http://example.com/cloud_invoice/cornjob/subscription?token=45405689
GET http://example.com/cloud_invoice/cornjob/subscription?token=45405689
Due Invoices Automatic Email URL is
GET http://example.com/cloud_invoice/cornjob/due_invoices_email?token=45405689
WGET http://example.com/cloud_invoice/cornjob/due_invoices_email?token=45405689
Automatic Report data update
This action will update the monthly sales,sold items, total income and expenses of past 12 months.
GET http://example.com/cloud_invoice/cronjob/reports?token=45405689
WGET http://example.com/cloud_invoice/cronjob/reports?token=45405689
In this application we have used https://github.com/mike42/escpos-php library This project has included subset of Epson's ESC/POS protocol for thermal receipt printers. It allows you to generate and print receipts with basic formatting, cutting on a compatible printer.
This case is applicable only if your app and printer is directly connected - like both are on same local network. - Printer is USB/Local_Network and app is hosted with localhost on same computer/local_network.
Please go printer config section
1. File Printer- use this option if your using standard UNIX/Linux
system
Your printer/app should have connected/hosted on the same operating system. Printer Connector
value for this option is generally like
Printer Connector : /dev/usb/lp0
2. Network Printer- use this option if your using a Network connected
Printer
Your printer should have a static ip address. Printer Connector value for
this option is generally like
Printer Connector : http://10.x.x.x:9100
Printer Connector : http://236.x.x.x:9100
Class 10.x is related to your private network, it will not work with public hosted app on different server (See Case 2)
If your printer is on public network(public ip), it will work with public hosted app on different server
3. Windows Printer (USB)- use this option if your using standard windows
system
Your printer/app should have connected/hosted same operating system. Printer Connector
value for this option is generally like
Printer Connector : LPT1
It will not work with public hosted app on different server and printer is connected to a different local computer (See Case 2)
Here 'LPT1' can be your printer's share name -> go to windows printer settings > printer properties > enable sharing (you will get the share name like ESPXYZ)
This case is applicable only if your app is hosted on a public hosting server while printer is connected to your local system/computer/network.This case is applicable for most of USERS.
For XAMPP Open XAMMP Installation Directory/htdocs Folder
Extract downloaded file to htdocs (yourlocalserver)/pos_printer$config['app_url'] = 'http://youdomain.com/yourfolder/';
Example http://billing.ultimatekode.com/yourfolder/ - do not forget last '/' slash
$config['rest_key'] = 'YOURKEY_HERE';
$config['printer_connection'] = 'test';
$config['print_file'] = '/dev/usb/lp0';
$config['print_network'] = array("10.x.x.x", 9100);if you printer ip is public you can follow CASE 1
$config['print_windows'] = 'LPT1';
Here 'LPT1' can be your printer's share name -> go to windows printer settings > printer properties > enable sharing (you will get the share name like ESPXYZ)
Linux | Mac | Windows | |
---|---|---|---|
Ethernet | Yes | Yes | Yes |
USB | Yes | Not tested | Yes |
USB-serial | Yes | Yes | Yes |
Serial | Yes | Yes | Yes |
Parallel | Yes | Not tested | Yes |
SMB shared | Yes | No | Yes |
CUPS hosted | Yes | Yes | No |
feedForm()
to release paper).release()
to release slip).Geo POS utilize SMTP protocol to send its all emails including (invoice notifications, user
password reset). You must configure SMTP correctly to send emails. Please do not send
support requests regarding SMTP configuration. It has perfectly tested SMTP integration so
check your server credentials.
yourproject/application/controllers/User.php
yourproject/application/models/Projects_model.php
Please remember you have purchased a very affordable application and you have not paid for a full-time web design agency. Occasionally we will help with small tweaks, but these requests will be put on a lower priority due to their nature. Support is also 100% optional and we provide it for your connivance, so please be patient, polite and respectful.
Please visit the ultimatekode helpdesk and ask question http://helpdesk.ultimatekode.com
Enter a valid email to receive ticket replies. Gmail is recommended for reliable communication. Email maybe found in SpamBox after 5 minutes (whitelist helpdesk@ulimatekode.com). If you are not receiving emails means you will not get reply notifications.
Support for our items includes:I am not the only person who wrote these codes. I used several open source projects. My special thanks to thousands of open source community members, I can't mention their names but, all who contributed to these communities. I've used the following libraries, icons or other files as listed. These are the primary library files used for design the application. Use these to customize your application even further.
Name |
---|
Codeigniter Framework |
jQuery Library |
Bootstrap Library |
robust bootstrap template |
PHP Mailer |
Morris Chart |
Feather |
Ionicons |
FPS Line Icons |
IcoMoon |
Font Awesome |
Meteocons |
Evil Icons |
You can find the version history (changelog.txt) file on documentation folder
Once again, thank you so much for purchasing this application. As I said at the beginning, I'd be glad to help you if you have any questions relating to this application. No guarantees, but I'll do my best to assist. If you have a more general question relating to the application on Codecanyon, you might consider visiting the forums and asking your question in the "Item Discussion" section.
--- Changelog ----- Change Log v 3.5 b55 - Manual Update [ This is a manual update please watch the update video or read the update guide ] https://youtu.be/v-7fZn449tc - Update : Codeigniter & all libraries updated to support PHP 7.3 better - Update mechanism improved - Code enhanced - PayPal Payment Gateway Updated: Redirect to PayPal.com instead on on page card data - PDF temp directory Changed to the userfiles/temp/pdf Change Log v 3.6 b54 - Auto Web Update - Added: Account Type Added : Assets, Expenses, Income, Liabilities, Equity - Added: BalanceSheet Structure Improved - Added: Date Filter Search Added at all invoices,quotes etc pages - Added: Status Search Added at all invoices,quotes etc pages to filter the records - Added: Stock Section Product Search Improved - Added: New Fresh Installation has a new option - database number systems 0.00 to 0.0000 Change Log v 3.5 b51 - Auto Web Update - Added: Data Export Added to Sales module - pos, standard invoices,quotes & subscriptions - Added: Data Export Added to Stock module -purchase orders,stock return - Added: Data Export Added to Project module - Added: Data Export Added to Promo,Miscellaneous module - Added: Data Export Added to HRM module - Added: Stock Transfer Reports Added CategoryWise - Added: Stock Transfer Reports Added WarehouseWise - - Added: Enable Application Development Mode Added to settings - Added: Add New Products to multiple warehouses - Purchase Order Multi Currency Improved - Some print issues for Stock Return Fixed - Reports Improved For Master Locations when the data sharing is off - Customer Delete Improved - Image Upload & Dimensions Improved - Employee Role Id Edit Added Change Log v 3.4 b47 - Auto Web Update - Vertical Menu is added as requested by many users Settings>Templates - Stock Return Improved - Menu Improved Change Log v 3.3 b45 - Auto Web Update - New Transactions Email Alert Added - Transactions Delete Email Alert Added - Invoice Delete Email Alert Added - Extra Discount Added Invoices with POS - {Name} Varriable added for email templates - Custom Field added for products - Enable/Disbale Custom Field Button Added - Menu Improved - RTL POS Improved Change Log v 3.2 b44 - Auto Web Update - Dual Entry Accounting Added - ADVANCED SETTINGS>Dual Entry Accounting Dual Entry Accounting Added to Transactions,Invoices,Purchase Orders - Location Added to header - Multiple Location Feature Improved - you can exclude the master location data BUSINESS SETTINGS>Company Settings - Reverse Currency Applied for Purchase Orders - Location Delete Issue Fixed - POS Screen Search Improved - Minor Improvements Change Log v 3.1 b42 - Auto Web Update - Simple Invoice Based Commission Added for employees - Reports->Summary Reports - Employee digitation removed from Invoices print template - TextLocal SMS gateway added - need to activated in code - Clockwork SMS gateway added - need to activated in code - Any Generic REST Based SMS gateway can be added - need to activated in code - Product Report Improved - POS V2 Delete Row Fixed - Settings Menu Issue Fixed for Firefox - Minor Improvements Change Log v 3.0 b39 - Auto Web Update - Due Client List Added in CRM Section - Product Report Improved - POS V2 Delete Row Fixed - Settings Menu Issue Fixed for Firefox - Minor Improvements Change Log v 2.9 b37 - Complete Employee Section Redesigned - Minor Improvements - New Features will be released in next update - as per your suggestions Change Log v 2.8 b36 - Mega Internal Code Enhancement for upcoming features - Invoice & POS Round Added - Localization > Currency Settings - Multi-Currency Feature Improved - Conversion Added for Busine Branches, - Reverse Multi-Currency Applied to each module - Client RegisterDate Added for new customers - Quote Print Title Improved - Stock Reports Improved - POS Prefix Added - POS RoundOff Added Change Log v 2.7 b35 - Payment Processing Module Rewritten to maintain current security standards - Stripe Payment Process Update to token Based v3 - Review its settings if you are using it. - 2Checkout Payment Gateway Added - PayUMoney Payment Gateway Added - RazorPay Payment Gateway Added - New Invoice Print Template Added - New Print Style Applied for all modules including Quotes, Stock Return, Purchase Orders - Switch Invoice Print Template Added - Settings > Templates - Invoice Print Template Printing Path Compatibility Improved - POS Card Payment Mechanism Improved - Minor tweaks -*NOTE*: Please do a manual update(via update_guide) as this update size is very huge and it can not be automatic updated over web due to a technical limitations. Change Log v 2.6 b34 - Most Awaited Feature Custom Fields for Customer Added - More Coming - Menu Items Rearranged - Cron Job Section Improved - Minor tweaks Change Log v 2.5 b33 - Customer Sign Up Option Added (Settings>CRM Settings) - Email to the customer when employee register a customer - Reverse Currency Added For Quotes - Customer Address Self Update Added in Customer Login - Unique Email Restriction Applied for Customer Registrations - Custom fields for the customer in the next update - Minor tweaks Change Log v 2.4 b32 - Product Sales Statement Added - Product Purchase Statement Added - Product Stock Edit/Transfer Statement Added - Standard Invoice Edit Improved - Total Discount Info Added to Customer details - Zero Stock Billing to use products as service. - Language files updated - Small tweaks Change Log v 2.3 b30 - Code EAN13, ISBN, ISSN, UPCA, EAN8, C128A, C39 Support Added - BarCode Print Improved - Product Label Print Added - Customer Group Discount Added - Employee Clock In-Out Added - Employee Working Hours Added - Employee Self Attendance Added - POS Style/Version Switcher Added - Employee Quotes Added - Employee Projects Added - Small tweaks Change Log v 2.2 b30 - Small tweaks - Roadmap for the future new features - MySQL 5.6+ note added for installations Change Log v 2.1b28 - Complete Application Inspected & Improved - Performace , Stability & Security - Small Issue Fixed - Intense ReTesting Done for all features - -Old users after the update, please go line 443 and change to config.php $config['csrf_protection'] = FALSE; to $config['csrf_protection'] = TRUE; -------------------------------------------------------------------------------------------- Change Log v 2.1 - New Feature - Default Discount Format - New Feature - Default Discount for customer - New Feature - Tax for Shipping - New Feature - Employee Attendance - New Feature - Employee Holidays - Improvement - HRM Section - POS Small Twaeks - Many Small Twaeks Change Log v 2.0 - New Feature - New POS Panel - New Feature - POS Header Show/Hide - New Feature - POS Keyboard Shortcuts Added - New Feature - POS One Click Pay & Print Added - New Feature - Currency Exchange Reverse Added for standard invoices - Improvement - Default Warehouse Feature Improved - Improvement - Product Import has now auto barcode generation - Improvement - Old POS Panel renamed as v2 Change Log v 1.9 - New Feature - Product Expiry and Email Alert Added - New Feature - Default Warehouse Added - New Feature - Advanced Printing Added For Thermal Printers - Improvement - POS section you can search the product by code - Improvement - POS section barcode gun search improved - Improvement - POS section barcode gun search improved - Improvement - POS section design - Improvement - Customer document id and extra field added - Improvement - Transfers between warehouses, search by name,code added Change Log v 1.8 - New Feature - Standard HRM Module - New Feature - Employee Payroll & Salary - New Feature - Employee Department - New Feature - Holidays added for upcoming Attendance System - New Feature - Customer login language added - New Feature - Notes for customer added - New Feature - Documents for customer added - New Feature - Customer View Section Shortcut Account Statement - New Feature - Customer View Section Shortcut Quotes - New Feature - Customer View Section Shortcut Projects - New Feature - Customer View Section Shortcut Subscriptions - New Feature - Customer Data View Permission Added - New Feature - Credit Note Added - New Feature - New Transaction- search for suppliers added - New Feature - Auto Database backup cron added - New Feature - Activity Log Added - Improved- Customer View Section Change Log v 1.7 - Project Manager Improved - New permissions added to Assign Project - Invoice Improved - Location Warehouse And Product View Improved -------------------------------------------------------------------------------------------- Change Log v 1.6 - Draft Section Improved - GST Invoice Improved - Stock transfer Improved Change Log v 1.5 - Auto WebUpdate Wizard Added - Big Improvements in product section - Stock Transfer with split qty added - Stock Return for Customer Added - Minor Improvements Change Log v 1.4 - Dashboard data filterd sub-locations - TAX Slabs Added- Dedicated TAX Section Added - Create Standard Invoices Without adding product to stock - Minor Improvements --------------------------------------------- Change Log v 1.3 - Local POS Print Server Support Added - Printer Config GUI Added - Location Restrictions Added on All sections ----------------------------------------- Change Log v 1.2 - Sales Summary Report Added - Products Sales Summary Report Added - Product Stock Alert Added - Product variations added - Total Due Calculation Added for Customer - Invoice creation disabled for 0 qty items - Graphical Report Section Added - Product Categories Graphical Reports - Trending Products Graphical Reports - Profit Graphical Reports - Customer Graphical Reports - Income vs Income Graphical Reports - Form Validation Improved ---------------------------------------------------------------------------------------------- Change Log v 1.1 - Employee Custom Permissions Added - Auto Email-SMS Feature Added - Settings Menu Improved - Product variations added - Customer Import Improved - Accounts Linked to Business Location - Warehouses Linked to Business Location - GST Exclusive & GST Inclusive Added - Profit Modules Added - Translation files updated - Quote for GST improved -------------------------------------------------------------------------------------------- Change Log v 1.0 - Initial Release --------------------------------------------------------------------------------------------
The following graphic illustrates how data flows throughout the system:
Geo POS is based on the CodeIgniter Framework (www.codeigniter.com) Model-View-Controller development pattern. MVC is a software approach that separates application logic from presentation. In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.
Geo POS has a fairly loose approach to MVC since Models are not required. If you don’t need the added separation, or find that maintaining models requires more complexity than you want, you can ignore them and build your application minimally using Controllers and Views. Geo POS also enables you to incorporate your own existing scripts, or even develop core libraries for the system, enabling you to work in a way that makes the most sense to you.