Statement of Client

I have started work in this for my own purposes. I am not sure how much interest there is in this feature for me to speed up development.

I am new to invoice plane and have some issues with the calculations, but I sure I will get there in time,

I also don’t know the best way to push changes to the git repo, so I’ll probably create a fork with my changes at some time.

Pic of menu option on client list

Pic of Statement


You may find information about contribution code here:

How can I test it to help the developer and to speed up the push changes task?

crafter has to make his code public before testing is possible.

1 Like

Alright… notify me once done.

Will do my QA cycle and prepare a report for the statement task


1 Like

I have pushed a first version of my code to a IP fork on github.

I am not too familiar with the contribution process but eventually I would like to see this on some parts being merged into IP.

For now, I have branched my code off the master branch.

I suggest you proceed as follows : -

  1. Create a branch of your current working branch
  2. Merge branch ip473clientstatement into your working branch

A few notes about this version.

  • It does not the statement on the db. Instead it creates it in real time.
  • By default, it show a statement for the last 30 days, Select a start date from the preview screen and refresh the page to change the statement parameters
  • It generates a statement number each time based on the client id and date. Change the statement number to your preference.
1 Like

1 Like

I created a new pull request for the 1.6.0 version of InvoicePlane. Code needs to be reviewed but looks promising for me. Thank you for your work! :+1:


Good day,

Is there a way to make the statements be emailed like PDF invoices are emailed?


This feature is very important for us, at the same time @Kovah is no more supporting this project. I don’t if the contributors can assist us with this task.

Currently not, but it is something I can work on.

How about the online statement as you mentioned in the reply # 13

The online statement is available as a pull request and is pending code review and testing before being integrated into the main base.

You are free to pull the branch and merge it into your own installation. I am using it for my own purposes and it serves me well.

(Someone tried to integrate it and was having issues with the date format, which I suspect is because of local region settings, but I never got a chance to look further into it.)

I would really appreciate this. I have a huge list of clients and having to download each statement then manually emailing them is tedious and would appreciate a button next to download that says send, then incorporates the sending of the statements to clients.

I had the same issue with the date but below is the workaround I used on all $date_time->getTimestamp();.

        $statement_date         = strtotime($this->input->post('statement_date_created'));
    //$date_time   = date_create_from_format("d M,Y", $this->input->post('statement_date_created'));
    //$statement_date   = $date_time->getTimestamp();

Also note that I have had to modify the compare_statement_dates function because if I had the same date for invoices and payments, it always showed the payments first and thus showing a negative balance unnecessarily. This just didn’t look aesthetically right.

So I modified the function as follows

    if($timeA == $timeB) {
		$transA = strtotime($a['transaction_type']);
		$transB = strtotime($b['transaction_type']);
        return $transA < $transB ? -1 : 1;

But thanks a lot for putting together the addition of the statement. You have made our lives much easier. Much appreciated.

1 Like

Who is responsible to to merge the request pull? while the code is tested and working well!

From my side I preferred the release rather than modify the some files.

@snake_eyes do you mean crafter’s solution In his fork?
only a couple of people in our team can do that, because then we’re merging into our development branch
if you want you can clone it and merge in crafter’s solution in your development environment

Yup, while @Kovah is no longer updating the project and no further releases, can you suggest a person who is continuing development?

We all are continuing development, we’re just focusing on version 2 and not on version 1.
Version 1 will need a new release which could include pull requests like the one of this thread.

1 Like

That is perfect, is there any time-frame for the next release?