Code Monkey home page Code Monkey logo

simpleinvoices's Introduction

Simple Invoices

Join the chat at https://gitter.im/simpleinvoices/simpleinvoices Making invoicing rock since '05.

Cloning

SimpleInvoices using gitsubmodules to load the Zend Framework.
When cloning the repository use the --recursive option to ensure that Zend is retrieved.
git clone --recursive [email protected]:simpleinvoices/simpleinvoices.git

If a non-release download of the SI code is taken from GitHub (instead of a recursive repo clone), then download the Zend v1.11 library manually and expand it into the library/Zend folder.

Downloads

Note: It is advised to use the Bleeding Edge Code as that has been stable for quite some time now.

Documentation

Schema

About

Get Involved

We also have a mailing list for tracking commit activity. This is hosted on Google Groups. You can find it here: https://groups.google.com/forum/?fromgroups#!forum/simpleinvoices-trac

Translations

We are proud that SimpleInvoices is currently available in 41 different languages but we would love for that number to be even bigger!

If you would like to help translate SimpleInvoices into your language check out our translation project. Download updated and additional languages only if logged in there.

For more information refer: simpleinvoices.org/translate

Reporting Bugs

Please use the issue tracker on GitHub when reporting bugs. https://github.com/simpleinvoices/simpleinvoices/issues

Developers: There are still a number of open issues on the old Google Code issue tracker if you are looking for something to fix. http://code.google.com/p/simpleinvoices/issues/list

Known Issues

  • Heart Internet Users -- There is currently an issue with exporting invoices to PDF. Images are not currently being rendered in the PDF. We are working on resolving this issue but unfortunately we do not yet have a fix. We recommend that you use a different hosting service if you need to export PDF invoices.

simpleinvoices's People

Contributors

antoniypetrov avatar apmuthu avatar betacentury avatar fameal avatar gene292 avatar gitter-badger avatar harvindersingh115 avatar heart1010 avatar jeroenboersma avatar jhvn avatar joallard avatar justinkelly avatar kenguest avatar kyrad avatar matt-west avatar modir avatar outbackmatt avatar pvdl avatar rgouveia-redhat avatar robinpercy avatar sanguis avatar seneca-c avatar soif avatar thehandcoder avatar therif0 avatar yhager 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simpleinvoices's Issues

Send reminder and thank you emails

If invoice not fully paid be able to send a reminder email via app

  • add buttons
  • make option to auto do this - cron

Add option to payments page to send thank you email

  • maybe - make option to auto do this - cron

Replace si_inded table

The replacement for the si_index table is the following SQL (can become a view as well with no inserts necessary): The invoice module is hardcoded for the node and the sub_node_2 does not seem to be used in SI unless biller wise id generation is anticipated.

SELECT
    MAX(iv.index_id) AS id
    , 'invoice' AS node
    , pr.index_group AS sub_node
    , NULL AS sub_node_2
    , iv.domain_id
FROM
    si_preferences pr INNER JOIN si_invoices iv
        ON (pr.pref_id = iv.preference_id) AND (pr.domain_id = iv.domain_id)
GROUP BY iv.domain_id, pr.index_group;

Seach Button missing in the bottom of Invoices Page

I dont know whether I am correct. I am working in invoices page, as a normal user.

After selecting search button, It open up a menu topside.
But once I entered a Quick Search term and selected 'Invoice-no/customer/biller', expect a 'Search' Button. There is only 'Clear' button.

Things working fine when we press 'Enter' Key, but using mouse we cant do the same operation.

MySQLi support

My deployment doesn't support PDO_MYSQL and won't anytime soon. Zend does support MySQLi and it looks like include/sql_queries.php could be updated to support MySQLi with only modifications to db_connector() & dbQuery().

Default Amount Not filled automatically - Master.zip Release

Normally when we process payment, we get the default amount value equal to the amount owing. (The value in the Amount field automatically defaults to the amount owed for the selected invoice.)

