diff --git a/import2ledger/hooks/ledger_entry.py b/import2ledger/hooks/ledger_entry.py index 805dc8a..913cbb2 100644 --- a/import2ledger/hooks/ledger_entry.py +++ b/import2ledger/hooks/ledger_entry.py @@ -5,6 +5,7 @@ import functools import io import logging import operator +import pprint import re import tokenize @@ -192,8 +193,18 @@ class AccountSplitter: "template {!r}".format(self.template_name) ) from error if sum(amt for _, amt in amounts) != 0: - self._balance_amounts(amounts, template_vars['amount']) - self._balance_amounts(amounts, -template_vars['amount']) + try: + self._balance_amounts(amounts, template_vars['amount']) + self._balance_amounts(amounts, -template_vars['amount']) + except errors.UserInputConfigurationError as error: + printer = pprint.PrettyPrinter() + logger.debug( + "%s\n%s\n%s", + error.args[0], + printer.pformat(amounts), + printer.pformat(dict(template_vars)), + ) + raise return amounts def _iter_splits(self, template_vars): diff --git a/import2ledger/importers/patreon.py b/import2ledger/importers/patreon.py index afc272e..4f0190e 100644 --- a/import2ledger/importers/patreon.py +++ b/import2ledger/importers/patreon.py @@ -31,7 +31,7 @@ class EarningsImporter(_csv.CSVImporterBase): ret_key: strparse.currency_decimal(row[src_key] or 0) for src_key, ret_key in self.AMOUNT_FIELDS.items() } - retval['amount'] = sum(retval.values()) + retval['amount'] = sum(retval.values()) - retval['tax_amount'] retval['date'] = strparse.date(row[self.DATE_KEY], self.DATE_FMT) return retval diff --git a/setup.py b/setup.py index d87b77c..c11865c 100755 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ REQUIREMENTS['tests_require'] = [ setup( name='import2ledger', description="Import different sources of financial data to Ledger", - version='1.4.0', + version='1.4.1', author='Brett Smith', author_email='brettcsmith@brettcsmith.org', license='GNU AGPLv3+', diff --git a/tests/data/imports.yml b/tests/data/imports.yml index 3492598..46ee12e 100644 --- a/tests/data/imports.yml +++ b/tests/data/imports.yml @@ -85,7 +85,7 @@ event_id: "30123456" date: !!python/object/apply:datetime.date [2020, 12, 3] currency: USD - amount: !!python/object/apply:decimal.Decimal ["6"] + amount: !!python/object/apply:decimal.Decimal ["5"] tax_amount: !!python/object/apply:decimal.Decimal ["1"] net_amount: !!python/object/apply:decimal.Decimal ["4.31"] platform_fee: !!python/object/apply:decimal.Decimal ["0.25"] @@ -97,7 +97,7 @@ event_id: "34567890" date: !!python/object/apply:datetime.date [2020, 12, 2] currency: USD - amount: !!python/object/apply:decimal.Decimal ["7.33"] + amount: !!python/object/apply:decimal.Decimal ["6.06"] tax_amount: !!python/object/apply:decimal.Decimal ["1.27"] net_amount: !!python/object/apply:decimal.Decimal ["5.14"] platform_fee: !!python/object/apply:decimal.Decimal ["0.31"]