New Amazon import process

As you may have noticed, I’ve been working on a solution to the loss of Amazon order import. I’ve finally reached a point where I would like to have a few people look at it before I publish it to the Google Marketplace. It’s a bit more comprehensive than what we had before.

If you’re interested in trying it out, PM me. Until it’s in the Google marketplace, the install is the same - copy/pasting scripts into your sheet.

New process:

  1. Select a zip file to import
  2. Deselect any order types you don’t want (physical orders, digital, returns, or Whole Foods)
  3. Specify a time interval (we will ignore duplicates, but you might not want transactions that predate tiller)
  4. Pick a category for your offset transactions (normally Amazon or Transfer)
  5. Make sure your payment types in Amazon are mapped to the correct Tiller credit card account. The old tool had you fill in the account info by hand after the import.

Other details:

  1. If Amazon changes their file format, you probably will be able to get it working again by changing the column header mapping
  2. Refunds can now be mapped to the correct account since they are imported at the same time as the purchases
  3. I added the Whole Foods item exclusion feature because I was surprised to see every pack of gum I bought appear as a separate line item in my imports last year. If you like that level of detail, great, but at least you can opt out of it.
  4. The description starts with AMZ, which is a bit shorter than before, and allows you to see more of the actual item.
  5. Duplicate detection is backwardly compatible with the old tool.
  6. You can “undo” your import by just deleting the filtered rows visible after the import is complete

I’ve tested it up to 7500 imported transactions, it should scale to about 21,000 before timeouts or other issues might happen. If anyone has anything over 15,000 transactions, let me know.

5 Likes

Hello daveahlers,

Would be great if it were easy to use!

Thanks!

Pierre

I submitted the tool to Google Marketplace yesterday. Once they approve, I’ll drop a link. Install will be much easier :slight_smile:

1 Like

Hi Dave,

I SINCERELY APPRECIATE THE WORK YOU’VE BEEN DOING ON THIS ISSUE!!! I have installed all the App scrips but when I went back to check the next steps in github, the link, https://github.com/daveinlosbarriles/TillerAmazonOrdersCSVImport was showing a 404 error. Is that because it’s now going to market place?

Christie

yes, sorry about that, but I thought it best to remove the older version because I changed the design quite a bit, fix a few bugs, and the version that eventually becomes available on marketplace is the right one to use.

That said, if you are interested in trying it out, the same code is in fact available in the final repository here: GitHub - daveinlosbarriles/TillerTools: Provides Amazon import and QuickSearch functions to Tiller financial worksheets · GitHub

You’ll just have to install with the copy paste method rather than the marketplace method. and here’s a demo video: https://youtu.be/Br7M4VJ7nUs?si=XA8ObD_fHpS53L-A

1 Like

Fantastic. I’ll be trying this out tomorrow!

Thank you for creating this script and for the video. I am not a programmer, and I am somewhat technology challenged, so I do not understand the install instructions. such as “paste repo content → save”

Can I get some help in this community installing the script?

Thank you very much!

Pierre

pierre@nc.rr.com

Did you make it work?

I am not a programmer, and I am somewhat technology-challenged, so I do not understand the install instructions. such as “paste repo content → save”

Can I get some help in this community installing the script?

Thanks!

I’ve created a simple script that looks in the appropriate folder in the user downloads directory (assuming the Amazon file has been unzipped), modifies the “new” Amazon format to look like the “old” format and puts the new file in the root of the users download directory ready for import using the current CSV import function.

Just make sure python is installed, download the script and run it.

Pierre - as I mentioned in email, I suggest you do not do anything right now. You need to wait until the addon is published. The installation process will just be a couple of button clicks.

I will let you know when the addon has been approved by Google Marketplace.

-Dave

Hello Dave,

Thank you very much for your response.

I will wait to hear from you about the addon being replaced by Google Marketplace.

A couple of clicks install is great!

I do not seem to have received an email from you. I also checked my Junk folder.

Thank you for all your help and for making this Amazon tool available to Tillerhq users.

This is great!

Best regards,

Pierre

I am still working with Google Marketplace on approval for this tool. There’s a fair amount of work and review involved in publishing a tool to the marketplace including:

  • Creating a website with a home page, privacy page, and terms of use page
  • Create icons in various sizes for the listing
  • Listing description
  • Demonstration video on youtube showing the installation and OAuth approval process
  • Various forms to fill out to connect my project to Google Marketplace.

