There must be a better way.

I have been using DT Pro Office for several months and am very happy with it. But being that I am still a newbie in DT as well as the mac environment, perhaps someone can suggest an easier way for me to accomplish the many steps I need to accomplish a typical task.

When I get an email from a credit card company that a new statement is available:

  1. Log onto the credit card site using Firefox
  2. Download the statement to my downloads folder. The statement is usually a nondescript file such as “statement.pdf” or worse an obscure filename without the pdf extension, forcing me to add a pdf extension.
  3. Open the downloads folder, find the file name, right-click and “open With” DT Pro Offce,
  4. Open DT Pro Office and find the file in the inbox
  5. Right-click the file and select move to appropriate credit card folder
  6. Navigate to that credit card folder and open that credit_card_2014 document
  7. Drag the statement file after the last page of the 2014 document
  8. Right-Click the statement.pdf that I just added to the 2014 document, and select Move to Trash
  9. Navigate to the Trash folder in DT Pro Office and empty the trash
  10. Open my original downloads folder and move the original downloaded statement to the trash
  11. Securely empty the trash.

There must be a better way to accomplish this typical scenario - fewer steps, more automation. Is there a way to download from a browser directly to the DT inbox, is there a way to have DT move the document from the downloads folder to the inbox instead of copying it, is there a way to have documents automatically trashed after adding the to a different document. Any tips or suggestion will go a long way in educating me.

My workflow for monthly credit card statements is much simpler.

  1. On the secure site, view the monthly statement, which includes a list of all items purchased during the statement period, my payment, and any interest charged to me. (As I always pay the charges before the due date, I keep an eagle eye on that to make certain I’m never charged interest.)

  2. The site page will include options to download or print the statement. I choose to print it. Then, in the Print panel I click on the PDF button and choose the option to save the PDF to DEVONthink. As I’ve set Preferences > Import - Destination to Select group, a HUD pops up to allow me to choose the destination of the new document, and I select it.

  3. In the database I rename the new multipage PDF statement as Credit Card 20140315. As the statement includes a list of all the purchases and their amounts, I keep these statements and do not delete the previous ones.

That’s it. View the statement, choose the site’s print option (which allows me to directly send it to the desired location), rename the new document.

Yeah, stop using Firefox for starters! :mrgreen:

Seriously, though… I do ALL my finances in a DEVONthink database. Don’t forget that DEVONthink has internal web browsing capabilities. (And for those who cry, “But you can’t use a password manager!” there are ways around this (even, gasp remembering your passwords!! 8) )

  1. I have an encrypted disk image (sparsebundle) where the database is located. (I’m not overly concerned about data protection but this one’s a simple step to take.)

  2. For the organizational structure, I have a Group per billing company.

  3. In each Group I have a Bookmark to the web page where I pay these items. Clicking on it opens the web page right in DEVONthink.

  4. I fill out the data as needed and when I get a page with a confirmation number, I right-click and choose “Capture Page > As PDF (One Page)”. This goes right in the same Group as the Bookmark (unless the web page opened in a new window. Then it goes in the Inbox for the database but can be easily moved.)

  5. Then I just rename the PDF to the naming convention I’ve chosen and I’m done with that bill.

  6. When I’m done with the bills for the day, I close the database, eject the disk image, and run a backup by connecting an external drive (I don’t keep one connecting and doing backups all day long).

Also, when I’m done with a fiscal year, I just group those items into a yearly folder (leaving it in the company group) and I have previous yearly records a step away.

I’ve been using this method for almost two years now and it’s been incredibly helpful.

I hope this helps. :^)

Thanks for the quick reply, Bill. What browser do you use? I find that with Firefox, even if I choose to view the statement, it just downloads it to the downloads folder.

I prefer stacking the monthly statements into one PDF (by year) rather than keeping them as separate documents, so I guess I am causing my own problems.

Thanks for describing your workflow, Bluefrog. I will take some time to try your method to see if I can adapt it to my preferences. Certainly opening the DT browser to capture directly sounds very appealing.

I use Firefox only to view the secure banking and financial sites that I visit, and quit it afterwards. As my favored capture mode for most purposes is as rich text of a selection using a Services keyboard shortcut, that eliminates Firefox and Chrome, because they can’t properly handle that capture mode.

Sites may vary in the way they present pages. All three of the sites I use for banking and investments will present statements for view and include a corresponding print command (not the OS X Print command in the menubar) that allows me to capture a PDF of the statement as I described.

For me, it’s Hazel to the rescue.

