diff --git a/xactfetch.py b/xactfetch.py index ea5cb42..586bd57 100644 --- a/xactfetch.py +++ b/xactfetch.py @@ -638,6 +638,16 @@ class Chase: def firefly_import(self, csv: Path, account: int, token: str) -> None: config = copy.deepcopy(self.IMPORT_CONFIG) config['default_account'] = account + with csv.open('r', encoding='utf-8') as f: + headers = f.readline() + if headers.startswith('Card'): + log.debug('Detected CSV schema with Card column') + elif headers.count(',') == 6: + log.debug('Detected CSV schema without Card column') + config['roles'].pop(0) + config['do_mapping'].pop(0) + else: + raise ValueError(f'Unexpected CSV schema: {headers}') firefly_import(csv, config, token)