How to move Mint transaction data to GnuCash
Online financial aggregators are great for getting transactions from all of your accounts into one place, but the accounting tools they provide are pretty minimal. I'm a Mint user, and I like the idea of letting Mint manage the connection to my bank, but I need to get the data into a real accounting package: GnuCash.
Mint provides the data in CSV format. So far I have been able to convert that data into QIF. The file format for QIF was simple enough that I was able to write my own conversion tool.
However, with QIF I can only import data from one account at a time. Ideally I would like to be able to download transactions from all of my accounts at once. Here's a sample of Mint data with a few accounts in it:
Date,Description,Original Description,Amount,Transaction Type,Category,Account Name,Labels,Notes
3/29/2014,BART,BART-POWELL QPS 5104646979 CA 94102 US C_OTHERTRAVEL,20,debit,Public Transportation,CapitolOne Visa,,
3/28/2014,Student Loan Payment,MY STUDENT LOAN LENDER,40,debit,Student Loan,Checking,,
3/28/2014,Check 995525,Check Paid #995525,64,debit,Check,Checking,,
3/28/2014,Mortgage,MY MORTGAGE COMPANY,1.95,debit,Credit Card Payment,OtherChecking,,
3/28/2014,Paycheck,MY EMPLOYER,1,000,000.00,credit,Paycheck,Checking,,
Было бы хорошо, если бы я мог взять этот файл и обработать его один раз и вывести файл, который GnuCash мог бы затем импортировать в правильные учетные записи. Я работал с конвертером OFX, но я не уверен, что OFX может объединять данные из нескольких учетных записей в один файл из-за необходимости иметь строку баланса в бухгалтерской книге.
Это разумный способ переместить данные из Mint в GnuCash?
4 ответа
Я написал набор Python csv2cash, который возьмет CSV, который выходит из Mint, и поместит его в GNUCash. Он настроен так, что его можно легко перезапустить несколько раз без особого участия пользователя.
Еще одна важная вещь, которую это делает, которую я не видел реализованной, - это попытка разрешить перевод счетов между вашими банковскими счетами. Например, если ваш банк выполняет автоматические переводы с ваших сбережений на текущий счет, простой импорт CSV не подхватит это и создаст две отдельные транзакции. csv2cash на самом деле проверяет переводы с одинаковым значением, выясняет, есть ли какие-либо совпадающие переводы, которые также поступают на банковские счета пользователей, а затем объединяет их вместе в одну транзакцию GNUCash.
Я также хочу сделать именно то, что вы описываете.
Я только что натолкнулся на Mintcash, и похоже, что он имеет функциональность.
Конечно, это решение требует некоторых знаний Python, генерация кода не требуется.
Он использует две другие библиотеки: mintapi и piecash
Я только что попытался сделать это, но кажется, что у mintapi в настоящее время есть проблема с входом в систему, которая на момент написания этой статьи была буквально двухдневной из-за изменения некоторых вызовов, связанных с аутентификацией. Надеюсь, кто-нибудь исправит это в ближайшее время.
Вы можете получать счета и транзакции, используя интуитивный (Mint) API. Это требует, чтобы подать заявку на Dev. учетная запись.
https://developer.intuit.com/apiexplorer?apiname=FinancialData