units has to be of type 'Amount()' when you create the posting. It looks like you might have set it to a str. (Python doesn't offer much help, there's a type validation function somewhere in beancount.core.data.)
On Tue, Nov 9, 2021 at 8:05 AM Joost Brok <[email protected]> wrote: > Hello everyone, I'm really learning beancount and building my importers. > We're an international family so the multi-currency support trough fava > makes our life easier to keep track of expenses against our two base > account currencies. After doing some research I found out I can simplify > currency reporting quite a bit by adding implicit prices. One of our main > banks exposes the following fields in their export csv: amount, currency, > local amount, local currency. I;m trying to write an importer with explicit > prices (e.g. Expenses:Foo 100 GBP @@ 110 EUR) however I'm having trouble > using the data.Posting function to validate it. > > from my *importers/bank_name.py*: > def implicit_amount(self, base_amount, local_amt, local_cur): > implicit_formatted = "" + local_amt + local_cur + " @@ " + amount + > self.currency # try to see if we hardcode the string... > return amount.Amount(D(base_amount), self.currency) if (base_amount, > self.currency) == (local_amt, local_cur) else implicit_formatted > [....] > amount = self.implicit_amount(row['Amount'], row['Local amount'], > row['Local currency']) > [....] > postings = [data.Posting(self.account, amount, None, None, None, None),] > > *Gives..* > ...r.py", line 31, in _process > if entry.postings[0].units.number > 0: > AttributeError: 'str' object has no attribute 'number' > > How do I build an importer that supports implicit prices? I couldn't find > any example/existing importers that support that and where I could re-use > code from. > > Thanks a lot! > > -- > You received this message because you are subscribed to the Google Groups > "Beancount" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beancount/d27098b1-c32a-4ea6-b2c2-0eb07ee2a710n%40googlegroups.com > <https://groups.google.com/d/msgid/beancount/d27098b1-c32a-4ea6-b2c2-0eb07ee2a710n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhPtLXz3t0wAkCe7g%2B%3DH4%3D8N8wFXygOWSztJk48_tG7zdQ%40mail.gmail.com.
