diff --git a/beangulp/similar.py b/beangulp/similar.py index 849874d0..991f950c 100644 --- a/beangulp/similar.py +++ b/beangulp/similar.py @@ -11,6 +11,7 @@ from beancount.core.number import D from beancount.core.number import ZERO from beancount.core.number import ONE +from beancount.core.number import MISSING from beancount.core import data from beancount.core import amount from beancount.core import interpolate @@ -145,7 +146,7 @@ def amounts_map(entry): if posting.meta and interpolate.AUTOMATIC_META in posting.meta: continue currency = isinstance(posting.units, amount.Amount) and posting.units.currency - if isinstance(currency, str): + if isinstance(currency, str) and posting.units.number != MISSING: key = (posting.account, currency) amounts[key] += posting.units.number return amounts diff --git a/beangulp/similar_test.py b/beangulp/similar_test.py index 20871482..9294032d 100644 --- a/beangulp/similar_test.py +++ b/beangulp/similar_test.py @@ -113,6 +113,7 @@ def test_amounts_map(self, entries, _, __): 2016-01-03 * Expenses:Tips 1.01 USD Expenses:Tips 1.02 USD + Expenses:Tips USD @ 1.1 CHF Assets:Other """ txns = list(data.filter_txns(entries))