Installation
-- PDF
-- Database backup
Upgrading
Preparing Simple Invoices for use
Using Simple Invoices
-- Biller Logos
-- Invoice Templates
-- System Defaults
-- Export to Excel/Word
Frequently Asked Questions (FAQs)
-- What is Simple Invoices?
-- What do i need to start invoicings?
-- How do I create invoices?
-- What are the different invoice types?
Installation

- Requirements:
  - Apache
  - MySQL
  - PHP
    - For PDF export to work your PHP needs:
      - GD2 support
      - php.ini needs to be edited with a max memory of 24M
    - For Reports to work your PHP needs:
      - xsl support (in PHP5)
      - xslt support (in PHP4)
  - The cache/ directory in the Simple Invoices folder must be writeable by all (ie chmod -Rv 777 cache)

- Recommended:
  - phpMyAdmin http://phpmyadmin.sf.net

- Dont have the above installed?
  - Windows: The easiest way to install all the required software on Windows is to download and install the WAMP5 package from http://www.wampserver.com/en .WAMP is Apache, MySQL, PHP for Windows in one easy to install file
  - Mac: The easiest way to install all the required software on Mac is to download and install the MAMP5 package from http://www.mamp.info/ .MAMP is Apache, MySQL, PHP for Mac in one easy to install file
  - Linux: just do the usual per your distribution to install the required softwares

