Giter Club home page Giter Club logo

solidinvoice's Introduction

SolidInvoice

Screenshot 2024-02-29 at 13 40 04

SolidInvoice is a sophisticated open-source invoicing application designed to assist small businesses and freelancers in efficiently managing their daily billing operations. With its comprehensive range of features, this elegant online platform ensures that you receive timely payments.

Key Features

  • Robust clients and contacts management system
  • Creation and management of quotes
  • Generation and oversight of invoices
  • Seamless online payment acceptance
  • Effective handling of taxes and discounts
  • RESTful API for integration with other systems
  • Receive notifications through various channels, including text messages, emails, or HipChat
  • Future enhancements planned

Screenshots

Screenshot 2024-02-29 at 13 52 44


Screenshot 2024-02-29 at 13 53 22


Screenshot 2024-02-29 at 13 54 36


Screenshot 2024-02-29 at 13 56 14


Screenshot 2024-02-29 at 13 56 52

System Requirements

SolidInvoice requires PHP version 8.1 or later for optimal performance. It is recommended to use the latest available version of PHP.

Installation Options

Docker

Getting started with SolidInvoice is quick and simple using Docker. The Docker image can be found at https://hub.docker.com/r/solidinvoice/solidinvoice/, along with instructions on how to begin.

Archived Package

To install SolidInvoice from an archived package, download the latest release in either the zip or tar.gz format from https://github.com/SolidInvoice/SolidInvoice/releases. Extract the contents of the archive into the appropriate directory within your web server.

Installation for Developers

If you prefer to install SolidInvoice from the source code, follow these steps:

  1. Clone the repository by executing the following command:
git clone https://github.com/SolidInvoice/SolidInvoice.git

Ensure that you choose a destination path accessible from your web server.

  1. Navigate to the cloned repository:
cd SolidInvoice
  1. Obtain Composer, a dependency management tool, by running:
curl -s http://getcomposer.org/installer | php
  1. Once Composer has finished downloading, install the required dependencies:
php composer.phar install
  1. Install the necessary Node packages and compile all assets with Bun:
bun install
bun run dev

At this point, SolidInvoice should be fully functional.

For production environments, follow these additional steps:

  1. Build the project and optimize it for production:
bun run build
  1. Deploy the optimized version of SolidInvoice.

Contribution Guidelines

For information on contributing to the project, please refer to the CONTRIBUTING file.

License

SolidInvoice is licensed under the MIT license, an open-source software license. For detailed information, please consult the LICENSE file.

Sponsorship

We extend our gratitude to all the sponsors who support this project!

Sponsor @SolidInvoice

Thank you to the following sponsors:

  • JetBrains (PHPStorm License)
  • Docker (Docker Hub Subscription)
  • Sentry (Sponsored Business plan)

solidinvoice's People

Contributors

davidmpaz avatar dependabot[bot] avatar edg2s avatar hedho avatar imgbot[bot] avatar itsjw avatar lillymich avatar pierredup avatar samdark avatar scrutinizer-auto-fixer avatar step-security-bot avatar stkrzysiak avatar thicolares avatar waffle-with-pears avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

solidinvoice's Issues

Add a guide on "How to install solid invoice on localhost"

I saw this Project and this is very useful ! but the problem is that there is no guide anywhere which contains detailed instructions of How to install this on a localhost or on XAMPP !
that would be fantastic if someone can help me regarding this ! i see potential in this project.... please make it worth of your hard-work guys ! thanks !

Refund invoices

Add ability to refund invoices

Invoices can be refunded when either a partial or full payment has been made.
Refund can not be more than the paid amount on the invoice.
Add a reason to refund, and mark invoice status as 'Refunded'.
Optional: Do a refund transaction on the payment gateway if it is supported (User must explicitly choose to refund transaction on payment gateway)

Add extra info to contacts

Add extra info to contacts, E.G title, position, type (to identify different types of contacts like contact for billing, technical) etc

Ocramius or Install Error

If you get an error similar to this one on composer install or composer update.
PHP Parse error: syntax error, unexpected 'string' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /home/money.xxx.com/public_html/vendor/ocramius/package-versions/src/PackageVersions/Installer.php on line 33

or

Parse error: syntax error, unexpected 'string' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /home/money.xxx.com/public_html/vendor/ocramius/package-versions/src/PackageVersions/Installer.php on line 33

"SOLIDINVOICE_ENV" environment variable is missing

I am interesting in this project. WHen i am trying run command
php bin/console assets:install --symlink web
show display error "Fatal error: Uncaught RuntimeException: Environment is not set up correctly. "SOLIDINVOICE_ENV" environment variable is missing. in C:\xampp\htdocs\invoice\web\app.php:27 Stack trace: #0 {main} thrown in C:\xampp\htdocs\invoice\web\app.php on line 27

I have get error about environment variable is misssing.
How to fix this?

Thank you

Symlink issue with nginx

Describe the bug
I'm having JavaScript errors during the installation process, on the /install/process/ page. By inspecting my console, I notice that accessing the /bundles/solidinvoicecore/js/lib/require.js?2.1.0-dev returns a 403 error.

