On Tue, Nov 1, 2016 at 2:38 AM, yegle <[email protected]> wrote:
> Hi Martin,
>
> The # char in cost basis is a new thing to me and I don't think the syntax
> is mentioned in the language syntax doc https://docs.google.com/
> document/d/1wAMVrKIA2qtRGmoVDSUBJGmYZSygUaR0uOMW1GV3YE0/edit# Could you
> document it there? You used `Assets:Account 100 MSFT {0 # 2000.00 USD}`
> in the example. I don't think the {{...}} syntax is mentioned in the doc as
> well.
>
I'll have to update the docs; taking note, thanks. This requires time I
don't have for a couple of weeks.
Essentially, there are two numbers, e.g.
Assets:Investments 100 MSFT {42.00 # 9.95 USD}
The first (42.00) is the number of USD per share of MSFT.
The second is the total number of USD for the posting.
Thus, this posting's per-unit cost is (100 * 42.00 + 9.95) / 100 = 42.0995
USD / MSFT
Also, I'm sad to know AVERAGE booking is not available yet :-(
>
Progress doesn't always move in the order one wants. This is progress in
the same direction, however.
If you'd like to have a go at it, here's where that would happen:
https://bitbucket.org/blais/beancount/src/fdd1b562fd53db239da1b0338a2634d05e1fe48e/src/python/beancount/parser/booking_full.py?at=default&fileviewer=file-view-default#booking_full.py-691
It turns out it needs a lot of unit testing to complete this, but at this
point all the scaffolding around it is there and merged.
>
>
> On Sun, Oct 30, 2016 at 6:31 PM, Martin Blais <[email protected]> wrote:
>
>> It has been a good 6 months since the last update.
>> Lots of important changes recently - in particular, moving to the newer
>> and better booking algorithm, requiring Python 3.5 and I've deprecated a
>> bunch of old deprecated stuff. It's possible you will experience
>> user-visible changes.
>> Full details below.
>>
>>
>>
>> 2016-10-30
>>
>> - Merge the current version of the 'booking' branch and made the "FULL"
>> booking
>> algorithm the default one.
>>
>> * The "experiment_booking_algorithm" option has been renamed to
>> "booking_algorithm". Its default value is now "FULL"; everyone will
>> be
>> using the new booking code. If for some reason you have a
>> transitional
>> need to revert to the older booking method use this option.
>>
>> option "booking_algorithm" "SIMPLE"
>>
>> * The new booking algorithm is _MUCH_ more powerful than the one old.
>> I'll
>> describe it soon in a new document, but briefly:
>>
>> - It supports many more interpolation capabilities; try omitting
>> amounts
>> or currencies which you think it ought be able to figure out
>> automatically and you might find it does.
>>
>> - All positions carry a date. This means that if you have
>> transactions
>> that would merge because they weren't specified with a date, like
>> this
>> you may face a problem:
>>
>> 2016-01-15 *
>> Assets:Investments 70 UUG {10.00 USD}
>> ...
>>
>> 2016-02-16 *
>> Assets:Investments 25 UUG {10.00 USD}
>> ...
>>
>> 2016-03-30 *
>> Assets:Investments -80 UUG {10.00 USD}
>> ...
>>
>> Those used to resolve automatically because both augmenting lots
>> would
>> merge into a single one without a date. Now that all positions
>> have an
>> acquisition date, the -80 reducing posting is ambiguous, because
>> it
>> matches against these:
>>
>> Assets:Investments 70 UUG {10.00 USD, 2016-01-15}
>> Assets:Investments 25 UUG {10.00 USD, 2016-02-16}
>>
>> Either you'll have to disambiguate, or let Beancount do so. One
>> way to
>> do this is to add more specific matching data, and split the
>> posting.
>> An even easier way to do this is to make the default booking
>> method of
>> this account to "FIFO" or "LIFO", which will automatically select
>> the
>> oldest (newest) postings without issuing a warning.
>>
>> If you find yourself in a bind, please email the mailing-list
>> with a
>> specific and as small as possible data input that reproduces the
>> problem.
>>
>> - Removed parsing of the pipe (|) symbol as a separator for strings on
>> transaction description lines. This was vestigial from the days long
>> long
>> ago when Beancount was attempting to be compatible with Ledger
>> syntax; this
>> is wholly unnecessary how.
>>
>> You will have to convert transactions like this:
>>
>> 2015-08-25 * "Tunnel" | "Coffees"
>> Expenses:Food:Coffee 15 CAD
>> Assets:Cash
>>
>> Into transactions like this:
>>
>> 2015-08-25 * "Tunnel" "Coffees"
>> Expenses:Food:Coffee 15 CAD
>> Assets:Cash
>>
>> This can be done using a sed script, or as a macro in your favorite
>> text editor.
>> If you need a temporary respite, you can use the following option,
>> which
>> will replace all the error messages by a single warning:
>>
>> option "allow_pipe_separator" "TRUE"
>>
>> Support for this option will be removed eventually.
>>
>>
>> - Moved the {{...}}} total cost syntax from a legacy support with only
>> "/"
>> separator and a date, no label, to full support. Previously, only
>> these syntaxes
>> were supported for total cost:
>>
>> Assets:Account 100 MSFT {{2000.00 USD}}
>> Assets:Account 100 MSFT {{2000.00 USD / 2016-10-30}}
>>
>> Changes:
>>
>> * The "/" separator support has been removed, you must now use a
>> comma, like
>> for the {...} full booking syntax.
>>
>> * The same syntax as for the regular {...} compound cost is supported;
>> however, specifying a compound amount will raise an error, and the
>> per-unit cost is interpreted as a total cost.
>>
>> For example, this:
>>
>> Assets:Account 100 MSFT {{2000.00 USD}}
>>
>> is interpreted as:
>>
>> Assets:Account 100 MSFT {0 # 2000.00 USD}
>>
>> which is equivalent to:
>>
>> Assets:Account 100 MSFT {20.00 USD}
>>
>> And the following will raise an error, it is not legal syntax:
>>
>> Assets:Account 100 MSFT {{0 # 2000.00 USD}}
>>
>> Finally, specifying a date and a label can be done, just like for
>> {...}:
>>
>> Assets:Account 100 MSFT {{2000.00 USD, 2011-10-30, "ref32"}}
>>
>> The intention here is to deprecate the older limited syntax while
>> keeping
>> support for total cost input using {{...}}. Based on previous
>> questions, I
>> suspect that many users are still using {{...}} instead of {{# ...}},
>> so I
>> won't remove it just yet.
>>
>> - Removed very old compatibility code in beancount.core.amount that
>> lived
>> since I cleaned up the definition of the D() constructor and moved it
>> to
>> beancount.core.number.
>>
>> - Removed built-in aliases for auto_accounts and implicit_prices
>> modules, from
>> beancount.ops to beancount.plugins.
>>
>> - Removed deprecated option "default_tolerance" (which had been renamed
>> to
>> "inferred_tolerance_default").
>>
>> - Removed deprecated option "tolerance".
>>
>> - Remove deprecated use of 'plugin' as an option. The directive ought
>> to be
>> the only way.
>>
>> - Removed deprecated option "experiment_explicit_tolerances".
>>
>> - Renamed "experiment_booking_algorithm" to "booking_algorithm", and
>> changed
>> the default value to "FULL". The old "SIMPLE" algorithm will be
>> deprecated
>> eventually.
>>
>> - Removed old code that would warn if the user set account_rounding to
>> a full
>> account name; it just needs be a subaccount.
>>
>> - Commit to Python 3.5. 3.5.0 released more than a year ago. You need to
>> update or stick with the 2.0b13 release.
>>
>> - Remove old code to dispatch between an external Enum class and the
>> built-in
>> one that's included in 3.5 (commit to 3.5).
>>
>> - Added type annotations to beancount.core.data. This will grow more
>> over
>> time. (I also need to add rules to use those.)
>>
>>
>> 2016-10-23
>>
>> - Modified parsing of transaction strings and links and tags. I did
>> this to
>> factor out the parsing of tags and links in order to add it to other
>> transactions and minimize grammar code. There is user-visible impact
>> to this
>> change: all of a transaction's strings must appear before tags or
>> links. You
>> cannot place tags or links before or in-between strings anymore. This
>> is a
>> reasonable restriction and I doubt anybody did anyway.
>>
>> - Added support for tags and links to the Document directive. This
>> works just
>> as for Transactions, e.g.
>>
>> 2016-10-23 document Assets:Checking "/statements/oct.pdf" #banking
>> ^9fed846348c2
>>
>> The current tags on the tag stack are also included, like for
>> transactions.
>>
>>
>> 2016-10-10
>>
>> - Removed "experiment_explicit_tolerances" flag; made this supported by
>> default permanently.
>>
>>
>> 2016-10-08
>>
>> - Documented a subtle problem reported about balances against inventory
>> of
>> mixed at-cost and no-cost, added more context to the error and a unit
>> test
>> for balance checks with mixed at-cost and no-cost positions.
>>
>> - Fixed a bug in the full booking matching code whereby an existing
>> position
>> not held at cost would trip up the matching code. (Credits to Son
>> Nguyen for
>> finding and reporting.)
>>
>> - During ingest, when multiple extractors match a particular file,
>> select the
>> first matching account instead of raising an error.
>>
>> - Fixed accidentally colliding key-binding for invoking bean-price from
>> Emacs,
>> to C-c p.
>>
>>
>> 2016-09-25
>>
>> - Fixed typo in grammar that was parsing a transaction flag as '#' into
>> '*'.
>>
>> - Added "cost_date" and "cost_label" columns in the SQL shell.
>>
>>
>> 2016-09-04
>>
>> - Implemented new "run" shell command that allows you to run a named
>> query.
>> For example, if an input file has a Query directive like this:
>>
>> 2016-09-01 query "home" "select account, sum(position) where
>> account ~ 'Home' group b$
>>
>> And you input this command:
>>
>> run home
>>
>> The entries will be closed at tue query date (2016-09-01) and the
>> query
>> automatically run. If you want to always include all the
>> transactions, set a
>> date far into the future.
>>
>> This works from the command-line and from the shell, equally. You can
>> also
>> run all the queries in an input file, like this:
>>
>> run *
>>
>> To view the list of available queries, just type the "run" command
>> without
>> an argument.
>>
>>
>> 2016-08-21
>>
>> - Fixed a SQL shell bug with extracting UNITS() from a Position column.
>>
>> - Finally properly fixed the timezone of the Google Finance price
>> fetcher.
>> (It was done incorrectly and I found my unit tests failing whenever I
>> would
>> work on Beancount from another timezone.)
>>
>>
>> 2016-08-17
>>
>> - Added beancount.core.amount.abs() function for absolute values of
>> Amount.
>>
>> - Added rendering of links to beancount.plugins.split_expenses plugin,
>> and
>> made it quiet by default. Added --output-stdout option to make it do
>> that
>> again.
>>
>> - Created a new experimental script that attempts to match postings
>> between
>> two ledgers. A pair of (filename, account-regexp) is provided for
>> each, and
>> then the amounts and links are compared and paired up, and remaining
>> unmatched postings are printed out. This is very useful to reconcile
>> trip
>> expenses between a personal ledger and the ledger for a trip or
>> external
>> project where some of the expenses are paid from the personal ledger
>> as
>> contributions to the trip or project.
>>
>> - Made the upload-csv-to-google-sheet script use the basename (without
>> extension) of the given filenames as sheet names instead of "Sheet X"
>> numbers. (Note: This entire thing be rewritten using the new Google
>> Sheets
>> API which won't require gdata and which will be more stable.)
>>
>> - Added a quick implementation of b.q.query_render.render_csv()
>> and refactored b.q.query_render.render_text() to use common code. Both
>> functions now have a new 'expand' option which will create multiple
>> rows for
>> cells which return a list of strings. The new default behavior is to
>> concatenate the strings with commas.
>>
>> The shell (bean-query) has a new 'expand' shell variable to match.
>> Also, the
>> -f/--format option of it is now supported, and in interactive mode it
>> sets
>> the default value for 'expand'.
>>
>> - Since output to CSV is now implemented, I enabled the --output-csv
>> option of
>> b.p.split_expenses as well.
>>
>>
>> 2016-08-14
>>
>> - Fixed bug in beancount.utils.file_type for Python3, whereby magic now
>> returns
>> bytes, not a string
>>
>> 2016-08-04
>>
>> - Made account name components allowed to have two characters (beyond
>> the
>> first component). For instance, Assets:Investments:F is now a valid
>> account
>> name.
>>
>>
>> 2016-07-11
>>
>> - Added parsing a transaction date column to metadata in the CSV
>> importer.
>>
>>
>> 2016-07-01
>>
>> - bean-format now accepts input from stdin.
>>
>>
>> 2016-06-30
>>
>> - Make it possible for a BALANCES statement to have a WHERE clause.
>> BALANCES
>> is now equivalent to
>>
>> SELECT account, sum(position) FROM ... WHERE ... GROUP BY account
>>
>> Inching one step closer to removing that WHERE clause eventually.
>>
>>
>> 2016-06-18
>>
>> - Added support for columns AMOUNT_DEBIT and AMOUNT_CREDIT in the csv
>> importer.
>>
>> - Merged ongoing progress from 'booking' branch; if you don't use any
>> of the
>> in-progress new booking methods, this should not have any effect.
>>
>> However, the 'booking_method has changed names and you may have to
>> adjust
>> its values if you've been tinkering with it:
>>
>> * 'booking_method' used to take on value "SIMPLE" or "FULL" and
>> dispatch
>> betwee the current (old) booking implementation and the new one
>> which will
>> support many other booking methods. This option is now named
>> 'experiment_booking_algorithm' (a new option) and takes on the same
>> values. The default value is "SIMPLE", which keeps the behavior
>> unchanged.
>> Use "FULL" if you want to test out the new booking algorithm: the
>> new
>> algorithms should work except for the AVERAGE cost method. WARNING:
>> This
>> is still under flux and considered unreleased.
>>
>> " 'booking_method': This is a different option now, and takes the
>> value of
>> any one of the booking methods visible here:
>> https://bitbucket.org/blais/beancount/src/7b9e00e6e19136f680
>> befc1d4322f47cdc294cf6/sr$
>>
>>
>> 2016-06-13
>>
>> - Ported beancount.docs.download_docs to the v3 drive API and the use
>> of a
>> service account instead of a full access to a user account. Service
>> accounts
>> are easier to configure and work with.
>>
>> - Ported beancount.docs.upload_options to the v3 drive API.
>>
>>
>> 2016-06-05
>>
>> - Added a new column to the posting context: "other_accounts" is a set
>> of
>> account strings for the other postings of the transaction.
>>
>> - Added a new JOINSTR() generic function to the shell, to reduce the
>> repeated
>> column above to a single comma-separated string.
>>
>>
>> 2016-05-28
>>
>> - Made various changes to the shell in order to make it possible to
>> convert to
>> the market value:
>>
>> * CONVERT() has been converted to convert to the market value, when
>> applied
>> to a position held at cost. However, it still requires a target
>> currency
>> and it may fail if you apply it to a position for which the cost
>> currency
>> differs from that of the target currency, i.e., it will not
>> automatically
>> chase down the transitive conversions toward the desired target
>> currency.
>>
>> * A new function VALUE() has been added, which is similar to
>> CONVERT() but
>> which when applied to a position held at cost converts to the cost
>> currency at the current price. It's similar to CONVERT() but you
>> don't
>> have to provide the target currency. And similarly to CONVERT(),
>> you may
>> provide a particular date, and if at that date there is no available
>> conversion rate in the prices database, the conversion will fail
>> analogously and spit out an error message.
>>
>> * PRICE() has been renamed to GETPRICE() to avoid some confusion.
>> PRICE()
>> does not convert, it merely gets the price from the price database.
>> GETPRICE() is thus a more appropriate name.
>>
>>
>> 2016-05-22
>>
>> - Created the beancount.plugins.mark_unverified plugin as a response
>> to this
>> thread: https://groups.google.com/d/msg/beancount/hQoOSJE7qNo/-E__v-
>> XhEgAJ
>>
>> This plugin makes it possible to compute the balances as of the last
>> Balance
>> directive of each account by adding metadata to postings which appear
>> after
>> that account's last balance. You'd filter out unverified postings
>> with an SQL
>> query on meta-data like this:
>>
>> SELECT account, sum(position)
>> WHERE NOT meta('unverified')
>> GROUP BY 1
>> ORDER BY 1
>>
>> Note that the resulting balanaces almost certainly don't sum up to
>> zero,
>> because of differing dates of the Balance directives. Also, note that
>> accounts without a single Balance directive will not have their
>> postings
>> marked at all.
>>
>>
>> 2016-05-08
>>
>> - In the output of bean-price, sort prices exclusively by currency,
>> regardless
>> of date. This is because on weekends you'll tend to get slightly
>> varying
>> dates, and manual/occasional price updates are usually put in
>> "chunks" in a
>> file section. It's easier to visually find the price by scanning by
>> currency
>> order.
>>
>>
>> 2016-05-05
>>
>> - Added a shell function to filter a set of strings (for tags or links)
>> with a
>> regular expression and return the first one. This way you can extract
>> some
>> of the tags or links with a pattern as columns.
>>
>>
>> 2016-05-01
>>
>> - Fixed issue #124, a leak in the grammar parser which would leak the
>> entire
>> set of entries on every instance of parse.
>>
>> - Fixed some warnings about unclosed files which occur only on default
>> python
>> branch.
>>
>>
>> 2016-04-29
>>
>> - Don't just log an extraction error to logging.error() in the
>> regression
>> tests; let the exception through. This makes building and debugging
>> importers much easier.
>>
>> - Created an experimental script to extract date/location information
>> required
>> for a naturalization application.
>>
>> 2016-04-24
>>
>> - Rewrote the section on "Core Data Structures" of the Design Doc, to
>> reflect
>> the newer internals of Beancount, those which have been merged from
>> the
>> ongoing 'booking' branch.
>> See http://furius.ca/beancount/doc/design-doc.
>>
>>
>> 2016-04-23
>>
>> - Added beancount.ingest.importers.fileonly, a simplistic importer
>> which can
>> be instantiated to just file away some downloads without extracting
>> anything
>> from them.
>>
>>
>> 2016-04-18
>>
>> - In bean-doctor context, all the accounts should appear in the
>> post-transaction balances, even if their balance is empty. This had
>> been
>> fixed for the pre-transaction balances but I stumbled upon a case of
>> post-transaction balances not showing an empty account.
>>
>>
>> 2016-04-17
>>
>> - Added support for the BEANCOUNT_LOAD_CACHE_FILENAME environment
>> variable,
>> which can be set in order to overridde the location of the pickle
>> cache.
>> This variable may contain the string "{filename}", and if it is
>> present the
>> basename of the beancount file will be spliced in. This can be useful
>> if,
>> for example, you are reading your Beancount input file from a
>> read-only
>> filesystem and still want to use the cache by specifying an
>> alternative
>> filename.
>>
>> - Fixed a bug when reading from a read-only filesystem, the loader
>> cache would
>> fail to be removed and raise an exception.
>>
>> - Fixed an important bug in beancount.ingest whereby instances of
>> b.i.cache.FileMemo weren't being shared as widely as they could have
>> been.
>> FileMemo instances now have to be created via b.i.cache.get_file() and
>> FileMemo is now a hidden class _FileMemo. See this discussion for
>> more details:
>> https://groups.google.com/d/msg/beancount/b-ZqYqag7AU/N-AaGSZOAwAJ
>>
>>
>> 2016-04-10
>>
>> - Create a new 'beancount.plugins.fix_payees' plugin that allows the
>> user to
>> provide a set of rules to rewrite and clean up the names of the
>> payees from
>> the Beancount file.
>>
>> While it would be ideal to do this at import time, in practice there
>> are a
>> lot of downloaded files' "memo" fields which get set as the payee
>> automatically. These "memos" aren't very clean and readable strings:
>> they
>> sometimes contain numbers, partial city names, and other junk. In
>> order to
>> produce clean reports where one might want to aggregate by payee, it's
>> useful to rewrite the payees to make them nice and clean. You can use
>> this
>> plugin to do that.
>>
>>
>> - Made the Custom directive accept ACCOUNT tokens. You can now do
>> something
>> like this:
>>
>> 2014-06-20 custom "budget" Assets:Account2 "balance < 200.00 USD"
>>
>> Prior to this, the account name had to be represented as a string.
>> (Users of
>> the burgeoning Custom directive not like this very much.)
>>
>> Note that account names and regular strings are both output from the
>> parser
>> as 'str' objects, so in order to make this possible, I had to change
>> the
>> representation of the values to a pair of (value, dtype). Account
>> names have
>> a 'dtype' of beancount.core.account.TYPE. (Eventually I will probably
>> want
>> to make account strings represented with their own custom datatypes,
>> but
>> that will require a fair amount of work on the codebase; this
>> substitute is
>> fine for now, as there are no other places where such a
>> disambiguation is
>> necessary.)
>>
>>
>> 2016-04-04
>>
>> - Added a test to make sure that building a source dist includes the
>> header
>> files and C implementation files.
>>
>> - Sort Document directives after Transactions when they occur on the
>> same day.
>> The reason for this is that statements typically include transactions
>> on
>> that final day, and we'd like for them to occur at the right place in
>> the
>> journals. See originating thread:
>> https://groups.google.com/d/msg/beancount/3ItOYS9DJx4/VyTJB3ssBQAJ
>>
>>
>> 2016-04-03
>>
>> - Fixed a bug in "bean-doctor context" which wouldn't report the full
>> set of
>> accounts when an account's before-balance would be empty.
>>
>> - Fixed a bug in "bean-doctor linked" whereby the balances wouldn't get
>> printed out if there was no link. Print the balances before and
>> after; in
>> fact, maybe this command should be renamed to "balances" and have an
>> option
>> to support links.
>>
>>
>> 2016-03-31
>>
>> - Added TODAY() function to extract today's date. Not sure how useful
>> it'll
>> be.
>>
>>
>> 2016-03-27
>>
>> - Added a PRICE() function to extract entries from the price database.
>> You can
>> now query for "SELECT PRICE('USD', 'CAD', date)", for example.
>>
>> - Added a boolean renderer for the SQL shell.
>>
>>
>> 2016-03-26
>>
>> - Added an optional date argument to convert, so you can provide the
>> requested
>> date in a SQL query, as in "CONVERT(sum(position), "CAD",
>> 2015-06-01)".
>>
>> - Improved the rendering of the context, removed the weird comments it
>> used to
>> render with, render an account name if the inventory is empty.
>>
>> - Ignore .DS_Store files from the file finder in ingest.
>>
>>
>> 2016-03-22
>>
>> - Support multiple accounts in same ofx file. See
>> https://bitbucket.org/blais/beancount/pull-requests/10/. I applied
>> this
>> one-liner: issue a balance for each statement, use the maximum date
>> for the
>> file_date() method, and added unit tests for this.
>>
>>
>> 2016-03-21
>>
>> - Fixed bug in beancount.ingest.file whereby two files being filed to
>> the same
>> destination filename would clobber each other; with this fix,
>> instead, an
>> error will be generated.
>>
>> - Create an example of an importer just filing a PDF file using the
>> external
>> tool PDFminer2. If the tool isn't installed, nothing should "break"
>> (but the
>> importer won't really do its job). The tests should be skipped
>> automatically, and the importing will just ignore the PDF file to be
>> filed.
>>
>>
>>
>>
>> --
>> 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 post to this group, send email to [email protected].
>> To view this discussion on the web visit https://groups.google.com/d/ms
>> gid/beancount/CAK21%2BhNTCgSibc5xVYzCkPyknz%3DFmN3cTM4VEawEE
>> mwxH2zE6g%40mail.gmail.com
>> <https://groups.google.com/d/msgid/beancount/CAK21%2BhNTCgSibc5xVYzCkPyknz%3DFmN3cTM4VEawEEmwxH2zE6g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Yuchen Ying
> http://about.me/yegle
>
> --
> 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 post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/beancount/CAFL5w3UCJTuT0PqzYQM-STwAfOPk5_
> LHFOOdDhtHDwzKMiEM4g%40mail.gmail.com
> <https://groups.google.com/d/msgid/beancount/CAFL5w3UCJTuT0PqzYQM-STwAfOPk5_LHFOOdDhtHDwzKMiEM4g%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>
--
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beancount/CAK21%2BhOJULeY5S_2d7-TtmH_vLqKvdK5cqjsXMF3947jK_%3DwNw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.