- Installation on Simple Invoices
  - Now the required software has been installed and is running, download the latest Simple Invoices package from htt://simpleinvoices.sf.net
  - Extract the contents of the simple_invoices_yyyymmdd.zip to a simpleinvoices folder in your web servers document root (ie. /var/www in Debian)
  - Create a simple_invoices database on your database server. I recommend you use phpMyAdmin to create/manage your new database.
  - Once this database has been created populate the database with tables and test data by running the SimpleInvoicesDatabase.sql file in your database
    - In phpMyAdmin open the simple_invoices database you just created and go to the SQL tab
    - Upload the file in the SimpleInvoicesDatabase.sql "Location of the textfile:" and click go
    - Note: MySQL 4.0 user, please us the SimpleInvoicesDatabase-MySQL4_0.sql file instead of SimpleInvoicesDatabase.sql
    - Note: SimpleInvoicesDatabase.sql works fine with MySQL 4.1 and above.
  - Now the database has data and files have been 'installed' in the webservers document root, SimpleInvoice just need to have its configuration file edited and then its fine to use
    - Open the Simple Invoices coniguration file (which is config.php in the config/ folder) up in your favourite text editor
    - Edit the file so that
      - $db_host equals the name of your database server (normally "localhost"),
      - $db_name to the name of the database (normally "simple_invoices"),
      - $db_user to the database username for the database specified in $db_name,
      - $db_password to the password of the database user
  - The base of Simple invoices has been setup now, there are a couple of changes that need to be made on your system to enable Export to PDF and Simple Invoices database backup
    - Export to PDF
      - For 'Export to PDF' to work there are two modifcation that needs to be made to your system:
      - The first step is to make the pdf exports directory writeable by the webserver
        - To do this the cachce directory in your Simple Invoices folder must be writeable, in unix cd to the Simple Invoices directory (cd /var/www/html/simpleinvoices) and chmod the cache directory to 777 (chmod -Rv 777 cache), in windows just browse to the cache folder and make sure its writeable by all users.
        - We also need to make the pdf fonts directory writeable. To do this in unix chmod the pdf/fpdf directory to 777 (chmod -Rv 777 pdf/fpdf/*), in windows just browse to the fdpf folder(in the pdf folder) and make sure its writeable by all users.
      - gd2 Once this cache folder has been made writeable the next step is to test if version of PHP has GD2 support
        - GD2 is an extension to PHP which enables PHP to create and manipulate image files in a variety of different image formats
        - To test if your version of PHP has GD2 support open up your internet browser and browse inside Siple Invoice folder to the phpinfo.php file (http://localhost/simpleinvoices/phpinfo.php)
        - Once phpinfo.php isopen in your browser, scroll down to the 'gd' section and check the values for 'GD Support' and 'GD Version'. If all goes well you should see similar information to below

              	gd
              GD Support 	enabled
              GD Version 	2.0 or higher

        - If your PHP doesnt have GD2 support enabled or doesnt have GD2 or above please refer to your operating systems PHP guide on how to enable this. In Debain/Ubuntu just install the php-gd package through 'Add Applications' to get gd support
      - Once you have confirmed your PHP has GD2 support we must test if your php.ini file needs to be altered to enable pdf creation
        - To test if you need to modify your php.ini file open your internet browser and go to your Simple Invoices directory pdf/ (http://localhost/simpleinvoices/pdf)
        - This page 'html2ps/pdf demo' is used to test if your system is capable of generating pdf files
        - The 'Source' area the 'Single URL' is set to www.google.com by default, if you are connected to the internet just leave this as is but if your currently not connected to the internet change this to a valid webpage on your system ie. http://localhost/simpleinvoices and scroll to the bottom of the page and click the 'Convert File' button
        - If all goes well a pdf of www.google.com homepage(or the valid url you entered) will be created and displayed in your pdf viewer
        - If a pdf wasn't created and the below error occurred this mean you will have to alter your php.ini file

              Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 4864 bytes)
              in /var/www/simpleinvoices/pdf/filter.data.html2xhtml.class.php on line 8

      - php.ini
        - If in the above procedure you found that a pdf cant be created and an 'Allowed memory size' error occurred you have to edit your php.ini
        - To find where your php.ini file is stored on the system browse again to tha phpinfo.php page (http://localhost/simpleinvoices/phpinfo.php) and note where the 'Configuration File (php.ini) Path' is referring to.
        - Open the php.ini file from the location referred in the previous step in your favourite text editor (notepad,vi,emacs,gedit...) and alter the specified 'memory_limit' number
          - Find the line 'memory_limit =' (refer below) and change this from the default 8M to 24M (more if your adventurous :) )

                ;;;;;;;;;;;;;;;;;;;
                ; Resource Limits ;
                ;;;;;;;;;;;;;;;;;;;

                max_execution_time = 90     ; Maximum execution time of each script, in seconds
                max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
                memory_limit = 8M      ; Maximum amount of memory a script may consume (8MB)

          - Your altered php.ini file should now looking like below

                ;;;;;;;;;;;;;;;;;;;
                ; Resource Limits ;
                ;;;;;;;;;;;;;;;;;;;

                max_execution_time = 90     ; Maximum execution time of each script, in seconds
                max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
                memory_limit = 24M      ; Maximum amount of memory a script may consume (8MB)

          - For this change to come into affect you need to reload apache, in red hat based systems sudo /etc/init.d/httpd reload or in ubuntu/debian sudo /etc/init.d/apache2 reload. If your unsure of this step or your a windows users just restart your system and it'll be right.
    - Simple invoices database backup
      - For 'Simple invoices database backup' to work the first step is to make the database_backups directory(which is in the Simple Invoices directory writeable by the webserver
      - To do this the in unix cd to the Simple Invoices directory (cd /var/www/html/simpleinvoices) and chmod the database_backups directory to 777 (chmod -Rv 777 database_backups), in windows just browse to the database_backups folder and make sure its writeable by all users.
  - Everything has been setup and configured now, Simple Invoice is ready to be used
  - Open your Internet browser and go to http://localhost/simpleinvoices and user Simple Invoices as you wish
  - Installation is finished

Ugrading Simple Invoices from one version to another

- To upgrade Simple Invoices from one version to another, the first step is to download the updated version of Simple Invoices from our website
- The next step is to backup (make a copy) of your config.php file which is located in the config folder
- Once this file has been backed up, extract (unzip) the contents of the Simple Invoices file which you downloaded into the simpleinvoices directory in your webservers document root
- open up the config.php file thats in the config directory and enter you database details (db_host, $db_name, $db_user and $db_password) into the file and save it
- Now that most of the work has been done open up Simple Invoices in your browser (usually http://localhost/simpleinvoices) and from the Options menu in Simple Invoices select Database Upgrade Manager
  - If this is the first time that the Database Upgrade Manager has run
    - you'll be preseneted with a screen promting you to Initialise the Database Upgrade
    - click on the INITIALISE DATABASE UPGRADE button to start the database upgrade process
    - Once the Initialisation has complete you'll be prompted to go back to the Database Upgrade Manager screen from which you can run the remaining patches
    - Go back to the Database Upgrade Manager screen by clicking the HERE button
    - Once back at the Database Upgrade Manager screen it will list which of the patches have and have not been run. If all patches say they have been applied then the upgrade process is complete and you can continue to use Simple Invoices as normal. If it says that some pathces have not been applied click on the UPDATE button to apply the remaining patches
    - Once the remaining patches have been applied you'll be prompted to go back to the Database Upgrade Manager screen. From the Database Upgrade Manager screen you'll be able to double-check that all the patches have been applied. If they now say that they are all applied the upgrade process is complete and you can use Simple Invoices as normal
  - If the Database Manager Upgrade has been run before
    - the Database Upgrade Manager screen it will list which of the patches have and have not been run. If all patches say they have been applied then the upgrade process is complete and you can continue to use Simple Invoices as normal. If it says that some pathces have not been applied click on the UPDATE button to apply the remaining patches
    - Once the remaining patches have been applied you'll be prompted to go back to the Database Upgrade Manager screen. From the Database Upgrade Manager screen you'll be able to double-check that all the patches have been applied. If they now say that they are all applied the upgrade process is complete and you can use Simple Invoices as normal

Preparing Simple Invoices for use

- The first steps in using Simple Invoices is to setup the base information, that is billers, customers, products, tax rates, and invoice preferences

- Add biller
  - A biller is the name and details of the person creating the invoice, ie you or your company
  - Open up Simple Invoices in your browser (normally http://localhost/simpleinvoice)
  - In the main page click on the Insert Biller button
  - Once in the Insert Biller screen fill in the required fileds and click the Insert Biller button
  - Now when you create an Invoice you will be able to select this biller

- Add customer
  - In the main page click on the Insert Customerr button
  - Once in the Insert Customer screen fill in the required fileds and click the Insert Customer button
  - Now when you create an Invoice you will be able to select this customer

- Add product
  - A product can be any item that you wish to appear in the Itemised Invoice. It can be anything you wish to sell and invoice - physical item ie. light bulbs or services such as an accounting service charge per hour/PC repairs/etc...
  - Note that products are only available when you create an Itemised Invoice
  - In the main page click on the Insert Product button
  - Once in the Insert Product screen fill in the required fileds and click the Insert Product button
  - Now when you create an Itemised Invoice you will be able to select this product

- check and adjust the tax rate
  - In some countries ie, Australia, England, New Zealand there are taxes on sales, normally called sales tax, GST( goods and services tax), or VAT (value added tax). Simple Invoices has the ability to allow the user to setup and define tax rates.
  - To view the default tax rates select Manage Tax Rates from the Option menu.
  - This will now display all the available tax rates in Simple Invoices
  - To edit an existing tax rate select the edit button next to the tax rate and in the edit screen update it with the new information and click the Sav Tax Rate button
  - To add a new tax rate select from the Option menu Insert New Tax Rate
  - Fill in the required fields and click the Insert Tax Rate button
  - The new tax rate will now be available when creating a new invoice

- check and adjust the invoice preferences
  - The Invoice Preferences is where you can set the various preference of your invoices.
  - The preferences available are:
    - Description:
      - This is the name of the set of preferneces
    - Currency sign:
      - This is the curreny symbol that will be used
    - Invoice heading:
      - This is the heading of the invoice
    - Invoice wording:
      - This is the invoice wording - ie if you enter Quote - in the Manage Invoices screen it'll say Quote in the invoice type field and through that invoice it'll say quote instead of invoice ie. Quote ID, Quote Date, etc..
    - Invoice detail heading:
      - This is what will appear as the heading of the footer/details section of the invoice
    - Invoice detail line:
      - This is the text that appear under the details/footer heading. Normally used to define payment termns etc.
    - Invoice payment method:
      - This is the where you specify how you would like the customer to pay you, ie Cheque/money order/electronic funds transfer/etc.
    - Invoice payment line1 name:
      - This is where you can specify the payment line 1 name ie. Account name
    - Invoice payment line1 value:
      - This is where you can specify the payment line 1 value ie. The name of your back account
    - Invoice payment line2 name:
      - This is where you can specify the payment line 2 name ie. Account number
    - Invoice payment line2 value:
      - This is where you can specify the payment line 2 value ie. The name of your back account

Using Simple Invoices

- The basics
  - Now that Simple Invoices has been installed and setup will all the required information, you can start to do some invoices :)
  - Open Simple Invoices in your browser (http://localhost/simpleinvoices)
  - To create an invoice, in the main page click on the style of invoice you wish to create, Invoice - Total or Invoice - Itemised
    - A Total Invoice is an invoice that - think an invoice from a plumber that lists the actions and then has one price and the tax assocaited
    - An Itemised Invoice is an invoice that list many different items in the same invoice - think a grocery store invoice
    - A Consulting Invoice is an invoice that is similar to the intemised style except that with each line item there is a detail description of the work performed/product sold - think accounting/legal firms invoices
  - Once in the create invoice screen, select a biller, select a customer.
  - If creating a Total Invoice, enter the description of the invoice, the total of the invoice, the tax rate, and the invoice preference and click Submit Invoice
  - If creating an Itemised Invoice, enter the quantity of the items, select the product, the tax rate, and the invoice preference and click Submit Invoice
  - Your invoice will now be created and you'll be presented with a Quick View of the invoice.
  - A Quick View is a view of the invoice while your still in Simple Invoice, it allows you to see the invoice and perform actions on it. ie. Print View the invoice, email the invoice, PDF the invoice, etc..
  - Now that your in the Quick View of the invoice you just created you can choose from the list of action what you want to do with it
  - If you select the Print View of the invoice it bring up a view of the invoice on a clear white background - suitable for printing
  - Once you created and printed the invoice you can go back to the Manage Invoices screen to view/action of invoices or create more
  - Enjoy :)
- Biller Logos
  - Simple Invoices allows for each biller to have their own logo displayed in the Print Preview of their invoices.
  - To add a logo to a biller the first step is to upload your billers logo into the logo folder into Simple Invoices directory on your system
  - Once the logo has been uploaded the last step is to go into the Manage Billers page and edit the biller in question and in the field 'Biller logo' select the name of the logo your just uploaded and select save
  - Now when you to a Print Preview of any of that billers invoices their logo will be displayed
- Invoice Templates
  - An Invoice Template is the template that Simple Invoices will use to create the Print Preview of the invoice
  - To choose which Invoice Template your Simple Invoices will use go to the Options menu and select System Defaults
  - In the System Default page to tell which Invoice Template your system is using look at the 'Default invoice template:' field and that will be the default thats currently used
  - If you wish to change what Invoice Template is the default for your Simple Invoices click the edit button next to 'Default invoice template:' and from the drop down menu select another template to use and click save
  - Now when you do a Print Preview of an invoice it will use this new Invoice Template
- System Defaults
  - In Simple Invoices its possible to setup defaults of various values that the system will use by default, these default values can be defined in the System Defaults page which is available from the Option menu
  - In the System Defaults page the following values can be set as default:
    - Default biller - this defines when creating a new invoice what the default(already selected from the drop down list) biller
    - Default customer - this defines when creating a new invoice what the default(already selected from the drop down list) customer
    - Default tax rate - this defines when creating a new invoice what the default(already selected from the drop down list) tax rate
    - Default invoice preferences - this defines when creating a new invoice what the default(already selected from the drop down list) invoice preference
    - Default number of line items - this defines the default number of line items in an itemised and consulting invoice
    - Default invoice template - this defines the default invoice template that gets used to create the Print Preview
- Export to Excel/Word/OpenDocument format
  - Simple Invoices allows to the export of an invoice from the Quick View to Excel, Word and the Open Document formats
  - The default export formats are set to .xls(Excel) for spreadsheets and .doc(Word) for word processors
  - These defaults can be changed in the config/config.php to be the Open Document formats, .ods for spreadsheets and .odt dor word processors
  - Note: in the config/config.php any file format can be used as long as their associated programs can read a html document

Frequently Asked Questions (FAQs)

- What is Simple Invoices?
  Simple Invoices is a basic invoicing system designed with simplicity and functionality in mind. Catering for the neds of small organisations and home users. For more information please refer to the Simple Invoices website http://www.simpleinvoices.org
- What do I need to start invoicing?
  Once you've got Simple Invoices installed on your system (refer Installation documentation for more info) all you need to do is enter a Biller ( this is normally you or your organisation) details, a Customer (the person your are invoicing).
  Once these 2 pieces of information have been entered you can now start creating invoices.
  Note: If you are creating invoices based on products sales( ie a computer store) you will also need to enter some products into Simple Invoices
- How do I create invoices?
  Creating invoices is easy. Once a biller and customer have been entered into Simple Invoices all you need to do is select .... from the New Invoice menu, fill in the details and click 'Save Invoice'
- What are the different invoice types?
  In Simple Invoices there are 3 types of invoices available, Total invoices, Itemised invoices and Consulting invoices
  - A Total Invoice is an invoice that - think an invoice from a plumber that lists the actions and then has one price and the tax assocaited
  - An Itemised Invoice is an invoice that list many different items in the same invoice - think a grocery store invoice
  - A Consulting Invoice is an invoice that is similar to the intemised style except that with each line item there is a detail description of the work performed/product sold - think accounting/legal firms invoices