Open Source Billing
A simple web application to create and send invoices, receive payments, manage clients and companies. It generates reports of Item sales, payments, and collected revenues. It supports multi languages and multi currencies. This application is developed in Ruby on Rails v220.127.116.11. and Ruby v2.1.0. This document describes OSB application setup on ubuntu 14.04 LTS machine.
- A nice looking Dashboard with graph and key metrics
- Create and send invoices to your clients
- Create and send estimates to your clients
- Create/Manage expenses
- Time Tracking for running projects
- Generate invoice from project log hours
- Convert estimate to invoice
- Recurring invoices
- Receive payments against sent invoices
- Partial payments tracking
- Receive payments through Paypal and credit card
- Invoice dispute handling
- Manage billing for your multiple sister companies under one account
- Export invoices to PDF
- Export estimates to PDF
- Import data from Freshbooks
- Reports like
Aged Accounts Receivable,
Revenue By Client,
Items Salesand more to come
2.0 release. You may contribute by having any suggesstion or reporting the bugs you find.
MySql is an open-source relational database management system. Run the following command to install database:
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
Git is version control system we used for OSB. Run the following command to install git.
sudo apt-get install git
Step-2. Ruby Installation Using RVM
2.1 Dependencies for Ruby
Run the following command to install ruby dependencies:
sudo apt-get update sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev libncurses5-dev automake libtool bison libffi-dev imagemagick libmagickcore-dev libmagickwand-dev libicu-dev
You may need access to dependent pecl libraries, most which can be found by
sudo add-apt-repository ppa:ondrej/php
2.2 Ruby using RVM (development version)
Run the following commands to install stable version:
curl -L https://get.rvm.io | bash -s stable source ~/.rvm/scripts/rvm rvm install 2.1.0 rvm use 2.1.0 --default
2.3 Installing Bundler
Bundler is a tool that allows you to install multiple gem versions, run this command to install bundler:
gem install bundler
3.1 Clone Application Code
To clone project code from github, give your github account credential for authentication while cloning project.
git clone https://github.com/vteams/open-source-billing
3.2 Navigate to Project Directory
3.3 Installing Gems
3.4 Configuring Database
Copy config/database.yml.sample to config/database.yml and set your mysql username/password. After that run following command from terminal to createMySQL database specified in database.yml file.
3.5 Tables schema and seeding
Loading default values in database
3.6 Configuration PayPal (Optional, for paypal payments integration)
Copy config/config.yml.copy to config/config.yml and set your configuration
Edit config/config.yml with your own paypal settings:
paypal_login: YOUR_PAYPAL_LOGIN paypal_password: YOUR_PAYPAL_PASSWORD paypal_signature: YOUR_PAYPAL_SIGNATURE paypal_business: YOUR_PAYPAL_BUSINESS
3.7 Configuration Application host and protocol
Edit config/config.yml with your own application settings:
app_host: 'APP_HOST_HERE' # e.g. osb.mydomain.com app_protocol: http
3.8 PDF configuration
Using following command in terminal to get path of wkhtmltopdf library path that is already installed on system.
Edit config/config.yml with your own application wkhtmltopdf path.
3.9 SMTP configuration
Edit config/config.yml with your own application smtp settings.
smtp_setting: address: 'smtp.gmail.com' port: 587 authentication: :plain, enable_starttls_auto: true, user_name: 'YOUR_EMAIL_HERE', password: 'YOUR_PASSWORD_HERE'
4.1 Background Services
You need to start delayed_job for email delivery and other background tasks required for properly functionality of Open Source Billing by using following command
RAILS_ENV=development bin/delayed_job start
4.2 Development Environment
Your application is ready to use. Run rails server using following command:
and use your application in browser by typing in url: localhost:3000
4.2 Production Environment
You can also configure Apache, Nginx or any other web/application server of your choice to execute OSB in production mode.
- Fork it
- Create your feature branch (
git checkout -b my-awesome-feature)
- Commit your changes (
git commit -am 'Added some feature')
- Push to the branch (
git push origin my-awesome-feature)
- Create new Pull Request
Mia Mian +1 (858) 586 7777