{"id":19081283,"url":"https://github.com/jimurrito/loancalc","last_synced_at":"2026-04-17T05:03:19.712Z","repository":{"id":236911600,"uuid":"791654938","full_name":"jimurrito/LoanCalc","owner":"jimurrito","description":"Simple Amortization Calculator and Scheduler","archived":false,"fork":false,"pushed_at":"2024-06-21T02:24:14.000Z","size":1807,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-29T06:54:56.079Z","etag":null,"topics":["amortization","amortization-schedule","calculator","loan-calculator","loancalc","windows","windows-forms"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","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/jimurrito.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}},"created_at":"2024-04-25T05:49:06.000Z","updated_at":"2024-04-29T05:56:16.000Z","dependencies_parsed_at":"2024-06-21T17:42:57.499Z","dependency_job_id":null,"html_url":"https://github.com/jimurrito/LoanCalc","commit_stats":null,"previous_names":["jimurrito/loancalc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jimurrito/LoanCalc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimurrito%2FLoanCalc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimurrito%2FLoanCalc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimurrito%2FLoanCalc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimurrito%2FLoanCalc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimurrito","download_url":"https://codeload.github.com/jimurrito/LoanCalc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimurrito%2FLoanCalc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31915900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"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":["amortization","amortization-schedule","calculator","loan-calculator","loancalc","windows","windows-forms"],"created_at":"2024-11-09T02:34:09.234Z","updated_at":"2026-04-17T05:03:19.661Z","avatar_url":"https://github.com/jimurrito.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e\u003cimg src=\".assets/icon/favicon.png\" width=\"75\" height=\"75\"\u003e LoanCalc\u003c/h1\u003e\n\nLoan Amortization tool built in Powershell. Uses the `System.Windows.Forms` classes built into C#.\n\n\u003e **Note:** This script only supports Windows OS, even though it supports Powershell Core.\n\n# Getting Started\n\n- Download from Github.\n- Open a powershell session from the repo's directory.\n- Right-click and select 'Run with Powershell' or run the below in a powershell session:\n\n  \n**Powershell Core (7.0)**\n``` Powershell\npwsh .\\LoanCalc.ps1 \n```\n\n**Legacy Powershell (5.1)**\n``` Powershell\npowershell .\\LoanCalc.ps1 \n```\nThis is a graphical diffrence when you run the app from Powershell core vs legacy powershell. See below for more.\n\n\n# GUI\n\n### Legacy Powershell\n\n\u003cimg src=\".assets/screenshots/Default.png\" width=\"280\" height=\"440\"\u003e \u003cimg src=\".assets/screenshots/Default_Calc.png\" width=\"280\" height=\"500\"\u003e \n\n### Powershell Core\n\n\u003cimg src=\".assets/screenshots/Core.png\" width=\"280\" height=\"440\"\u003e \u003cimg src=\".assets/screenshots/Core_Calc.png\" width=\"280\" height=\"500\"\u003e \n\n## Payment Schedule Generation\n\nData tables in Windows Forms have not been updated, thus there is no noticable diffrence between\n\n\u003cimg src=\".assets/screenshots/Default_Schedule.png\"\u003e\n\n\u003e **Note:** The schedule is only generated when `Generate Schedule` is toggled `On`. The schedule can also be generated on its own, without the need to run `LoanCalc.ps1`. [See section on `LoanCalc_sched.ps1` for more info.](#loancalc_schedps1)\n\n\n# Functionality\n\nThe app can perform the following calculations:\n  - [Find Monthly Payment Amount](#find-monthly-payment-amount)\n  - [Find Total Loan Amount](#find-total-loan-amount)\n  - [Find Term of the Loan](#find-term-of-the-loan)\n\n\n## Find Monthly Payment Amount\nMonthly payment (A) can be found with the APR, Loan term (n), and Total Loan amount (P). APR is divided by `12` to provide the Monthly Interest rate (i).\n\n```\n        i * P  \nA = ────────────── \n    1 - (1 + i)^-n \n```\n\n```Math.. uwu\nIn this example, the total loan amount is `$1000`, the APR is `1.0%`, and the loan term is 72 months.\n\nMonthly Interest rate:\n0.833 = 0.01 / 12\n\n\nP = 1000                   0.000833 * 1000\ni = 0.000833   ~14.32 = ──────────────────────\nn = 72                  1 - (1 + 0.000833)^-72\n\n\nThe Monthly payment is `$14.32`.\n```\n\n\n## Find Total Loan Amount\nTotal payment (P) can be found with the APR, Loan term (n), and Monthly Loan payment (A). APR is divided by `12` to provide the Monthly Interest rate (i).\n\n```\n        1 - (1 + i)^-n\nP = A x ────────────── \n              i\n```\n\n```Math.. uwu\nIn this example, the monthly loan payment is `$100`, the APR is `1.0%`, and the loan term is 72 months.\n\nMonthly Interest rate:\n0.833 = 0.01 / 12\n\n\nA = 100                          1 - (1 + 0.000833)^-72\ni = 0.000833   ~$6985.43 = 100 x ──────────────────────  \nn = 72                                  0.000833\n\n\nThe total loan amount is `$6985.43`.\n```\n\n\n## Find Term of the Loan\nThe term of the loan (n) can be found with the APR, Total Loan Amount (P), and Monthly Loan payment (A). APR is divided by `12` to provide the Monthly Interest rate (i).\n\n```    \n            1 - (i * P) \n      log ( ─────────── )\n                 A       \nn = - ───────────────────\n         log ( 1 + i )\n```\n\n```Math.. uwu\nIn this example, the monthly loan payment is `$100`, the APR is `1.0%`, and the total loan amount is `$1000`.\n\nMonthly Interest rate:\n0.833 = 0.01 / 12\n\n                             1 - (0.000833 * 1000)\n                       log ( ───────────────────── )\nA = 100                              100\ni = 0.000833   ~11 = - ─────────────────────────────\nP = 1000                   log ( 1 + 0.000833 )\n\n\nThe term of the loan is `11` Months.\n```\n\n# Amortization Scheduling\n\nThis functionality can be achieved via two methods.\n- via LoanCalc.ps1 (Toggle `Generate Schedule = On` in the GUI)\n- via LoanCalc_sched.ps1\n\nThe schedule is generated based on inputs and desired calculation. This allows the schedule to forcast alternative payment plans. To achieve this, select the `# of Payments` option under `Find:`. Then ensure your desired payment is entered. \n\n\u003e **Note:** By default, the schedule assumes one payment per month. This, and the intervals unit of Months can not be changed \u003cu\u003eas of now.\u003c/u\u003e\n\n\n## LoanCalc_Sched.ps1\n\nThis is the core script to generate the schedule in a `System.Windows.Form` form. This script is triggered when Toggle `Generate Schedule = On` in the GUI. This section provides as example on how to run this script via command line.\n\n```Powershell\n.\\LoanCalc_sched.ps1\n\n# or\n\n.\\LoanCalc_sched.ps1 -TotalAmount 1000 -NumoPayments 72 -APR 0.01 -MonthlyPayment 100\n```\n\nDue to how the evaluation works, the schedule will ignore the Number of payments parameter `-NumoPayments` if the loan has been paid off early.\nIn the example above, the schedule will end after the 11th payment; not continuing until the 72 month requirement was met.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimurrito%2Floancalc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimurrito%2Floancalc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimurrito%2Floancalc/lists"}