-
Notifications
You must be signed in to change notification settings - Fork 2
An Accounting Application I use for personal and business finances
License
akc42/AKCMoney
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Copyright (c) 2009-2025 Alan Chandler This file is part of AKCMoney. AKCMoney is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. AKCMoney is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with AKCMoney (file LICENCE). If not, see <http://www.gnu.org/licenses/>. AKCMoney is an application to Manage Money, either for a private individual or a small business, or in the later releases both. It consist of three main concepts:- Domains - which hold accounts, and for which we want to account Accounts - which hold money (in a currency) Transactions - which transfer money from one account to another (or just to or from a single account if the transaction is with the outside world). Multiple currencies are supported, and can use exchange rates which are initially estimated, but are then corrected when the actual value used in a transaction is known. Each side of the transaction can optionally be assigned an "Accounting Code" which belongs to one of "Costs","Revenue","Asset Depreciation" (Depreciated over a number of years - defined by a value in the accounting code field ), "Balance" (items such as expenses and their re-embersment, which are therefore expected to round out to zero) and "Offsheet" (Off balance sheet amounts, such as profits declared and dividents paid which are separately accounted for cumulatively over time to ensure that only the profits actually achieved are paid out in dividends) I have been using versions of this application for the past 16 years to manage my own money and that of my business (in separate Domains). I've been able to slowly add features I've needed The transistion to javascript (v4) and custom elements has been completed somewhile ago. Also the application has been through a couple of iterations using docker containers for the client and server parts of the application. Release 4.3.0 saw the restructuring of that approach so that the containers only had the frameworks for the application built into them and the rest (client and server code) was mapped to using the docker volume facilities to code directories on the appropriate server. For development that is my local development machine, for production it is a synology NAS. 4.4.0 is a subtle change to the way depreciation works. Instead of depreciation being calculated in the domain accounts from the date and initial value of the asset, a separate account is used as an asset register and a new transaction is added for each years depreciation. When the initial transaction is given an Asset Depreciation code and the account is a destination account (i.e the purchase is going to be a positive value to the balance of the account) the application understands that the account is a register. When a new transaction is requested and the transaction is opened, the date is assumed to be a financial year and a year selector rather than a data picker is offered for the date. Once the year is selected, the value is estimated (but may be subsequently edited) using calculations based on the number of years the asset is to be depreciated and the date (first and last years of depreciation are proportion to the time in the year, intermediate years are a full years depreciation). When the domain account, pdf or csv is made if the transactions exist the value in them is used. If the transaction does not exist, the algorithmn calculates the appropriate depreciation accordingly. The other element in 4.4.0 is the ability to handle losses and carry them forward to subsequent years. One final point to make - I want to explore using playwright for client testing and the built in test suite in nodejs for testing the server. It may not work out, but I need to find out if I can make it work for another of my projects. Any code in the test directory is (at the moment) unlikely to work.
About
An Accounting Application I use for personal and business finances
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published