But when I we do in this way, It is not showing the expected:

  1. 'Money' -> 'Payments' menu
  2. 'Process Payment' button
  3. Select Invoice from Drop Down Menu.

After this we expect the amount to be filled automatically. It shows blank.

Pagination broken

Hi,

I just upgraded from the 2011 release to the latest Git version and the pagination seems to be broken.
I hope I can fix it myself and send over a PR but I'm making an issue anyway for good measure (cause I might forget ;)).

Happy to see the project is still alive by the way!

Installetion Error

Got the following installation error:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'simple_invoices.si_defaults' doesn't existDude, what happened to your query?:

ALTER TABLE si_defaults ADD def_number_line_items INT( 25 ) NOT NULL

Reports not working in SimleInvoices-2011.1

Hi,

I am new to simpleinvoices. I tried to use the simple invoices in my windows system itself as web software using XAMPP.
I followed every installation steps properly (I think!).

My Versions:

Simle Invoices 2011.1
XAMPP 1.8.1
PHP 5.4.7
Perl 5.16.1
5.5.27 - MySQL Community Server (GPL)
Apache/2.4.3 (Win32)
OpenSSL/1.0.1c
phpMyAdmin 3.5.2.2
Windows 7

Everything working fine except some reporting which shows nothing.

  1. Total Sales
  2. Sales by customers
  3. Total Tax
  4. Products Sales .. etc

Then I enabled the error log and it showed the following message.

Fatal error: Call-time pass-by-reference has been removed in
D:\xampp\htdocs\simpleinvoices-2011.1\library\phpreports\PHPReportMaker.php(274) :
eval()'d code on line 151

I tried cleared issues, I tried at my level best.

Please suggest list of things to be done to get the reports right!

Thanks,
Selva

Second Domain Issues

All System Preferences work only if database table entries exist for the domain.
Manually create second domain and user for that domain and log in as the new user.
Can create customer, biller, invoice preference, tax. Cannot change vales of line items or no. of taxes per line item, etc unless values exist in the preferences table.

which branch is the recommended to fork

I want to try out the recent version of this, and I got a bit confused with the amount of branches in there. Which one should I fork if I were to try recent changes but might be able contribute back fixes if I find any?

I got a bit confused between the stable and stable-2012-1 branch. Thanks,

Id Index mismatch bug

I am not sure how this happens but happened to me couple times. Basically the ID and the id in the title do not match.

I am attaching n image that shows the Ids listed

