Sorry, none of my solution uses Web2py, but maybe the workflow might help because we do something similar.
First I wrote a Delphi Win32 app. It creates nicely formated statements as PDFs using ReportBuilder to a directory accessible to our internal webserver. It seemed to me that if this program is just for internal use, it is easier to write it as a desktop app using a proper reporting app. However, if you want to do something similar using web2py, you could check out this post: https://groups.google.com/d/topic/web2py/WaATh3r6-20/discussion Once the statements are created, I have written a php web app which lists the available statements alongside tick boxes. The user ticks the boxes of those which must be sent and clicks the send button. The app loops through the ticked boxes and gets the clients' email addresses and sends them as email attachments using the PhpMailer library. It would be easy to write something similar in Web2py, but at that time I was using php.

