Ken, Post about what you decide to do. BTW - I looked at a couple of the vendors I mentioned not sending PDFs - they were generated by NetSuite. Just saying.
On Sun, Jul 30, 2017 at 4:10 PM, Kenneth Geiger via 4D_Tech < [email protected]> wrote: > Hi Kirk, > > Yes, this helps immensely! Time to start prototyping. > > Thanks, > > Ken > > On Sun, Jul 30, 2017 at 4:41 PM, Kirk Brooks via 4D_Tech < > [email protected]> wrote: > > > Hi Ken, > > I've got some experience with this sort of thing and have a number of > > thoughts and suggestions - in no particular order. > > > > Before starting I'm assuming we can be certain all invoices to be > processed > > are already reviewed and OKed by a human somewhere. > > > > #1) the PDFs. Potential for huge headaches. We get invoices from several > > vendors by email which are simply emails with the invoice data. There's > no > > rule that says "invoice" = PDF. You could render a very nice html > document > > for the invoice along with a perfectly serviceable text representation > and > > be done with it. The crucial parts are the customer/vendor, date, invoice > > number, terms, and amount. Maybe the PO. If that's on a piece of paper > it's > > an invoice. The rest makes it look nice. > > > > If you don't do that use a scheme for producing PDFs that doesn't depend > on > > a print driver. Rule out MS PDF printer, PDFCreator et al. Spend the $$ > and > > get Rob Laveaux's plugin or download the presentation from a couple of > > years ago on making your own in native 4D (I did this) but you must have > > something that runs in code without OS print resources. > > > > #2) dedicated email account. I really recommend your client have an > account > > only the database will use. Humans can check it but create a special one > > for 4D. > > > > #3) I like having two tables for these operations: [Email_que] and > > [Email_log]. You could use one table with a status flag too, this is my > > personal pref. I build the emails into a record in the que. Once they are > > all ready I loop through those records and send them. You can link these > > back to the specific invoice to provide a good audit trail. > > > > If they send successfully I move that info to the log (I don't bother > > saving things like the attachments but you may want to) and delete the > > record. If it doesn't go I log the error in the Email_que and after some > > number of attempts it falls out of the loop. Most common is a bad email > > address but it can be other things. > > > > A real key I found is to really break the operation in its discrete > parts. > > So building the email record is totally complete before dealing with > > sending. Building the invoice document is totally separate from anything > > else. The email loop is only dealing with sending (or not) an email. > Makes > > life much easier. > > > > You mention doing batches and this fits right into that. You after the > > sending loop you can report the errors or simply add them to the print > que. > > > > You can get more sophisticated by having your app check the mail box. I > > wouldn't worry with that right away but pretty soon it may be worthwhile. > > > > The other thing this will bring up is customers being able to pay on > line. > > If you all haven't looked at that yet this may start the conversation. > > > > Does this help? > > > > On Sun, Jul 30, 2017 at 1:07 PM, Kenneth Geiger via 4D_Tech < > > [email protected]> wrote: > > > > > A typical batch of invoices (run monthly) is between 100 and 200 > > individual > > > invoices. Any recommended plugins and/or suggestions, recommendations, > > or a > > > direction in which to head would be most appreciated! > > > > > > > > > > > > -- > > Kirk Brooks > > San Francisco, CA > > ======================= > > > > *The only thing necessary for the triumph of evil is for good men to do > > nothing.* > > > > *- Edmund Burke* > > ********************************************************************** > > 4D Internet Users Group (4D iNUG) > > FAQ: http://lists.4d.com/faqnug.html > > Archive: http://lists.4d.com/archives.html > > Options: http://lists.4d.com/mailman/options/4d_tech > > Unsub: mailto:[email protected] > > ********************************************************************** > > > ********************************************************************** > 4D Internet Users Group (4D iNUG) > FAQ: http://lists.4d.com/faqnug.html > Archive: http://lists.4d.com/archives.html > Options: http://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:[email protected] > ********************************************************************** > -- Kirk Brooks San Francisco, CA ======================= *The only thing necessary for the triumph of evil is for good men to do nothing.* *- Edmund Burke* ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

