Bamboo Invoice System Guide

BambooInvoice_system_guide

BambooInvoice_system_guide

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 9

DownloadBamboo Invoice System Guide
Open PDF In BrowserView PDF
http://www.bambooinvoice.org
System Guide

BambooInvoice is free open-source invoicing software intended for small businesses and
independent contractors. Our number one priorities are ease of use, user-interface, and
beautiful code. It is meant to be installed on a web-server, but can easily be installed on
your home machine.
BambooInvoice was built by designer and programmer, Derek Allard, who uses it everyday;
not by a large firm who can't remember the names of its customers. It is meant to be sexy,
both on top of, and under the hood. Go ahead, kick the tires. View source shows semantic,
structured, meaningful XHTML. We use AJAX to keep things peppy and javascript to keep
things functional. The entire application degrades gracefully for users without javascript
enabled, and complies with WAI priority two.
Features
● You are in control. BambooInvoice sits on your server. Its your data. You never need
to trust your invoicing data to anyone else, and you can get it out of the system
easily.
● BambooInvoice is easy to use, and easy on the eyes.
● BambooInvoice is actively used and developed.
● BambooInvoice is built atop modern coding standards. Its a XHTML-strict, WAI
conformant, CSS using treat!
● Built on the excellent CodeIgniter project.
● BambooInvoice is released under the GPL.
Requirements: BambooInvoice is built using PHP 5, and requires a database. It is built and
tested on MySQL. There's a 99% chance if you have PHP 5 the rest of these requirements
are already met. If you want to get rid of the “index.php” page, you'll also need
“mod_rewrite” available to you (more on this below).
Note: Although a lot of hard work has gone into making BambooInvoice is reliable and
stable as possible, you are using it at your own risk. You may loose data or invoice
information. As always, make backups.

Table of Contents
Upgrading from a preview version of Bamboo.....................................................3
Installing BambooInvoice.............................................................................. 3
Step by Step Configuration............................................................................4
Download the BambooInvoice Files...............................................................4
Modify the Configuration Files.................................................................... 4
Create a BambooInvoice Database...............................................................4
Upload your files.................................................................................... 4
Writable Directories................................................................................4
Run the installation script......................................................................... 4
Login.................................................................................................. 4
Delete the installation and update scripts...................................................... 4
Personalizing your BambooInvoice................................................................... 5
Update your “Settings”.............................................................................5
Making BambooInvoice more secure..............................................................5
Changing your admin password...................................................................5
Changing Languages.................................................................................6
Removing “index.php” from the address........................................................ 6
Preset invoice numbers by client, and not globally............................................6
Localizing the currency separator................................................................ 6
Changing the filename of the database backup................................................ 6
Changing the short description within invoice summary...................................... 7
Changing the date formatting..................................................................... 7
Trouble Shooting........................................................................................8
Logo won't show in PDF, or it only shows a red “X”............................................8
404 error on the main page, or not able to load other pages?............................... 8
Allowed memory size of xxxxxxx bytes exhausted.............................................8
Blank Page............................................................................................8
Email not working?.................................................................................. 9
Parse error: syntax error, unexpected T_OBJECT_OPERATOR................................9
Donations................................................................................................ 9
Feedback.................................................................................................9

Upgrading from a preview version of Bamboo
As of version 0.8.0, BambooInvoice comes with an update script.
1) Logout of BambooInvoice, and make a backup of your files, and your database. I
recommend you use tools provided by your host for this (for example PHPMyAdmin).
2) Make copies of:
●

bamboo_system_files/application/config/config.php

●

bamboo_system_files/application/config/database.php

●

bamboo_system_files/application/config/email.php

3) Replace all files with the new Bamboo files, and restore config.php, database.php and
email.php from your backups from step 2.
4) Re-Run the installer by visiting http://www.yoursite.com/index.php/install
5) Any version specific notes will now appear on screen. Please read and follow.
6) Delete the file /bamboo_system_files/application/controllers/install.php
7) Confirm everything is working ;) If BambooInvoice was working previously, and now you
get a “500” error, or a blank screen, double check the files have correct permissions with
your host.

Installing BambooInvoice
The basic installation process is as follows.
1.
2.
3.
4.
5.
6.
7.

Download the BambooInvoice files
Modify the configuration files
Create a BambooInvoice database
Upload your files
Run the installation script
Login
Delete the installation and update scripts

