Batch export / print / send invoices

We have some clients who prefer to receive invoices by surface mail, and it would be great to have the option to select those invoices to print as a batch instead of having to select each one individually, download it as a PDF, then print.

Last Update: 2018-01-07

Hey,

From what I know from mPDF it’s possible to add unlimited pages (or at least a big number) so we have to see with @Kovah if he wants to implement it and how implement it but for a technical point of view it doesn’t sounds too hard :slight_smile:

Regards,

Absolutely useful feature. Added to the task list and pre-scheduled for version 1.6.0.

Many thanks for the quick reply, and I will look forward to the extension to what is a superb piece of software.

A suggestion might be to only email invoices if an email address is added to the client database. The system could then use the export to PDF as a default option.

For creating the batch, the software only has to store the PDF’s in a directory created specifically for that purpose. Linux users could use the “LP” command to select which invoices were printed.

Here is what I would suggest (from my point of view) :

  • a new submenu in the Invoices menu called “Export invoices”
  • In this new submenu you have the possibility to choose :
  1. A client (not mandatory it’s up to you if you want to download for example all overdue invoices)
  2. from/to field
  3. status (checkbox to select one or multiple status)

And if you hit the “export” button then it generates ONE file with all invoices you have selected according to your criteria.

Yes that seems a more useful method of extracting the invoices. I assume they will export to PDF?

Sure in PDF :slight_smile:

But in my opinion it’s the only way to cover all point of view (those who wants for a specific client, those who wants only overdue, those who wants with a from/to datepicker) …

HI Guys,

I’ll share screen how this is done in my other paid version of invoices. I would say - it looks simple, yet it has everything i need . Basically you have time range presets or range selector, and format dropdown . Thats it

The only other thing to consider there probably could be 2 PDF options

  1. Single PDF with invoices going inside PDF one by one
  2. PDFs archive as a ZIP with separate files inside

PS - the popup appears on already filtered invoices - Thus if you click it on “ALL INVOICES” -it will export you all invoices. If you where in a list where only OVERDUE invoices - you’ll get only overdue . But i guess other dropdowns could be just added with filter selcetion and possibly client selection

1 Like

Hey,

That’s fine with me to add a select list or a checkbox to let you choose between one PDF or multiple in a ZIP :slight_smile:
Just need to see what’s possible to do (but Codeigniter has a built in library for zip so it should be easy)

For ref: https://www.codeigniter.com/user_guide/libraries/zip.html

Regards,

Hello,

Kovah asked me to jump into this conversation because I have already worked on a related / similar job like this, sending (UBL) invoices.
What did I realize on my own environment:

  1. I have added an option in the customer settings to choose the type of “electronic invoice” and this depending on their internal workflow or accounting process. ERP and accounting software can automatically process / understand these UBL files.

  2. if in my version the invoice (via email) is sent to the customer, the desired electronic Zugferd or UBL invoice file is also generated and sent to this customer.
    image
  3. as an extra, a European electronic SEPA credit transfer payment file (SCT pain.001.001.03 xml) can also be created and sent along.
    All these additional files are created and are based on (Zugferd or UBL) templates.

If this is interesting enough to develop further, I can certainly provide more information and share the code.

2 Likes

This would be such a cool and handy feature…
I’m doing my accounting at the moment and i’m already lost 4 hours to manual save each invoice. And i’m working quick as possible almost 80% done.

Would be great to have an option to select all invoices from a year, month, annual months, ect.

1 Like

Today an account was asking me if it was possible with IP to create an export of the invoices from last year in UBL format. I think this is where where this thread is about… Woud be great indeed.

1 Like

This feature request refers :

https://community2.invoiceplane.com/t/topic/3816/14

1 Like

So basically:
We have a list of invoices, filtered by date, month, etc
We want to batch select those invoices
With the batch we want to:

  • email
  • create PDF
  • export to UBL
    Something like that?

Yes - that sums things up

Hi any updates about this feature? I’m waiting since 2017 for this, as you can see in the other related topic.

I’ve build me a small script which does the job for me, here you go guys, have fun :blush:

/**
 * Description
 * This script allows to batch download all invoices within the current page(ination) with the real name of the invoice into your download folder.
 * If you run this script for the first time, your browser will ask you to allow to download multiple files at once.
 * Run through every page and paste this script into the webdeveloper (script) console of your browser.
 * 
 * Usage of this script
 * 1. Replace [ENTER YOUR DOMAIN NAME HERE] with your real domain where InvoicePlane is hosted, f. e.: invoiceplane.mydomain.com
 * 2. Open invoice plane on the page you want to download all pdf files.
 * 3. Paste the script below into the javascript webdeveloper console.
 * 4. Let the magic happen.
 * 
 * If you experience that not all invoices per page (regular 15 invoices per page) are downloaded, you need to increase the timeout (1000 / 1s) to 2000 / 2s or something like that.
 */

(() => {
    document.querySelectorAll('a[href^="https://[ENTER YOUR DOMAIN NAME HERE]/invoices/generate_pdf/"]').forEach((invoice, index) => {
        setTimeout(() => {
            invoice.setAttribute('download', true);
            invoice.click();
        }, index * 1000);
    });
})();

Thanks for the information you shared with the community!!
I really appreciate it !!