Skip to content
A quick and easy way to manage your clients, invoices and projects all on one web application made with Laravel!
JavaScript PHP HTML
Branch: master
Clone or download
Latest commit 235ade9 Jan 5, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Style fixes May 26, 2019
bootstrap Updated to Laravel 5.7 Mar 30, 2019
config Bug fix May 25, 2019
database Implemented project chat functionality Jan 19, 2019
resources Prefilled client name on invoice payment page May 25, 2019
routes Added extra line in web.php Jan 19, 2019
storage Eloquent query optimisation Jun 2, 2017
tests Upgraded to Laravel 5.5 Apr 3, 2018
.env.example Develop debugging Apr 2, 2018
.env.testing Test fixes May 30, 2017
.gitignore Develop debugging Apr 2, 2018
.php_cs Better error handling for Stripe payment errors. Nov 22, 2016
.travis.yml Updatred travis yaml file Mar 30, 2019
composer.json Bug fix May 26, 2019
gulpfile.js Shift Asset configuration Nov 21, 2016
package.json Bump axios from 0.15.3 to 0.19.0 Jan 5, 2020
phpunit.xml Added more tests May 30, 2017 Updated readme Jan 19, 2019


A quick and easy way to manage your clients, invoices and projects all on one web application made with Laravel!

Master: Build Status

Develop: Build Status



  • The super admin (ID 1) can create and delete multiple admins
  • Admins can create and manage clients
  • Admins can create invoices and projects for clients
  • Admins can create recurring invoices for clients
  • Clients can view and pay invoice through Stripe integration
  • Emails sent when a new admin or client account is created, a client invoice or project is created and a client invoice is paid or becomes overdue
  • Chat system for projects including email notifications

If you have any feature requests then just open an issue and let us know!

Requirements / Installation / Usage / Troubleshooting

Need help getting started? Here's where to look!


This CRM runs with Laravel 5.5 and the requirements are as follows:

  • PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • PHP INTL Extension
  • Composer Installed
  • NPM & Node Installed


To install run the following commands in a working directory: git clone

You will then need to change your web server root to the public directory. Contact your host for help if you need it.

Now run composer install and make sure you have composer installed on your server! Also run npm run production to generate the asset files in production mode. You will need NPM and Node installed!

Then setup your database and open the .env.example file. Rename this file to .env and enter details for your site, database, stripe and email integration.

Run php artisan app:install which will install the app for you by creating the migrations, sorting out file permissions and walking you through creating the super admin account.

You also need to add a crontab with the following details: * * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1 Edit the /path/to/artisan to your actual artisan path. Artisan is the file in the root directory of the project. You should be able to do this by logging into your server via SSH and running crontab -e. Then just paste the above line correctly.

You should then be able to access UltimateCRM easily!


To upgrade run the following commands: git pull composer install npm install npm run production php artisan migrate This should have you already to go in most versions. If additional steps are required they will be specified in the version release.


You can edit the .env to configure most of the settings the CRM uses.

If you want to edit the display of the "views" then you can do so by adding the files in the resources/customViews/ directory. For example, if you place a file in resources/customViews/emails/invoices/new.blade.php that file will be used when emailing the client about a new invoice instead of the default in resources/views/emails/invoices/new.blade.php. You can therefore edit all the views that come with UltimateCRM by default.

If you want to add a custom CSS file you can add in in the public/css directory and then load that file in your app.blade.php view - be sure to override the default one though!


Found an error? Open an issue and let us know! We will add common issues here for everyone to see easily!


If you would like to contribute to this project then please submit all pull requests to the develop branch. All builds are checked with Travis CI. Please ensure your coding standard matches PSR-2.


This project is open-sourced and licensed under the MIT license.

You can’t perform that action at this time.