Reporting "Leger Balance"

fj58's Avatar

fj58

08 Jun, 2026 12:17 AM

Apologies if this is a duplicate; I could not find the question/answer here.

W11 24H2
MD 2024.4 (5253)

Is there some way to report “Ledger Balance”?

I do not find it under Tools >> Graphs and Reports >> Account Balances >> Balance Type.(only types = "Current," "Balance," and "Cleared").

TIA

  1. 1 Posted by dwg on 08 Jun, 2026 01:34 AM

    dwg's Avatar

    My understanding is that:

    Current = Balance as at Today
    Cleared = Balance of only items marked as cleared
    Balance = Ballance of all transactions in the register

    I would be thinking that:

    Ledger Balance = Balance of all transactions in the register = Balance in the report parameters

  2. 2 Posted by fj58 on 08 Jun, 2026 03:20 AM

    fj58's Avatar

    Thanks @DWG

    There are seven various MD "balances," six of which are calculated from transactions recorded in MD, and one that is retrieved from the financial institution itself.

    It is this one retrieved number I want so that I may be able to report on *everything* the financial has on *its* ledger, even those that are yet to be available/downloadable to MD (e.g. "pending" transactions).

    Does that make sense?

    ---------------
    The various MD balances defined:

    Balance
    The total of all your transactions in an account register, regardless of cleared/uncleared status.

    Current Balance
    The total of all your transactions up to and including today's date.

    Cleared Balance
    The total of all transactions you have marked "cleared.”

    Confirmed Balance
    The total of all transactions you have confirmed.

    Unconfirmed Total
    The total of all transaction that are marked as unconfirmed.

    Ledger Balance
    The balance provided by the bank. This includes all “outstanding” transactions such as deposits that are still pending clearance.

    Available Balance
    The current available balance provided by the bank when you last imported/download transactions.

    Note: All of these figures are shown if you hit the Balance Box (lower right corner of any register). In the Account Balances Report, only three are available (Balance, Current Balance, and Cleared Balance).

  3. 3 Posted by Stuart Beesley ... on 08 Jun, 2026 06:25 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    FYI - The account balance report has been updated for md2026 and can report the online ledger balance. It’s currently in alpha testing.

  4. 4 Posted by fj58 on 08 Jun, 2026 12:38 PM

    fj58's Avatar

    @Stuart Beesly

    Good News!

    Any known work-around with the current version?

  5. 5 Posted by Stuart Beesley ... on 08 Jun, 2026 04:29 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    Run this in Window/Developer Console.. Paste into snippet area, and then run snippet.

    from com.infinitekind.moneydance.model import Account
    
    SKIP_TYPES = [
        Account.AccountType.ROOT,
        Account.AccountType.SECURITY,
        Account.AccountType.INCOME,
        Account.AccountType.EXPENSE
    ]
    
    HEADER = "%-15s %-45s %15s %15s %15s %15s %15s %15s"
    ROW    = "%-15s %-45s %15s %15s %15s %15s %15s %15s"
    
    def fmt(account, value):
        if value is None:
            return ""
        return account.getCurrencyType().formatFancy(value, '.')
    
    def onlineLedger(account):
        dl = account.getDownloadedTxns()
        if dl is not None and dl.hasOnlineLedgerBalance() and dl.getOnlineLedgerBalanceDate() != 0:
            return dl.getOnlineLedgerBalance()
        return None
    
    def onlineAvailable(account):
        dl = account.getDownloadedTxns()
        if dl is not None and dl.hasOnlineAvailBalance() and dl.getOnlineAvailBalanceDate() != 0:
            return dl.getOnlineAvailBalance()
        return None
    
    print(HEADER % ("TYPE", "ACCOUNT", "BALANCE", "CURRENT", "CLEARED", "CONFIRMED", "ONL_LEDGER", "ONL_AVAIL"))
    
    def walk(account):
    
        if (account.getAccountType() not in SKIP_TYPES
                and not account.getAccountOrParentIsInactive()):
    
            print(ROW % (
                str(account.getAccountType()),
                account.getFullAccountName(),
                fmt(account, account.getBalance()),
                fmt(account, account.getCurrentBalance()),
                fmt(account, account.getClearedBalance()),
                fmt(account, account.getConfirmedBalance()),
                fmt(account, onlineLedger(account)),
                fmt(account, onlineAvailable(account))
            ))
    
        for subAcct in account.getSubAccounts():
            walk(subAcct)
    
    walk(moneydance_data.getRootAccount())
    

    might be a start.... Let me know?

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac