jGnash2QIF - Приложение, конвертирующее jGnash XML file в QIF file.
0.018 MB|License: GPL
jGnash2QIF is an application that converts a jGnash XML file into a QIF file.
Testing environment:
· GnuCash 2.2.4 QIF importer
· with jGnash 1.11.7's QIF importer (which is, btw, pretty broken)
· using files with up to 1200 entries
· Reminders and Liability, Equity, Investmet, MutualFund, Credit and Asset accounts are untested since i don't a) use them, b) know how to use them correctly and c) have any files to test them
Input restrictions:
· Tested with jGnash's XML fileversion 1.0
· Has some support for broken/partial jGnash XML files
Output restrictions:
· transfers between categories (in jGnash, these are Income and Expense accounts) are done through an invented account ("New item #")
· accounts and categories contained in other accounts/categories of a different type are reassigned to the main category/account of their type
QIF does not:
· bother about different currencies (it supposes the same currency is always used)
· store the date when the transactions are editted (actTransDate)
· support locking categories
· support hidding categories
· store account code numbers
· store additional notes about categories
· double check category transactions ("size" attribute, which stores the amount of transactions in that category)
· support adittional categories settings (placeHolder, status)
· support storing account in categories and viceversa, and storing categories inside other different-typed categories
jGnash, based on its QIF import code, does not:
· use classes (AFAICS, they are simply categories)
· use security
· use prices
· use AutoSwitch
· use some additional account information such as credit limit
· import memorizer transactions, thought they can be exported from the jGnash reminders
· have a memorizers support as good in scheduling as QIF
· consider adresses
· consider transaction's U parameter (higher amount)
· consider categories if not all their parent categories are declared
· distinguish transaction types, they are all simply "transactions" (instead of distinguishing between Investment, Transaction, Memorizer Bank, Cash, ...)
Some QIF reminders:
· jGnash's XML files are encoded in UTF-8, while QIF files are usually encoded in ANSI
· all transactions must be stored within the scope of an account
· the first transaction within a scope must be preceded by a transaction type (Bank, Bill, Cash, ...) (same type as the containing account)
· when a transaction is a transaction to an account (either to itself or another), the category in the 'L' parameter must be in squared brackets
· allthough jGnash ignores the U parameter, we should store it, as a copy of the T parameter
Requirements:
· jGnash
· Perl
XML::Twig
bash
awk
iconv