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.

Reply via email to