Doable...
On Fri, 3 Jan 2020 at 11:56, Christopher Lam <[email protected]>
wrote:
> This is a nice hack.
>
> It would be even a nicer hack that the transaction report automatically
> inserts the balance brought forward on the same row as the account name. I
> suspect this is doable.
>
> On Fri, 3 Jan 2020, 3:10 pm david whiting, <[email protected]> wrote:
>
>> What I do is add a transaction on the first date of the new period with
>> the
>> transaction reference "Balance carried forward" with nothing in the
>> credit/debit columns. Then a transaction report with running balance has
>> "Balance carried forward" as the first transaction and the running balance
>> shows the amount carried forward. See attached example (our club financial
>> year runs from 1st August to 31st July).
>>
>> David
>>
>> On Thu, 2 Jan 2020, 23:17 Michael or Penny Novack, <
>> [email protected]> wrote:
>>
>> > On 1/2/2020 5:33 PM, Christopher Lam wrote:
>> > > If it's a single-creditor liability account, you could try adding the
>> > > Display/Running Balance. However it doesn't quite give you the
>> 'balance
>> > > brought forward' prior to the first printed transaction.
>> > >
>> > I will tell you how I would do this. It would be easy for me, because I
>> > don't insist that that the final printed version be printed from within
>> > gnucash.
>> >
>> > I would use the suggestion above, but set the date range to include the
>> > last transaction before. I would export the resulting report.. I would
>> > then edit the date of that last transaction to be the start date, change
>> > its description to "opening balance" and it's amount to zero/blank << it
>> > is the running balance after this transaction that is the starting
>> > balance >>
>> >
>> > I would then print THAT (or send THAT by electronic means
>> >
>> > Michael D Novack
>> >
>> >
>> > _______________________________________________
>> > gnucash-user mailing list
>> > [email protected]
>> > To update your subscription preferences or to unsubscribe:
>> > https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> > If you are using Nabble or Gmane, please see
>> > https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>> > -----
>> > Please remember to CC this list on all your replies.
>> > You can do this by using Reply-To-List or Reply-All.
>> >
>> _______________________________________________
>> gnucash-user mailing list
>> [email protected]
>> To update your subscription preferences or to unsubscribe:
>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> If you are using Nabble or Gmane, please see
>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>> -----
>> Please remember to CC this list on all your replies.
>> You can do this by using Reply-To-List or Reply-All.
>>
>
Transaction Report
From 14/12/19 to 31/12/20
Date Num Description Memo/Notes Account Amount Running Balance
Bank-GBP £1,275.00
14/12/19 Customer-GBP Bank-GBP [1]-£66.00 [2]£1,209.00
14/12/19 num Customer-GBP memo1 Bank-GBP [3]£10.00 [4]£1,219.00
14/12/19 Customer-GBP Bank-GBP [5]£10.00 [6]£1,229.00
21/12/19 Customer-GBP Bank-GBP [7]£95.00 [8]£1,324.00
31/12/19 inv-pmt-num Cust-Easy inv-pmt-memo - $100 in GBP Bank-GBP
[9]£71.43 [10]£1,395.43
Total For Bank-GBP £120.43
Bank-USD $961.80
14/12/19 Vend-USD Bank-USD [11]$100.00 [12]$1,061.80
23/12/19 num-is-identical Cust-Easy split-memo-from-bank Bank-USD
[13]$100.00 [14]$1,161.80
24/12/19 P-101 Cust-Links Bank-USD [15]-$80.00 [16]$1,081.80
24/12/19 P-100 Cust-Links Bank-USD [17]$80.00 [18]$1,161.80
25/12/19 Cust-Links memo Bank-USD [19]$36.00 [20]$1,197.80
31/12/19 inv-pmt-num Cust-Easy inv-pmt-memo - $15 Bank-USD [21]$15.00
[22]$1,212.80
02/01/20 pmt-num Cust-Easy bank-memo Bank-USD [23]$304.25 [24]$1,517.05
Total For Bank-USD $555.25
__________________________________________________________________
Grand Total $555.25
£120.43
References
1. gnc-register:split-guid=b268ff596c8e47f59d20d21f39eb4203
2. gnc-register:split-guid=b268ff596c8e47f59d20d21f39eb4203
3. gnc-register:split-guid=fe2e392ffdc84c8f874f1bc0d79c3e75
4. gnc-register:split-guid=fe2e392ffdc84c8f874f1bc0d79c3e75
5. gnc-register:split-guid=105167d4cc31453d9770d84cd7c9cf7e
6. gnc-register:split-guid=105167d4cc31453d9770d84cd7c9cf7e
7. gnc-register:split-guid=e8f7d0f441d2408ebef8fff5d2120f48
8. gnc-register:split-guid=e8f7d0f441d2408ebef8fff5d2120f48
9. gnc-register:split-guid=baf7b2f7eab04a2e8cf4771280d938fc
10. gnc-register:split-guid=baf7b2f7eab04a2e8cf4771280d938fc
11. gnc-register:split-guid=aba54ee0c28b4157bb76d330c90906e8
12. gnc-register:split-guid=aba54ee0c28b4157bb76d330c90906e8
13. gnc-register:split-guid=bfd9796a84264ca98a53a76bd004c464
14. gnc-register:split-guid=bfd9796a84264ca98a53a76bd004c464
15. gnc-register:split-guid=179dca0494064776a63b992e16c4f719
16. gnc-register:split-guid=179dca0494064776a63b992e16c4f719
17. gnc-register:split-guid=5c2adb36f01e42e39aced737383a6fa8
18. gnc-register:split-guid=5c2adb36f01e42e39aced737383a6fa8
19. gnc-register:split-guid=70fb905d20fa4f20a467174a711aaeb0
20. gnc-register:split-guid=70fb905d20fa4f20a467174a711aaeb0
21. gnc-register:split-guid=c6e62fce27b34c4fb183ad59839b15f3
22. gnc-register:split-guid=c6e62fce27b34c4fb183ad59839b15f3
23. gnc-register:split-guid=477a1cf349554393a9a3f32e16304ba2
24. gnc-register:split-guid=477a1cf349554393a9a3f32e16304ba2
diff --git a/gnucash/report/report-system/trep-engine.scm b/gnucash/report/report-system/trep-engine.scm
index 5e83d506d..922897430 100644
--- a/gnucash/report/report-system/trep-engine.scm
+++ b/gnucash/report/report-system/trep-engine.scm
@@ -1033,7 +1033,8 @@ be excluded from periodic reporting.")
;; ;;;;;;;;;;;;;;;;;;;;
;; Here comes the big function that builds the whole table.
-(define (make-split-table splits options custom-calculated-cells)
+(define (make-split-table splits options custom-calculated-cells
+ begindate)
(define (opt-val section name)
(let ((option (gnc:lookup-option options section name)))
@@ -1120,6 +1121,11 @@ be excluded from periodic reporting.")
'multi-line))
(export? (opt-val gnc:pagename-general optname-table-export)))
+ (define (acc-reverse? acc)
+ (if account-types-to-reverse
+ (memv (xaccAccountGetType acc) account-types-to-reverse)
+ (gnc-reverse-balance acc)))
+
(define (column-uses? param)
(cdr (assq param used-columns)))
@@ -1351,7 +1357,7 @@ be excluded from periodic reporting.")
(if (column-uses? 'running-balance)
(list (vector (_ "Running Balance")
running-balance #t #f #f
- (lambda (a) "")))
+ #f xaccAccountGetBalanceAsOfDate))
'()))))
(define calculated-cells
@@ -1406,29 +1412,36 @@ be excluded from periodic reporting.")
table subheading-style
(append
(gnc:html-make-empty-cells left-indent)
- (if (and (opt-val pagename-sorting optname-show-informal-headers)
- (column-uses? 'amount-double)
- (memq sortkey SORTKEY-INFORMAL-HEADERS))
- (append
- (if export?
- (cons
- (gnc:make-html-table-cell data)
- (gnc:html-make-empty-cells
- (+ right-indent width-left-columns -1)))
- (list
- (gnc:make-html-table-cell/size
- 1 (+ right-indent width-left-columns) data)))
- (map (lambda (cell)
- (let ((friendly-fn (vector-ref cell 5)))
- (and friendly-fn
- (gnc:make-html-text
- (gnc:html-markup-b
- (friendly-fn (renderer-fn split)))))))
- calculated-cells))
+ (if export?
+ (cons
+ (gnc:make-html-table-cell data)
+ (gnc:html-make-empty-cells
+ (+ right-indent width-left-columns -1)))
(list
(gnc:make-html-table-cell/size
- 1 (+ right-indent width-left-columns width-right-columns)
- data))))))))
+ 1 (+ right-indent width-left-columns) data)))
+ (map
+ (lambda (cell)
+ (cond
+ ((vector-ref cell 5) =>
+ (lambda (friendly-fn)
+ (and (opt-val pagename-sorting optname-show-informal-headers)
+ (column-uses? 'amount-double)
+ (memq sortkey SORTKEY-INFORMAL-HEADERS)
+ (gnc:make-html-text
+ (gnc:html-markup-b
+ (friendly-fn (xaccSplitGetAccount split)))))))
+ ((vector-ref cell 6) =>
+ (lambda (running-bal-fn)
+ (let* ((acc (xaccSplitGetAccount split))
+ (bal (running-bal-fn acc begindate))
+ (rev? (acc-reverse? acc)))
+ (gnc:make-html-table-cell/markup
+ "number-cell"
+ (gnc:make-gnc-monetary
+ (xaccAccountGetCommodity acc)
+ (if rev? (- bal) bal))))))))
+ calculated-cells))))))
(define (add-subtotal-row subtotal-string subtotal-collectors
subtotal-style level row col)
@@ -1605,10 +1618,7 @@ be excluded from periodic reporting.")
(define (add-split-row split cell-calculators row-style transaction-row?)
(let* ((account (xaccSplitGetAccount split))
- (reversible-account? (if account-types-to-reverse
- (memv (xaccAccountGetType account)
- account-types-to-reverse)
- (gnc-reverse-balance account)))
+ (reversible-account? (acc-reverse? account))
(cells (map (lambda (cell)
(let ((split->monetary (vector-ref cell 1)))
(vector (split->monetary split)
@@ -2173,7 +2183,8 @@ be excluded from periodic reporting.")
(else
(let-values (((table grid csvlist)
- (make-split-table splits options custom-calculated-cells)))
+ (make-split-table splits options custom-calculated-cells
+ begindate)))
(gnc:html-document-set-title! document report-title)
_______________________________________________
gnucash-user mailing list
[email protected]
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
If you are using Nabble or Gmane, please see
https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.