On Mon, Jul 17, 2023 at 5:58 PM Sath S <[email protected]> wrote:
> > There's a ton of documentation on the importers, but it doesn't say much > about how data actually gets from the extractor into beancount. The only > thing I can find is a sentence that mentions that bean-extract "produces > some Beancount input text to be moved to your input file". > > > Is the process of adding data to your Beancount input file intended to be > a manual copy/paste one? > > > Correct. Eg: "Putting it All Together into a Workflow > <https://reds-rants.netlify.app/personal-finance/putting-it-all-together-into-a-workflow/> > " > Thanks, got it. This kind of workflow makes me uncomfortable in general; mixing manual effort with automation (e.g., importers) means that you can only automate the first time (this is why one never edits generated code). But, coordinating manual effort with automation is a very hard problem to solve cleanly in general and I can see how this works well enough for a lot of use cases. > > > If for some reason you need to re-import some data that you'd already > imported and added to your beancount input file, is it your responsibility > to manually go find the records in the input file that came from that > import, remove them, and replace them with the new import data? Is there > some method or tool for tracking or managing how the beancount input file > is composed from all the sources? > > > The ingest code has a function to identify duplicates that you can > use/adapt. > OK, I'll take a look, as well as take a look at the libraries mentioned on the other thread. > > Let's say you run Beancount and it makes some decisions for you -- for > example, matching asset sales with corresponding lots for cap gains > computation. You use these to file your taxes. How do you make a record > of those decisions and enforce that a later run of Beancount doesn't change > them (e.g., if next tax year you switch to a different booking method)? > > > You get to declare lot matching in your file (FIFO, NONE, STRICT, etc.). > As long as the Beancount code doesn't change its output (and it shouldn't), > it'll produce the same output given the same input. > Even that doesn't let you change your booking method from one year to the next... A bit part of what I'm trying to do is have more control over lot matching. E.g., HIFO is a good general default, but in the US sometimes it forces you to pay short-term gains when a very similar long-term gains lot could have been paired, for a much lower tax burden. In my case, these differences are very large and worth trying to handle, so I need to be able to mix and match booking methods, or write my own, which will be more complex and might evolve year to year. (It will certainly evolve if the US changes capital gains taxation.) Also ... it's not even clear to me that Beancount would guarantee the same outputs given the same inputs -- e.g., if you use FIFO booking, there could be many buy transactions on the same day at different prices, and I don't know if Beancount would guarantee a stable ordering among those. Seems like it could be implementation dependent... > The more general problem here is one of snapshotting your accounts. > Beancount is best used by software engineers, and thus, version control > (git), tagging, and such work well. I generate a tax reference output > file for each year > <https://reds-rants.netlify.app/personal-finance/computing-taxes-with-beancount/>, > and occasionally re-generate and compare with the reference to ensure > nothing's changed. > I can snapshot the beancount inputs, and I can snapshot the beancount outputs, but what I am trying to understand is if there's a way to turn the beancount outputs (its choice of lot matching) around and use them as inputs (specified lot matches) next year. > -- > 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/422feb4e-88e2-408d-aa33-a0368c9df23bn%40googlegroups.com > <https://groups.google.com/d/msgid/beancount/422feb4e-88e2-408d-aa33-a0368c9df23bn%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/CAFXPr0um0BX488F8nnNgp17awGyUVVBw4i0hfdcheqmcXNGWjw%40mail.gmail.com.