-in the invoices listing page
-in the invoice`s details page
-and the line that shows that invoices table in the Sql table

I think that going back and forth from a quote to draft and back to invoice kind of thing messes up the order. In any case if the id changes internally it should be reflected globally in every field. I have found this to be super confusing.

Another alternative is to show the actual Id(instead of whatever internal listing is) of the Invoice which I believe the one that is listed in the invoice details page(second/middle image)

invoice_mismatch

Notes Field Inserting Excess Whitespace Into Database

When adding a new invoice, the notes textarea is adding in excess whitespace if the field is left blank. This inhibits the Smarty template check for a blank notes field on the invoice template. The fix is rather simple:

Line 295 in (/templates/default/invoices/itemised.tpl):
Remove any excess whitespace between the textarea tags.

Sales by period : year order

Matt , You shoud revert your commit da04bd9 , or make appropriate changes in the code.

  • there is a limit on the number of years shown ('years_shown'=5 defined in the template). If you reverse the array, the template will only show the 5 first (oldest in you case) years. This is obviously not wanted.
  • When you click on the "%" button, you see the rate variation between years: it was placed at right to show the variation BETWEEN the two years, if you reverse the array, you would have to place the column at left, and make the related CSS changes (borders).
  • I thought that my way of printing the years order, was those generally used by accountants, in this sort of reports, but I might be wrong

best regards,

Aaron NG

Just install 2013 beta1, want report 2 bug ,

  1. small css bug - open new invoice , "save " and "cancel" button align not same level.
  2. Big bug for Payment page "process payment" ,When I choose which invoice I want to pay , but the result will save to another .
    In database - "si_payment" table "ac_inv_id always will save to 1. but using invoice page to pay , no problem !
  3. Export PDF still can't show Chinese font. becasue I have some products are from china.need chinese product name .

Thanks for help

aaron

HTML Sanitising

Users should be able to use basic HTML tags (p, ul, li, etc) in invoice descriptions.

Process payments not working 2013 beta1

Just install 2013 beta1, want report 2 bug ,

  1. small css bug - open new invoice , "save " and "cancel" button align not same level.
  2. Big bug for Payment page "process payment" ,When I choose which invoice I want to pay , but the result will save to another .
    In database - "si_payment" table "ac_inv_id always will save to 1. but using invoice page to pay , no problem !
  3. Export PDF still can't show Chinese font. becasue I have some products are from china.need chinese product name .

Thanks for help

Aaron

additional description column in the invoices tab?

Hi

Is it possible to show additional description column in the invoices tab? It is kind of hard to distinguish what is what in the invoices. Adding the description column will definitely help with the situation.

Wrong Currency-Format if switch from English to German Language

If i switch from English to German, there is still the english Format of Currency.
Means $10.15 instead of german notation 10,15€.
I've seen there is a Template on the wiki-pages for placing the € behind the currency, but in this case i mean the . and , as seperator.

The type of currency format of decimal numbers should be editable in SI-Settings. Means the seperator for "thousend" and "cent".

direct links to create new invoice for a given customer

Hi,

It would be great time-saver if the customer list and detail view would have a link to directly create a new invoice instead of having to re-select the customer in the popup list (esp. when there are many customers).
i.e., analogous to what is already implemented to enter a payment for invoices.

Reports not working in PHP 5.4

Encountering the following error when attempting to generate reports.

Fatal error: Call-time pass-by-reference has been removed in /Users/mattwest/Projects/open-source/simpleinvoices/library/phpreports/PHPReportMaker.php(274) : eval()'d code on line 151

PHP v5.4.4

Monthly Sales and Payments report still works fine.

Invoice 'due date'

I would really love a new feature: a "due date" field that sends me an e-mail alert when an invoice is approaching the due date.

Delete recurrences

Hi, simpleinvoices is very usable, but it cannot delete recurrences, i know is not the best way or fancy, but i resolved in this way:

In modules/cron/xml.php
a class='index_table' title='$LANG[delete] ".$row['name']."' href='index.php?module=cron&view=delete&id=$row[id]'><img src='images/common/delete.png' height='16' border='-5px' padding='-4px' valign='bottom'

Create a file in modules/cron/delete.php

log("Item deleted: ".$sql, ZEND_Log::INFO); return dbquery($sql, ':id'. $id); $smarty -> assign('invoice_all',$invoice_all); $smarty -> assign('saved',$saved); $smarty -> assign('cron',$cron); $smarty -> assign('pageActive', 'cron'); $smarty -> assign('subPageActive', 'cron_add'); $smarty -> assign('active_tab', '#money'); Regards!

Upgrades from 2011.1 to master errs

Fatal error when attempting to upgrade from SI v2011.1 to the latest master.

Fatal error: Cannot redeclare getnumberofdonepatches() in /simpleinvoices/modules/options/database_sqlpatches.php on line 14

Reamainders and Remainder email button

A button on the invoice dashboard for sending reminders for payment. manual
An automated reminder system where you can set a date for all the invoices, say 14 days .(already available or i did that I don't know anymore)

The work flow would be:
5 days before the due date a remainder is sent
On the last day a reminder is sent
2 days after the due date a reminder but different template is sent.

What needs to be done:
So in short a settings page for remainders
with unlimited rows of reminders
each row contains a reminder configuration + or -x due of due date and a template to use.

A general setting for general relative due date +14 days

A possibility to change per invoice due date for the people who want finer control or foreign payment who get more time and so on, or payment plan, extensions and so a lot of use cases when i think of it ;-)

An manual button for sending a remainder, less configuration fits in with the rest of the gui.

I think a lot of the plumbing is already available except the extra fields.

Aging issues for invoices in the future

If I create an invoice using a date in the future (e.g. sometime next week), the Aging will show 0-14. The aging will also show 0-14 for the invoices with a date in the past, which is confusing. To avoid confusion, (0-14) should be shown in the aging for the invoices with a date in the past.

Within the "Invoices" screen, when I Filter by "Due," should I be seeing Invoices that are dated in the Future show up? I just created an invoice dated Aug. 1, 2013, and it's showing up there with an "Aging" value of "0-14"

Existing invoices vanish after 2013.1-beta2

After pulling to "Merge branch 'jk_product_matrix' " [1] existing invoices cannot be viewed from Money, Invoices, ("No items found") though they still remain in the database (and can be seen under Home, All Reports, Statement of Invoices).

A CO back to 2013.1-beta1 shows invoices again.

[1] 4f4cdf9

update from old stable version

I was about to try out the new stable branch and I wondered if there's an upgrade path from the old stable release, is it?

Thanks

Owing Column reports amounts owing for Quotes/ Estimates

Moved from: http://code.google.com/p/simpleinvoices/issues/detail?id=214

  1. Make sure the Quote Invoice Type has the Status set to Draft (Settings->Invoice Preferences-[Edit]->Status=Draft)
  2. Create a new Quote (Money->New Invoice->Invoice Preference=Quote), add some items and save the Quote.
  3. Return to Money->Invoices

Note that the amount for the quote is showing in the "Owing" column. Since this Status of this Invoice Type is Draft, there should be NO money "Owing" on the Quote - this should only appear AFTER it has been changed to an Invoice (with Status of Real).

More importantly, when viewing Customers (People->Customers) the "Owing" column here also shows any and all Quoted amounts as "Owing".

In my world - issuing a Quote DOES NOT mean that someone owes you money! That doesn't happen until you issue the invoice.

I believe that any report/screen that shows amounts "Owing" should exclude any amount associated with an Invoice (Quote) with Status of "Draft"

Tested on Version 2011.1

Footnote: I find this whole "Real" and "Draft" concept very confusing. But once it is set up (and if it worked properly) it would be OK

SI Branches

Following @justinkelly in issue #2

re branches

all we need to keep are master and stable-2012-1
we can jsut append delete- or similar to the other branches if delete isnt that easy @matt-west - are >you ok to do the git work?
@soif

i was hoping to freeze 2012-1 and just do all new work on master (which is quite different - and >needs to be cleaned up)
are you ok with applyign all your changes that you did to 2012-1 to master as well ?


-Deleting a branch in git is super easy . Just delete it. :-)

  • Would you please also RENAME your 2 main branches as "master" and "develop". This is the common way to name the 2 main branches at git, and without a "develop" branch, things like git flow, just don't work as expected, because git complains about a missing "develop" branch
  • unfortunately, i already trashed all my PR branches, so recreating it for the master, testing and submitting, would just be too much work

BTW I can't understand your branches organization.

  • If stable2012-1 is the develop branch, and you want to release it to public as v2012. the usual way is to merge it to the master branch (not your current 'master', but a CLEAN master) and add a 'v2012' tag on the master. Then we continue developing the develop branch, and each time you think our changes are stables, you merge it in the master.... etc..
  • I cant understand why there is so much differences between the stable2012-01 and the Master. I cant even find when the stable2012-01 has diverged from the master...
    It sounds like developing 2 differents applications at the same time.(???) If this is the case master should not be named master, but something more clear like 'v2rewrite' , and the master branch should stay the branch where develop commits are merged. If you want us (the extenal dev) to work on the v2rewrite, as the maintainers, you have to merge it in the develop branch first. We are supposed to work on one branch at a time, else it is way to hard to follow multiple branches.
  • Said differently, when someone do "git clone https://github.com/simpleinvoices/simpleinvoices.git", he should get the latest (public) released version. If he "git checkout develop", he should get the latest development version. If he "git checkout v2rewrite", he should get your other different branch (actually your master).

PS I cant even checkout the master. I get an error :
"Warning: require_once(Zend/Application.php): failed to open stream: No such file or directory".

best regards

Multi Domain for Attributes

Attempting to consolidate the attributes tables into a single query from the sample data:

SELECT
    pav.id
    , pa.id AS AttributeID
    , pa.name AS Attribute
    , pat.id AS AttributeTypeID
    , pat.name AS AttributeType
    , pav.value AS AttributeValue
FROM
    si_products_values pav
    INNER JOIN si_products_attributes pa
        ON (pav.attribute_id = pa.id)
    INNER JOIN si_products_attribute_type pat
        ON (pa.type_id = pat.id);

results in:

id AttributeID Attribute AttributeTypeID AttributeType AttributeValue
1  1           Size      1               list          S
2  1           Size      1               list          M
3  1           Size      1               list          L
4  2           Colour    1               list          Red
5  2           Colour    1               list          White

The sample data in si_product_matrix needs to have it's fields mapped to the above

id      product_id      product_attribute_number      attribute_id
1      1                   1                                          1
2      1                   2                                          2
3      2                   1                                          2

Should we not add a domain_id field to the si_product_matrix table or is the table no longer used?
The modules product_attribute and product_value refer to files in the now removed extension/product_matrix folder. (Hope apmuthu@e44859f fixes it)

  • Ap.Muthu

product quantity becomes negative after product gets out of stock

hi , i have moved to simple invoice from siwapp..and found it very much useful ...but the only thing is that product quantity becomes negative after the product is out of stock ..example if i have a 5 shirts..and i sell 6 then it shows -1 in manage products as it should give a popup of an alert that the product is not in stock ...hence even after product is not in stock (shows 0) and then i make invoice for 5 units ..then also it does not show alert popup and shows -5 and even allows you to make an invoice for the product which is out of stock.

Mobile Interface

It would be great to have our simple invoice project compatible for mobile browsers using bootstrap or any responsive theme.

Please suggest how we can go about it.. It will truly be a 2014 app.

PayPal payments bloat si_payment table

PayPal payment acknowledgements are stored in the "ac_notes" field of the si_payment table. PayPal sends fielded data of about 800 characters and all of those characters in an unstructured field can bloat the table and slow MySQL response times.

A suggestion is to create a new table (si_pp_payments?) and structure it like a PayPal response, filling out the fields the way PP transmits them. A PP payment response looks like this (names, accounts, addresses, etc. have been camouflaged but strings are the same length; unknown if you need to store such info as "charset" or both "business" and "receiver_email"):

\n
mc_gross: 28.00\n
invoice: 50\n
protection_eligibility: Ineligible\n
payer_id: ABC1D2EFGHIJK\n
tax: 0.00\n
payment_date: 14:35:17 Jul 30, 2011 PDT\n
payment_status: Completed\n
charset: windows-1252\n
first_name: John\n
mc_fee: 1.11\n
notify_version: 3.2\n
custom: domain_id:1;\n
payer_status: verified\n
business: [email protected]\n
quantity: 1\n
verify_sign: AB.cDEf8gHiJKLmnOP8QRS666.2Tuvwxy-za7BcDEfghIjK54l4mNOpq\n
payer_email: [email protected]\n
txn_id: 2AB345678C912345D\n
payment_type: instant\n
last_name: Doe\n
receiver_email: [email protected]\n
payment_fee: 1.11\n
receiver_id: ABCDEF12G34HI\n
txn_type: web_accept\n
item_name: Invoice 11060\n
mc_currency: USD\n
item_number: \n
residence_country: US\n
handling_amount: 0.00\n
transaction_subject: domain_id:1;\n
payment_gross: 28.00\n
shipping: 0.00\n
ipn_track_id: aBCDe-fg1HI.jKLmNOPqrS

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.