Are you receiving SNAP/EBT benefits? The Expensify.org/SNAP-VAX campaign is live and accepting new members. Learn more about receiving $50 for submitting a SNAP receipt and $50 for getting your COVID-19 vaccine here and join today!

How do I export/download actual images of receipts for document support storage.

GregL
GregL Expensify Customer Posts: 2 Expensify Newcomer

Everything I can find seems to only put a link to where the image is stored in expensify. I want to back up those images.

Answers

  • oschlipf
    oschlipf Approved! Accountant Posts: 11 Expensify Newcomer
  • Sheena Trepanier
    Sheena Trepanier Expensify Success Coach - Admin Posts: 1,348 Expensify Team

    Hi @GregL and @oschlipf, great question! The only way to download an actual image of the receipt is to download the PDF copy of the report the receipt is on. (Below)

    Cheers!

  • oschlipf
    oschlipf Approved! Accountant Posts: 11 Expensify Newcomer

    Hi Sheena,
    Perhaps we are talking about different functionality. I'm looking to pull a pdf export with full receipt images from the API. I have a business requirement to store the reports and images on an internal server. The Integration Server documentation (Report Exporter section) indicates that exporting a pdf expense report with full receipt images is possible. Under the Output settings specific instructions are given about exporting a pdf. "Note: if the “pdf” option is chosen, one PDF file will be generated for each report exported." Additionally the documentation references an optional element called 'includeFullPageReceiptsPdf'. Is this documentation out of date or can you confirm this functionality is still available? Cheers!

    https://integrations.expensify.com/Integration-Server/doc/#report-exporter

  • GregL
    GregL Expensify Customer Posts: 2 Expensify Newcomer

    Yes, I have the same issue. Our company is moving toward continued use of Expensify, but this could be a deal-breaker if we can't dump the receipt scans.

  • Ted Harris
    Ted Harris Expensify Success Coach - Admin Posts: 335 Expensify Team

    Hi @GregL - I'd be really intrigued to understand your requirement for your own back-up, given Expensify keeps continuous back-ups of all your data for you in multiple locations for redundancy.

    The whole point of Expensify is generally so that you don't have to keep your own paper or digital copies of receipts!

  • Ted Harris
    Ted Harris Expensify Success Coach - Admin Posts: 335 Expensify Team

    Some great points there @glglasser. In all honesty, we love almost every idea proposed on our Community; they're usually idea's we all have internally too!

    It's hard to hear that folks here feel that Expensify is actively choosing not to build functionality, as it's mostly just a case of not having the time or resource to devote to all of these things at once, and I can tell you that not being able to support the use-cases and requirements of everybody definitely hits us as hard as you, but competing priorities are a very real thing for us.

    Some decisions are definitely philosophical - for instance, we're moving away from developing functionality in tandem with desktop accounting software as users move to the cloud and we'll always ask why in order to get the best understanding of desired accounting practices in case there's a better practice to be considered or developed, but we definitely try not to give any blanket "no's" without context.

    At the moment you can download images as part of PDF's, and even by means outside of Expensify addressed previously in the Community here. I acknowledge they're definitely workarounds for the time being though.

    We don't believe rushing anything out is the way to go and we're constantly hiring for our engineering team here to make sure our product stays great and able develop faster and faster through the years. We'd love to be the perfect product for everybody in the future, and we know we're not there yet, but we're glad to have a community of users here who are vocal, passionate and invested in what we're doing to help us get there.

  • jsleeter
    jsleeter Expensify Customer Posts: 1 Expensify Newcomer

    I have this same question as well. In my case, we have software that doesn't integrate with Expensify. Expensify has been great to gather all the receipts for expenses and allow my staff to code them. However, I have to manually enter them into the other program. It would be wonderful if I choose a report and download just the full page receipt images as separate files (as I have to attach them separately to the transactions in our other program.) For example, if there are 10 receipts attached to a report, I could download 10 separate PDF files with just one click.

    I do have a work around for now. I download the report, pull apart the PDF into separate files. and rename each individual file. Just think it would be a nice feature to be able to download just the images.

  • maasj
    maasj Expensify Customer Posts: 23 Expensify Admirer

    We had the same business requirement back when we first started using Expensify in 2011. I tried to fight it but I lost. So I needed to find a way to get those receipt images or I wouldn't get permission to switch us to Expensify.

    YES, you can definitely download receipt images so you can control your own destiny and still be able to satisfy those auditors in the event that Expensify's data goes bye-bye (because you stop using them, they get bought and change things up, they go out of business, they get hacked and all their data is nuked beyond repair, etc). It's gonna require some programming if you want to automate it.

    Back in the olden days before the API existed we exported CSV files of reports and then ran them through a script. The downloaded CSV file includes a URL for each expense's receipt file (JPEG, PNG, PDF, etc) or an eReceipt web page generated dynamically on Expensify's servers. Conveniently those URLs are all unauthenticated (!!), so loading them programmatically is easy-peasy. For the actual files, just download using your favorite tool of choice (curl, wget, Python Requests library, etc). For the eReceipt web pages we use wkhtmltopdf to make a PDF of the web page and store that.

    Now that the API exists you can do the same process as described in the previous paragraph, but without having to first export a CSV file from the web app (the API still sends CSV though, which is pretty old-fashioned in this day and age of King JSON). Once you have the receipt URL and type from the exported CSV data you can either direct download or take some kind of snapshot of the eReceipt pages.

    Hope this info helps...

  • MattH
    MattH Expensify Customer Posts: 2 Expensify Newcomer

    Have read many post regarding this limitation of Expensify....I am looking at other alternatives which allow easy downloading of the receipt.

  • Nicole Trepanier
    Nicole Trepanier Expensify Team Posts: 498 Expensify Team

    @MattH While we do store all of your receipts, because the purpose of Expensify is to contain all of your expense reporting functions within Expensify, we don't focus on document management or sharing. The links we provide when exporting pull up the receipt image and can be shared with anyone you need to have access to these receipts. Using the links actually frees up document storage for the user and anyone receiving these reports. These images are stored indefinitely so unless your account is deleted there is no chance of the images not being available.

  • RBS2683
    RBS2683 Approved! Accountant Posts: 2

    I understand this is an old post but it is relevant and cautionary for me.

    My boss at my day job will never let us use this system if his receipts are all stored only on your server. We have been through a Sales Tax audit before and he will not risk your servers going down, your business going away, us leaving and then not having those receipts. That last one let's be honest is the reason you don't make it easy. If you lock the receipts in your system it makes it hard for your customers to leave. It's anti customer.


    Second the response by Ted Harris about moving away from desktop support is also upsetting. The reason I chose Expensify over hubdoc is due to QBD support. Real businesses will not be leaving desktop. High volume and revenue businesses can not use the subpar cloud accounting packages.

    I get angry when cloud/subscription businesses try to sell them to us as a convenience. Yes some things are easier but in general they have less functionality than desktop apps and more importantly they make you a boat ton more money. Which is the real reason. Don't sell me a turd sandwich and tell me it tastes better.

    So once again, how can I download my own receipts and are you committed to desktop support. Before I bring my 6 million/year employers business on board I need commitment on these issues.

  • Christina Dobryzynski
    Christina Dobryzynski Expensify Success Coach - Admin, Expensify Team Posts: 245 Expensify Team
    edited March 2020

    Thank you for the follow-up @RBS2683. Thank you for sharing the insight into how we can improve Expensify for you.

    To note, it is already possible to download receipts images, as Sheena mentioned above. What exactly is the issue with the method that is currently available? This will help us narrow down how we can improve our product.

    It sounds like this user wants the same thing, I recommend adding your vote to this Idea post (with a little more detail about specifically what you'd like to see) so we can continue collecting votes for how many customers want receipt downloads.

    In terms of desktop support, we continue to offer Expensify users the ability to connect Expensify to QuickBooks Desktop. Can you help me understand why also providing cloud service indicates we are not committed to desktop integrations? Is there something, in particular, you'd like to see differently with our desktop integration support?

  • BenSchouten
    BenSchouten Expensify Customer Posts: 1

    I personally do not want to save my financial data in the cloud.

    It is 'ridiculous' not to have the possibility to store your own data locally, if you want this. As a customer you are never guaranteed of what will happen with the data and this has been shown previous time before (FaceBook)to In the Netherlands, it is obligatory to save the receipts (digitally). Could you make the feature available to locally store the receipts.

  • BrucesMooses
    BrucesMooses Expensify Customer Posts: 1

    Is there a way to download all reciepts at once or can they only be done one by one. Our auditors are after copies of our reciepts and it would be great if there is a fast and effective way of downloading this information.

  • tullywork
    tullywork Expensify Customer Posts: 1

    Figured this out; hopefully this is helpful to someone else. (note: I'm not a developer or in any way associated w/ expensify); note I did this on a Windows machine.

    1) From the Expenses Section in the App; select a receipt (doesnt matter which at this point)

    2) In the top right of the UI select Export To and select 'create new CSV layout'

    3) In the new layout, customize as desired, I removed all columns and just created a new column with the Formula: {expense:receipt:url:direct} then Save Export Format

    4) back in the Expenses section of the UI, select the receipts you want to download from the in my case I selected the 'Date' header checkbox and chose 'Select All'; then select 'Export to' button and select the previously saved export format.

    5) In excel I created two columns; the first column A had the URL from above, the second column B I used Find/Replace feature in excel to remove 'https://s3.amazonaws.com/receipts.expensify.com/' so I was just left with the File Name in the B column (like shown below - just an example, all files should be different names)

    6) I save this CSV file into a new empty directory

    7) Open a cmd window and navigate to the new directory where you saved the above file; run the following command:

    for /f "tokens=1,2 delims=," %a in (Bulk_Expense_Export2.csv) do curl %a --output %b

    This command essentially loops through the CSV file (mine was named Bulk_Expense_Export2.csv) and using the 'curl' command line command for each column A (the URL to the file) created a file in the directory with the FileName from s3 - column B.

    Obviously was fairly quick for a small number of receipts (in my case ~700); could take a long time for a larger fileset.

    Hope this helps someone accomplish something similar to what I needed to do...backup all my data!

  • DarrylL
    DarrylL Expensify Customer Posts: 1

    tullywork, I was able to reproduce your work. Thank you very much for this. Unfortunately the downloaded files are all corrupt and I am unable to open them. Do you have any idea what would cause this issue?

  • reynoldsalec
    reynoldsalec Expensify Customer Posts: 1 Expensify Newcomer

    @DarrylL I ran into the same issue; it's because you need to be authenticated with Expensify to download the files. I had to insert the "authToken" cookie from my browser session in Expensify to download the receipts. I haven't used Windows since grade school, so I'm not sure what the syntax for curl in cmd looks like, but here's what I did on my Mac:


    1. Log into Expensify
    2. Open up Chrome Dev Tools and go to the "Application" tab. Below "Cookies" in the lower left-hand browser select www.expensify.com, and find the "authToken" cookie value.
    3. On your computer, copy the column with all the filenames that you got from the Expensify csv export. Make sure they are the "direct" urls (aka they have file endings like .pdf etc.)
    4. Paste those into a new text file, files.txt. Each URL should be on a separate line.
    5. Open a terminal on your Unix-based computer and run "xargs -n 1 curl -b 'authToken=VALUEFROMWEBSITE' -LO < files.txt"

    That will iterate through all the URLs, downloading them to the directory you're currently in on your computer.

    Know that may requires some command line knowledge, but hopefully helps other folks!

  • NickMullinix
    NickMullinix Expensify Customer Posts: 3 Expensify Newcomer

    Hi Sheena,

    More than two years later, and people are still practically begging Expensify to add this functionality. I am a travel analyst for a government contractor. I just had to deny one of our subcontractors more than $7,000 in travel reimbursement because all he could provide me was the thumbnail view of his receipts from Expensify. They are too small to be legible, and in most cases do not show the full receipt anyway. After weeks of back-and-forth, he finally figured out that he can download an image of each receipt individually. He has over 300 receipts attached to this report.

    In order to be reimbursed for expenses, you have to submit actual receipts, not tiny thumbnail images of half of the first page of a receipt. As Expensify fails to offer this functionality, I have advised all our consultants and subcontractors up-front not to use it.

  • cgraham
    cgraham Expensify Customer Posts: 1

    @reynoldsalec has the right idea, might even be better than what I came up with. I went by using awk and xargs to generate unique filenames based both the Expense ID and Report ID.

    1. Create custom export with {expense:receipt:url:direct} for at least on column
    2. Export to csv using that
    3. Follow one of the links. Open your browser's dev console, go to networking tab, refresh the page, right click the content => copy => copy as cURL
    4. Then in a terminal: awk -F ',' ' { print $[number of what column the link's in] }' export.csv | xargs [your curl command] {} -J

    I had to put the curl command in a script, and I did a few more things to it. You can use that same output from awk in xargs if you'd like programmatic filenames. But this should work, unless you're on Windows.