I’ve thought I was near the end several times over the last 10 days. The most I can say today is that I’m making progress.

3 Likes

Thank you for letting us know.

Pierre

Any update! Thank you for working on this! Pierre

The death by 1000 paper cuts continues. Two days ago I got a response back that my homepage was not detailed enough, so I added more detail. I also requested that they tell me everything that they needed fixed all at once rather than dribbling it out. We will see what comes.

Yes. It is an agonizing process, @daveahlers, but once you’re through, you’re through. You’ll be there before you know it… and good luck coaching them on how to provide more helpful and responsive feedback… :laughing:

1 Like

Hi @daveahlers

I am following these instructions :

I have the following issues/questions about install:

  1. appsscript.json mentions a timezone which is not my timezone. Should I care?
  2. re: Step 2, 3 I am not prompted to “open Google Cloud Console for the same project and ensure Google Sheets API is enabled
  3. re: your Step 3
    1. it is called “Authorize” but there is no mention of authoriza
    2. no mention was made in your instructions of first closing the AppsScript window. Should there be?
    3. I just switched to the Sheet, and hit F5
  4. the “Tiller Tools” menu does not appear.
    1. Manually running the onOpen function makes it appear (after granting additional permissions)
  5. No mention is made of using ‘Deploy’. Is this possibly needed?

I am trying to use it, and have the following issues/questions

  1. I have added “Amazon” as a category as suggested by the Importer, but the offset category pull-down only offers “Blank”, even after re-running the onOpen function. Am I missing something?

  2. Your video does not detail what “check for new payment methods” means. Can you elaborate, or is this documented elsewhere? In my case I had 2 payment methods:

    Payment method Account Account # Institution
    Gift Certificate/Card and Visa - 7177 CREDIT CARD 7177 Chase
    Visa - 7177 CREDIT CARD 7177 Chase
  3. Import fails for me with the following
    Cloud logs

Apr 12, 2026, 1:20:41 PM

Error

Exception: Invalid argument: timeZone. Should be of type: String at amzFormatImportTimestampStr_(amazonorders:1263:20) at importAmazonBundleChunk(amazonorders:3669:10)

Hi Malcom - great that you’re trying it out. So far I think I’m the only one to test it - so there are likely to be some bugs based on different tiller and amazon files.

I’m still waiting for Google to approve it’s listing in Amazon store which will eliminate the install pain - but the code you are using should run just fine. Some answers:

  1. Timezone: Based on your comment about execution error, looks like there’s a syntax error in that line. If you simply copy/pasted my appscript.json, it should run fine. Did you edit it by any chance? You can delete this line and it will default to your google sheet settings.
  2. Step 2/3: you can ignore this step if you’re not prompted
  3. Step 3: Google calls it authorization, but the screen calls it granting permissions. If the code partially ran, even with a syntax error, you should have already authorized the code to run
  4. This is related to permissions issue. The On_open function should prompt you for permissions, you approve, then the menu appears. If you were able to run it from appscript, and force permissions request that way, the top menu will now automatically appear each time you refresh the sheet.
  5. Deploy is not needed unless you want to create your own Marketplace Addon. I don’t recommend this level of masochism.

Your other comments:

  1. Sounds like the code for reading categories is not finding your categories sheet. Can you confirm a Categories sheet exists, row 1 is the header, and category names start in A2 (or lower) in column A?
  2. Readme.md has a bit more info on this, but I can see it could be clearer. Basically, we have to know which credit card was used for each transaction. You do that by editing the Credit Card table on the AMZ Import tab. Add your 2 new accounts there using mine as an example, and delete my sample accounts.
  3. That syntax error sounds related to appscript.json having an invalid timezone entry. I pushed a fix to github to ignore invalid timezones. Copy down amazonorders.gs again.

If you run into more issues, happy to jump on a chat to avoid tedious back and forth. I’d like to have this tool be useful to more than just me.

Hi, thanks for the Sunday assist!

Someone replied to your post.

| daveahlers
April 12 |

  • | - |

Hi Malcom - great that you’re trying it out. So far I think I’m the only one to test it - so there are likely to be some bugs based on different tiller and amazon files.

Gotcha - glad to be early tester.

