Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Mint.com Statements into Searchable Notes
My wife hits PayPal like it's going out of style.
Not all of the items are listed as paypal but they all are in the
statement details (which isn't searchable.)
I made a javascript bookmarklet that you have to click page by page
but it will dump statement details into notes which you can then
search by 'notes:paypal'.
1. Set your count per page to 100.
2. Make sure you are on page 1.
3. Sort by date descending.
4. Click the bookmarklet.
5. Wait until the next page loads.
6. Keep clicking until you've hit the last page.
7. ???
8. Profit!
A pain but it is worth it.
Then I only have to hit the bookmarklet every few days to update the
newest entries.
Save the following in a bookmarklet (look it up):
javascript:(function(){if(document.querySelector('.txnDisplayCount.selected').innerHTML!='100'){var dispCount=document.querySelectorAll('.txnDisplayCount');for(i=0;i<dispCount.length;i++){if(dispCount[i].innerHTML='100'){dispCount[i].click();}}}else if(window.location.toString().indexOf('#location:%7B%22offset%22%3A')==-1){window.location='https://mint.intuit.com/transaction.event#location:%7B%22offset%22%3A0%2C%22typeFilter%22%3A%22cash%22%2C%22typeSort%22%3A8%7D';}else{var tList=document.getElementById('transaction-list-body').getElementsByTagName('tr');for(i=0;i<tList.length;i++){tList[i].click();document.getElementById("txnEdit-toggle").click();var http=new XMLHttpRequest();http.open("POST","https://mint.intuit.com/updateTransaction.xevent",true);http.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");http.send('task=txnedit&txnId='+encodeURIComponent(document.getElementById('txnEdit-txnId').value)+'&mtAccount='+encodeURIComponent(document.getElementById('txnEdit-mt-account-select').childNodes[0].value)+'&note='+encodeURIComponent(document.querySelector('#txnEdit-basic')['title'])+'&token='+encodeURIComponent((JSON.parse(document.getElementById('javascript-user').value)).token));}if(document.querySelector('#transaction-paging>li.next')){var startUrl=window.location.toString();var first='https://mint.intuit.com/transaction.event#location:%7B%22offset%22%3A';var firstIndex=first.length;var last='%2C%22typeFilter%22%3A%22cash%22%2C%22typeSort%22%3A8%7D';var lastIndex=startUrl.indexOf(last);var middle=startUrl.slice(firstIndex,lastIndex)*1+100;window.location=first+middle+last;}}})();
All pretty:
if (document.querySelector('.txnDisplayCount.selected').innerHTML != '100') {
var dispCount = document.querySelectorAll('.txnDisplayCount');
for (i = 0; i < dispCount.length; i++) {
if (dispCount[i].innerHTML = '100') {
dispCount[i].click();
}
}
} else if (window.location.toString().indexOf('#location:%7B%22offset%22%3A') == -1) {
window.location = 'https://mint.intuit.com/transaction.event#location:%7B%22offset%22%3A0%2C%22typeFilter%22%3A%22cash%22%2C%22typeSort%22%3A8%7D';
} else {
var tList = document.getElementById('transaction-list-body').getElementsByTagName('tr');
for (i = 0; i < tList.length; i++) {
tList[i].click();
document.getElementById("txnEdit-toggle").click();
var http = new XMLHttpRequest();
http.open("POST", "https://mint.intuit.com/updateTransaction.xevent", true);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
http.send('task=txnedit' + '&txnId=' + encodeURIComponent(document.getElementById('txnEdit-txnId').value) + '&mtAccount=' + encodeURIComponent(document.getElementById('txnEdit-mt-account-select').childNodes[0].value) + '&note=' + encodeURIComponent(document.querySelector('#txnEdit-basic')['title']) + '&token=' + encodeURIComponent((JSON.parse(document.getElementById('javascript-user').value)).token));
}
if (document.querySelector('#transaction-paging>li.next')) {
var startUrl = window.location.toString();
var first = 'https://mint.intuit.com/transaction.event#location:%7B%22offset%22%3A';
var firstIndex = first.length;
var last = '%2C%22typeFilter%22%3A%22cash%22%2C%22typeSort%22%3A8%7D';
var lastIndex = startUrl.indexOf(last);
var middle = startUrl.slice(firstIndex, lastIndex) * 1 + 100;
window.location = first + middle + last;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.