For what you’re wanting, shouldn’t you be wanting to avoid using @@?

What is the alternative way to solve what I’m looking for?

My bad, I misread your statement as a desire to not have many digits in the 
conversion. You’re right, I’d want to do what you do in principle. As you 
ran into though, @@ has no API support (and this comment says even the 
input parser could be improved 
<https://github.com/beancount/beancount/blob/eb8be17c750257dc693e3173c30d2cabc9ab2faa/beancount/parser/grammar.py#L905-L907>).
 
Given that, these are some approaches I see:

Given:
2025-01-01 * "Exchanged to GBP" Assets:Bank:EUR -117 EUR Assets:Bank:GBP 
100 GBP 
   
   1. hack your importer to include @@. Write out the transaction above, 
   and have a simple text based post processor convert those transactions to 
   use @@ 
   2. write the transaction as you did, but write a beancount plugin to 
   catch these and convert them to using a unit price 
   3. get your importer to statically do the conversion to unit price, so 
   it looks like: 

2025-01-01 * "Exchanged to GBP" Assets:Bank:EUR -117 EUR @ 0.8547 GBP 
Assets:Bank:GBP 100 GBP Equity:Rounding-Errors 0.0000xxx GBP ; if needed. 
Your importer can ensure this is a very small amount 

Hope that helps.
​

-- 
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 visit 
https://groups.google.com/d/msgid/beancount/acb0c316-5768-450c-be8d-f94a97154d45n%40googlegroups.com.

Reply via email to