I’m still waiting for Google to approve it’s listing in Amazon store which will eliminate the install pain - but the code you are using should run just fine. Some answers:

  1. Timezone: Based on your comment about execution error, looks like there’s a syntax error in that line. If you simply copy/pasted my appscript.json, it should run fine. Did you edit it by any chance? You can delete this line and it will default to your google sheet settings.

Yes, I had in fact edited the json to replace the timezone line with my timezone. I took your advice and removed the timezone line and reloaded the file but I still get the error. I copy/pasted your json and saved and reloaded the file and still get the same error.

Apr 12, 2026, 6:01:42 PM
Error
Exception: Invalid argument: timeZone. Should be of type: String
at amzFormatImportTimestampStr_(amazonorders:1263:20)
at importAmazonBundleChunk(amazonorders:3669:10)

  1. Step 2/3: you can ignore this step if you’re not prompted
  2. Step 3: Google calls it authorization, but the screen calls it granting permissions. If the code partially ran, even with a syntax error, you should have already authorized the code to run
  3. This is related to permissions issue. The On_open function should prompt you for permissions, you approve, then the menu appears. If you were able to run it from appscript, and force permissions request that way, the top menu will now automatically appear each time you refresh the sheet.

FWIW I only get the Tiller Tools menu as sub-menu of Extension. But The Amazon Import item is there and runs when chosen.

  1. Deploy is not needed unless you want to create your own Marketplace Addon. I don’t recommend this level of masochism.

Your other comments:

  1. Sounds like the code for reading categories is not finding your categories sheet. Can you confirm a Categories sheet exists, row 1 is the header, and category names start in A2 (or lower) in column A?

Yes, I am using the default Tiller supplied worksheet, and the first few rows of the Categories sheet look like this:

Category | Group | Type | Hide From Reports | Jan 2026 | Feb 2026 | Mar 2026 | Apr 2026 | May 2026 | Jun 2026 | Jul 2026 | Aug 2026 | Sep 2026 | Oct 2026 | Nov 2026 | Dec 2026 |

  • | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
    Charity | Discretionary | Expense |
    | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 |
    Restaurants | Discretionary | Expense |
    | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 | $0.00 |
  1. Readme.md has a bit more info on this, but I can see it could be clearer. Basically, we have to know which credit card was used for each transaction. You do that by editing the Credit Card table on the AMZ Import tab. Add your 2 new accounts there using mine as an example, and delete my sample accounts.
  2. That syntax error sounds related to appscript.json having an invalid timezone entry. I pushed a fix to github to ignore invalid timezones. Copy down amazonorders.gs again.

That seemed to fix it.

If you run into more issues,

Great, I have another issue… here is what appears on bottom of the Import dialog after clicking Import:

This process may take up to 2 minutes for large Tiller and Amazon files.

Importing orders

  • Error: Transactions sheet headers or AMZ Import Tiller labels: no column header matching “Metadata” (METADATA).

Importing digital orders

  • Error: Transactions sheet headers or AMZ Import Tiller labels: no column header matching “Metadata” (METADATA).

Importing digital returns

  • Error: Transactions sheet headers or AMZ Import Tiller labels: no column header matching “Metadata” (METADATA).

Importing order returns

  • Error: Transactions sheet headers or AMZ Import Tiller labels: no column header matching “Metadata” (METADATA).

Finishing

0 new transactions, 28.7s.

Import finished

No new rows were added to Transactions this run. Check the status above for duplicates, cutoff date, or skipped files. The sheet was still sorted and the import view filter may have been refreshed.

Here is a screenshot showing the content of the new AMZ Import worksheet:

happy to jump on a chat to avoid tedious back and forth.

Cool! I’m sitting in a google meet right now if you are able to chat… https://meet.google.com/qqf-ofgj-vzx

Otherwise, perhaps suggest a date/time for chatting?

I’d like to have this tool be useful to more than just me.

Fantastic! Thanks for all this.

~ Malcolm Cook

Great talking to you and meeting another Tillerite (is that a word?). Glad you got it up and running. I’ve fixed my code to not assume the Metadata column already exists. I believe it’s added by the CSV Import tool in the community sidebar, but I thought it was part of the main Tiller template.

I finally have approval from the Google OAuth team, now waiting on approval from the Google Marketplace team.

1 Like