When I get a statement email,I go to the relevant site and download the PDF. It falls into my download folder. Here’s where the magic happens:

  • Hazel scans my download folder
  • Hazel looks for an account number or other string in the PDF to determine what company it’s from
  • Hazel renames the file according to the statement date from within the file
  • Hazel pops it into the global inbox.

Then when I open up DT next, I just move it into my file cabinet database, and See Also & Classify makes the correct group a double-click away.

Here’s how Hazel is set up.

First, I have it watch my download folder, and I have a rule per statement type. Each rule looks something like this:

Rule Definition.png

It looks for my account number (dummied up in there) and a date. The date match is interesting. It will match a specific format of the date in the file, and you can specify which one. Here’s the token definition in hazel:

Date Token.png

You can see that this one looks for the first date match in the file. Sometimes a statement will have multiple dates and I don’t want the first one.

To define the date format so it can match,

Date Definition.png

Thanks Alan,

As a newbie I was not familiar with Hazel. I just downloaded it and created a few rules following your instructions and it seems to work well. With a little more thought on my part, I can see Hazel helping streamline a lot of what I do.

Just thinking it would be great if DT Pro could have a similar set of rules to automatically distribute the documents in the inbox to the appropriate database folders.

That would be awesome. Or even if there were a way for Hazel to drop things into the right place without requiring that DT be open at the time.

Not a good idea, to insert files into a database without proper capture by DEVONthink.

Such files would not have been indexed for text content, and won’t be available until Tools > Verify & Repair has been run, to identify them as Orphan files requiring proper filing.

Bill is 100% correct, when importing documents into a database. However, Hazel works perfectly to move documents into folders that are indexed in the DEVONthink database. I do it all the time-just one of the reasons why I index all of my databases rather than import.

I agree. Which is why I’d love an Applescript/Automator way to add items to the Sorter, so that Hazel could run, and then submit items in a way for DT to capture on startup.

Have you had a look at the folder actions that Devonthink ships with. I have just discovered them but there might be something useful along the lines you are thinking that you can do with them


I have. They’re pretty useful, as are the automator actions that are shipped, but they don’t quite fit my needs.

I’ve got about ten databases or so, and I usually only have open the ones I’m working with at the moment. But I may collect documents for other databases through the day. Using the folder actions or automator would require that I keep open any databases that I want to deposit files into.

The global inbox and the Sorter don’t require that DT or specific databases be open. They’re handy places to drop items, and when the appropriate database is opened it also imports the documents. With the sorter, I can define a bin for any group in any database I like. It’s very handy. However, the Sorter is not scriptable! So I can’t have Hazel automatically add things to sorter groups.

I deal with downloaded (or scanned with OCR) documents using Hazel and some Applescript to get the file automatically renamed and filed into the appropriate DTPO database group. No need to mess around with manual renaming and filing and moving files etc.

Basically, a similar system to MacSparky (detailed in his paperless book) but I use DTPO rather than a nested folder system.

Hazel watches my downloads (or my scanned documents folder), and then renames the file based on rules. The new date match feature in Hazel is a massive timesaver.

I then have Hazel execute a bit of Applescript to move the file into the appropriate database and group. As the file is actually copied, you need to also have Hazel delete the original file.

This is the Applescript I use (I think I found it on these forums a long time ago). You’ll need to update the path to where your database is (I keep mine on a G-Safe Raid 1 drive).

You can change “Inbox” to whatever group you want.

You don’t need to have DTPO running as the Applescript will automatically open it. I don’t bother to close it once Hazel has run.

tell application id "com.devon-technologies.thinkpro2"
    set theDatabase to open database "/Volumes/G-SAFE/DTPO/Database.dtBase2"
    set theGroup to create location "Inbox" in theDatabase
    import theFile to theGroup
end tell

Darren I like this :slight_smile: thanks, being a newbie to Hazel I wonder if you could give a screen shot of your Hazel set up to accomplish this please?

Any chance Darren…please?

The Hazel setup that I document in the last post of this thread must be similar to what Darren has created. The major difference would be that my rule works with indexed folders while Darren’s calls a script to import the document. Just modify the trigger conditions to make it unique for your situation, and replace the move to index folder part with a command to call the above-mentioned script that copies the file, and then add a final command to delete the original file and you should be all set.

Thanks Greg.

Hi, Sorry I missed your post.

This is the Hazel rule which runs on a specific folder.

The applescript is show here. You’ll need to edit it slightly to your own paths and database group.