Skip to content

Instantly share code, notes, and snippets.

@christopherlam
Created October 6, 2023 15:59
Show Gist options
  • Save christopherlam/49a63b03c8f82d020085ae132c01b706 to your computer and use it in GitHub Desktop.
Save christopherlam/49a63b03c8f82d020085ae132c01b706 to your computer and use it in GitHub Desktop.
diff --git a/gnucash/gnucash-cli.cpp b/gnucash/gnucash-cli.cpp
index 23a8475fc9..a677520eea 100644
--- a/gnucash/gnucash-cli.cpp
+++ b/gnucash/gnucash-cli.cpp
@@ -62,6 +62,8 @@ namespace Gnucash {
boost::optional <std::string> m_namespace;
bool m_verbose = false;
+ bool m_interactive_cmd;
+
boost::optional <std::string> m_report_cmd;
boost::optional <std::string> m_report_name;
boost::optional <std::string> m_export_type;
@@ -107,6 +109,12 @@ Gnucash::GnucashCli::configure_program_options (void)
m_opt_desc_display->add (quotes_options);
m_opt_desc_all.add (quotes_options);
+ bpo::options_description cli_options(_("CLI Options"));
+ cli_options.add_options()
+ ("interactive,I", bpo::bool_switch (&m_interactive_cmd), "Interactive CLI");
+ m_opt_desc_display->add (cli_options);
+ m_opt_desc_all.add (cli_options);
+
bpo::options_description report_options(_("Report Generation Options"));
report_options.add_options()
("report,R", bpo::value (&m_report_cmd),
@@ -126,11 +134,43 @@ may be specified to describe some saved options.\n"
}
+#include "gnc-session.h"
+#include "gnc-prefs-utils.h"
+#include "libguile.h"
+
+static void
+scm_run_cli (void *data, [[maybe_unused]] int argc, [[maybe_unused]] char **argv)
+{
+ scm_c_use_module ("gnucash core-utils");
+ scm_c_use_module ("gnucash engine");
+ scm_c_use_module ("gnucash app-utils");
+ scm_c_use_module ("gnucash report");
+ scm_c_use_module ("system repl repl");
+ scm_c_use_module ("ice-9 readline");
+ scm_c_eval_string ("(activate-readline)");
+ scm_c_eval_string ("(start-repl)");
+}
+
int
Gnucash::GnucashCli::start ([[maybe_unused]] int argc, [[maybe_unused]] char **argv)
{
Gnucash::CoreApp::start();
+ if (m_interactive_cmd)
+ {
+ gnc_prefs_init ();
+ if (m_file_to_load)
+ {
+ std::cout << "Loading (readonly): " << *m_file_to_load << std::endl;
+ auto session = gnc_get_current_session();
+ qof_session_begin (session, m_file_to_load->c_str(), SESSION_READ_ONLY);
+ qof_session_load (session, NULL);
+ };
+
+ scm_boot_guile (0, nullptr, scm_run_cli, nullptr);
+ return 0; // never reached
+ }
+
if (!m_quotes_cmd.empty())
{
if (m_quotes_cmd.front() == "info")
RESULT
chris:~/sources/gnucash [env]$ ./stable-install/bin/gnucash-cli ~/GNC-tests/797796.gnucash -I
Loading (readonly): /home/chris/GNC-tests/797796.gnucash
GNU Guile 3.0.9
Copyright (C) 1995-2023 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (gnc:dump-book)
(gnc:dump-book)
Account 6549ee1d: Assets Comm<CAD> Type<Asset>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 21e58c1f: Assets.Broker Account Comm<CAD> Type<Asset>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account ca81bd6e: Assets.Broker Account.SPY Comm<SPY> Type<Stock>
n Split d0a27c9c: 07/01/19 Amt<0 SPY> Val<CA$9.95> Desc<BUY SPY> Action<Fee> Memo<Commissions>
n Split ce988402: 07/01/19 Amt<100 SPY> Val<CA$20,000.00> Desc<BUY SPY> Action<Buy> Memo<Gross cost>
n Split 882c493a: 12/11/19 Amt<0 SPY> Val<CA$9.95> Desc<BUY SPY> Action<Fee> Memo<Commissions>
n Split ed970669: 12/11/19 Amt<50 SPY> Val<CA$16,000.00> Desc<BUY SPY> Action<Buy> Memo<Gross cost>
n Split 9aa3ffc0: 03/18/20 Amt<-75 SPY> Val<-CA$12,000.00> Desc<SELL SPY> Action<Sell> Memo<Gross proceeds>
n Split 1e5bba8a: 03/18/20 Amt<0 SPY> Val<-CA$6,009.95> Desc<SELL SPY> Memo<Gross profit/loss>
n Split 1100c2b5: 04/01/20 Amt<0 SPY> Val<CA$9.95> Desc<BUY SPY> Action<Fee> Memo<Commissions>
n Split bac8ca01: 04/01/20 Amt<250 SPY> Val<CA$42,000.00> Desc<BUY SPY> Action<Buy> Memo<Gross cost>
n Split be55c38f: 04/16/20 Amt<0 SPY> Val<-CA$2,500.00> Desc<Return of Capital> Memo<Gross proceeds>
n Split 94a3dbbe: 05/02/20 Amt<0 SPY> Val<CA$0.00> Desc<BUY SPY> Action<Fee> Memo<Commissions>
n Split ac6b89e0: 05/02/20 Amt<125 SPY> Val<CA$47,500.00> Desc<BUY SPY> Action<Buy> Memo<Gross cost>
n Split 38c93e3f: 05/11/20 Amt<450 SPY> Val<CA$0.00> Desc<Stock Split 2:1> Action<Buy>
n Split 7c56b6c1: 05/21/20 Amt<-135 SPY> Val<-CA$21,500.00> Desc<SELL SPY> Action<Sell> Memo<Gross proceeds>
n Split 9f8dc763: 05/21/20 Amt<0 SPY> Val<CA$5,747.02> Desc<SELL SPY> Memo<Gross profit/loss>
n Split 8ccf155e: 06/03/20 Amt<0 SPY> Val<CA$0.00> Desc<BUY SPY> Action<Fee> Memo<Commissions>
n Split 6b67f7c8: 06/03/20 Amt<150 SPY> Val<CA$21,000.00> Desc<BUY SPY> Action<Buy> Memo<Gross cost>
n Split 66050828: 06/10/20 Amt<-915 SPY> Val<-CA$128,100.00> Desc<SELL SPY> Action<Sell> Memo<Gross proceeds>
n Split 603cf43d: 06/10/20 Amt<0 SPY> Val<CA$17,833.09> Desc<SELL SPY> Memo<Gross profit/loss>
n Split 7a13e40d: 06/10/20 Amt<0 SPY> Val<CA$9.95> Desc<SELL SPY Short> Action<Fee> Memo<Commissions>
n Split f32c2c7b: 06/10/20 Amt<-85 SPY> Val<-CA$11,900.00> Desc<SELL SPY Short> Action<Sell> Memo<Gross proceeds>
n Split 3e5ca2ad: 06/15/20 Amt<0 SPY> Val<CA$9.95> Desc<SELL SPY Short> Action<Fee> Memo<Commissions>
n Split b004be85: 06/15/20 Amt<-65 SPY> Val<-CA$11,050.00> Desc<SELL SPY Short> Action<Sell> Memo<Gross proceeds>
n Split 25e5f560: 06/16/20 Amt<50 SPY> Val<CA$5,000.00> Desc<BUY SPY Close Short> Action<Buy> Memo<Gross proceeds>
n Split 874609a3: 06/16/20 Amt<0 SPY> Val<CA$2,643.37> Desc<BUY SPY Close Short> Memo<Gross profit/loss>
n Split 0322b13b: 06/17/20 Amt<-100 SPY> Val<CA$0.00> Desc<Stock Split 2:1> Action<Sell>
n Split 0f69e7dc: 06/18/20 Amt<100 SPY> Val<CA$0.00> Desc<Reverse Stock Split 1:2> Action<Buy>
n Split 793d3e60: 06/19/20 Amt<0 SPY> Val<CA$0.00> Desc<Compensatory dividend payment>
n Split 98b30508: 06/19/20 Amt<0 SPY> Val<CA$2,500.00> Desc<Compensatory Return of Capital>
n Split ede24e34: 06/19/20 Amt<0 SPY> Val<-CA$200.00> Desc<Compensatory Notional Distribution> Memo<Gross notional cost>
n Split 1acd7d3d: 06/20/20 Amt<100 SPY> Val<CA$8,000.00> Desc<BUY SPY Close Short> Action<Buy> Memo<Gross proceeds>
n Split 44edacd1: 06/20/20 Amt<0 SPY> Val<CA$4,986.73> Desc<BUY SPY Close Short> Memo<Gross profit/loss>
n Split 6ffaa2ad: 06/20/20 Amt<0 SPY> Val<CA$4.98> Desc<BUY SPY> Action<Fee> Memo<Commissions>
n Split 2753f607: 06/20/20 Amt<100 SPY> Val<CA$8,000.00> Desc<BUY SPY> Action<Buy> Memo<Gross proceeds>
n Split bd10f70e: 06/21/20 Amt<0 SPY> Val<CA$0.00> Desc<Dividend>
n Split 26bb4e6b: 06/25/20 Amt<1 SPY> Val<CA$100.00> Desc<Partially Reinvested Dividend> Action<Buy> Memo<Gross cost>
n Split 869ada2e: 06/26/20 Amt<0 SPY> Val<CA$0.00> Desc<Reverse Stock Split 1:2 -- redeem remainder 1 share (cash in lieu)> Action<Fee> Memo<Commissions>
n Split 5ee16547: 06/26/20 Amt<-1 SPY> Val<-CA$100.00> Desc<Reverse Stock Split 1:2 -- redeem remainder 1 share (cash in lieu)> Action<Sell> Memo<Gross proceeds>
n Split 4cdadd23: 06/26/20 Amt<0 SPY> Val<CA$19.75> Desc<Reverse Stock Split 1:2 -- redeem remainder 1 share (cash in lieu)> Action<Buy> Memo<Gross profit/loss>
n Split bbd25802: 06/26/20 Amt<-50 SPY> Val<CA$0.00> Desc<Reverse Stock Split 1:2> Action<Sell>
n Split 446e5146: 06/27/20 Amt<0 SPY> Val<CA$100.00> Desc<Notional Distribution> Memo<Gross notional proceeds>
Balance: 50 SPY Cleared: 0 SPY Reconciled: 0 SPY
Account 441dc981: Assets.Broker Account.CAD Cash Comm<CAD> Type<Asset>
n Split 8585b544: 04/29/20 Amt<CA$100,000.00> Val<CA$100,000.00> Desc<Fund trading account>
n Split c912dde6: 05/03/20 Amt<-CA$100,000.00> Val<-CA$100,000.00> Desc<Convert CAD to USD>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 553e6e0c: Assets.Broker Account.USD Cash Comm<USD> Type<Asset>
n Split 7030cd96: 07/01/19 Amt<-US$20,009.95> Val<-CA$20,009.95> Desc<BUY SPY> Memo<Net cost>
n Split 9e7304aa: 12/11/19 Amt<-US$16,009.95> Val<-CA$16,009.95> Desc<BUY SPY> Memo<Net cost>
n Split 7c7f2fe8: 03/18/20 Amt<US$11,990.05> Val<CA$11,990.05> Desc<SELL SPY> Memo<Net proceeds>
n Split 0a61ba39: 04/01/20 Amt<-US$42,009.95> Val<-CA$42,009.95> Desc<BUY SPY> Memo<Net cost>
n Split 5346819c: 04/16/20 Amt<US$2,500.00> Val<CA$2,500.00> Desc<Return of Capital> Memo<Gross proceeds>
n Split 8aee6149: 05/02/20 Amt<-US$47,500.00> Val<-CA$47,500.00> Desc<BUY SPY> Action<Sell> Memo<Gross cost>
n Split bdd25dde: 05/03/20 Amt<US$85,000.00> Val<CA$100,000.00> Desc<Convert CAD to USD>
n Split 1e742c3a: 05/21/20 Amt<US$21,490.05> Val<CA$21,490.05> Desc<SELL SPY> Memo<Net proceeds>
n Split 367bfa57: 06/03/20 Amt<-US$21,000.00> Val<-CA$21,000.00> Desc<BUY SPY> Memo<Gross cost>
n Split ed55318d: 06/10/20 Amt<US$128,090.05> Val<CA$128,090.05> Desc<SELL SPY> Memo<Net proceeds>
n Split abd76f16: 06/10/20 Amt<US$11,890.05> Val<CA$11,890.05> Desc<SELL SPY Short> Memo<Net proceeds>
n Split 61065fdf: 06/15/20 Amt<US$11,040.05> Val<CA$11,040.05> Desc<SELL SPY Short> Memo<Net proceeds>
n Split f07c11f6: 06/16/20 Amt<-US$5,009.95> Val<-CA$5,009.95> Desc<BUY SPY Close Short> Memo<Net proceeds>
n Split a9b28fc9: 06/19/20 Amt<-US$500.00> Val<-CA$500.00> Desc<Compensatory dividend payment>
n Split 446ccfbb: 06/19/20 Amt<-US$2,500.00> Val<-CA$2,500.00> Desc<Compensatory Return of Capital>
n Split dc2c7efa: 06/19/20 Amt<US$0.00> Val<CA$0.00> Desc<Compensatory Notional Distribution> Memo<No cash impact since it is all notional>
n Split 4e209a90: 06/20/20 Amt<-US$8,004.98> Val<-CA$8,004.98> Desc<BUY SPY Close Short> Memo<Net proceeds>
n Split f2843ada: 06/20/20 Amt<-US$8,004.98> Val<-CA$8,004.98> Desc<BUY SPY> Memo<Net cost>
n Split 76b2d6d1: 06/21/20 Amt<US$70.00> Val<CA$70.00> Desc<Dividend>
n Split 8ef92c04: 06/25/20 Amt<US$10.00> Val<CA$10.00> Desc<Partially Reinvested Dividend> Action<Buy> Memo<Net proceeds>
n Split 5dc53589: 06/26/20 Amt<US$100.00> Val<CA$100.00> Desc<Reverse Stock Split 1:2 -- redeem remainder 1 share (cash in lieu)> Memo<Net proceeds>
n Split 048030ad: 06/27/20 Amt<US$0.00> Val<CA$0.00> Desc<Notional Distribution> Memo<No cash impact since it is all notional>
Balance: US$101,630.49 Cleared: US$0.00 Reconciled: US$0.00
Account 14931c78: Assets.Current Assets Comm<CAD> Type<Asset>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 4aa44b8e: Assets.Current Assets.AUD Comm<AUD> Type<Asset>
n Split 7079f3d3: 05/18/23 Amt<-$63.00> Val<-$63.00> Desc<Wesfarmers>
n Split 37046afc: 05/18/23 Amt<-$52.40> Val<-$52.40> Desc<vibe>
n Split 32980b61: 05/19/23 Amt<-$0.35> Val<-$0.35> Desc<Easypark>
Balance: -$115.75 Cleared: $0.00 Reconciled: $0.00
Account 011b1ed4: Assets.Current Assets.Checking Account Comm<CAD> Type<Bank>
n Split 8567d2c5: 04/29/20 Amt<-CA$100,000.00> Val<-CA$100,000.00> Desc<Fund trading account>
n Split c11dbdc5: 05/01/20 Amt<CA$200,000.00> Val<CA$200,000.00> Desc<Opening Cash>
Balance: CA$100,000.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account acc9b41b: Income Comm<CAD> Type<Income>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 0a807d93: Income.USD Capital Gain Comm<USD> Type<Income>
n Split 20af5697: 03/18/20 Amt<US$6,009.95> Val<CA$6,009.95> Desc<SELL SPY> Memo<Gross profit/loss>
n Split 1feaf3ce: 05/21/20 Amt<-US$5,747.02> Val<-CA$5,747.02> Desc<SELL SPY> Memo<Gross profit/loss>
n Split 7db26461: 06/10/20 Amt<-US$17,833.09> Val<-CA$17,833.09> Desc<SELL SPY> Memo<Gross profit/loss>
n Split 0654a60c: 06/16/20 Amt<-US$2,643.37> Val<-CA$2,643.37> Desc<BUY SPY Close Short> Memo<Gross profit/loss>
n Split 0f716256: 06/20/20 Amt<-US$4,986.73> Val<-CA$4,986.73> Desc<BUY SPY Close Short> Action<Sell> Memo<Gross profit/loss>
n Split 3f723efb: 06/26/20 Amt<-US$19.75> Val<-CA$19.75> Desc<Reverse Stock Split 1:2 -- redeem remainder 1 share (cash in lieu)> Memo<Gross profit/loss>
Balance: -US$25,220.01 Cleared: US$0.00 Reconciled: US$0.00
Account 09c48452: Income.USD Dividends Comm<USD> Type<Income>
n Split f26457f1: 06/19/20 Amt<US$500.00> Val<CA$500.00> Desc<Compensatory dividend payment> Action<Dividend>
n Split 63bad4a6: 06/19/20 Amt<US$200.00> Val<CA$200.00> Desc<Compensatory Notional Distribution> Memo<Gross notional cost>
n Split 635e49eb: 06/21/20 Amt<-US$70.00> Val<-CA$70.00> Desc<Dividend> Action<Dividend>
n Split e8a25f38: 06/25/20 Amt<-US$110.00> Val<-CA$110.00> Desc<Partially Reinvested Dividend> Action<Dividend> Memo<Gross dividend>
n Split 70793dc7: 06/27/20 Amt<-US$100.00> Val<-CA$100.00> Desc<Notional Distribution> Memo<Gross notional proceeds>
Balance: US$420.00 Cleared: US$0.00 Reconciled: US$0.00
Account 81d69951: Expenses Comm<CAD> Type<Expense>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 337438fa: Expenses.AUD costs ????? Comm<AUD> Type<Expense>
n Split 2a592f6a: 05/18/23 Amt<$22.00> Val<$22.00> Desc<Wesfarmers>
n Split cd111aa3: 05/18/23 Amt<$52.40> Val<$52.40> Desc<vibe>
n Split 4f34c2e6: 05/19/23 Amt<$0.10> Val<$0.10> Desc<Easypark>
Balance: $74.50 Cleared: $0.00 Reconciled: $0.00
Account c38dd4d0: Expenses.AUD fees ??????? Comm<AUD> Type<Expense>
n Split 6326a936: 05/18/23 Amt<$12.00> Val<$12.00> Desc<Wesfarmers>
n Split e16917f9: 05/19/23 Amt<$0.25> Val<$0.25> Desc<Easypark>
Balance: $12.25 Cleared: $0.00 Reconciled: $0.00
Account 996766e8: Expenses.USD Commissions Comm<USD> Type<Expense>
n Split a82bcb70: 03/18/20 Amt<US$9.95> Val<CA$9.95> Desc<SELL SPY> Action<Fee> Memo<Commissions>
n Split 12afcd58: 05/21/20 Amt<US$9.95> Val<CA$9.95> Desc<SELL SPY> Action<Fee> Memo<Commissions>
n Split 31e3925c: 06/10/20 Amt<US$9.95> Val<CA$9.95> Desc<SELL SPY> Action<Fee> Memo<Commissions>
n Split 374a9211: 06/16/20 Amt<US$9.95> Val<CA$9.95> Desc<BUY SPY Close Short> Action<Fee> Memo<Commissions>
n Split 5da39d42: 06/20/20 Amt<US$4.98> Val<CA$4.98> Desc<BUY SPY Close Short> Action<Fee> Memo<Commissions>
Balance: US$44.78 Cleared: US$0.00 Reconciled: US$0.00
Account ebf478af: Equity Comm<CAD> Type<Equity>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 56075df1: Equity.Opening Balances Comm<CAD> Type<Equity>
n Split 6619cafb: 05/01/20 Amt<-CA$200,000.00> Val<-CA$200,000.00> Desc<Opening Cash>
Balance: -CA$200,000.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account dd05a8ee: Trading Comm<CAD> Type<Trading>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account bb09a82d: Trading.CURRENCY Comm<CAD> Type<Trading>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 122c31a4: Trading.CURRENCY.CAD Comm<CAD> Type<Trading>
n Split 994db99b: 05/03/20 Amt<CA$100,000.00> Val<CA$100,000.00> Desc<Convert CAD to USD>
Balance: CA$100,000.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 3471483c: Trading.CURRENCY.USD Comm<USD> Type<Trading>
n Split f59bb156: 07/01/19 Amt<US$20,009.95> Val<CA$20,009.95> Desc<BUY SPY> Memo<Net cost>
n Split c4528093: 12/11/19 Amt<US$16,009.95> Val<CA$16,009.95> Desc<BUY SPY> Memo<Net cost>
n Split 0d4a0cff: 03/18/20 Amt<-US$18,009.95> Val<-CA$18,009.95> Desc<SELL SPY> Memo<Cost basis>
n Split 11544939: 04/01/20 Amt<US$42,009.95> Val<CA$42,009.95> Desc<BUY SPY> Memo<Net cost>
n Split 3743f3eb: 04/16/20 Amt<-US$2,500.00> Val<-CA$2,500.00> Desc<Return of Capital>
n Split 1d88d820: 05/02/20 Amt<US$47,500.00> Val<CA$47,500.00> Desc<BUY SPY>
n Split ed3492de: 05/03/20 Amt<-US$85,000.00> Val<-CA$100,000.00> Desc<Convert CAD to USD>
n Split 099f528b: 05/21/20 Amt<-US$15,752.98> Val<-CA$15,752.98> Desc<SELL SPY> Memo<Cost basis>
n Split ab20459d: 06/03/20 Amt<US$21,000.00> Val<CA$21,000.00> Desc<BUY SPY> Memo<Gross cost>
n Split 392072b2: 06/10/20 Amt<-US$110,266.91> Val<-CA$110,266.91> Desc<SELL SPY> Memo<Cost basis>
n Split 24e237b5: 06/10/20 Amt<-US$11,890.05> Val<-CA$11,890.05> Desc<SELL SPY Short> Memo<Net proceeds>
n Split 76c34f8c: 06/15/20 Amt<-US$11,040.05> Val<-CA$11,040.05> Desc<SELL SPY Short> Memo<Net proceeds>
n Split b35dce3f: 06/16/20 Amt<US$7,643.37> Val<CA$7,643.37> Desc<BUY SPY Close Short> Memo<Cost basis>
n Split ec18759b: 06/19/20 Amt<US$2,500.00> Val<CA$2,500.00> Desc<Compensatory Return of Capital>
n Split 26a67b92: 06/19/20 Amt<-US$200.00> Val<-CA$200.00> Desc<Compensatory Notional Distribution>
n Split df19a9d7: 06/20/20 Amt<US$12,986.73> Val<CA$12,986.73> Desc<BUY SPY Close Short> Memo<Cost basis>
n Split 879c0a7a: 06/20/20 Amt<US$8,004.98> Val<CA$8,004.98> Desc<BUY SPY> Memo<Net cost>
n Split 2357fabe: 06/25/20 Amt<US$100.00> Val<CA$100.00> Desc<Partially Reinvested Dividend>
n Split ec0a4e14: 06/26/20 Amt<-US$80.25> Val<-CA$80.25> Desc<Reverse Stock Split 1:2 -- redeem remainder 1 share (cash in lieu)>
n Split f4fbcf48: 06/27/20 Amt<US$100.00> Val<CA$100.00> Desc<Notional Distribution>
Balance: -US$76,875.26 Cleared: US$0.00 Reconciled: US$0.00
Account 9ffd1ee5: Trading.NYSE Comm<CAD> Type<Trading>
Balance: CA$0.00 Cleared: CA$0.00 Reconciled: CA$0.00
Account 52d51d89: Trading.NYSE.SPY Comm<SPY> Type<Trading>
n Split 35c68e9b: 07/01/19 Amt<-100 SPY> Val<-CA$20,009.95> Desc<BUY SPY> Memo<Net cost>
n Split 18ff4f49: 12/11/19 Amt<-50 SPY> Val<-CA$16,009.95> Desc<BUY SPY> Memo<Net cost>
n Split 6fbc997b: 03/18/20 Amt<75 SPY> Val<CA$18,009.95> Desc<SELL SPY> Memo<Cost basis>
n Split 237738fa: 04/01/20 Amt<-250 SPY> Val<-CA$42,009.95> Desc<BUY SPY> Memo<Net cost>
n Split 2f0ad0ca: 04/16/20 Amt<0 SPY> Val<CA$2,500.00> Desc<Return of Capital>
n Split 9b911129: 05/02/20 Amt<-125 SPY> Val<-CA$47,500.00> Desc<BUY SPY>
n Split 7f327231: 05/11/20 Amt<-450 SPY> Val<CA$0.00> Desc<Stock Split 2:1>
n Split 35312431: 05/21/20 Amt<135 SPY> Val<CA$15,752.98> Desc<SELL SPY> Memo<Cost basis>
n Split c7afe981: 06/03/20 Amt<-150 SPY> Val<-CA$21,000.00> Desc<BUY SPY> Memo<Gross cost>
n Split bc14e6db: 06/10/20 Amt<915 SPY> Val<CA$110,266.91> Desc<SELL SPY> Memo<Cost basis>
n Split 512630b5: 06/10/20 Amt<85 SPY> Val<CA$11,890.05> Desc<SELL SPY Short> Memo<Net proceeds>
n Split d66a2159: 06/15/20 Amt<65 SPY> Val<CA$11,040.05> Desc<SELL SPY Short> Memo<Net proceeds>
n Split 08c56594: 06/16/20 Amt<-50 SPY> Val<-CA$7,643.37> Desc<BUY SPY Close Short> Memo<Cost basis>
n Split 2a22e719: 06/17/20 Amt<100 SPY> Val<CA$0.00> Desc<Stock Split 2:1>
n Split d51d610c: 06/18/20 Amt<-100 SPY> Val<CA$0.00> Desc<Reverse Stock Split 1:2>
n Split bd420058: 06/19/20 Amt<0 SPY> Val<-CA$2,500.00> Desc<Compensatory Return of Capital>
n Split a2cdc506: 06/19/20 Amt<0 SPY> Val<CA$200.00> Desc<Compensatory Notional Distribution>
n Split 68a4de91: 06/20/20 Amt<-100 SPY> Val<-CA$12,986.73> Desc<BUY SPY Close Short> Memo<Cost basis>
n Split 2d640c7c: 06/20/20 Amt<-100 SPY> Val<-CA$8,004.98> Desc<BUY SPY> Memo<Net cost>
n Split 9f5b6b5b: 06/25/20 Amt<-1 SPY> Val<-CA$100.00> Desc<Partially Reinvested Dividend>
n Split 1922e025: 06/26/20 Amt<1 SPY> Val<CA$80.25> Desc<Reverse Stock Split 1:2 -- redeem remainder 1 share (cash in lieu)>
n Split 9b148ae0: 06/26/20 Amt<50 SPY> Val<CA$0.00> Desc<Reverse Stock Split 1:2>
n Split af71b75e: 06/27/20 Amt<0 SPY> Val<-CA$100.00> Desc<Notional Distribution>
Balance: -50 SPY Cleared: 0 SPY Reconciled: 0 SPY
Account f717793f: Imbalance-AUD Comm<AUD> Type<Bank>
n Split 063b8971: 05/18/23 Amt<$29.00> Val<$29.00> Desc<Wesfarmers>
Balance: $29.00 Cleared: $0.00 Reconciled: $0.00
Account 5855ea87: ??-AUD Comm<AUD> Type<Bank>
Balance: $0.00 Cleared: $0.00 Reconciled: $0.00
scheme@(guile-user)>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment