A new Major version - 2.0.0

May 6, 2019

A new Major version - 2.0.0

It’s been over 2 years, since the development on SolidInvoice 2.0.0 has started, and today we are pleased to announce the immediate availability of version 2.0.0.

SolidInvoice 2.0.0 contains various new features, a lot of bug fixes and an updated UI. This post will highlight some of the most exciting changes in the latest version. For the fill changelog, see https://github.com/SolidInvoice/SolidInvoice/releases/tag/2.0.0

New modern UI

Since the initial version of SolidInvoice, we always aimed to provide a clean and user-friendly user interface. In version 2, we revamped the user interface to be cleaner, modern and conform to most modern-day best practices. The new user-interface is very intuitive and have a fresh new feel to it. This will assist users in navigating the application easier and make common actions look and feel very natural.

PDF Invoices and Quotes

When creating quotes and invoices, we now generate a PDF version which is automatically attached to the standard outgoing email. You also now have the option to download a PDF from the invoice/quote view page. This makes sending and sharing quotes and invoices easier, and your clients don’t have to struggle to view quotes and invoices in their email client.

Multi-user support

Now you can create additional users that can log into the application to manage clients or create quotes and invoices. This makes it easier for companies with multiple staff members that manages the billing, so each member can have their own login credentials.

Support for multiple databases

Previously SolidInvoice was limited to MySQL databases. In version 2, we added support for more databases. Now you can install SolidInvoice using a Postgresql, Oracle, SQL Server and various other databases.


We changed the core framework for the API, which allows us to create a more powerful API. This allows for better integration into other applications.

Platform changes

A new version always gives the opportunity to change the platform and core requirements. In SolidInvoice version 2, we updated the core platform to allow us to stay up to date with the technologies we use and also ensure we include all the available security and big fixes from the underlying platform.

Full Changelog

  • Save users on invoices and quotes in a linking table (#184)
  • Use constant when displaying application name (#186)
  • Set proper required PHP version in AppRequirements (#185)
  • Replace FOSRestBundle with api-platform (#178)
  • Add support for monetary discount values (#182)
  • Update Vat rates (#181)
  • Revamp UI (#179)
  • Update JS loading (#177)
  • Update mailer to use env values (#174)
  • Replace Encryption class with defuse/encryption library (#175)
  • Refactor the system settings and config (#173)
  • Update Marionette to V3 (#170)
  • Update form handlers to use proper options (#172)
  • Add invoice and quote cloner (#171)
  • Replace finite state machine with Symfony workflow (#166)
  • Replace controllers with actions (#165)
  • Update all files to PHP 7 strict types (#163)
  • Update config to a standardized format (#162)
  • Update Twig to 2.0 (#160)
  • Move bundles one folder up (#159)
  • Update dependencies to tha latest versions (#154)
  • Update FOSUserBundle to 2 (#153)
  • Upgrade PHPUnit to the latest version (#149)
  • Add multi-user support (#195)
  • Update Dependencies (#202, #199)
  • Add button to print quotes and invoices (#193)
  • Display literal country name (#197)
  • Fix RequireJS not being included anymore
  • Add server_version to doctrine/dbal configuration
  • Add support for multiple databases (#231)
  • Remove unused doctrine extensions and the softdeletable filter (#236)
  • Link quotes to invoices when accepting a quote (#228)
  • Update email templates to a more modern look and feel (#237)
  • Use FQCN for entities instead of namespaces (#233)
  • Change all template references to use the Symfony preferred syntax (#232)
  • Do not automatically accept and send an invoice when creating from a quote (#230)
  • Redirect to created invoice when accepting a quote (#229)
  • Add more links for easier navigation (#227)
  • Update PHPStan to the latest version
  • Remove local copy of backgrid
  • Create PDF quotes and invoices (#226)
  • Remove conflicting packages from composer.json
  • Select default client and contact when creating a new quote or invoice (#224)
  • Remove Hipchat from notifications (#221)
  • Refactor Email processing (#223)
  • Move discount clearing to invoice and quote save listener instead of form listener
  • Use full path instead of relative path for modules
  • Add line break after action buttons on client create/edit page to remove overlapping with footer
  • Clear discount type when no discount is set (#216)
  • Don’t set quote items by reference (#217)
  • Bind modal event to the correct scope (#219)
  • Fix totals not updating if no values are set (#218)
  • Fix Router script
  • Add Single entrypoint (#215)
  • Reduce minimum PHP requirements to 7.1
  • Dont decode empty settings
  • Add server_version to doctrine/dbal configuration
  • Simplify Doctrine test entity to make tests run faster (#235)
  • Update UI to custom theme (#240)
  • Switch Twig classes from underscore to namespaces (#241)
  • Store logo in DB instead of filesystem (#239)
  • Allow grid rows to be clicked to direct to the relevant record (#238)
  • Ensure all archived items are deleted when deleting a client (#244)
  • Fix modal events and loader. Fix client credit handling (#243)
  • Apply select2 to when new items are added in a form collection (#242)
  • Use env values for database config if they exist (#246)
  • Catch driver and locale exceptions if the proper values don’t exist in the environment (#245)
  • Add support for Docker Compose (#247)

### Download and Install

Download the latest version from https://github.com/SolidInvoice/SolidInvoice/releases and as always, please test the latest version and let us know of any issues or bugs experienced.