{"id":51011634,"url":"https://github.com/dlmcpaul/mymoney","last_synced_at":"2026-06-21T03:30:40.007Z","repository":{"id":364902263,"uuid":"1264726958","full_name":"dlmcpaul/mymoney","owner":"dlmcpaul","description":"My Money - A Visualiser for Plain Text Accounting Files","archived":false,"fork":false,"pushed_at":"2026-06-15T01:44:40.000Z","size":351,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-15T03:21:09.386Z","etag":null,"topics":["echarts","fomantic-ui","htmx","java","personal-finance","plaintext-accounting","spring","springboot","thymeleaf"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dlmcpaul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-10T06:08:50.000Z","updated_at":"2026-06-15T01:44:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dlmcpaul/mymoney","commit_stats":null,"previous_names":["dlmcpaul/mymoney"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/dlmcpaul/mymoney","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlmcpaul%2Fmymoney","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlmcpaul%2Fmymoney/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlmcpaul%2Fmymoney/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlmcpaul%2Fmymoney/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dlmcpaul","download_url":"https://codeload.github.com/dlmcpaul/mymoney/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlmcpaul%2Fmymoney/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34593128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["echarts","fomantic-ui","htmx","java","personal-finance","plaintext-accounting","spring","springboot","thymeleaf"],"created_at":"2026-06-21T03:30:36.164Z","updated_at":"2026-06-21T03:30:40.003Z","avatar_url":"https://github.com/dlmcpaul.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My Money Visualiser\n\nThis is a project to visualise Plain Text Accounting (PTA) Files.  See https://plaintextaccounting.org/ for details\n\nRealistically this project works with my PTA files.  I make no guarantees about any others.\n\nIt reads a subset of the PTA file format and may also be compatible with a subset of other variations (hledger or Beancount)\n\nIt will make use of 3 files\n\n## A plain text accounting ledger file that contains entries such as\n```\n2025/12/01 * Checking Opening balance\n  Assets:Checking                   $1,000.00\n  Equity:Cash:Opening Balances\n\n2025/12/01 * Savings Opening balance\n  Assets:Savings                   $10,000.00\n  Equity:Cash:Opening Balances\n\n2025/12/01 * Mortgage Opening balance\n  Equity:Mortgage:Opening Balances          $100,000.00\n  Liabilities:Mortgage:Principal\n```\n\nIf your ledger file just uses the basic format then you should be ok.  Date format can be yyyy/MM/dd or yyyy-MM-dd\n\nEntries can be open (no closing value) and will be calculated or closed (all values provided) and must sum to 0\n\ncommodities can be entered as well eg\n```\n2026/04/16 * ETF purchase\n  assets:shares:VDHG  10  VDHG @ $75.5\n  assets:bank:checking  $-755.00\n2026/05/15 * Dividends received VDHG ; Needs code at end or start to link to share or fund\n  assets:broker:schwabb  $128.40\n  income:investment:distribution  $-128.40  ;Needs account to match with breakdown accounts\n```\n\nNote the second entry has the description ending in the commodity code.  This will allow linking events other than buy/sell with the commodity.\n\nYour account entries should follow the convention of\nAssets, Liabilities, Expenses, Income, Equity\n\ncase is not important.\n\n## A commodities file for historical pricing of commodities with entries such as\n```\nP 2018/11/28 COL 12.85 AUD\nP 2025/02/27 COL 19.68 AUD\nP 2026/03/01 COL 21.36 AUD\n```\n## A schedules file for running schedules with entries such as\n```\n2026/05/20 Amazon Prime ; 1m\n  Liabilities:Credit Card:NAB Visa  $-2.99\n  Expenses:Cash:Household  $2.99\n  \n2026/06/01 Netflix ; 1m\n  Liabilities:Credit Card:StGeorge Visa  $-20.99\n  Expenses:Cash:Entertain  $20.99\n```\nThis is the same format as a ledger file but the entry comment specifies the schedule period in d,w,m,y\n\nOnly the ledger file is mandatory.  For the other files if they are not supplied then some test data may be used.\n\nThis is a Java Application built using Java 21 so download the jar and using a java 21 runtime\n```\njava -jar mymoney.jar --ledger=myledger.ledger\n```\n\nThe other files can be loaded with additional params\n\n```\njava -jar mymoney.jar --ledger=myledger.ledger --schedules=schedules.ledger --commodities=commodities.txt\n```\n\nThere is also a demo docker image available using dummy data just ```docker run -p 8081:8081 dlmcpaul/mymoney:demo```\n\nIf the ledger file is read ok then a web page at http://localhost:8081/mymoney will be available with 9 pages\n\n- DashBoard : Shows Balance Sheet (Assets \u0026 Liabilities), Scheduled Transactions, Monthly Profit \u0026 Loss along with Forms for ledger entry creation\n- Accounts : Shows all open accounts (non-zero balance) as at the financial year specified\n- Equity : Focuses on Equity accounts only\n- Investments : A view of investment accounts\n- Net Worth : A basic graph showing your net worth over the last 20 years\n- Superannuation : A view of all superannuation accounts (open and closed)\n- Recurring : List of schedules from the schedules file\n- Taxation : A view based on Australian taxation\n- Trends : Drill down into accounts over time to see trends\n\nFor these pages the **Dashboard, Accounts, Equity, Recurring, Trends** should work for most ledgers but the **Investments, Superannuation and Taxation** pages likely relies on hardcoded values specific to my ledger.\n\nI may look to document these or try to make them configurable.\n\nThere are mechanisms to update the ledger file (accepting a schedule, posting a new journal) but you can primarily use it for visualisation.\n\n![Screenshot](/docs/images/MyMoney-Dashboard.PNG)\n\n![Screenshot](/docs/images/MyMoney-Accounts.PNG)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlmcpaul%2Fmymoney","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdlmcpaul%2Fmymoney","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlmcpaul%2Fmymoney/lists"}