Geo Point Of Sale and CRM Software

Documentation version 2.0


Introduction

  • Item Name : Geo POS - Accounting, CRM and CRM Software
  • Item Version : v 2.0
  • Author : UltimateKode
  • Support : support@ultimatekode.com

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.

Requirements

You will need the following requirements to install this application.

  1. Hosting Account
  2. FTP Tool to upload files to Server (eg: FileZilla)
  3. Web Browser to run the application (eg: Google Chrome or Mozilla Firefox)
  4. Server should be have at least PHP 5.6 or greater and MySQL 5.x version

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.

Getting Started #back to top

Auto Installation

  1. Create a MySQL Database in your hosting control panel.
  2. Note down your Database credentials - database host, username, password and database name.
  3. Select files_to_upload folder content(internal files ad folders) and zip it.

  4. Upload it (yourzip) file to server in desired folder
  5. Now visit to your application in browser with correct address like http://www.example.com/application
  6. Follow on screen steps

START

NEXT

NEXT

Finished

After successful login you will redirected to the dashboard.

Please have an overview of dashboard

Settings#back to top

In this section you can manage following options .

  1. Company Settings

    Company information and logo for invoices and other type of receipts.

  2. Billing & Language Settings

    TAX, TAX ID, Langauage and other invoicing related settings

  3. Currency

    Company Currency Format settings like Decimal Saparator,Thousand Saparator etc

  4. Date & Time Format

    Date & Time Format settings

  5. Transaction Categories

    Transaction Categories are helpful to sort tansactions in categories

  6. Set Goals

    You can set your goals here it will dispaly on dasbhboard.

  7. REST API

    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

  8. Email Config

    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 reagrding SMTP configuration. It has prefectly tested SMTP intigration so check your server credentials.


Employee Management #back to top

In this section you can manage your compnay emoployee and their roles. To login employee email and password are required.

Employee Role Defination

  1. BusinessOwner : With this role user can access all setting and section of application.
  2. Business Manager : With this role user can access section of application but not allowed to mange employee,application settings, payment gateways settings.
  3. Sales Manager: It can access sales section with stock manager. App Dashboard access is also disabled for this role.
  4. Sales Person: Only allowed to access the sales section. App Dashboard access is also disabled for this role.
  5. Inventory Manager: Only allowed to access the stock management section. Full App Dashboard access is disabled for this role.
  6. Project Manager: Only allowed to access the project management section. Full App Dashboard access is disabled for this role.


Payment Gateway #back to top

Application has ready to some popular payment gateways.

  1. Stripe
  2. Authorize.Net
  3. Pin Payments
  4. PayPal
  5. SecurePay

You can enable or disable these either all or induvidually.
Enbaled gateways will dispaly publicly on invoice payment page where customer can make a payment. Look at screenshot of public invoice payment page. Please do not send support requests reagrding Payment Gateway Credentials and configuration. These gateway intigration is prefectly tested so check your Gateway credentials or contact to servixe provider.

Final Payment Page it will display like this

Sales : POS, Invoices , Quotes & Subscriptions#back to top

In sales section you can create invoices, quotes and reccuring invoices.

Note: To create an invoice please add a client and some products in stock section. You can only create invoices of added products. If you put products manually. It will not considered in invoice. You can chnage the name of product after selecting it from product list temporary for that perticular invoice.

POS Create - Menu (Sales>POS>New Invoice)

It will ask you to open teh regiter before POS Invoice creation.




Standard Invoice Create - Menu (Sales>Sales>New Invoice)




After creation of invoice you can view the invoice. Manage invoice actions like edit, cancel,email, print.

Manage Invoices

Here you can view the invoices history and mange them.

Subscriptions

Subscriptions is same as other invoices but here invoices will automatically generated. You need to setup the cron job for automatic invoices

Note: The same guide will aapplicable for qoutes and reccuring invoices.

Stock Management #back to top

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.

Note: In this section at least one product category is required to function properly. Do not delete all products categories.

Purchase Order

This feature is helpful to maintain record of your incoming stock. Additinally you can forward it your suppliers as an email also. Functinality of this section is similar to the invocies but it acts opposite to the invoice.

CRM : Customers, Suppliers #back to top

Customers

Customer Relationship Management section have all customers address, all invocies and money transations by the customer. Here you can reset the customer login password.

Customer can login http://yourapplication.com/crm

Groups

You can send bulk email to all customer in a group.

Suppliers

A supplier is required to create a purchase order. We had discussed on purchase orders on above section.

ACCOUNTS & BALANCE #back to top

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 autometicllay reflected in this section.

Export Data#back to top

In Export Data Section you can customers,suppliers,transactions and products emaisly. Exoierted datformat is .csv.
Additnally, 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
            }
        }

                                      

How to enable rest service

To enable rest service you have to generate an api key in settings>REST API section.

Response

Default data response will be in json format

Methods

By deafult some basic functions are added. You can add more methods in application/controller/Rest.php

Sample POST method
  public 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
        }
    }


                    

CRON Jobs#back to top

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.

Corn Job Management

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.


Go to settings> Autometic Corn Jobs

Example Token is 45405689


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

Thermal Printer Config#back to top

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.

Case 1: if your printer is connected to network OR GeoPOS and printer are on same machine

Please go printer config section

  • 1. Add Printer
  • 2. Enter Printer Name it can anything
  • 3. Enter Select Printer Type
  • 1. File Printer- use this option if your using standard UNIX/Linux system
    Your printer and app should have 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

    3. Windows Printer (USB)- use this option if your using standard windows system
    Your printer and app should have same operating system. Printer Connector value for this option is generally like

     Printer Connector : LPT1

