{"id":25323747,"url":"https://github.com/mayswind/ezbookkeeping","last_synced_at":"2026-01-30T18:03:45.560Z","repository":{"id":48782349,"uuid":"304836585","full_name":"mayswind/ezbookkeeping","owner":"mayswind","description":"A lightweight, self-hosted personal finance app with a user-friendly interface and powerful bookkeeping features.","archived":false,"fork":false,"pushed_at":"2026-01-24T15:55:18.000Z","size":17962,"stargazers_count":3997,"open_issues_count":10,"forks_count":404,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-01-25T04:57:51.622Z","etag":null,"topics":["accounting","app","bookkeeping","docker","expense-manager","expense-tracker","expenses","finance","finance-management","finances","financial","golang","homelab","mobile","money","money-manager","personal-finance","self-hosted","typescript","vue"],"latest_commit_sha":null,"homepage":"https://ezbookkeeping.mayswind.net","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mayswind.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-10-17T08:54:02.000Z","updated_at":"2026-01-25T04:42:44.000Z","dependencies_parsed_at":"2026-01-21T18:04:47.785Z","dependency_job_id":null,"html_url":"https://github.com/mayswind/ezbookkeeping","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/mayswind/ezbookkeeping","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayswind%2Fezbookkeeping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayswind%2Fezbookkeeping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayswind%2Fezbookkeeping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayswind%2Fezbookkeeping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mayswind","download_url":"https://codeload.github.com/mayswind/ezbookkeeping/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayswind%2Fezbookkeeping/sbom","scorecard":{"id":630467,"data":{"date":"2025-08-11","repo":{"name":"github.com/mayswind/ezbookkeeping","commit":"2f8d4ad5e442e041671c61ea286a65ea0a09a015"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.7,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/docker-release.yml:1","Warn: no topLevel permission defined: .github/workflows/docker-snapshot.yml:1","Warn: no topLevel permission defined: .github/workflows/non-main-branch-build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.10.0 not signed: https://api.github.com/repos/mayswind/ezbookkeeping/releases/232040584","Warn: release artifact v0.9.0 not signed: https://api.github.com/repos/mayswind/ezbookkeeping/releases/222334119","Warn: release artifact v0.8.0 not signed: https://api.github.com/repos/mayswind/ezbookkeeping/releases/204748641","Warn: release artifact v0.7.0 not signed: https://api.github.com/repos/mayswind/ezbookkeeping/releases/191975039","Warn: release artifact v0.6.0 not signed: https://api.github.com/repos/mayswind/ezbookkeeping/releases/183256501","Warn: release artifact v0.10.0 does not have provenance: https://api.github.com/repos/mayswind/ezbookkeeping/releases/232040584","Warn: release artifact v0.9.0 does not have provenance: https://api.github.com/repos/mayswind/ezbookkeeping/releases/222334119","Warn: release artifact v0.8.0 does not have provenance: https://api.github.com/repos/mayswind/ezbookkeeping/releases/204748641","Warn: release artifact v0.7.0 does not have provenance: https://api.github.com/repos/mayswind/ezbookkeeping/releases/191975039","Warn: release artifact v0.6.0 does not have provenance: https://api.github.com/repos/mayswind/ezbookkeeping/releases/183256501"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker-release.yml:9"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-release.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-release.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-release.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-snapshot.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-snapshot.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-snapshot.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-snapshot.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-snapshot.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-snapshot.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-snapshot.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-snapshot.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-snapshot.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-snapshot.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-snapshot.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/docker-snapshot.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/non-main-branch-build.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/non-main-branch-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/non-main-branch-build.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/non-main-branch-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/non-main-branch-build.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/mayswind/ezbookkeeping/non-main-branch-build.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:2","Warn: containerImage not pinned by hash: Dockerfile:18","Warn: containerImage not pinned by hash: Dockerfile:30: pin your Docker image by updating alpine:3.22.1 to alpine:3.22.1@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: npmCommand not pinned by hash: build.sh:170","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   1 out of   1 goCommand dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T07:47:00.246Z","repository_id":48782349,"created_at":"2025-08-21T07:47:00.247Z","updated_at":"2025-08-21T07:47:00.247Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28917033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T16:37:38.804Z","status":"ssl_error","status_checked_at":"2026-01-30T16:37:37.878Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["accounting","app","bookkeeping","docker","expense-manager","expense-tracker","expenses","finance","finance-management","finances","financial","golang","homelab","mobile","money","money-manager","personal-finance","self-hosted","typescript","vue"],"created_at":"2025-02-14T00:25:15.687Z","updated_at":"2026-01-30T18:03:45.518Z","avatar_url":"https://github.com/mayswind.png","language":"Go","funding_links":[],"categories":["Go","App","Linux","Table of Contents","Apps"],"sub_categories":["Selfhosted","Finance"],"readme":"# ezBookkeeping\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/mayswind/ezbookkeeping/blob/master/LICENSE)\n[![Go Report](https://goreportcard.com/badge/github.com/mayswind/ezbookkeeping)](https://goreportcard.com/report/github.com/mayswind/ezbookkeeping)\n[![Latest Release](https://img.shields.io/github/release/mayswind/ezbookkeeping.svg?style=flat)](https://github.com/mayswind/ezbookkeeping/releases)\n[![Latest Build](https://img.shields.io/github/actions/workflow/status/mayswind/ezbookkeeping/build-snapshot.yml?branch=main)](https://github.com/mayswind/ezbookkeeping/actions)\n[![Latest Docker Image Size](https://img.shields.io/docker/image-size/mayswind/ezbookkeeping.svg?style=flat)](https://hub.docker.com/r/mayswind/ezbookkeeping)\n[![Docker Pulls](https://img.shields.io/docker/pulls/mayswind/ezbookkeeping)](https://hub.docker.com/r/mayswind/ezbookkeeping)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/mayswind/ezbookkeeping)\n\n[![Recommend By HelloGitHub](https://api.hellogithub.com/v1/widgets/recommend.svg?rid=ded5af09da574ec1811ddb154f1b2093\u0026claim_uid=LT7EZxeBukCnh0K)](https://hellogithub.com/en/repository/mayswind/ezbookkeeping)\n[![Trending](https://trendshift.io/api/badge/repositories/12917)](https://trendshift.io/repositories/12917)\n\n## Introduction\nezBookkeeping is a lightweight, self-hosted personal finance app with a user-friendly interface and powerful bookkeeping features. It's easy to deploy, and you can start it with just one single Docker command. Designed to be resource-efficient and highly scalable, it can run smoothly on devices as small as a Raspberry Pi, or scale up to NAS, MicroServers, and even large cluster environments.\n\nezBookkeeping offers tailored interfaces for both mobile and desktop devices. With support for PWA (Progressive Web Apps), you can even [add it to your mobile home screen](https://raw.githubusercontent.com/wiki/mayswind/ezbookkeeping/img/mobile/add_to_home_screen.gif) and use it like a native app.\n\nLive Demo: [https://ezbookkeeping-demo.mayswind.net](https://ezbookkeeping-demo.mayswind.net)\n\n## Features\n- **Open Source \u0026 Self-Hosted**\n    - Built for privacy and control\n- **Lightweight \u0026 Fast**\n    - Optimized for performance, runs smoothly even on low-resource environments\n- **Easy Installation**\n    - Docker-ready\n    - Supports SQLite, MySQL, PostgreSQL\n    - Cross-platform (Windows, macOS, Linux)\n    - Works on x86, amd64, ARM architectures\n- **User-Friendly Interface**\n    - UI optimized for both mobile and desktop\n    - PWA support for native-like mobile experience\n    - Dark mode\n- **AI-Powered Features**\n    - Receipt image recognition\n    - Supports MCP (Model Context Protocol) for AI integration\n- **Powerful Bookkeeping**\n    - Two-level accounts and categories\n    - Attach images to transactions\n    - Location tracking with maps\n    - Recurring transactions\n    - Advanced filtering, search, visualization, and analysis\n- **Localization \u0026 Globalization**\n    - Multi-language and multi-currency support\n    - Automatic exchange rates\n    - Multi-timezone awareness\n    - Custom formats for dates, numbers, and currencies\n- **Security**\n    - Two-factor authentication (2FA)\n    - Login rate limiting\n    - Application lock (PIN code / WebAuthn)\n- **Data Import/Export**\n    - Supports CSV, OFX, QFX, QIF, IIF, Camt.053, MT940, GnuCash, Firefly III, Beancount, and more\n\n## Screenshots\n### Desktop Version\n[![ezBookkeeping](https://raw.githubusercontent.com/wiki/mayswind/ezbookkeeping/img/desktop/en.png)](https://raw.githubusercontent.com/wiki/mayswind/ezbookkeeping/img/desktop/en.png)\n\n### Mobile Version\n[![ezBookkeeping](https://raw.githubusercontent.com/wiki/mayswind/ezbookkeeping/img/mobile/en.png)](https://raw.githubusercontent.com/wiki/mayswind/ezbookkeeping/img/mobile/en.png)\n\n## Installation\n### Run with Docker\nVisit [Docker Hub](https://hub.docker.com/r/mayswind/ezbookkeeping) to see all images and tags.\n\n**Latest Release:**\n\n    $ docker run -p8080:8080 mayswind/ezbookkeeping\n\n**Latest Daily Build:**\n\n    $ docker run -p8080:8080 mayswind/ezbookkeeping:latest-snapshot\n\n### Install from Binary\nDownload the latest release: [https://github.com/mayswind/ezbookkeeping/releases](https://github.com/mayswind/ezbookkeeping/releases)\n\n**Linux / macOS**\n\n    $ ./ezbookkeeping server run\n\n**Windows**\n\n    \u003e .\\ezbookkeeping.exe server run\n\nBy default, ezBookkeeping listens on port 8080. You can then visit `http://{YOUR_HOST_ADDRESS}:8080/` .\n\n### Build from Source\nMake sure you have [Golang](https://golang.org/), [GCC](https://gcc.gnu.org/), [Node.js](https://nodejs.org/) and [NPM](https://www.npmjs.com/) installed. Then download the source code, and follow these steps:\n\n**Linux / macOS**\n\n    $ ./build.sh package -o ezbookkeeping.tar.gz\n\nAll the files will be packaged in `ezbookkeeping.tar.gz`.\n\n**Windows**\n\n    \u003e .\\build.bat package -o ezbookkeeping.zip\n\nor\n\n    PS \u003e .\\build.ps1 package -Output ezbookkeeping.zip\n\nAll the files will be packaged in `ezbookkeeping.zip`.\n\nYou can also build a Docker image. Make sure you have [Docker](https://www.docker.com/) installed, then follow these steps:\n\n**Linux**\n\n    $ ./build.sh docker\n\n## Contributing\nWe welcome contributions of all kinds.\n\nFound a bug? [Submit an issue](https://github.com/mayswind/ezbookkeeping/issues)\n\nWant to contribute code? Feel free to fork and send a pull request.\n\nContributions of all kinds — bug reports, feature suggestions, documentation improvements, or code — are highly appreciated.\n\nCheck out our [Contributor Graph](https://github.com/mayswind/ezbookkeeping/graphs/contributors) to see the amazing people who've already helped.\n\n## Translating\nHelp make ezBookkeeping accessible to users around the world. If you want to contribute a translation, please refer to our [translation guide](https://ezbookkeeping.mayswind.net/translating).\n\nCurrently available translations:\n\n| Tag | Language | Contributors |\n| --- | --- | --- |\n| de | Deutsch | [@chrgm](https://github.com/chrgm) |\n| en | English | / |\n| es | Español | [@Miguelonlonlon](https://github.com/Miguelonlonlon), [@abrugues](https://github.com/abrugues), [@AndresTeller](https://github.com/AndresTeller), [@diegofercri](https://github.com/diegofercri) |\n| fr | Français | [@brieucdlf](https://github.com/brieucdlf) |\n| it | Italiano | [@waron97](https://github.com/waron97) |\n| ja | 日本語 | [@tkymmm](https://github.com/tkymmm) |\n| kn | ಕನ್ನಡ | [@Darshanbm05](https://github.com/Darshanbm05) |\n| ko | 한국어 | [@overworks](https://github.com/overworks) |\n| nl | Nederlands | [@automagics](https://github.com/automagics) |\n| pt-BR | Português (Brasil) | [@thecodergus](https://github.com/thecodergus) |\n| ru | Русский | [@artegoser](https://github.com/artegoser) |\n| sl | Slovenščina | [@thehijacker](https://github.com/thehijacker) |\n| ta | தமிழ் | [@hhharsha36](https://github.com/hhharsha36) |\n| th | ไทย | [@natthavat28](https://github.com/natthavat28) |\n| tr | Türkçe | [@aydnykn](https://github.com/aydnykn) |\n| uk | Українська | [@nktlitvinenko](https://github.com/nktlitvinenko) |\n| vi | Tiếng Việt | [@f97](https://github.com/f97) |\n| zh-Hans | 中文 (简体) | / |\n| zh-Hant | 中文 (繁體) | / |\n\nDon't see your language? Help us add it.\n\n## Documentation\n1. [English](https://ezbookkeeping.mayswind.net)\n1. [中文 (简体)](https://ezbookkeeping.mayswind.net/zh_Hans)\n\n## License\n[MIT](https://github.com/mayswind/ezbookkeeping/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayswind%2Fezbookkeeping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmayswind%2Fezbookkeeping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayswind%2Fezbookkeeping/lists"}