Step by Step Configuration
Download the BambooInvoice Files
The files needed to run BambooInvoice are available from the site,
http://www.bambooinvoice.org. Simply download the zip file, and same it to your
computer. If you intend on uploading Bamboo to your website, anywhere on your computer
is fine, but if you intend on running Bamboo of your current machine, you'll need to place it
in a folder available to your webserver.

Modify the Configuration Files
Because of the nature of different computers and environments, you need to tell Bamboo a
little about how it will be running. The following configuration files need to be updated.
●

●

Open /bamboo_system_files/application/config/config.php with a text editor and
set your $config['base_url']. If you are running this off a website it will be
“http://www.yoursite.com” or “http://wwwyoursite.com/bambooinvoice” or
similar. This will then look like:
$config['base_url'] = “http://wwwyoursite.com/bambooinvoice”;
Open /bamboo_system_files/application/config/database.php and enter your
database information.

Create a BambooInvoice Database
Create a database called “bambooinvoice”. You can use a different name, just be sure it
matches the information in database.php from above. You need not put any information
into it, the install script below covers that.

Upload your files
Not much to say here. Place the files on your webserver.

Writable Directories
If you intend on email invoices or generating PDFs, you'll also need to ensure that
invoices_temp is a writable directory (generally 777), or Bamboo can't save the invoices for
you. If you intend on uploading a custom logo, you'll also need to set img/logo writable.

Run the installation script
If you visit your setup now, you'll be prompted to install BambooInvoice. Just visit the URL
you entered as your “base_url” above.

Login
Login using the username and password you created.

Delete the installation and update scripts
Delete these files
●

/bamboo_system_files/application/controllers/install.php

Personalizing your BambooInvoice
There are a few refinements you might want to make at this point.

Update your “Settings”
Before you can really use the system, you'll want to enter your own
information into the settings panel. This would include entering your tax
information, logo, address, or other information.

Making BambooInvoice more secure
There are a few things that I would recommend you change now.
●

In bamboo_system_files/application/config/config.php you'll see a
$config['encryption_key']. Change what it is equal to. Random gibberish is fine here.

●

Also in /config/config.php you'll find $config['sess_use_database'] = FALSE; around
line 240. You may want to set it to “TRUE” (without quotes) after you've installed
Bamboo.

●

Also in bamboo_system_files/application/config/config.php you'll find
$config['sess_match_ip'] = FALSE; around line 243. You may want to set it to “TRUE”
(without quotes) after you've installed Bamboo. Some people are unable to login
after this, as their ISP rotates their IP address, so this may not work for you, but for
most people it does, and is a generally good idea.

●

You may want to turn off database debugging in
bamboo_system_files/application/config/database.php with $db['default']
['db_debug'] = FALSE;

●

Delete the installation file as suggested above.

●

Unless your server supports .htaccess files, saving PDF invoices on your server (as per
advanced settings) is not recommended, as anyone who guesses the invoice name
will be able to see your invoices.