Case 2: Printing on different computer while app host is different (Printing on client computer)

  • 1. Install a PHP enabled webserver - XAMP,WAMP etc...
  • 2. Download the pos printing server http://www.ultimatekode.com/pos_printer.zip
  • 3. Extract downloaded file to yourlocalserver/pos_printer
  • 4. Open yourlocalserver/pos_printer/config.php

  • 5. Check config.php line no 27 , enter your app url
  • $config['app_url'] = 'http://youdomain.com/yourfolder/';
  • 6. Check config.php line no 35 , enter your rest key.
    You can generate key in GeoPOS>Left Side Menu
    Settings> REST API
  • $config['rest_key'] = 'YOURKEY_HERE';
  • 7. Check config.php line no 50 , enter your printer connection type.
    For FilePrintConnector = 'file'
    NetworkPrintConnector = 'network'
    WindowsPrintConnector (USB) = 'windows'
    DummyPrintConnector = 'test'
    Please enter one value, example for windows 'windows'
  • $config['printer_connection'] = 'test';
  • 8. Note: If you have entered $config['printer_connection'] = 'file'; in step 7 than please edit line no 64 . Enter your value for
    $config['print_file'] = '/dev/usb/lp0';


    Note: If you have entered $config['printer_connection'] = 'network'; in step 7 than please edit line no 67 . Enter your value for
    $config['print_network'] = array("10.x.x.x", 9100);


    Note: If you have entered $config['printer_connection'] = 'windows'; in step 7 than please edit line no 70 . Enter your value for
    $config['print_windows'] = 'LPT1';

    Compatibility

         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

      Supported Printers

    • 3nStrat POS-08
    • AURES ODP-333
    • AURES ODP-500
    • Bematech-4200-TH
    • Bematech LR2000E
    • Bixolon SRP-350III
    • Black Copper BC-85AC
    • Citizen CBM1000-II
    • Citizen CT-S310II
    • Dapper-Geyi Q583P
    • Daruma DR800
    • DR-MP200 (manufacturer unknown)
    • EPOS TEP 220M
    • Epson EU-T332C
    • Epson FX-890 (requires feedForm() to release paper).
    • Epson TM-T20
    • Epson TM-T20II
    • Epson TM-T70
    • Epson TM-T70II
    • Epson TM-T81
    • Epson TM-T82II
    • Epson TM-T88II
    • Epson TM-T88III
    • Epson TM-T88IV
    • Epson TM-T88V
    • Epson TM-U220
    • Epson TM-U295 (requires release() to release slip).
    • Epson TM-U590 and TM-U590P
    • Equal (EQ-IT-001) POS-58
    • Excelvan HOP-E200
    • Excelvan HOP-E58
    • Excelvan HOP-E801
    • Excelvan ZJ-8220
    • Gainscha GP-5890x (Also marketed as EC Line 5890x)
    • Gainscha GP-U80300I (Also marketed as gprinter GP-U80300I)
    • gprinter GP-U80160I
    • Hasar HTP 250
    • Metapace T-1
    • Metapace T-25
    • Nexa PX700
    • Nyear NP100
    • Okipos 80 Plus III
    • Orient BTP-R580
    • Partner Tech RP320
    • P-822D
    • P85A-401 (make unknown)
    • Rongta RP326US
    • Rongta RP58-U
    • Senor TP-100
    • SEYPOS PRP-300 (Also marketed as TYSSO PRP-300)
    • Sicar POS-80
    • Silicon SP-201 / RP80USE
    • SPRT SP-POS88V
    • Star BSC10
    • Star TSP100 ECO
    • Star TSP100III FuturePRNT
    • Star TSP-650
    • Star TUP-592
    • Venus V248T
    • Xprinter F-900
    • Xprinter XP-365B
    • Xprinter XP-58 Series
    • Xprinter XP-80C
    • Xprinter XP-90
    • XPrinter XP-Q20011
    • Xprinter XP-Q800
    • Zjiang NT-58H
    • Zjiang ZJ-5870
    • Zjiang ZJ-5890K
    • Zjiang ZJ-5890T (Marketed as POS 5890T)
    • Zjiang ZJ-8220

Email Settings & Templates#back to top

Email Config

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 reagrding SMTP configuration. It has prefectly tested SMTP intigration so check your server credentials.

Email Templates

  1. You can find in the template section in menu

  2. User Password Reset Email.

    yourproject/application/controllers/User.php

  3. Project Manager Notifications.

    yourproject/application/models/Projects_model.php

Support Desk #back to top

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 our profile page or ask question @ultimatekode

Support for our items includes:
  • * Responding to questions or problems regarding the item and its features
  • * Fixing bugs and reported issues
  • * Providing updates to ensure compatibility with new software versions
Item support does not include:
  • * Customization and installation services
  • * Support for third party software and plug-ins
Before seeking support, please...
  • * Make sure your question is a valid application Issue and not a customization request.
  • * Make sure you have read through the documentation before asking support on how to accomplish a task.
  • * Make sure to double check the application FAQs.
  • * Try disabling any active plugins to make sure there isn't a conflict with a plugin. And if there is this way you can let us know.
  • * If you have customized your application and now have an issue, back-track to make sure you didn't make a mistake. If you have made changes and can't find the issue, please provide us with your changelog.
  • * Almost 80% of the time we find that the solution to people's issues can be solved with a simple "Google Search". You might want to try that before seeking support. You might be able to fix the issue yourself much quicker than we can respond to your request.
  • * Make sure to state the name of the application you are having issues with when requesting support via CodeCanyon.

Files & Credits #back to top

Included Libraries

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

Version History (Changelog) #back to top

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

--- Changelog -----
- 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 
--------------------------------------------------------------------------------------------