I did the php bin/console assets:install --symlink web command on my server successfully.

Capture 2019-06-25 à 21 02 31

When trying to access the require.js file directly, I do NOT get a 404 but a Forbidden page (Forbidden: You don't have permission to access /bundles/solidinvoicecore/js/lib/require.js on this server.).

And my NGINX logs reveal this:

".../web/bundles/solidinvoicecore/js/lib/require.js" failed (40: Too many levels of symbolic links), client: 109.190.201.84, server: ..., request: "GET /bundles/solidinvoicecore/js/lib/require.js?2.1.0-dev HTTP/2.0", host: "..."

Do you have any idea why this would happen, and how I could fix this please?
I'm not sure which command is run by the assets:install CLI command, so I'm not sure where to look at to fix this.

Thanks a lot for your help!

Logo on reverts on settings save

Hi,

When I first update the logo in settings. It will save an it is ok.

But then if I change any of the settings and I done include a logo it will revert the logo back to the SolidInvoices logo.

Very frustrating...

list do not show all invoices

Hiya,

I just installed and testing SolidInvoice. Therefore, I am not sure if this is a bug.
I created 3 invoices, of which 2 are recurring (ID 1 and 2)
When I list invoices I can see only one invoice ID 3 (even pending invoices number is 3)
however, if I type in the dress bar invoices/view/1, 2 and 3, I can see all 3 invoices.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new recurring invoice (any description, any quote, rest as is)
  2. Click on save and send
  3. List invoices

Expected behavior
I expect to see all invoices regardless of the status and type (recurring).

Screenshots
If applicable, add screenshots to help explain your problem.

image

Desktop (please complete the following information):

  • OS: Win 10
  • Browser chrome
  • Version 81

Smartphone (please complete the following information):

  • Device: Note 9
  • OS: Android 10
  • Browser chrome
  • Version 80

Thank you

Set currencies per client

Set a currency per client.
Whenever a new invoice/quote or payment is created for that client, their default currency should be used instead of the global site currency

API Tutorial

Hi

Could not find any other place to post this question thats using this platform.

How could we consume SolidInvoice API ? Is there any tutorial online ?

Add late fee to overdue invoices

When an invoice is overdue, a late fee should be added

A late fee must be configured based on either a fixed amount, or percentage of the original invoice amount.
Late fees should also be configurable, so the late fee can be applied for every E.G 7 days an invoice is outstanding

File directory for SolidInvoice Data

It is a much needed feature that we should be able to place and save the data into a directory of our choosing for multiple reasons, using external data, backup, security.

Also please respond on transifex.

install fails

I really want this to work, why did you make it so hard?

Require php7.2

Deprecated: Function create_function() is deprecated in /var/www/symfony/var/SymfonyRequirements.php on line 540

A quick google shows that something is missing with 7.2, why require 7.2 if you can't get stability?

Install warning and js failure

Now i'm not very savy with js, and would rather not scratch around and fix this

Loading failed for the <script> with source “http://localhost/js/fos_js_routes.js?2.0.0-alpha2”.
process:1
Error: Script error for "fos_routing_data", needed by: routing
http://requirejs.org/docs/errors.html#scripterror
require.js:168:17

Get this after I input the details for the db and the smtp, which I already set in params?

anyway by the time I did some research for this comment I traced it down to this

{% if app.debug %}
     'fos_routing_data': '{{ path('fos_js_routing_js', {'callback': 'define'}) }}',
      'translation_data': '{{ path('bazinga_jstranslation_js', {'locales' : locale}) }}'
 {% else %} 
       'translation_data': '{{ asset('js/translations/' ~ locale ~ '.js') }}'
{% endif %}

I added fos_routing_data so it is available in the app.php controller not just the app_dev.php controller

Not sure the adverse affect but I got it installed and then alot of the issues went away
also had to add the translation_data, other wise I couldn't add items to the invoice.

Save a draft

finally got the invoice working input some data save as a draft

500 Internal Server Error

The following error occurred:

Type error: json_decode() expects parameter 1 to be string, null given
in src/SettingsBundle/Twig/Extension/SettingsExtension.php (line 53) 

try to delete a client

uncaught exception: Callback specified for event modal:save is not a valid callback

I really appreciate what you are trying to do here, but do you think you can test to see it works before deploying?

Manage multiple users

an Administrator should be able to add new users that can log in and create clients/invoices/quotes etc.

Invoice Edit

When editing a previously created invoice, the Qty value is set to 1 instead of the amount that was entered in the originally created invoice. For example I have added to an invoice a monthly charge, so for the year I have set the Qty to 12. But on edit of the invoice it sets this to 1 instead of 12.

Steps to reproduce the behavior:

  1. Create New Invoice
  2. Add Item with a Qty more than 1
  3. Save Invoice as Draft
  4. Edit Invoice and you will see it overides the Qty to 1, not the inputted Value.

Expected:
This is should keep the originally inputted amount.

Allow clients to log in

Client should be able to log in and view their invoices/quotes, make payments, update their details etc.

Problem with item price value

Hi,

I installed solidinvoice ver. 2.0.3 (but in footer is still 2.0.3) from DockerHub. After short testing I noticed one problem, that when you set value of invoice item (i didn't check quotation one) less then 1 (eq. 0,65) then price is saved to DB as 0.

In the meantime I check DB structure and noticed that all fields in DB connected to item amount are defined as INT - is it ok ? Shouldn't be DOUBLE as QTY is ?

Second, I change amount fields to DOUBLE as in invoice items as weel in invoice table, Preliminary it was saved correctly, but after reediting invoice, fields have been changed to 0 value.
Is it possible to corect this functionality ?

BR

Docker link is not working anymore.

I tried to go to the docker link in the readme file, but it gives a 404. I would gladly change it (PR), but I can't find the docker link for it.

Installing from the distribution package runs in dev mode with no javascript.

Describe the bug
I've installed SolidInvoice using the instructions here https://docs.solidinvoice.co/en/latest/guide/getting_started/downloading.html#installing-distribution-package

When going to http://localhost/app.php, I can go through the setup, everything looks good, the database gets created, no errors / warnings / etc.

When I get to the http://localhost/app.php/login page, there is no javascript and the symphony profiler is enabled.

I've tried the docker image and it does not have the same issue.

To Reproduce
Steps to reproduce the behavior:

  1. Download the latest release of SolidInvoice / Extract the zip
  2. Move the files to an appropriate location / set the correct permissions
  3. Create an apache vhost based on the example https://docs.solidinvoice.co/en/latest/guide/getting_started/webserver.html#configuring-apache
  4. Launch a browser and go through the setup until you reach the login screen

Expected behavior
Expected to be in "production" mode with javascript enabled.

Screenshots

Screenshot_20190805_195405

Desktop (please complete the following information):

  • Arch Linux / Apache
  • Firefox (new profile) / Chromium / Brave

Need some help for developer installation/

Hi, I am a newbie in programming and I have background in accounting. I would like to contribute in this project. Sadly, I have trouble to install.
I have learnt a bit C, Java and Python. This is the first time I learn PHP and Nodejs(for this project). So my trouble could be related to incomplete install.
I am using Ubuntu 18.04
I can confirm I have composer, php and nodjs+npm installed.
When I follow develop installing instruction:
php bin/console assets:install --symlink web
The above command shows up the following error:

PHP Warning:  require(/home/carl/SolidInvoice/app/../vendor/autoload.php): failed to open stream: No such file or directory in /home/carl/SolidInvoice/app/autoload.php on line 18
PHP Fatal error:  require(): Failed opening required '/home/carl/SolidInvoice/app/../vendor/autoload.php' (include_path='.:/usr/share/php') in /home/carl/SolidInvoice/app/autoload.php on line 18

I suspect it is related to $PATH which I do not have good understanding.
I try
echo $PATH
output is
/home/carl/anaconda3/bin:/home/carl/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
I cannot see :/usr/share/php. Does it mean that I just need to add php? If so, how?
P.S.: when I use php -v I can have version output.
Thanks!

How to donate translation?

What platform do you use for localization, I'd like to donate translations for my own language. i.e. Serbian/Bosnian/Croatian/Montenegrin as they are all the same and it would provide a great opportunity to all of these countries to use such an awesome tool!

docker-compose

Hi I have forked and modded docker-symfony to run with solidinvoice
Check it out here
https://github.com/hounded/docker-symfony.git

Install

in directory of your choice

git clone https://github.com/hounded/docker-symfony.git
git clone https://github.com/SolidInvoice/SolidInvoice.git
cd docker-symfony

create a new .env with the parameters you require and run

docker-compose up or with the d if you like the d docker-compose up -d

then you can enter the node container and run

docker exec -it dockersymfony_node_1 /bin/bash
npm install
./node_modules/.bin/gulp

entering the php container you can run

docker exec -it -u www-data dockersymfony_php_1 /bin/bash
composer install
php bin/console fos:js-routing:dump --callback=define
php bin/console bazinga:js-translation:dump --merge-domains

Rewrite UI

  • Rewrite the frontend using Vuetify and a material theme
  • Remove MarionetteJS and RequireJS
  • Replace RequireJS with Webpack build system

Add internal notifications

Add internal notifications, E.G:

  • New version of application is available
  • Payments have been made (enable/disable)

Creating a client fails due to template loading issue.

This might have something to do w/ my environment but before I dig in on it thought I would note it. When creating a client I get an error when it tries to send a notification:
An exception has been thrown during the rendering of a template ("Warning: file_get_contents(http://127.0.0.1:8002/css/email.css?2.0.0-alpha2): failed to open stream: HTTP request failed! ").

Issues with Installation

Using latest verion of SolidInvoice

When installing on Hosted environment - it passes the system check but when getting to DB setup it fails.
DB connection is correct and DB exists already, but fails to create tables and schema.

Note: in some hosted environments DB creation is handled only through admin page.

to reproduce ..
create a table on mysql db and use this in the db setup and connection page. It will not create tables nor schema.

Add global search

Users should be able to search for clients, quotes, invoices and payments using a general smart search in the top bar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.