Changing your admin password
From within the application, simply visit Settings > Account Settings.
If you have forgotten your password, and the email functionality is unavailable to you (to
use the “forgotten password” link, then you can override this in the code. In the file
bamboo_system_files/application/controllers/login.php there is a function at the very
bottom entitled force_demo_password(). If you uncomment it, you can now visit
“http://yoursite/bambooinvoice/index.php/login/force_demo_password” and your
password will be set to “demo” again, or alternatively, visit
“/force_demo_password/any_password_here” and set it to anything you want. Don't forget
to comment it out again when you're done!

Changing Languages
Currently BambooInvoice is available in English, French and German. To change it into any
of these languages, simply open up bamboo_system_files/config/config.php and set
$config['language'] = "english";
to “french”, “german”, “dutch”, “romanian”, “spanish”, “portuguese”, “bulgarian”,
“swedish”, or “italian”

Removing “index.php” from the address.
Due to the nature of CodeIgniter (the framework Bamboo is built on), there is an
“index.php” as part of the address for every page. For example,
http://localhost/index.php/invoices. That annoys some people, so to get rid of it, you can
use an htaccess command if you're on an Apache server with mod_rewrite enabled.
Note: Not all webservers have this option. You might have to experiment, or contact
yoru webhost for further advice here.
Open /.htaccess in a text editor. Modify it to match your server. It looks like this:
RewriteEngine on
RewriteRule ^$ /bambooinvoice/index.php [L]
RewriteCond $1 !^(index\.php|img|css|js|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /bambooinvoice/index.php/$1 [L]

Preset invoice numbers by client, and not globally
Most people prefer that their invoice numbers remain sequential (ie: 1, 2, 3) regardless of
whom you are invoicing. If however you'd like the suggested invoice number to be based
off the last number used for that client, then open application/config/config.php and look
for $config['unique_invoice_per_client']. Depending on if and when you upgraded Bamboo,
you may or may not see it there. If its not there just add it yourself, and set it to TRUE.
$config['unique_invoice_per_client'] = TRUE;

Localizing the currency separator
Setting the config variable 'currency_decimal' will use this character instead of a '.' to
separate the dollars from the cents. For example: $24.67 vs $24,67 vs $24_67 etc.
$config['currency_decimal'] = '.';

Changing the filename of the database backup
$config['download_filename_prefix'] = 'yourname';

Changing the short description within invoice summary
By default, Bamboo shows the first 50 characters (approximately) of the first invoice item
on the invoices summary page. You can control how much text is visible by changing this
number. If you want do not want any text to appear, set it to 0.
$config['short_description_characters'] = 50;

Changing the date formatting
By default, Bamboo shows the date as “month day, year”. You can open up config.php and
find a few other formatting options:
•
'day_month_year' gives 1 January 2009
•
'default' gives January 1, 2009
$config['invoice_date_format'] = 'day_month_year';

Trouble Shooting
Logo won't show in PDF, or it only shows a red “X”
Open up bamboo_system_files/application/config/config.php and look for a line near the
bottom that reads $config['logo_base_url'] and set it to TRUE. If you don't see it in the file,
simply add it in.
$config['logo_base_url'] = TRUE;

404 error on the main page, or not able to load other pages?
Try adding a question mark after the index.php (http://localhost/index.php?/login) and
see if that fixes it. If so, open up /bamboo_system_files/application/config/config.php and
add it to the end of 'index_page' like this:
$config['index_page'] = "index.php?";
Some servers are picky and won't support auto detected uri protocols. Try opening up
bamboo_system_files/application/config/config.php and find $config['uri_protocol']. There
are 5 suggested others... try playing with those.

Allowed memory size of xxxxxxx bytes exhausted
Thie error indicates that your PHP process on your server ran out of memory. When PHP is
run, a certain amount of memory is reserved for your use and if a script tries to use more
memory than is available you can run into problems. A standard PHP installation is set up
to have 8MB of memory available for use, but depending on your Host or server admin, you
may have more or less memory available.

Blank Page
Blank pages are nearly always the result of a PHP error being generated, but your server
supressing error messages. Commonly, the “allowed memory size” message from above.
Enable error messages to see what the specific error is, or contact your webhost and ask
them how to enable this.

Email not working?
Bamboo usually does a pretty good job of getting your email out, but sometimes it needs a
bit of help. If the email isn't getting sent, open /bamboo_system_files/application/config/
email.php and enter your email information. Also, ensure that invoices_temp is a writable
directory, or Bamboo can't save the invoices for you.
If you've ensured the above, then we can take a further step, and run BambooInvoice's
email debugger. Open bamboo_system_files/application/controllers/invoice.php, and look
through it for this line
// die($this->email->print_debugger());
remove the 2 slashes that start the line and try sending another email; what you'll get is a
large debugging message that should be helpful in determining what's happening internally.

Parse error: syntax error, unexpected T_OBJECT_OPERATOR
BambooInvoice requires PHP 5 or higher to run.

Donations
If you'd like to donate to support the project, there is a “donate” link on the bottom right
(footer) of each page, or alternatively, you can see it by visiting
http://www.bambooinvoice.org. I've sunk a lot of time into my little side projects, and for
someone to say "thanks" is pretty cool.

Feedback
If you have any feedback on the software, write to me at info@bambooinvoice.org.
Derek Allard



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
Page Count                      : 9
Language                        : en-US
Author                          : Derek Allard
Creator                         : Writer
Producer                        : OpenOffice.org 3.0
Create Date                     : 2009:04:15 08:21:56-04:00
EXIF Metadata provided by EXIF.tools

Navigation menu