Thanks, Martin, for your quick response. I experimented with some
alternative transaction entries.
*Specify the per-share price.*
2017-12-27 * "Buy retirement fund shares"
Assets:Vanguard 4.039 VFIAX {247.59 USD}
Assets:Checking -1000.00 USD
Beancount rejects this, logging:
/home/joel/projects/accounting/vanguard.bean:15: Transaction does not
balance: (0.01601 USD)
2017-12-27 * "Buy retirement fund shares"
Assets:Vanguard 4.039 VFIAX {247.59 USD, 2017-12-27}
Assets:Checking -1000.00 USD
Is this the error check you mentioned?
The sellgains.py plugin description mentions rounding, but I am buying
here. Which plugin should I use?
*Specify the total cost.*
2017-12-27 * "Buy retirement fund shares"
Assets:Vanguard 4.039 VFIAX {# 1000.00 USD}
Assets:Checking -1000.00 USD
Beancount reports that the basis is 999.9999999999999999999999999 USD
rather than 1000.00 USD.
Hash:4baf7306f442bd171b65dd8a83e8390f
Location: /home/joel/projects/accounting/vanguard.bean:15
------------ Balances before transaction
Assets:Vanguard
Assets:Checking 1000.00 USD
------------ Transaction
2017-12-27 * "Buy retirement fund shares"
Assets:Vanguard 4.039 VFIAX {247.59 USD, 2017-12-27} ;
999.9999999999999999999999999 USD
Assets:Checking -1000.00 USD ;
-1000.00 USD
Residual: (-0.0000000000000000000000001 USD)
Tolerances: USD=0.005
Basis: (999.9999999999999999999999999 USD)
------------ Balances after transaction
* Assets:Vanguard 4.039 VFIAX {247.5860361475612775439465214 USD, 2017-12-27}
Assets:Checking
Apparently each lot records a quantity and a cost per share. Beancount
multiplies those two values to compute the basis when needed (as for the
trial balance).
If each lot recorded a quantity and the total cost, Beancount could divide
to compute the cost per share when needed. I wonder if that approach would
eliminate these tiny discrepancies in the trial balance.
On Thursday, December 28, 2017 at 12:36:34 PM UTC-5, Martin Blais wrote:
>
> Short answer: there's no "customary"
> If you want a precise amount, put it i n
> 4.039 VFIAX {247.59 USD}
>
> If you need to get rid of rounding error check in the plugins directory
> there's a plugin for that
>
>
>
> On Thu, Dec 28, 2017 at 7:39 AM, Joel Shprentz <[email protected]
> <javascript:>> wrote:
>
>> Beancount cloned with hg at 2017-12-27 22:14 EST
>> Python 3.5.3 running on Ubuntu 14.04
>>
>> In the following bean file, I purchase $1,000.00 of a Vanguard fund.
>> Vanguard reports shares to three decimal places.
>>
>> option "operating_currency" "USD"
>> option "booking_algorithm" "FULL"
>>
>> 2017-12-01 commodity USD
>> 2017-12-01 commodity VFIAX
>>
>> 2017-12-01 open Assets:Checking
>> 2017-12-01 open Equity:Opening-Balances
>> 2017-12-01 open Assets:Vanguard VFIAX "FIFO"
>>
>> 2017-12-01 * "Opening balance"
>> Assets:Checking 1000.00 USD
>> Equity:Opening-Balances
>>
>> 2017-12-27 * "Buy retirement fund shares"
>> Assets:Vanguard 4.039 VFIAX {}
>> Assets:Checking -1000.00 USD
>>
>> Using bean-web, in the trail balance report for all transactions, the USD
>> column totals -0.00 and the total balance is -0.0000000000000000000000001
>> USD. Other reports appear correct.
>>
>> The share purchase transaction details show a basis of
>> 999.9999999999999999999999999 USD instead of 1000.00 USD. *How can I
>> configure Beancount to round the basis to the customary two decimal places
>> for USD?*
>>
>> Hash:4baf7306f442bd171b65dd8a83e8390f
>> Location: /home/joel/projects/accounting/vanguard.bean:15
>>
>> ------------ Balances before transaction
>>
>> Assets:Vanguard
>>
>> Assets:Checking 1000.00 USD
>>
>>
>> ------------ Transaction
>>
>> 2017-12-27 * "Buy retirement fund shares"
>> Assets:Vanguard 4.039 VFIAX {247.59 USD, 2017-12-27} ;
>> 999.9999999999999999999999999 USD
>> Assets:Checking -1000.00 USD ;
>> -1000.00 USD
>>
>>
>> Residual: (-0.0000000000000000000000001 USD)
>> Tolerances: USD=0.005
>> Basis: (999.9999999999999999999999999 USD)
>>
>> ------------ Balances after transaction
>>
>> * Assets:Vanguard 4.039 VFIAX {247.5860361475612775439465214 USD,
>> 2017-12-27}
>>
>> Assets:Checking
>>
>> --
>> 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] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/beancount/9b46d869-2e31-4466-951a-7b910f34f977%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/beancount/9b46d869-2e31-4466-951a-7b910f34f977%40googlegroups.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/5491604b-3a67-4938-ab0d-5eef477f85c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.