diff --git a/Dockerfile b/Dockerfile index 9cb2276..67a36ab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.8 +FROM python:3.8-slim RUN pip install ofxparse RUN pip install watchdog diff --git a/src/converter.py b/converter.py similarity index 62% rename from src/converter.py rename to converter.py index 169ac41..378edaa 100644 --- a/src/converter.py +++ b/converter.py @@ -16,7 +16,7 @@ import time import watchdog.events import watchdog.observers -MB_DATE_FORMAT = "%d/%m/%Y" +DATE_FORMAT = "%d/%m/%Y" if 'WATCH_DIR' in os.environ: WATCH_DIR = os.environ['WATCH_DIR'] @@ -34,41 +34,20 @@ MONGO_COL = 'imported_transactions' ACCOUNT_COL = 'accounts' MONGO_URL = "mongodb://{}:{}".format(MONGO_URL, MONGO_PORT) +myclient = pymongo.MongoClient(MONGO_URL) +mydb = myclient[MONGO_DB] +mongo_col = mydb[MONGO_COL] +account_col = mydb[ACCOUNT_COL] logging.basicConfig(format='%(asctime)s - %(message)s', level=logging.INFO) logging.basicConfig(format='ERROR: %(asctime)s - %(message)s', level=logging.ERROR) class Handler(watchdog.events.PatternMatchingEventHandler): - mydb = None - - def __init__(self, mongo_db=None): + def __init__(self): # Set the patterns for PatternMatchingEventHandler watchdog.events.PatternMatchingEventHandler.__init__(self, patterns=['*.qfx'], ignore_directories=True, case_sensitive=False) - - if mongo_db is None: - myclient = pymongo.MongoClient(MONGO_URL) - mydb = myclient[MONGO_DB] - else: - self.mydb = mongo_db - - #mongo_col = mydb[MONGO_COL] - #account_col = mydb[ACCOUNT_COL] - @staticmethod - def line_to_moneybrilliant(line): - return { - 'date': line['date'].strftime(MB_DATE_FORMAT), - 'memo' : line['memo'], - 'category': 'Uncategorised', - 'amount': line['amount'], - 'name': line['name'] - } - - @staticmethod - def line_to_mmex(line): - return '' - @staticmethod def write_csv(statement, out_file): logging.info("Writing: " + out_file) @@ -82,28 +61,12 @@ class Handler(watchdog.events.PatternMatchingEventHandler): f.write("Date,Original Description,Category,Amount,Account Name") f.write("\r\n") writer = DictWriter(f, fieldnames=fields) - for line in statement: - writer.writerow(Handler.line_to_moneybrilliant(line)) - - - @staticmethod - def write_mmex(statement, outfile): - logging.info("Writing: " + out_file) - - if len(statement) == 0: - logging.info("No transactions to write.") - return - - fields = ['date', 'payee', 'amount', 'category', 'subcategory', 'number', 'notes'] - with open(out_file, 'w') as f: - f.write("Date,Payee,Amount,Category,Sub Category,Number,Notes") - f.write("\r\n") - writer = DictWriter(f, fieldnames=fields) for line in statement: writer.writerow(line) - def transaction_exists(self, line): - existing_trans = self.mydb[MONGO_COL].find_one(line) + @staticmethod + def transaction_exists(line): + existing_trans = mongo_col.find_one(line) return existing_trans is not None @@ -124,9 +87,10 @@ class Handler(watchdog.events.PatternMatchingEventHandler): return dict_item - def get_statement_from_qfx(self, qfx): + @staticmethod + def get_statement_from_qfx(qfx): - account = self.mydb[ACCOUNT_COL].find_one({"number": qfx.account.number}) + account = account_col.find_one({"number": qfx.account.number}) if account is None: logging.error("No account for account number {} exists. Create one and re-process the file".format(qfx.account.number)) @@ -137,25 +101,21 @@ class Handler(watchdog.events.PatternMatchingEventHandler): continue line = { - 'id': transaction.id, - 'date': transaction.date,#.strftime(DATE_FORMAT), + 'date': transaction.date.strftime(DATE_FORMAT), 'memo' : transaction.memo, - #'category': 'Uncategorised', + 'category': 'Uncategorised', 'amount': transaction.amount, - 'name': account['name'], - 'payee': transaction.payee, - 'type': transaction.type + 'name': account['name'] } - #mongo needs the decimal values in Decimal128, so create a version for it - line_d128 = self.convert_decimal(line.copy()) + line_d128 = Handler.convert_decimal(line.copy()) - if self.transaction_exists(line_d128): + if Handler.transaction_exists(line_d128): continue statement.append(line) - result = self.mydb[MONGO_COL].insert_one(line_d128) + result = mongo_col.insert_one(line_d128) logging.info("New db entry stored: {}".format(result.inserted_id)) return statement, account['name'] @@ -174,9 +134,10 @@ class Handler(watchdog.events.PatternMatchingEventHandler): fileExists = False timeout = 0 + while not fileExists: fileExists = os.path.isfile(event.src_path) - time.sleep(1) + time.sleep(5) timeout += 1 if timeout > 60: @@ -192,31 +153,40 @@ class Handler(watchdog.events.PatternMatchingEventHandler): logging.info("file copy has now finished") with open(event.src_path, 'r') as file: - qfx = OfxParser.parse(file, fail_fast=False) - statement, acct_name = Handler.get_statement_from_qfx(qfx) + try: + qfx = OfxParser.parse(file, fail_fast=False) + statement, acct_name = Handler.get_statement_from_qfx(qfx) - path = Path(event.src_path) - path.resolve() + path = Path(event.src_path) + path.resolve() - converted_dir = path.parent / CONVERTED_DIR - if not converted_dir.exists(): - converted_dir.mkdir() + converted_dir = path.parent / CONVERTED_DIR + if not converted_dir.exists(): + converted_dir.mkdir() - out_file = str(path.parent / CONVERTED_DIR / (acct_name + '-' + qfx.signon.dtserver + '.csv')) - Handler.write_csv(statement, out_file) + out_file = str(path.parent / CONVERTED_DIR / (acct_name + '-' + qfx.signon.dtserver + '.csv')) + Handler.write_csv(statement, out_file) - #Now move the input file to backup - archive_file_dir = path.parent / BACKUP_DIR - archive_file = (path.stem + '{:04d}' + path.suffix) - destination = Handler.unique_path(archive_file_dir, archive_file) + #Now move the input file to backup + archive_file_dir = path.parent / BACKUP_DIR + archive_file = (path.stem + '{:04d}' + path.suffix) + destination = Handler.unique_path(archive_file_dir, archive_file) - if not archive_file_dir.exists(): - archive_file_dir.mkdir() + if not archive_file_dir.exists(): + archive_file_dir.mkdir() - if not destination.exists(): - path.replace(destination) + if not destination.exists(): + path.replace(destination) + except: + logging.info("Failed to process {}".format(event.src_path)) logging.info("Processing successfully finished for {}".format(event.src_path)) + + def on_modified(self, event): + logging.info('Found modified file: {}'.format(event.src_path)) + self.on_created(event) + + if __name__ == "__main__": event_handler = Handler() diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index 1b8d5f9..0000000 --- a/pytest.ini +++ /dev/null @@ -1,12 +0,0 @@ -[pytest] -env = - D:DB_HOST='' - D:DB_PORT=1 - D:DB_NAME='' - -mongodb_fixture_dir = - src/tests/mongo_fixtures - -mongodb_fixtures = - imported_transactions - accounts \ No newline at end of file diff --git a/src/__init__.py b/src/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/tests/__init__.py b/src/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/tests/mongo_fixtures/accounts.yaml b/src/tests/mongo_fixtures/accounts.yaml deleted file mode 100644 index aad545a..0000000 --- a/src/tests/mongo_fixtures/accounts.yaml +++ /dev/null @@ -1,7 +0,0 @@ -- - number: 123456 123456789 - name: Account 1 - -- - number: 123457 123456780 - name: Account 2 diff --git a/src/tests/mortgageTrans.qfx b/src/tests/mortgageTrans.qfx deleted file mode 100644 index 4536b14..0000000 --- a/src/tests/mortgageTrans.qfx +++ /dev/null @@ -1,114 +0,0 @@ -OFXHEADER:100 -DATA:OFXSGML -VERSION:102 -SECURITY:NONE -ENCODING:USASCII -CHARSET:1252 -COMPRESSION:NONE -OLDFILEUID:NONE -NEWFILEUID:NONE - - - - - - 0 - INFO - - 20220114064514 - - ENG - - A Bank - 12345 - - 12345 - XXXXXXXXXXXXXXXXXXXXXXXXXX - - - - - 0 - - 0 - INFO - - - AUD - - 000000001 - 123457 123456780 - CREDITLINE - - - - - - CREDIT - 20220114 - 20220114 - 2680.93 - 202201400001 - TRANSFER - FROM 000-000000-000 AUD IB1508519 INTERNET BANKING - - - CREDIT - 20220111 - 20220111 - 409.26 - 202201100001 - TRANSFER - Loan Payment From: 000-000000-000 TO: 101-576544-258 ZAL101795 SYSTEM GENERATED - - - CREDIT - 20220111 - 20220111 - 1086.41 - 202201100002 - TRANSFER - FROM 000-000000-000 AUD IB0205258 INTERNET BANKING - - - CREDIT - 20220106 - 20220106 - 1173.71 - 202200600001 - TRANSFER - FROM 000-000000-000 AUD IB1305543 INTERNET BANKING - - - CREDIT - 20220106 - 20220106 - 628.81 - 202200600002 - TRANSFER - FROM 000-000000-000 AUD IB1004824 INTERNET BANKING - - - DEBIT - 20220104 - 20220104 - -399440.42 - 202200400001 - TRANSFER - BANKING TERMINAL (UBT - - - - -393461.30 - 20220114064514 - - - - 5979.12 - 20220114064514 - - - - - - diff --git a/src/tests/sampleTrans1.qfx b/src/tests/sampleTrans1.qfx deleted file mode 100644 index 2e4d4af..0000000 --- a/src/tests/sampleTrans1.qfx +++ /dev/null @@ -1,789 +0,0 @@ -OFXHEADER:100 -DATA:OFXSGML -VERSION:102 -SECURITY:NONE -ENCODING:USASCII -CHARSET:1252 -COMPRESSION:NONE -OLDFILEUID:NONE -NEWFILEUID:NONE - - - - - - 0 - INFO - - 20220118225636 - - ENG - - Bank 1 - 000000 - - 000000 - XXXXXXXXXXXXXXXXXXXXXXXXXX - - - - - 0 - - 0 - INFO - - - AUD - - 000000001 - 123456 123456789 - MST - - - 20211221 - 20220119 - - DEBIT - 20220118 - 20220118 - -35.10 - 202201800001 - PENDING: Guzman y Gomez - Augustine Hei A960 ATM - - - CREDIT - 20220118 - 20220118 - 0.70 - 202201800002 - PENDING: 2% Cashback - Enjoy - Guzman y Gomez ATM - - - DEBIT - 20220118 - 20220118 - -127.75 - 202201800003 - PENDING: 1300 SMILES LTD - SPRINGFIELD L A960 ATM - - - DEBIT - 20220117 - 20220117 - -0.01 - 202201700001 - PENDING: PAYPAL - 4029357733 A960 ATM - - - DEBIT - 20220116 - 20220116 - -0.01 - 202201600001 - PENDING: GOOGLE *TEMPORARY HOLD - g.co/helppay# A960 ATM - - - DEBIT - 20220111 - 20220111 - -0.01 - 202201100001 - PENDING: RAINBOW MUSIC - +61417957568 A960 ATM - - - CREDIT - 20220119 - 20220119 - 1.04 - 202201900001 - 2% CASHBACK - ENJOY - GOLDEN PRAWN 15JAN22 619377 18:41:21 2% Cashback - Enjoy 619377 BONGAREE 36 8316 Z@MF16897 SYSTEM GENERATED - - - CREDIT - 20220119 - 20220119 - 0.12 - 202201900002 - 2% CASHBACK - ENJOY - GOLDEN PRAWN 15JAN22 316718 18:47:54 2% Cashback - Enjoy 316718 BONGAREE 36 8316 Z@MF16895 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -52.20 - 202201900003 - GOLDEN PRAWN - 19JAN22 ATMA896 08:27:13 8316 VISA AUD GOLDEN PRAWN 619377 BONGAREE AU A88843015 ATM - - - DEBIT - 20220119 - 20220119 - -6.00 - 202201900004 - GOLDEN PRAWN - 19JAN22 ATMA896 08:27:13 8316 VISA AUD GOLDEN PRAWN 316718 BONGAREE AU A88843014 ATM - - - DEBIT - 20220119 - 20220119 - -38.95 - 202201900005 - PAYPAL *OZSALEPTYLI - 19JAN22 ATMA896 08:01:37 8316 VISA AUD PAYPAL *OZSALEPTYLI 637484 4029357733 AU A88826216 ATM - - - CREDIT - 20220119 - 20220119 - 0.33 - 202201900006 - 2% CASHBACK - ENJOY - PASHELL PTY LTD 15JAN22 612537 12:37:17 2% Cashback - Enjoy 612537 BONGAREE 36 8313 Z@MF07258 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -16.50 - 202201900007 - PASHELL PTY LTD - 19JAN22 ATMA896 07:50:25 8313 VISA AUD PASHELL PTY LTD 612537 BONGAREE AU A88818248 ATM - - - CREDIT - 20220119 - 20220119 - 0.78 - 202201900008 - 2% CASHBACK - ENJOY - MCDONALDS IPSWICH CBD 16JAN22 121470 13:07:09 2% Cashback - Enjoy 121470 IPSWICH 36 8313 Z@MF05798 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -39.25 - 202201900009 - MCDONALDS IPSWICH CBD - 19JAN22 ATMA896 07:47:49 8313 VISA AUD MCDONALDS IPSWICH CBD 121470 IPSWICH AU A88814498 ATM - - - CREDIT - 20220119 - 20220119 - 0.49 - 202201900010 - 2% CASHBACK - ENJOY - SCOOPY'S FAMILY CAFE 15JAN22 113492 17:55:19 2% Cashback - Enjoy 113492 BONGAREE 36 8316 Z@MF01573 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -24.70 - 202201900011 - SCOOPY'S FAMILY CAFE - 19JAN22 ATMA896 07:35:17 8316 VISA AUD SCOOPY'S FAMILY CAFE 113492 BONGAREE AU A88803426 ATM - - - DEBIT - 20220118 - 20220118 - -409.26 - 202201800001 - TRANSFER - Loan Payment From: 000-000000-000 TO: 000-000000-001 ZAL102098 SYSTEM GENERATED - - - DEBIT - 20220118 - 20220118 - -31.80 - 202201800002 - PAYPAL *EBAY AU - 18JAN22 ATMA896 08:41:03 8316 VISA AUD PAYPAL *EBAY AU 630721 4029357733 AU A88825889 ATM - - - DEBIT - 20220118 - 20220118 - -14.99 - 202201800003 - PAYPAL *EBAY AU - 18JAN22 ATMA896 08:40:46 8316 VISA AUD PAYPAL *EBAY AU 125007 4029357733 AU A88825446 ATM - - - DEBIT - 20220118 - 20220118 - -16.89 - 202201800004 - HUNGRY JACKS - 18JAN22 ATMA896 07:33:30 8316 VISA AUD Hungry Jacks 826946 Springfield AU A88803533 ATM - - - CREDIT - 20220117 - 20220117 - 1.71 - 202201700001 - 2% CASHBACK - ENJOY - WOOLWORTHS/SPRINGFIELD P 16JAN22 628920 15:13:10 2% Cashback - Enjoy 628920 SPRINGFI 36 8313 Z@MF96719 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -85.71 - 202201700002 - WOOLWORTHS/SPRINGFIELD P - 17JAN22 ATMA896 09:08:49 8313 VISA AUD WOOLWORTHS/SPRINGFIELD P 628920ASPRINGFIELD AU A88849865 ATM - - - DEBIT - 20220117 - 20220117 - -50.00 - 202201700003 - PAYPAL *WCI INT AU - 17JAN22 ATMA896 08:53:08 8316 VISA AUD PAYPAL *WCI INT AU 512078 4029357733 AU A88815885 ATM - - - CREDIT - 20220117 - 20220117 - 0.34 - 202201700004 - 2% CASHBACK - ENJOY - SPRINGFIELD LAKE BAK 14JAN22 696107 09:58:40 2% Cashback - Enjoy 696107 SPRINGFI 36 8313 Z@MF54064 SYSTEM GENERATED - - - CREDIT - 20220117 - 20220117 - 0.90 - 202201700005 - 2% CASHBACK - ENJOY - ALDI STORES - SPRINGFI 13JAN22 274552 09:40:26 2% Cashback - Enjoy 274552 SPRINGFI 36 8313 Z@MF54063 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -17.00 - 202201700006 - SPRINGFIELD LAKE BAK - 16JAN22 ATMA896 08:28:15 8313 VISA AUD SPRINGFIELD LAKE BAK 696107 SPRINGFIELD LAU A88842807 ATM - - - DEBIT - 20220117 - 20220117 - -45.09 - 202201700007 - ALDI STORES - SPRINGFI - 16JAN22 ATMA896 08:28:15 8313 VISA AUD ALDI STORES - SPRINGFI 274552 SPRINGFIELD AU A88842806 ATM - - - CREDIT - 20220117 - 20220117 - 0.57 - 202201700008 - 2% CASHBACK - ENJOY - WOOLWORTHS/GOODWIN DR & 15JAN22 107268 12:33:50 2% Cashback - Enjoy 107268 BRIBIE I 36 8316 Z@MF37374 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -28.69 - 202201700009 - WOOLWORTHS/GOODWIN DR & - 16JAN22 ATMA896 07:26:34 8316 VISA AUD WOOLWORTHS/GOODWIN DR & 107268HBRIBIE ISLANDAU A88897768 ATM - - - CREDIT - 20220117 - 20220117 - 0.98 - 202201700010 - 2% CASHBACK - ENJOY - SPRINGER LOW VOLTAGE 15JAN22 RINGER 11:15:35 2% Cashback - Enjoy 999999 LAWNTON 36 8316 Z@MF31151 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -49.00 - 202201700011 - SPRINGER LOW VOLTAGE - 15JAN22 002422 11:15:35 8316 EFTPOS SPRINGER LOW VOLTAGE LAWNTON AU A88828243 ATM - - - CREDIT - 20220117 - 20220117 - 1.57 - 202201700012 - 2% CASHBACK - ENJOY - COLES 4533 14JAN22 802693 16:25:16 2% Cashback - Enjoy 802693 SPRINGFI 36 8313 Z@MF25759 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -78.70 - 202201700013 - COLES 4533 - 15JAN22 ATMA896 09:09:11 8313 VISA AUD COLES 4533 802693 SPRINGFIELD AU A88871150 ATM - - - DEBIT - 20220117 - 20220117 - -371.06 - 202201700014 - TRANSFER - TO 000-000000-000 Loan INTERNET BANKING - - - DEBIT - 20220117 - 20220117 - -1047.22 - 202201700015 - TRANSFER - TO 00-000000-000 Loan INTERNET BANKING - - - DEBIT - 20220114 - 20220114 - -23.15 - 202201400001 - ALDI STORES - DARRA - 14JAN22 127196 18:39:44 8316 EFTPOS ALDI STORES - DARRA DARRA AU A88892226 ATM - - - DEBIT - 20220114 - 20220114 - -2680.93 - 202201400002 - TRANSFER - TO 000-000000-000 IB1508519 INTERNET BANKING - - - CREDIT - 20220114 - 20220114 - 4519.71 - 202201400003 - TRANSFER - PaySYSTEM GENERATED - - - CREDIT - 20220114 - 20220114 - 0.95 - 202201400004 - 2% CASHBACK - ENJOY - OFP PTY LTD 13JAN22 585252 09:07:49 2% Cashback - Enjoy 585252 SPRINGFI 36 8313 Z@MF23729 SYSTEM GENERATED - - - DEBIT - 20220114 - 20220114 - -47.50 - 202201400005 - OFP PTY LTD - 14JAN22 ATMA896 08:52:21 8313 VISA AUD OFP PTY LTD 585252 SPRINGFIELD CAU A88863534 ATM - - - DEBIT - 20220114 - 20220114 - -111.15 - 202201400006 - 7-ELEVEN 4079 - 14JAN22 ATMA896 08:46:15 8316 VISA AUD 7-ELEVEN 4079 448002 JINDALEE AU A88856728 ATM - - - DEBIT - 20220113 - 20220113 - -675.00 - 202201300001 - RAINBOW MUSIC - 13JAN22 ATMA896 08:49:41 8313 VISA AUD RAINBOW MUSIC 866033 SPRINGFIELD LAU A88871114 ATM - - - CREDIT - 20220113 - 20220113 - 1.09 - 202201300002 - 2% CASHBACK - ENJOY - PETBARN 13JAN22 TBARN 09:49:36 2% Cashback - Enjoy 999999 SPRINGFI 36 8313 Z@MF20235 SYSTEM GENERATED - - - DEBIT - 20220113 - 20220113 - -54.39 - 202201300003 - PETBARN - 13JAN22 013366 09:49:36 8313 EFTPOS PETBARN SPRINGFIELD CAU A88816881 ATM - - - DEBIT - 20220113 - 20220113 - -474.90 - 202201300004 - ADEL TRAILER HIRE - 13JAN22 ATMA896 08:29:33 8316 VISA AUD ADEL TRAILER HIRE 863776 GLENGOWRIE AU A88847532 ATM - - - DEBIT - 20220113 - 20220113 - -16.49 - 202201300005 - PAYPAL *SUPERCHEAP - 13JAN22 ATMA896 07:51:21 8316 VISA AUD PAYPAL *SUPERCHEAP 659085 4029357733 AU A88827581 ATM - - - CREDIT - 20220112 - 20220112 - 0.22 - 202201200001 - 2% CASHBACK - ENJOY - SPINGFIELD D/N PHARMA 12JAN22 INGFIE 21:05:14 2% Cashback - Enjoy 999999 Springfi 36 8316 Z@MF40585 SYSTEM GENERATED - - - DEBIT - 20220112 - 20220112 - -10.99 - 202201200002 - SPINGFIELD D/N PHARMA - 12JAN22 107246 21:05:14 8316 EFTPOS SPINGFIELD D/N PHARMA Springfield AU A88898388 ATM - - - CREDIT - 20220112 - 20220112 - 0.84 - 202201200003 - 2% CASHBACK - ENJOY - COLES 4533 11JAN22 866854 18:40:32 2% Cashback - Enjoy 866854 SPRINGFI 36 8316 Z@MF33176 SYSTEM GENERATED - - - DEBIT - 20220112 - 20220112 - -42.20 - 202201200001 - COLES 4533 - 12JAN22 ATMA896 09:14:05 8316 VISA AUD COLES 4533 866854 SPRINGFIELD AU A88884369 ATM - - - DEBIT - 20220111 - 20220111 - -409.26 - 202201100001 - TRANSFER - Loan Payment From: 000-000000-000 TO: 000-000000-001 ZAL101795 SYSTEM GENERATED - - - DEBIT - 20220111 - 20220111 - -1086.41 - 202201100002 - TRANSFER - TO 000-000000-000 IB0205258 INTERNET BANKING - - - CREDIT - 20220111 - 20220111 - 1724.85 - 202201100003 - TRANSFER - 0000000 Payroll Acco 000000 Z@LC04991 SYSTEM GENERATED - - - DEBIT - 20220111 - 20220111 - -111.35 - 202201100004 - WOOLWORTHS/SPRINGFIELD P - 11JAN22 ATMA896 09:15:14 8313 VISA AUD WOOLWORTHS/SPRINGFIELD P 855223ASPRINGFIELD AU A88887965 ATM - - - DEBIT - 20220111 - 20220111 - -26.00 - 202201100005 - AFTERPAY - 11JAN22 ATMA896 08:25:58 8316 VISA AUD Afterpay 410015 afterpay.com AU A88829480 ATM - - - DEBIT - 20220110 - 20220110 - -99.00 - 202201000001 - TRANSFER - AUSSIE BROADBAND - - - CREDIT - 20220110 - 20220110 - 0.68 - 202201000002 - 2% CASHBACK - ENJOY - SPRINGFIELD LAKE BAK 08JAN22 827190 13:50:10 2% Cashback - Enjoy 827190 SPRINGFI 36 8313 Z@MF73432 SYSTEM GENERATED - - - DEBIT - 20220110 - 20220110 - -33.75 - 202201000003 - SPRINGFIELD LAKE BAK - 10JAN22 ATMA896 09:55:44 8313 VISA AUD SPRINGFIELD LAKE BAK 827190 SPRINGFIELD LAU A88892952 ATM - - - DEBIT - 20220110 - 20220110 - -173.68 - 202201000004 - WOOLWORTHS/SPRINGFIELD P - 08JAN22 ATMA896 09:11:44 8313 VISA AUD WOOLWORTHS/SPRINGFIELD P 308996ASPRINGFIELD AU A88869052 ATM - - - CREDIT - 20220110 - 20220110 - 0.64 - 202201000005 - 2% CASHBACK - ENJOY - FOREST LKE DRUG STORE 05JAN22 591481 15:37:09 2% Cashback - Enjoy 591481 FOREST L 36 8313 Z@MF15821 SYSTEM GENERATED - - - DEBIT - 20220110 - 20220110 - -31.98 - 202201000006 - FOREST LKE DRUG STORE - 08JAN22 ATMA896 08:53:44 8313 VISA AUD FOREST LKE DRUG STORE 591481 FOREST LAKE AU A88844754 ATM - - - CREDIT - 20220110 - 20220110 - 0.36 - 202201000007 - 2% CASHBACK - ENJOY - KAISERCRAFT PTY LTD 05JAN22 454947 16:26:14 2% Cashback - Enjoy 454947 NORTH IP 36 8313 Z@MF03993 SYSTEM GENERATED - - - DEBIT - 20220110 - 20220110 - -17.99 - 202201000008 - KAISERCRAFT PTY LTD - 08JAN22 ATMA896 07:43:44 8313 VISA AUD KAISERCRAFT PTY LTD 454947 NORTH IPSWICHAU A88815486 ATM - - - DEBIT - 20220110 - 20220110 - -22.65 - 202201000009 - BUDGET DIRECT - 08JAN22 ATMA896 07:39:53 VISA AUD BUDGET DIRECT TOOWONG AU ATM - - - DEBIT - 20220110 - 20220110 - -49.25 - 202201000010 - HUNGRY JACKS - 08JAN22 ATMA896 07:36:03 VISA AUD Hungry Jacks 508403 Springfield AU A88804914 ATM - - - CREDIT - 20220107 - 20220107 - 0.32 - 202200700001 - 2% CASHBACK - ENJOY - SPOTLIGHT \SPRI 07JAN22 OTLIGH 11:34:29 2% Cashback - Enjoy 999999 GFIELD 36 8313 Z@MF33325 SYSTEM GENERATED - - - DEBIT - 20220107 - 20220107 - -16.00 - 202200700002 - SPOTLIGHT \SPRI - 07JAN22 127038 11:34:29 8313 EFTPOS SPOTLIGHT \SPRI NGFIELD AU A88828477 ATM - - - CREDIT - 20220107 - 20220107 - 1.20 - 202200700003 - 2% CASHBACK - ENJOY - MR TOYS 05JAN22 785391 16:21:49 2% Cashback - Enjoy 785391 IPSWICH 36 8313 Z@MF02726 SYSTEM GENERATED - - - DEBIT - 20220107 - 20220107 - -59.99 - 202200700004 - MR TOYS - 07JAN22 ATMA896 07:34:02 8313 VISA AUD MR TOYS 785391 IPSWICH AU A88808421 ATM - - - DEBIT - 20220106 - 20220106 - -1173.71 - 202200600001 - TRANSFER - TO 000-000-000 IB1305543 INTERNET BANKING - - - CREDIT - 20220106 - 20220106 - 1173.40 - 202200600002 - TRANSFER - WAGES SYSTEM GENERATED - - - CREDIT - 20220106 - 20220106 - 0.13 - 202200600003 - TRANSFER - 1017781448571 PAYPAL AUSTRALIA 0756483 Z@LC11302 SYSTEM GENERATED - - - CREDIT - 20220106 - 20220106 - 0.18 - 202200600004 - TRANSFER - 1017781448572 PAYPAL AUSTRALIA 0756482 Z@LC11301 SYSTEM GENERATED - - - DEBIT - 20220106 - 20220106 - -628.81 - 202200600005 - TRANSFER - TO 000-000-000 IB1004824 INTERNET BANKING - - - CREDIT - 20220106 - 20220106 - 0.62 - 202200600006 - 2% CASHBACK - ENJOY - WOOLWORTHS/PINE ST & THE 05JAN22 890305 16:35:10 2% Cashback - Enjoy 890305 IPSWICH 36 8313 Z@MF14627 SYSTEM GENERATED - - - DEBIT - 20220106 - 20220106 - -30.76 - 202200600007 - WOOLWORTHS/PINE ST & THE - 06JAN22 ATMA896 08:04:01 8313 VISA AUD WOOLWORTHS/PINE ST & THE 890305 IPSWICH AU A88838793 ATM - - - CREDIT - 20220105 - 20220105 - 6160.46 - 202200500001 - TRANSFER - Savings Transfer Z@LC04023 SYSTEM GENERATED - - - DEBIT - 20220105 - 20220105 - -1280.00 - 202200500002 - FROSTEEZ - 05JAN22 002584 11:07:56 8316 EFTPOS FROSTEEZ DURACK AU A88824667 ATM - - - CREDIT - 20220104 - 20220104 - 5000.00 - 202200400001 - TRANSFER - Fund Transfer SYSTEM GENERATED - - - CREDIT - 20220104 - 20220104 - 768.49 - 202200400002 - TRANSFER - 1592204 PEXA217198219D04 0667142 Z@LC09127 SYSTEM GENERATED - - - - 7562.67 - 20220118225636 - - - - 7399.79 - 20220118225636 - - - - - - diff --git a/src/tests/sampleTrans2.qfx b/src/tests/sampleTrans2.qfx deleted file mode 100644 index 0928130..0000000 --- a/src/tests/sampleTrans2.qfx +++ /dev/null @@ -1,825 +0,0 @@ -OFXHEADER:100 -DATA:OFXSGML -VERSION:102 -SECURITY:NONE -ENCODING:USASCII -CHARSET:1252 -COMPRESSION:NONE -OLDFILEUID:NONE -NEWFILEUID:NONE - - - - - - 0 - INFO - - 20220120234820 - - ENG - - Bank 1 - 00000 - - 00000 - XXXXXXXXXXXXXXXXXXXXXXXXXX - - - - - 0 - - 0 - INFO - - - AUD - - 000000001 - 123456 123456789 - MST - - - 20211223 - 20220121 - - DEBIT - 20220120 - 20220120 - -60.00 - 202202000001 - PENDING: Brisbane Manly - Newstead A960 ATM - - - DEBIT - 20220117 - 20220117 - -0.01 - 202201700001 - PENDING: PAYPAL - 4029357733 A960 ATM - - - DEBIT - 20220116 - 20220116 - -0.01 - 202201600001 - PENDING: GOOGLE *TEMPORARY HOLD - g.co/helppay# A960 ATM - - - CREDIT - 20220121 - 20220121 - 0.36 - 202202100001 - 2% CASHBACK - ENJOY - ORION FRUIT MARKET 20JAN22 444687 17:49:15 2% Cashback - Enjoy 444687 SPRINGFI 36 8313 Z@MF26916 SYSTEM GENERATED - - - DEBIT - 20220121 - 20220121 - -17.98 - 202202100002 - ORION FRUIT MARKET - 21JAN22 ATMA896 08:51:15 8313 VISA AUD ORION FRUIT MARKET 444687 SPRINGFIELD AU A88872440 ATM - - - DEBIT - 20220121 - 20220121 - -236.83 - 202202100003 - WOOLWORTHS/SPRINGFIELD P - 21JAN22 ATMA896 07:24:10 8313 VISA AUD WOOLWORTHS/SPRINGFIELD P 271578ASPRINGFIELD AU A88809128 ATM - - - CREDIT - 20220120 - 20220120 - 1173.41 - 202202000001 - TRANSFER - WAGES SYSTEM GENERATED - - - CREDIT - 20220119 - 20220119 - 0.70 - 202201900001 - 2% CASHBACK - ENJOY - Guzman y Gomez 18JAN22 558820 20:06:25 2% Cashback - Enjoy 558820 Augustin 36 8313 Z@MF40743 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -35.10 - 202201900002 - GUZMAN Y GOMEZ - 19JAN22 ATMA896 09:25:07 8313 VISA AUD Guzman y Gomez 558820 Augustine HeiAU A88803378 ATM - - - DEBIT - 20220119 - 20220119 - -127.75 - 202201900003 - 1300 SMILES LTD - 19JAN22 ATMA896 09:18:34 8316 VISA AUD 1300 SMILES LTD 345787 SPRINGFIELD LAU A88875645 ATM - - - CREDIT - 20220119 - 20220119 - 1.04 - 202201900004 - 2% CASHBACK - ENJOY - GOLDEN PRAWN 15JAN22 619377 18:41:21 2% Cashback - Enjoy 619377 BONGAREE 36 8316 Z@MF16897 SYSTEM GENERATED - - - CREDIT - 20220119 - 20220119 - 0.12 - 202201900005 - 2% CASHBACK - ENJOY - GOLDEN PRAWN 15JAN22 316718 18:47:54 2% Cashback - Enjoy 316718 BONGAREE 36 8316 Z@MF16895 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -52.20 - 202201900006 - GOLDEN PRAWN - 19JAN22 ATMA896 08:27:13 8316 VISA AUD GOLDEN PRAWN 619377 BONGAREE AU A88843015 ATM - - - DEBIT - 20220119 - 20220119 - -6.00 - 202201900007 - GOLDEN PRAWN - 19JAN22 ATMA896 08:27:13 8316 VISA AUD GOLDEN PRAWN 316718 BONGAREE AU A88843014 ATM - - - DEBIT - 20220119 - 20220119 - -38.95 - 202201900008 - PAYPAL *OZSALEPTYLI - 19JAN22 ATMA896 08:01:37 8316 VISA AUD PAYPAL *OZSALEPTYLI 637484 4029357733 AU A88826216 ATM - - - CREDIT - 20220119 - 20220119 - 0.33 - 202201900009 - 2% CASHBACK - ENJOY - PASHELL PTY LTD 15JAN22 612537 12:37:17 2% Cashback - Enjoy 612537 BONGAREE 36 8313 Z@MF07258 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -16.50 - 202201900010 - PASHELL PTY LTD - 19JAN22 ATMA896 07:50:25 8313 VISA AUD PASHELL PTY LTD 612537 BONGAREE AU A88818248 ATM - - - CREDIT - 20220119 - 20220119 - 0.78 - 202201900011 - 2% CASHBACK - ENJOY - MCDONALDS IPSWICH CBD 16JAN22 121470 13:07:09 2% Cashback - Enjoy 121470 IPSWICH 36 8313 Z@MF05798 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -39.25 - 202201900012 - MCDONALDS IPSWICH CBD - 19JAN22 ATMA896 07:47:49 8313 VISA AUD MCDONALDS IPSWICH CBD 121470 IPSWICH AU A88814498 ATM - - - CREDIT - 20220119 - 20220119 - 0.49 - 202201900013 - 2% CASHBACK - ENJOY - SCOOPY'S FAMILY CAFE 15JAN22 113492 17:55:19 2% Cashback - Enjoy 113492 BONGAREE 36 8316 Z@MF01573 SYSTEM GENERATED - - - DEBIT - 20220119 - 20220119 - -24.70 - 202201900014 - SCOOPY'S FAMILY CAFE - 19JAN22 ATMA896 07:35:17 8316 VISA AUD SCOOPY'S FAMILY CAFE 113492 BONGAREE AU A88803426 ATM - - - DEBIT - 20220118 - 20220118 - -409.26 - 202201800001 - TRANSFER - Loan Payment From: 000-000000-000 TO: 000-000000-000 ZAL102098 SYSTEM GENERATED - - - DEBIT - 20220118 - 20220118 - -31.80 - 202201800002 - PAYPAL *EBAY AU - 18JAN22 ATMA896 08:41:03 8316 VISA AUD PAYPAL *EBAY AU 630721 4029357733 AU A88825889 ATM - - - DEBIT - 20220118 - 20220118 - -14.99 - 202201800003 - PAYPAL *EBAY AU - 18JAN22 ATMA896 08:40:46 8316 VISA AUD PAYPAL *EBAY AU 125007 4029357733 AU A88825446 ATM - - - DEBIT - 20220118 - 20220118 - -16.89 - 202201800004 - HUNGRY JACKS - 18JAN22 ATMA896 07:33:30 8316 VISA AUD Hungry Jacks 826946 Springfield AU A88803533 ATM - - - CREDIT - 20220117 - 20220117 - 1.71 - 202201700001 - 2% CASHBACK - ENJOY - WOOLWORTHS/SPRINGFIELD P 16JAN22 628920 15:13:10 2% Cashback - Enjoy 628920 SPRINGFI 36 8313 Z@MF96719 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -85.71 - 202201700002 - WOOLWORTHS/SPRINGFIELD P - 17JAN22 ATMA896 09:08:49 8313 VISA AUD WOOLWORTHS/SPRINGFIELD P 628920ASPRINGFIELD AU A88849865 ATM - - - DEBIT - 20220117 - 20220117 - -50.00 - 202201700003 - PAYPAL *WCI INT AU - 17JAN22 ATMA896 08:53:08 8316 VISA AUD PAYPAL *WCI INT AU 512078 4029357733 AU A88815885 ATM - - - CREDIT - 20220117 - 20220117 - 0.34 - 202201700004 - 2% CASHBACK - ENJOY - SPRINGFIELD LAKE BAK 14JAN22 696107 09:58:40 2% Cashback - Enjoy 696107 SPRINGFI 36 8313 Z@MF54064 SYSTEM GENERATED - - - CREDIT - 20220117 - 20220117 - 0.90 - 202201700005 - 2% CASHBACK - ENJOY - ALDI STORES - SPRINGFI 13JAN22 274552 09:40:26 2% Cashback - Enjoy 274552 SPRINGFI 36 8313 Z@MF54063 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -17.00 - 202201700006 - SPRINGFIELD LAKE BAK - 16JAN22 ATMA896 08:28:15 8313 VISA AUD SPRINGFIELD LAKE BAK 696107 SPRINGFIELD LAU A88842807 ATM - - - DEBIT - 20220117 - 20220117 - -45.09 - 202201700007 - ALDI STORES - SPRINGFI - 16JAN22 ATMA896 08:28:15 8313 VISA AUD ALDI STORES - SPRINGFI 274552 SPRINGFIELD AU A88842806 ATM - - - CREDIT - 20220117 - 20220117 - 0.57 - 202201700008 - 2% CASHBACK - ENJOY - WOOLWORTHS/GOODWIN DR & 15JAN22 107268 12:33:50 2% Cashback - Enjoy 107268 BRIBIE I 36 8316 Z@MF37374 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -28.69 - 202201700009 - WOOLWORTHS/GOODWIN DR & - 16JAN22 ATMA896 07:26:34 8316 VISA AUD WOOLWORTHS/GOODWIN DR & 107268HBRIBIE ISLANDAU A88897768 ATM - - - CREDIT - 20220117 - 20220117 - 0.98 - 202201700010 - 2% CASHBACK - ENJOY - SPRINGER LOW VOLTAGE 15JAN22 RINGER 11:15:35 2% Cashback - Enjoy 999999 LAWNTON 36 8316 Z@MF31151 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -49.00 - 202201700011 - SPRINGER LOW VOLTAGE - 15JAN22 002422 11:15:35 8316 EFTPOS SPRINGER LOW VOLTAGE LAWNTON AU A88828243 ATM - - - CREDIT - 20220117 - 20220117 - 1.57 - 202201700012 - 2% CASHBACK - ENJOY - COLES 4533 14JAN22 802693 16:25:16 2% Cashback - Enjoy 802693 SPRINGFI 36 8313 Z@MF25759 SYSTEM GENERATED - - - DEBIT - 20220117 - 20220117 - -78.70 - 202201700013 - COLES 4533 - 15JAN22 ATMA896 09:09:11 8313 VISA AUD COLES 4533 802693 SPRINGFIELD AU A88871150 ATM - - - DEBIT - 20220117 - 20220117 - -371.06 - 202201700014 - TRANSFER - TO 000-000000-000 Loan INTERNET BANKING - - - DEBIT - 20220117 - 20220117 - -1047.22 - 202201700015 - TRANSFER - TO 000-000000-000 Loan INTERNET BANKING - - - DEBIT - 20220114 - 20220114 - -23.15 - 202201400001 - ALDI STORES - DARRA - 14JAN22 127196 18:39:44 8316 EFTPOS ALDI STORES - DARRA DARRA AU A88892226 ATM - - - DEBIT - 20220114 - 20220114 - -2680.93 - 202201400002 - TRANSFER - TO 000-000000-000 INTERNET BANKING - - - CREDIT - 20220114 - 20220114 - 4519.71 - 202201400003 - TRANSFER - Pay SYSTEM GENERATED - - - CREDIT - 20220114 - 20220114 - 0.95 - 202201400004 - 2% CASHBACK - ENJOY - OFP PTY LTD 13JAN22 585252 09:07:49 2% Cashback - Enjoy 585252 SPRINGFI 36 8313 Z@MF23729 SYSTEM GENERATED - - - DEBIT - 20220114 - 20220114 - -47.50 - 202201400005 - OFP PTY LTD - 14JAN22 ATMA896 08:52:21 8313 VISA AUD OFP PTY LTD 585252 SPRINGFIELD CAU A88863534 ATM - - - DEBIT - 20220114 - 20220114 - -111.15 - 202201400006 - 7-ELEVEN 4079 - 14JAN22 ATMA896 08:46:15 8316 VISA AUD 7-ELEVEN 4079 448002 JINDALEE AU A88856728 ATM - - - DEBIT - 20220113 - 20220113 - -675.00 - 202201300001 - RAINBOW MUSIC - 13JAN22 ATMA896 08:49:41 8313 VISA AUD RAINBOW MUSIC 866033 SPRINGFIELD LAU A88871114 ATM - - - CREDIT - 20220113 - 20220113 - 1.09 - 202201300002 - 2% CASHBACK - ENJOY - PETBARN 13JAN22 TBARN 09:49:36 2% Cashback - Enjoy 999999 SPRINGFI 36 8313 Z@MF20235 SYSTEM GENERATED - - - DEBIT - 20220113 - 20220113 - -54.39 - 202201300003 - PETBARN - 13JAN22 013366 09:49:36 8313 EFTPOS PETBARN SPRINGFIELD CAU A88816881 ATM - - - DEBIT - 20220113 - 20220113 - -474.90 - 202201300004 - ADEL TRAILER HIRE - 13JAN22 ATMA896 08:29:33 8316 VISA AUD ADEL TRAILER HIRE 863776 GLENGOWRIE AU A88847532 ATM - - - DEBIT - 20220113 - 20220113 - -16.49 - 202201300001 - PAYPAL *SUPERCHEAP - 13JAN22 ATMA896 07:51:21 8316 VISA AUD PAYPAL *SUPERCHEAP 659085 4029357733 AU A88827581 ATM - - - CREDIT - 20220112 - 20220112 - 0.22 - 202201200001 - 2% CASHBACK - ENJOY - SPINGFIELD D/N PHARMA 12JAN22 INGFIE 21:05:14 2% Cashback - Enjoy 999999 Springfi 36 8316 Z@MF40585 SYSTEM GENERATED - - - DEBIT - 20220112 - 20220112 - -10.99 - 202201200002 - SPINGFIELD D/N PHARMA - 12JAN22 107246 21:05:14 8316 EFTPOS SPINGFIELD D/N PHARMA Springfield AU A88898388 ATM - - - CREDIT - 20220112 - 20220112 - 0.84 - 202201200003 - 2% CASHBACK - ENJOY - COLES 4533 11JAN22 866854 18:40:32 2% Cashback - Enjoy 866854 SPRINGFI 36 8316 Z@MF33176 SYSTEM GENERATED - - - DEBIT - 20220112 - 20220112 - -42.20 - 202201200004 - COLES 4533 - 12JAN22 ATMA896 09:14:05 8316 VISA AUD COLES 4533 866854 SPRINGFIELD AU A88884369 ATM - - - DEBIT - 20220111 - 20220111 - -409.26 - 202201100001 - TRANSFER - Loan Payment From: 000-000000-000 TO: 000-000000-000 SYSTEM GENERATED - - - DEBIT - 20220111 - 20220111 - -1086.41 - 202201100002 - TRANSFER - TO 000-000000-000 INTERNET BANKING - - - CREDIT - 20220111 - 20220111 - 1724.85 - 202201100003 - TRANSFER - PayrollSYSTEM GENERATED - - - DEBIT - 20220111 - 20220111 - -111.35 - 202201100004 - WOOLWORTHS/SPRINGFIELD P - 11JAN22 ATMA896 09:15:14 8313 VISA AUD WOOLWORTHS/SPRINGFIELD P 855223ASPRINGFIELD AU A88887965 ATM - - - DEBIT - 20220111 - 20220111 - -26.00 - 202201100005 - AFTERPAY - 11JAN22 ATMA896 08:25:58 8316 VISA AUD Afterpay 410015 afterpay.com AU A88829480 ATM - - - DEBIT - 20220110 - 20220110 - -99.00 - 202201000001 - TRANSFER - AUSSIE BROADBAND SYSTEM GENERATED - - - CREDIT - 20220110 - 20220110 - 0.68 - 202201000002 - 2% CASHBACK - ENJOY - SPRINGFIELD LAKE BAK 08JAN22 827190 13:50:10 2% Cashback - Enjoy 827190 SPRINGFI 36 8313 Z@MF73432 SYSTEM GENERATED - - - DEBIT - 20220110 - 20220110 - -33.75 - 202201000003 - SPRINGFIELD LAKE BAK - 10JAN22 ATMA896 09:55:44 8313 VISA AUD SPRINGFIELD LAKE BAK 827190 SPRINGFIELD LAU A88892952 ATM - - - DEBIT - 20220110 - 20220110 - -173.68 - 202201000004 - WOOLWORTHS/SPRINGFIELD P - 08JAN22 ATMA896 09:11:44 8313 VISA AUD WOOLWORTHS/SPRINGFIELD P 308996ASPRINGFIELD AU A88869052 ATM - - - CREDIT - 20220110 - 20220110 - 0.64 - 202201000005 - 2% CASHBACK - ENJOY - FOREST LKE DRUG STORE 05JAN22 591481 15:37:09 2% Cashback - Enjoy 591481 FOREST L 36 8313 Z@MF15821 SYSTEM GENERATED - - - DEBIT - 20220110 - 20220110 - -31.98 - 202201000006 - FOREST LKE DRUG STORE - 08JAN22 ATMA896 08:53:44 8313 VISA AUD FOREST LKE DRUG STORE 591481 FOREST LAKE AU A88844754 ATM - - - CREDIT - 20220110 - 20220110 - 0.36 - 202201000007 - 2% CASHBACK - ENJOY - KAISERCRAFT PTY LTD 05JAN22 454947 16:26:14 2% Cashback - Enjoy 454947 NORTH IP 36 8313 Z@MF03993 SYSTEM GENERATED - - - DEBIT - 20220110 - 20220110 - -17.99 - 202201000008 - KAISERCRAFT PTY LTD - 08JAN22 ATMA896 07:43:44 8313 VISA AUD KAISERCRAFT PTY LTD 454947 NORTH IPSWICHAU A88815486 ATM - - - DEBIT - 20220110 - 20220110 - -22.65 - 202201000009 - BUDGET DIRECT - AUD BUDGET DIRECT - - - DEBIT - 20220110 - 20220110 - -49.25 - 202201000010 - HUNGRY JACKS - 08JAN22 ATMA896 07:36:03 8316 VISA AUD Hungry Jacks 508403 Springfield AU A88804914 ATM - - - CREDIT - 20220107 - 20220107 - 0.32 - 202200700001 - 2% CASHBACK - ENJOY - SPOTLIGHT \SPRI 07JAN22 OTLIGH 11:34:29 2% Cashback - Enjoy 999999 GFIELD 36 8313 Z@MF33325 SYSTEM GENERATED - - - DEBIT - 20220107 - 20220107 - -16.00 - 202200700002 - SPOTLIGHT \SPRI - 07JAN22 127038 11:34:29 8313 EFTPOS SPOTLIGHT \SPRI NGFIELD AU A88828477 ATM - - - CREDIT - 20220107 - 20220107 - 1.20 - 202200700003 - 2% CASHBACK - ENJOY - MR TOYS 05JAN22 785391 16:21:49 2% Cashback - Enjoy 785391 IPSWICH 36 8313 Z@MF02726 SYSTEM GENERATED - - - DEBIT - 20220107 - 20220107 - -59.99 - 202200700004 - MR TOYS - 07JAN22 ATMA896 07:34:02 8313 VISA AUD MR TOYS 785391 IPSWICH AU A88808421 ATM - - - DEBIT - 20220106 - 20220106 - -1173.71 - 202200600001 - TRANSFER - TO 000-000000-000 INTERNET BANKING - - - CREDIT - 20220106 - 20220106 - 1173.40 - 202200600002 - TRANSFER - WAGES SYSTEM GENERATED - - - CREDIT - 20220106 - 20220106 - 0.13 - 202200600003 - TRANSFER - PAYPAL AUSTRALIA Z@LC11302 SYSTEM GENERATED - - - CREDIT - 20220106 - 20220106 - 0.18 - 202200600004 - TRANSFER - PAYPAL AUSTRALIA SYSTEM GENERATED - - - DEBIT - 20220106 - 20220106 - -628.81 - 202200600005 - TRANSFER - TO 000-000000-000 IB1004824 INTERNET BANKING - - - CREDIT - 20220106 - 20220106 - 0.62 - 202200600006 - 2% CASHBACK - ENJOY - WOOLWORTHS/PINE ST & THE 05JAN22 890305 16:35:10 2% Cashback - Enjoy 890305 IPSWICH 36 8313 Z@MF14627 SYSTEM GENERATED - - - DEBIT - 20220106 - 20220106 - -30.76 - 202200600007 - WOOLWORTHS/PINE ST & THE - 06JAN22 ATMA896 08:04:01 8313 VISA AUD WOOLWORTHS/PINE ST & THE 890305 IPSWICH AU A88838793 ATM - - - CREDIT - 20220105 - 20220105 - 6160.46 - 202200500001 - TRANSFER - Savings Transfer SYSTEM GENERATED - - - DEBIT - 20220105 - 20220105 - -1280.00 - 202200500002 - FROSTEEZ - 05JAN22 002584 11:07:56 8316 EFTPOS FROSTEEZ DURACK AU A88824667 ATM - - - CREDIT - 20220104 - 20220104 - 5000.00 - 202200400001 - TRANSFER - Fund Transfer SYSTEM GENERATED - - - CREDIT - 20220104 - 20220104 - 768.49 - 202200400002 - TRANSFER - SYSTEM GENERATED - - - - 8319.48 - 20220120234820 - - - - 8259.46 - 20220120234820 - - - - - - diff --git a/src/tests/test_converter.py b/src/tests/test_converter.py deleted file mode 100644 index 7c959ee..0000000 --- a/src/tests/test_converter.py +++ /dev/null @@ -1,45 +0,0 @@ -from ..converter import Handler - -from pathlib import Path -from ofxparse import OfxParser -from datetime import datetime -from decimal import Decimal, getcontext - -import os - -class TestConverter: - def test_get_statement_from_qfx(self, mongodb): - - test_file = Path(os.getcwd()) / 'src' / 'tests' / 'sampleTrans1.qfx' - - with open(test_file, 'r') as file: - qfx = OfxParser.parse(file, fail_fast=False) - - handler = Handler(mongodb) - - statement, account = handler.get_statement_from_qfx(qfx) - - assert account == 'HSBC Everyday Global' - assert len(statement) == mongodb['imported_transactions'].find({}).count() - - - def test_line_to_moneybrilliant(self): - samples = [ - {'id': '202201900001', 'date': '20220119', 'memo': 'GOLDEN PRAWN 15JAN22... GENERATED', 'amount': 1.04, 'name': 'HSBC Everyday Global', 'payee': '2% CASHBACK - ENJOY', 'type': 'credit'}, - {'id': '202201900003', 'date': '20220119', 'memo': '19JAN22 ATMA896 08:2...843015 ATM', 'amount': -52.20, 'name': 'HSBC Everyday Global', 'payee': 'GOLDEN PRAWN', 'type': 'debit'}, - {'id': '202201400001', 'date': '20220114', 'memo': '14JAN22 127196 18:3...892226 ATM', 'amount': -23.15, 'name': 'HSBC Everyday Global', 'payee': 'ALDI STORES - DARRA', 'type': 'debit'} - ] - - sample = samples[0] - sample['date'] = datetime.strptime(sample['date'], "%Y%m%d") - sample['amount'] = round(Decimal(sample['amount']), 2) - result = Handler.line_to_moneybrilliant(sample) - - assert len(result) == 5 - assert result['date'] == '19/01/2022' - assert result['memo'] == 'GOLDEN PRAWN 15JAN22... GENERATED' - assert result['category'] == 'Uncategorised' - assert result['amount'] == Decimal('1.04') - assert result['name'] == 'HSBC Everyday Global' - -