gnucash-docs stable: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Mon Jul 13 15:01:35 EDT 2026
Updated via https://github.com/Gnucash/gnucash-docs/commit/a58f731a (commit)
via https://github.com/Gnucash/gnucash-docs/commit/3449ddfd (commit)
via https://github.com/Gnucash/gnucash-docs/commit/671d92e5 (commit)
from https://github.com/Gnucash/gnucash-docs/commit/7829a8d6 (commit)
commit a58f731a217287c600911180631140bb57169da8
Merge: 7829a8d6 3449ddfd
Author: John Ralls <jralls at ceridwen.us>
Date: Mon Jul 13 11:49:48 2026 -0700
Merge Brent McBride's 'investment-lots-cagr-docs' into stable.
diff --cc C/manual/ch_Reports.docbook
index 18d3494c,25b53858..8f109eab
--- a/C/manual/ch_Reports.docbook
+++ b/C/manual/ch_Reports.docbook
@@@ -2492,10 -2554,10 +2554,15 @@@ Income (type INCOME
<screeninfo>800x630</screeninfo>
<mediaobject>
-- <imageobject>
++ <imageobject role="html">
<imagedata fileref="figures/Report_Investment_Lots_StackedBar.png"
srccredit="Brent McBride"/>
</imageobject>
++ <imageobject role="fo">
++ <imagedata fileref="figures/Report_Investment_Lots_StackedBar.png"
++ srccredit="Brent McBride"
++ width="160mm" align="center"/>
++ </imageobject>
</mediaobject>
</screenshot>
</figure>
@@@ -2507,10 -2569,10 +2574,15 @@@
<screeninfo>800x667</screeninfo>
<mediaobject>
-- <imageobject>
++ <imageobject role="html">
<imagedata fileref="figures/Report_Investment_Lots_Bar.png"
srccredit="Brent McBride"/>
</imageobject>
++ <imageobject role="fo">
++ <imagedata fileref="figures/Report_Investment_Lots_Bar.png"
++ srccredit="Brent McBride"
++ width="160mm" align="center"/>
++ </imageobject>
</mediaobject>
</screenshot>
</figure>
commit 3449ddfd1aacedb335569ff49a735811083835b8
Author: Brent McBride <mcbridebt at hotmail.com>
Date: Sun Jul 12 22:24:23 2026 -0700
Fix Investment Lots figure sizing in PDF output
The FO imagedata used depth=450mm, which the stylesheet maps to
fo:external-graphic height=450mm. Since 450mm exceeds the 297mm A4 page
height, FOP cannot place the viewport and the image is dropped. Drop the
oversized vertical constraint and keep width=160mm align=center, which
emits height=auto with content scaled to fit.
diff --git a/C/guide/ch_reports.docbook b/C/guide/ch_reports.docbook
index 6454e7a0..e0b7c664 100644
--- a/C/guide/ch_reports.docbook
+++ b/C/guide/ch_reports.docbook
@@ -342,7 +342,7 @@
<imageobject role="fo">
<imagedata fileref="figures/Report_Investment_Lots.png"
srccredit="Brent McBride"
- width="160mm" depth="450mm" align="center"/>
+ width="160mm" align="center"/>
</imageobject>
</mediaobject>
</screenshot>
diff --git a/C/manual/ch_Reports.docbook b/C/manual/ch_Reports.docbook
index 2c4b5c60..25b53858 100644
--- a/C/manual/ch_Reports.docbook
+++ b/C/manual/ch_Reports.docbook
@@ -2113,7 +2113,7 @@ Income (type INCOME)
<imageobject role="fo">
<imagedata fileref="figures/Report_Investment_Lots.png"
srccredit="Brent McBride"
- width="160mm" depth="450mm" align="center"/>
+ width="160mm" align="center"/>
</imageobject>
</mediaobject>
</screenshot>
commit 671d92e540d0b875eb9b8749c3cb7d6e74dece88
Author: Brent McBride <mcbridebt at hotmail.com>
Date: Sun Jul 5 14:47:03 2026 -0700
Document CAGR columns in Investment Lots report
Add Realized and Unrealized CAGR documentation to the Investment Lots report in the Help Manual and Tutorial & Concepts Guide, refresh the report screenshot to show the CAGR columns, and add a sample data file that reproduces the figure.
diff --git a/C/guide/ch_reports.docbook b/C/guide/ch_reports.docbook
index ee3b893b..6454e7a0 100644
--- a/C/guide/ch_reports.docbook
+++ b/C/guide/ch_reports.docbook
@@ -331,17 +331,18 @@
<title>The Investment Lots Report</title>
<screenshot id="InvestmentLotsScreenShot">
- <screeninfo>1720x982</screeninfo>
+ <screeninfo>1024x469</screeninfo>
<mediaobject>
<imageobject role="html">
<imagedata fileref="figures/Report_Investment_Lots.png"
- srccredit="Brent McBride" width="&img-w;"/>
+ srccredit="Brent McBride" width="1024"/>
</imageobject>
<imageobject role="fo">
<imagedata fileref="figures/Report_Investment_Lots.png"
- srccredit="Brent McBride"/>
+ srccredit="Brent McBride"
+ width="160mm" depth="450mm" align="center"/>
</imageobject>
</mediaobject>
</screenshot>
@@ -351,8 +352,8 @@
<emphasis>Stock</emphasis> or <emphasis>Mutual Fund</emphasis> (see
<xref linkend="invest-sellLots" />). It includes an optional capital gains summary chart
and a table with columns for dates, purchases, sales, end balances, capital gains
- (realized and unrealized, short term and long term), and return on investment (ROI). It
- also performs optional lot validation checks.
+ (realized and unrealized, short term and long term), return on investment (ROI), and
+ compound annual growth rate (CAGR). It also performs optional lot validation checks.
</para>
<para>The report can help answer questions such as:
diff --git a/C/guide/figures/Report_Investment_Lots.png b/C/guide/figures/Report_Investment_Lots.png
index 8cc3218e..8a375b9f 100644
Binary files a/C/guide/figures/Report_Investment_Lots.png and b/C/guide/figures/Report_Investment_Lots.png differ
diff --git a/C/manual/ch_Reports.docbook b/C/manual/ch_Reports.docbook
index 18d3494c..2c4b5c60 100644
--- a/C/manual/ch_Reports.docbook
+++ b/C/manual/ch_Reports.docbook
@@ -2102,17 +2102,18 @@ Income (type INCOME)
<title>The Investment Lots Report</title>
<screenshot id="InvestmentLotsScreenShot">
- <screeninfo>1720x982</screeninfo>
+ <screeninfo>1024x469</screeninfo>
<mediaobject>
<imageobject role="html">
<imagedata fileref="figures/Report_Investment_Lots.png"
- srccredit="Brent McBride" width="&img-w;"/>
+ srccredit="Brent McBride" width="1024"/>
</imageobject>
<imageobject role="fo">
<imagedata fileref="figures/Report_Investment_Lots.png"
- srccredit="Brent McBride"/>
+ srccredit="Brent McBride"
+ width="160mm" depth="450mm" align="center"/>
</imageobject>
</mediaobject>
</screenshot>
@@ -2129,7 +2130,8 @@ Income (type INCOME)
<link linkend="investment-lots-report-column-e">end balances</link>, capital gains
(<link linkend="investment-lots-report-column-r">realized</link> and
<link linkend="investment-lots-report-column-r">unrealized</link>, short term and long
- term), and return on investment (ROI). It also performs optional lot
+ term), return on investment (ROI), and compound annual growth rate (CAGR). It also
+ performs optional lot
<link linkend="investment-lots-report-options-val">validation checks</link>.
</para>
</abstract>
@@ -2353,11 +2355,36 @@ Income (type INCOME)
</listitem>
<listitem id="investment-lots-report-column-rr">
- <para><guilabel>Realized ROI</guilabel>: The realized return on investment.
+ <para><guilabel>Realized ROI</guilabel>: The realized return on investment: the
<link linkend="investment-lots-report-column-rg"><guilabel>Realized
- Gain</guilabel></link> divided by
+ Gain</guilabel></link> as a fraction of the amount originally invested in the
+ sold shares. Expressed as a percentage:
+ </para>
+
+ <informalequation>
+ <mathphrase>Realized ROI = Realized Gain / Sold Basis = (Sold Value − Sold Basis) / Sold Basis</mathphrase>
+ </informalequation>
+ </listitem>
+
+ <listitem id="investment-lots-report-column-rc">
+ <para><guilabel>Realized CAGR</guilabel>: The compound annual growth rate realized on sold shares. Whereas
+ <link linkend="investment-lots-report-column-rr"><guilabel>Realized
+ ROI</guilabel></link> measures the total return regardless of how long the
+ shares were held, <guilabel>Realized CAGR</guilabel> annualizes that return: it
+ is the constant yearly rate at which the
<link linkend="investment-lots-report-column-sb"><guilabel>Sold
- Basis</guilabel></link>, as a percentage.
+ Basis</guilabel></link> would have had to grow, compounding each year, to reach
+ the <link linkend="investment-lots-report-column-sv"><guilabel>Sold
+ Value</guilabel></link> over the holding period. Expressed as a percentage:
+ </para>
+
+ <informalequation>
+ <mathphrase>Realized CAGR = (Sold Value / Sold Basis)<superscript>(1 / years)</superscript> − 1</mathphrase>
+ </informalequation>
+
+ <para>where <emphasis>years</emphasis> is the length of time the shares were held before being sold.
+ Annualizing the return this way lets lots held for different lengths of time be
+ compared on an equal footing.
</para>
</listitem>
</itemizedlist>
@@ -2379,11 +2406,34 @@ Income (type INCOME)
</listitem>
<listitem id="investment-lots-report-column-ur">
- <para><guilabel>Unrealized ROI</guilabel>: The unrealized return on investment.
+ <para><guilabel>Unrealized ROI</guilabel>: The unrealized return on investment: the
<link linkend="investment-lots-report-column-ug"><guilabel>Unrealized
- Gain</guilabel></link> divided by
+ Gain</guilabel></link> as a fraction of the amount currently invested in the
+ remaining shares. Expressed as a percentage:
+ </para>
+
+ <informalequation>
+ <mathphrase>Unrealized ROI = Unrealized Gain / End Basis = (End Value − End Basis) / End Basis</mathphrase>
+ </informalequation>
+ </listitem>
+
+ <listitem id="investment-lots-report-column-uc">
+ <para><guilabel>Unrealized CAGR</guilabel>: The compound annual growth rate that would be realized if the
+ remaining shares were sold on the end date. It is the annualized counterpart of
+ <link linkend="investment-lots-report-column-ur"><guilabel>Unrealized
+ ROI</guilabel></link>: the constant yearly rate at which the
<link linkend="investment-lots-report-column-eb"><guilabel>End
- Basis</guilabel></link>, as a percentage.
+ Basis</guilabel></link> would have had to grow, compounding each year, to reach
+ the <link linkend="investment-lots-report-column-ev"><guilabel>End
+ Value</guilabel></link> over the holding period. Expressed as a percentage:
+ </para>
+
+ <informalequation>
+ <mathphrase>Unrealized CAGR = (End Value / End Basis)<superscript>(1 / years)</superscript> − 1</mathphrase>
+ </informalequation>
+
+ <para>where <emphasis>years</emphasis> is the length of time the shares have been held as of the end
+ date.
</para>
</listitem>
</itemizedlist>
@@ -2401,6 +2451,18 @@ Income (type INCOME)
</para>
</note>
+ <note>
+ <para>Unlike the gain and ROI columns, the
+ <link linkend="investment-lots-report-column-rc"><guilabel>Realized
+ CAGR</guilabel></link> and
+ <link linkend="investment-lots-report-column-uc"><guilabel>Unrealized
+ CAGR</guilabel></link> columns are left blank in the <guilabel>Grand Total</guilabel>
+ row. A compound annual growth rate is an annualized rate of return rather than a
+ monetary amount, so it cannot be meaningfully summed or averaged across accounts that
+ hold different commodities.
+ </para>
+ </note>
+
<para id="investment-lots-report-options">Report Options
</para>
@@ -2689,6 +2751,34 @@ Income (type INCOME)
disabled. Default: 1 year.
</para>
</listitem>
+
+ <listitem id="investment-lots-report-options-columns-roi">
+ <para><guilabel>Show ROI columns</guilabel>: Show the
+ <link linkend="investment-lots-report-column-rr"><guilabel>Realized
+ ROI</guilabel></link> and
+ <link linkend="investment-lots-report-column-ur"><guilabel>Unrealized
+ ROI</guilabel></link> percentage columns. This option is ignored unless at
+ least one of the
+ <link linkend="investment-lots-report-options-columns-r"><guilabel>Show
+ realized gain columns</guilabel></link> or
+ <link linkend="investment-lots-report-options-columns-u"><guilabel>Show
+ unrealized gain columns</guilabel></link> options is enabled. Default: off.
+ </para>
+ </listitem>
+
+ <listitem id="investment-lots-report-options-columns-cagr">
+ <para><guilabel>Show CAGR columns</guilabel>: Show the
+ <link linkend="investment-lots-report-column-rc"><guilabel>Realized
+ CAGR</guilabel></link> and
+ <link linkend="investment-lots-report-column-uc"><guilabel>Unrealized
+ CAGR</guilabel></link> percentage columns. This option is ignored unless at
+ least one of the
+ <link linkend="investment-lots-report-options-columns-r"><guilabel>Show
+ realized gain columns</guilabel></link> or
+ <link linkend="investment-lots-report-options-columns-u"><guilabel>Show
+ unrealized gain columns</guilabel></link> options is enabled. Default: on.
+ </para>
+ </listitem>
</itemizedlist>
</listitem>
</itemizedlist>
diff --git a/C/manual/figures/Report_Investment_Lots.png b/C/manual/figures/Report_Investment_Lots.png
index 8cc3218e..8a375b9f 100644
Binary files a/C/manual/figures/Report_Investment_Lots.png and b/C/manual/figures/Report_Investment_Lots.png differ
diff --git a/data/C/manual/investment_lots.gnucash b/data/C/manual/investment_lots.gnucash
new file mode 100644
index 00000000..1f9c3c7f
--- /dev/null
+++ b/data/C/manual/investment_lots.gnucash
@@ -0,0 +1,740 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<gnc-v2
+ xmlns:gnc="http://www.gnucash.org/XML/gnc"
+ xmlns:act="http://www.gnucash.org/XML/act"
+ xmlns:book="http://www.gnucash.org/XML/book"
+ xmlns:cd="http://www.gnucash.org/XML/cd"
+ xmlns:cmdty="http://www.gnucash.org/XML/cmdty"
+ xmlns:price="http://www.gnucash.org/XML/price"
+ xmlns:slot="http://www.gnucash.org/XML/slot"
+ xmlns:split="http://www.gnucash.org/XML/split"
+ xmlns:sx="http://www.gnucash.org/XML/sx"
+ xmlns:trn="http://www.gnucash.org/XML/trn"
+ xmlns:ts="http://www.gnucash.org/XML/ts"
+ xmlns:fs="http://www.gnucash.org/XML/fs"
+ xmlns:bgt="http://www.gnucash.org/XML/bgt"
+ xmlns:recurrence="http://www.gnucash.org/XML/recurrence"
+ xmlns:lot="http://www.gnucash.org/XML/lot"
+ xmlns:addr="http://www.gnucash.org/XML/addr"
+ xmlns:owner="http://www.gnucash.org/XML/owner"
+ xmlns:billterm="http://www.gnucash.org/XML/billterm"
+ xmlns:bt-days="http://www.gnucash.org/XML/bt-days"
+ xmlns:bt-prox="http://www.gnucash.org/XML/bt-prox"
+ xmlns:cust="http://www.gnucash.org/XML/cust"
+ xmlns:employee="http://www.gnucash.org/XML/employee"
+ xmlns:entry="http://www.gnucash.org/XML/entry"
+ xmlns:invoice="http://www.gnucash.org/XML/invoice"
+ xmlns:job="http://www.gnucash.org/XML/job"
+ xmlns:order="http://www.gnucash.org/XML/order"
+ xmlns:taxtable="http://www.gnucash.org/XML/taxtable"
+ xmlns:tte="http://www.gnucash.org/XML/tte"
+ xmlns:vendor="http://www.gnucash.org/XML/vendor">
+<gnc:count-data cd:type="book">1</gnc:count-data>
+<gnc:book version="2.0.0">
+<book:id type="guid">f0000000000000000000000000000001</book:id>
+<gnc:count-data cd:type="commodity">1</gnc:count-data>
+<gnc:count-data cd:type="account">6</gnc:count-data>
+<gnc:count-data cd:type="transaction">14</gnc:count-data>
+<gnc:commodity version="2.0.0">
+ <cmdty:space>NYSE</cmdty:space>
+ <cmdty:id>RIO</cmdty:id>
+ <cmdty:name>Rio Tinto</cmdty:name>
+ <cmdty:fraction>10000</cmdty:fraction>
+</gnc:commodity>
+<gnc:commodity version="2.0.0">
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ <cmdty:get_quotes/>
+ <cmdty:quote_source>currency</cmdty:quote_source>
+ <cmdty:quote_tz/>
+</gnc:commodity>
+<gnc:account version="2.0.0">
+ <act:name>Root Account</act:name>
+ <act:id type="guid">aa000000000000000000000000000001</act:id>
+ <act:type>ROOT</act:type>
+ <act:commodity>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </act:commodity>
+ <act:commodity-scu>100</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+ <act:name>Broker</act:name>
+ <act:id type="guid">aa000000000000000000000000000002</act:id>
+ <act:type>ASSET</act:type>
+ <act:commodity>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </act:commodity>
+ <act:commodity-scu>100</act:commodity-scu>
+ <act:description>Broker</act:description>
+ <act:slots>
+ <slot>
+ <slot:key>placeholder</slot:key>
+ <slot:value type="string">true</slot:value>
+ </slot>
+ </act:slots>
+ <act:parent type="guid">aa000000000000000000000000000001</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+ <act:name>RIO</act:name>
+ <act:id type="guid">aa000000000000000000000000000003</act:id>
+ <act:type>STOCK</act:type>
+ <act:commodity>
+ <cmdty:space>NYSE</cmdty:space>
+ <cmdty:id>RIO</cmdty:id>
+ </act:commodity>
+ <act:commodity-scu>10000</act:commodity-scu>
+ <act:description>Rio Tinto</act:description>
+ <act:parent type="guid">aa000000000000000000000000000002</act:parent>
+ <act:lots>
+ <gnc:lot version="2.0.0">
+ <lot:id type="guid">10000000000000000000000000000001</lot:id>
+ <lot:slots>
+ <slot>
+ <slot:key>title</slot:key>
+ <slot:value type="string">Lot 0</slot:value>
+ </slot>
+ </lot:slots>
+ </gnc:lot>
+ <gnc:lot version="2.0.0">
+ <lot:id type="guid">10000000000000000000000000000000</lot:id>
+ <lot:slots>
+ <slot>
+ <slot:key>title</slot:key>
+ <slot:value type="string">Lot 1</slot:value>
+ </slot>
+ </lot:slots>
+ </gnc:lot>
+ </act:lots>
+</gnc:account>
+<gnc:account version="2.0.0">
+ <act:name>Cash</act:name>
+ <act:id type="guid">aa000000000000000000000000000004</act:id>
+ <act:type>BANK</act:type>
+ <act:commodity>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </act:commodity>
+ <act:commodity-scu>100</act:commodity-scu>
+ <act:description>Cash</act:description>
+ <act:parent type="guid">aa000000000000000000000000000001</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+ <act:name>Realized Gains</act:name>
+ <act:id type="guid">aa000000000000000000000000000005</act:id>
+ <act:type>INCOME</act:type>
+ <act:commodity>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </act:commodity>
+ <act:commodity-scu>100</act:commodity-scu>
+ <act:description>Realized Gains</act:description>
+ <act:parent type="guid">aa000000000000000000000000000001</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+ <act:name>Opening Balances</act:name>
+ <act:id type="guid">aa000000000000000000000000000006</act:id>
+ <act:type>EQUITY</act:type>
+ <act:commodity>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </act:commodity>
+ <act:commodity-scu>100</act:commodity-scu>
+ <act:description>Opening Balances</act:description>
+ <act:parent type="guid">aa000000000000000000000000000001</act:parent>
+</gnc:account>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000009</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2020-07-03 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2020-07-03 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Opening Balance</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2020-07-03</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000001</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>-500000/100</split:value>
+ <split:quantity>-500000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000006</split:account>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000002</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>500000/100</split:value>
+ <split:quantity>500000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000001</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2022-02-01 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2022-02-01 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Buy RIO</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2022-02-01</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000003</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Buy</split:action>
+ <split:value>100000/100</split:value>
+ <split:quantity>100000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ <split:lot type="guid">10000000000000000000000000000001</split:lot>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000004</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>-100000/100</split:value>
+ <split:quantity>-100000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000002</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2023-02-03 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2023-02-03 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Sell RIO</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2023-02-03</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000005</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Sell</split:action>
+ <split:value>-83000/100</split:value>
+ <split:quantity>-50000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ <split:lot type="guid">10000000000000000000000000000001</split:lot>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000006</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>83000/100</split:value>
+ <split:quantity>83000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000003</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2023-02-04 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2023-02-04 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Sell RIO</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2023-02-04</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000007</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Sell</split:action>
+ <split:value>-83000/100</split:value>
+ <split:quantity>-50000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ <split:lot type="guid">10000000000000000000000000000001</split:lot>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000008</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>83000/100</split:value>
+ <split:quantity>83000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000004</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2023-02-03 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2023-02-03 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Realized Gain/Loss</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2023-02-03</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000009</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:memo>Realized Gain/Loss</split:memo>
+ <split:value>33000/100</split:value>
+ <split:quantity>0/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ <split:lot type="guid">10000000000000000000000000000001</split:lot>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000000a</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:memo>Realized Gain/Loss</split:memo>
+ <split:value>-33000/100</split:value>
+ <split:quantity>-33000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000005</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000005</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2023-02-04 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2023-02-04 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Realized Gain/Loss</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2023-02-04</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000000b</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:memo>Realized Gain/Loss</split:memo>
+ <split:value>33000/100</split:value>
+ <split:quantity>0/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ <split:lot type="guid">10000000000000000000000000000001</split:lot>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000000c</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:memo>Realized Gain/Loss</split:memo>
+ <split:value>-33000/100</split:value>
+ <split:quantity>-33000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000005</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000006</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2022-02-02 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2022-02-02 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Buy RIO</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2022-02-02</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000000d</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Buy</split:action>
+ <split:value>144000/100</split:value>
+ <split:quantity>120000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ <split:lot type="guid">10000000000000000000000000000000</split:lot>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000000e</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>-144000/100</split:value>
+ <split:quantity>-144000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000007</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2023-10-08 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2023-10-08 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Sell RIO</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2023-10-08</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000000f</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Sell</split:action>
+ <split:value>-108000/100</split:value>
+ <split:quantity>-60000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ <split:lot type="guid">10000000000000000000000000000000</split:lot>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000010</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>108000/100</split:value>
+ <split:quantity>108000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b0000000000000000000000000000008</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2023-10-08 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2023-10-08 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Realized Gain/Loss</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2023-10-08</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000011</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:memo>Realized Gain/Loss</split:memo>
+ <split:value>36000/100</split:value>
+ <split:quantity>0/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ <split:lot type="guid">10000000000000000000000000000000</split:lot>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000012</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:memo>Realized Gain/Loss</split:memo>
+ <split:value>-36000/100</split:value>
+ <split:quantity>-36000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000005</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b000000000000000000000000000000a</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2022-11-01 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2022-11-01 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Buy RIO (unscrubbed)</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2022-11-01</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000013</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Buy</split:action>
+ <split:value>30000/100</split:value>
+ <split:quantity>20000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000014</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>-30000/100</split:value>
+ <split:quantity>-30000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b000000000000000000000000000000b</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2022-11-02 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2022-11-02 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Sell RIO (unscrubbed)</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2022-11-02</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000015</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Sell</split:action>
+ <split:value>-30000/100</split:value>
+ <split:quantity>-20000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000016</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>30000/100</split:value>
+ <split:quantity>30000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b000000000000000000000000000000c</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2022-11-03 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2022-11-03 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Buy RIO (unscrubbed)</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2022-11-03</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000017</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Buy</split:action>
+ <split:value>45000/100</split:value>
+ <split:quantity>30000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000018</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>-45000/100</split:value>
+ <split:quantity>-45000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b000000000000000000000000000000d</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2022-11-04 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2022-11-04 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Sell RIO (unscrubbed)</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2022-11-04</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c0000000000000000000000000000019</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Sell</split:action>
+ <split:value>-15000/100</split:value>
+ <split:quantity>-10000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000001a</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>15000/100</split:value>
+ <split:quantity>15000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:transaction version="2.0.0">
+ <trn:id type="guid">b000000000000000000000000000000e</trn:id>
+ <trn:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </trn:currency>
+ <trn:date-posted>
+ <ts:date>2022-11-07 12:00:00 +0000</ts:date>
+ </trn:date-posted>
+ <trn:date-entered>
+ <ts:date>2022-11-07 12:00:00 +0000</ts:date>
+ </trn:date-entered>
+ <trn:description>Sell RIO (unscrubbed)</trn:description>
+ <trn:slots>
+ <slot>
+ <slot:key>date-posted</slot:key>
+ <slot:value type="gdate">
+ <gdate>2022-11-07</gdate>
+ </slot:value>
+ </slot>
+ </trn:slots>
+ <trn:splits>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000001b</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:action>Sell</split:action>
+ <split:value>-30000/100</split:value>
+ <split:quantity>-20000/10000</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000003</split:account>
+ </trn:split>
+ <trn:split>
+ <split:id type="guid">c000000000000000000000000000001c</split:id>
+ <split:reconciled-state>n</split:reconciled-state>
+ <split:value>30000/100</split:value>
+ <split:quantity>30000/100</split:quantity>
+ <split:account type="guid">aa000000000000000000000000000004</split:account>
+ </trn:split>
+ </trn:splits>
+</gnc:transaction>
+<gnc:pricedb version="1">
+ <price>
+ <price:id type="guid">d0000000000000000000000000000001</price:id>
+ <price:commodity>
+ <cmdty:space>NYSE</cmdty:space>
+ <cmdty:id>RIO</cmdty:id>
+ </price:commodity>
+ <price:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </price:currency>
+ <price:time>
+ <ts:date>2023-10-08 12:00:00 +0000</ts:date>
+ </price:time>
+ <price:source>user:price</price:source>
+ <price:type>last</price:type>
+ <price:value>18000/100</price:value>
+ </price>
+ <price>
+ <price:id type="guid">d0000000000000000000000000000002</price:id>
+ <price:commodity>
+ <cmdty:space>NYSE</cmdty:space>
+ <cmdty:id>RIO</cmdty:id>
+ </price:commodity>
+ <price:currency>
+ <cmdty:space>CURRENCY</cmdty:space>
+ <cmdty:id>USD</cmdty:id>
+ </price:currency>
+ <price:time>
+ <ts:date>2023-11-07 12:00:00 +0000</ts:date>
+ </price:time>
+ <price:source>user:price</price:source>
+ <price:type>last</price:type>
+ <price:value>15000/100</price:value>
+ </price>
+</gnc:pricedb>
+</gnc:book>
+</gnc-v2>
Summary of changes:
C/guide/ch_reports.docbook | 11 +-
C/guide/figures/Report_Investment_Lots.png | Bin 110648 -> 90390 bytes
C/manual/ch_Reports.docbook | 124 ++++-
C/manual/figures/Report_Investment_Lots.png | Bin 110648 -> 90390 bytes
data/C/manual/investment_lots.gnucash | 740 ++++++++++++++++++++++++++++
5 files changed, 858 insertions(+), 17 deletions(-)
create mode 100644 data/C/manual/investment_lots.gnucash
More information about the gnucash-changes
mailing list