Pynomina/MsMoney


Wolfgang Fahl

back to Pynomina main page

see Issue 12 - add Microsoft Money support

Microsoft .mny files are Microsoft Jet Database / Microsoft Access files. To work with these files you'll need the mdbtools installed. Pynomina will convert the money file table contents to JSON, add a YAML header file and create a ZIP file for the results. You might want to first theck whether this process works for you using the money-zip command line tool that comes with pynomina.


money-zip

money-zip -h
usage: money-zip [-h] [-ct] [-d] [--keep] [--version] [-o OUTPUT] [mny_file]

Convert Microsoft Money files to ZIP

positional arguments:
  mny_file              Microsoft Money file to convert

options:
  -h, --help            show this help message and exit
  -ct, --checktools     Check if required tools are installed
  -d, --debug           Enable debug output
  --keep                Keep the temporary files after conversion
  --version             show program's version number and exit
  -o OUTPUT, --output OUTPUT
                        Specify the output directory - default:
                        /tmp/[basename]_money_dump

money-zip[edit]

money-zip -h
usage: money-zip [-h] [-ct] [-d] [--keep] [--version] [-o OUTPUT] [mny_file]

Convert Microsoft Money files to ZIP

positional arguments:
  mny_file              Microsoft Money file to convert

options:
  -h, --help            show this help message and exit
  -ct, --checktools     Check if required tools are installed
  -d, --debug           Enable debug output
  --keep                Keep the temporary files after conversion
  --version             show program's version number and exit
  -o OUTPUT, --output OUTPUT
                        Specify the output directory - default:
                        /tmp/[basename]_money_dump

check tools[edit]

money-zip --checktools
✔ mdb-ver is available
✔ mdb-tables is available
✔ mdb-json is available

conversion[edit]

The --keep option makes sure the temporary output files are available for inspection

money-zip datevtest.mny --keep
/tmp/datevtest_mdb_dump/nomina.yaml ...
ADDR ...
✖ ADDR → /tmp/datevtest_mdb_dump/ADDR.json
...
CAT ...
✔ CAT → /tmp/datevtest_mdb_dump/CAT.json
ACCT ...
✔ ACCT → /tmp/datevtest_mdb_dump/ACCT.json
...
TRN ...
✔ TRN → /tmp/datevtest_mdb_dump/TRN.json
...
→ Creating zip archive...
✔ Temporary files kept in /tmp/datevtest_mdb_dump
✔ Conversion complete. Output file: datevtest.zip

You can now inspect the JSON files

check tools[edit]

money-zip --checktools
✔ mdb-ver is available
✔ mdb-tables is available
✔ mdb-json is available

conversion[edit]

The --keep option makes sure the temporary output files are available for inspection

money-zip datevtest.mny --keep
/tmp/datevtest_mdb_dump/nomina.yaml ...
ADDR ...
✖ ADDR → /tmp/datevtest_mdb_dump/ADDR.json
...
CAT ...
✔ CAT → /tmp/datevtest_mdb_dump/CAT.json
ACCT ...
✔ ACCT → /tmp/datevtest_mdb_dump/ACCT.json
...
TRN ...
✔ TRN → /tmp/datevtest_mdb_dump/TRN.json
...
→ Creating zip archive...
✔ Temporary files kept in /tmp/datevtest_mdb_dump
✔ Conversion complete. Output file: datevtest.zip

You can now inspect the JSON files

ACCT.json[edit]

{
  "hacct": 1,
  "ast": 0,
  "at": 0,
  "szFull": "test Girokonto",
  "amtOpen": 0.0000,
  "dtOpen": "01/00/00 00:00:00",
  "dtEndRec": "01/00/00 00:00:00",
  "dtOpenRec": "01/00/00 00:00:00",
  "fFavorite": 0,
  "fClosed": 0,
  "fInRec": 0,
  "fTaxRel": 0,
  "fRetirement": 0,
  "hfi": 2,
  "hcrnc": 14,
  "fVatEnabled": 1,
  "grp": 3,
  "fStmtRequested": 0,
  "fAutobalance": 0,
  "fDebtPlan": 0,
  "cpm": -1,
  "dtIntRateChg": "01/00/00 00:00:00",
  "frqDebtPay": -1,
  "dtNextDebtPay": "01/00/00 00:00:00",
  "fEmpMatch": 0,
  "fEmpMatchPost": 0,
  "fAdjustAmtPost": 0,
  "frq": -1,
  "frqCpd": -1,
  "iPmtMax": -1,
  "fCanadian": 0,
  "fCoupon": 0,
  "fLent": 0,
  "fARM": 0,
  "dtNextAdj": "01/00/00 00:00:00",
  "frqAdj": -1,
  "ctrnPartialChecks": 0,
  "fGotInterest": 0,
  "fGotService": 0,
  "lDebtHtrn": -1,
  "dtClose": "01/00/00 00:00:00",
  "grfAdvice": 0,
  "dtCBPost": "01/00/00 00:00:00",
  "lCB": -1,
  "olatHint": 0,
  "dtCBCut": "01/00/00 00:00:00",
  "DATEV": "0001200"
}

opening Microsoft money files[edit]

nomina -l -s -i datevtest.zip

In the browser you should see:

datevtest.zip (MS-MONEY-ZIP)
1999-09-11-1999-09-11
1 accounts, 1 transactions

Please note that nomina itself does not have a lot of features to work with your personal finance managament content yet. You might want to use the # Issue 7 - command line conversion support and start a discussion or issue to have your own needs covered.

🖨 🚪