jGnash

jGnash是一个个人财务应用程序,适用于大多数现代PC平台。 jGnash是一个完整的双入口系统,支持多种货币。 jGnash被世界各地的初学者和专业人士使用。(jGnash is a personal finance application that works on most any modern PC platform. jGnash is a complete double entry system with support for multiple currencies. jGnash is used by beginners and professionals all over the world.)

Github stars Tracking Chart

jGnash是一个免费的(没有附加条件!)个人财务经理,具有许多与商业软件相同的功能。 它的创建是为了使跟踪个人财务变得容易,但也提供了高级用户所需的功能。 jGnash是跨平台的,可以在任何具有当前Java运行时环境的操作系统上运行(例如,Linux,Mac OS X和Microsoft Windows)。

  • jGnash 2.x需要Java 8(它可以在更高版本上运行。请参阅要求部分。)
  • jGnash与Oracle JVM以及开源OpenJDK平台兼容。

有关更多详细信息,请参阅下面的“要求”部分,包括有关使用Java版本9,10或更高版本的说明。

jGnash特性
  • 在安装了Java 8或更高版本的任何操作系统上运行
  • 双重会计会计与对帐工具
  • OFX,QFX,mt940和QIF导入功能
  • 投资账户和自动导入股票,债券和基金的价格历史
  • 具有自动汇总总额和智能处理混合货币的稳定账户
  • 提醒自动交易输入
  • 通过自动在线汇率更新智能处理多种货币和汇率
  • 具有PDF和电子表格导出功能的可打印报告
  • XML和关系数据库文件格式
  • 通过网络支持并发多个用户

要了解有关jGnash功能的更多信息,请访问jGnash网站

如果您不熟悉跟踪财务状况,jGnash下载包含一本用户手册,可帮助您开始掌握基础知识。 它还介绍了一些不那么明显的更微妙的功能,命令行选项和快捷方式。

Main metrics

Overview
Name With Ownerccavanaugh/jgnash
Primary LanguageJava
Program languageJava (Language Count: 7)
PlatformLinux, Mac, Windows
License:Other
所有者活动
Created At2013-03-03 17:46:49
Pushed At2024-09-28 19:47:33
Last Commit At2024-09-28 15:47:31
Release Count59
Last Release Name3.5.1 (Posted on 2020-02-20 17:15:41)
First Release Name2.10.0 (Posted on 2012-09-02 13:18:59)
用户参与
Stargazers Count145
Watchers Count18
Fork Count82
Commits Count4.6k
Has Issues Enabled
Issues Count49
Issue Open Count10
Pull Requests Count40
Pull Requests Open Count4
Pull Requests Close Count6
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

image:https://jgnash.github.io/img/jgnash-logo.png[jGnash Logo]

== jGnash README

https://sourceforge.net/projects/jgnash/[jGnash] is a free (no strings attached!) personal finance manager with many
of the same features as commercially-available software. It was created in order to make tracking personal finances
easy, but also provides the functionality needed by advanced users. jGnash is cross-platform and will run on
any operating system that has a current Java Runtime Environment (e.g., Linux, Mac OS X, and Microsoft Windows)

  • jGnash requires Java 11 or newer.

  • jGnash is compatible with the Oracle JVM as well as the open source OpenJDK Platform.

See the <> section below for more details.

=== Contents:

  • <<About, About jGnash>>
    • <>
  • <>
  • <<Support, Support>>
  • <>
    • <<Reqs-Java, Java>>
    • <<Reqs-OS, Supported Operating System versions>>
  • <>
  • <<Install, Installation>>
  • <<Running, Running jGnash>>
  • <<Development, Building and Development>>

== About jGnash

=== jGnash Features

  • Operates on any operating system with Java 11 or newer installed
  • Double Entry Accounting with reconciliation tools
  • OFX, QFX, mt940, and QIF import capabilities
  • Investment Accounts and automatic import of Stocks, Bond, and Funds price history
  • Nestable accounts with automatic rollup of totals and intelligent handling of mixed currencies
  • Reminders with automatic transaction entry
  • Intelligent handling of multiple currencies and exchange rates with automatic online exchange rate updates
  • Printable reports with PDF and spreadsheet export capability
  • XML, Binary, and multiple relational database file formats
  • Supports concurrent multiple users over a network

To learn more about the features of jGnash, visit the https://sourceforge.net/projects/jgnash/[jGnash Website].

The jGnash download includes a user manual to help get you started with the basics if you are new to tracking finances.
It also covers some of the more subtle features, command line options, and shortcuts that are not immediately obvious.

The latest version of jGnash uses OpenJFX for the user interface. This replaces the old version that used Java Swing
for the user interface. Experienced jGnash users will notice interface improvements. For example, try using the
vertical and horizontal scroll wheels in a date picker and the collapsible transaction forms.

== Donations

Donations are always welcome and appreciated. This helps to defer the cost of computer hardware and internet access.

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TYN4QECUL5C44[image:https://img.shields.io/badge/Donate-PayPal-green.svg[PayPal]]

== Support
The https://groups.google.com/forum/#!forum/jgnash-user[jGnash Help Group] is
always a good source if you need help and is the prefered method of contact.
Your first post to the group will be moderated to filter spam.

Please use the search tool to check for similar questions.

The preferred method of reporting bugs is to use the https://github.com/ccavanaugh/jgnash/issues[Github Issue tracker].

== Requirements

=== 1. Java

Java 11 or newer is required to run jGnash. Unless you have a specific need
for a newer version, Java 11 is currently recommended.

Use of a prebuilt installer is recommended.

[NOTE]
When performing a manual installation of Java, The JAVA_HOME Environment
Variable must be set and the Java bin directory must be in the execution path.

[NOTE]
If you have multiple versions of Java installed on your system, The JAVA_HOME Environment
Variable must be set to Java 11 or newer and the related Java bin directory must be the only version
in the execution path. Mixing JVM and JDK versions will confuse the bootloader.

Use of an OpenJDK package is recommended over use of Oracle JDK due to licensing requirements

=== 2. OpenJFX
jGnash uses OpenJFX for the user interface, but will automatically download
and place the needed components within the lib directly of the jGnash installation.
Portions of the OpenJFX components are OS specific and cannot be shared between
different operating systems.

=== 3. Supported Operating Systems: Windows, Linux, or Mac OS X

==== Microsoft Windows

  • any Windows release that can run the required version of Java

==== Linux

  • any Linux distribution that can run the required version of Java

[NOTE]
jGnash is not compatible with GCJ pre-installed on older Linux distributions.
You will need to install OpenJDK 11 for jGnash to operate correctly.

==== Mac OS X

  • Mac OS X 10.8.3 or later
  • can run the required version of Java

Be sure to read <<Install-MacOSX, the section about installing on Mac OS X>> to create the startup script.

== Download jGnash

You can download jGnash from the https://sourceforge.net/projects/jgnash/files/Active%20Stable%202.x/[jGnash Download Page]. image:https://img.shields.io/sourceforge/dt/jgnash.svg["Download button", link="https://sourceforge.net/projects/jgnash/files/latest/download"]

== To Install jGnash

. Install the latest version of Java 11 if you don't already have it installed.

** Developers will want the complete Java Development Kit (see build instructions below.)
. Unzip all files into a directory of your choice leaving the directory structure unchanged.

=== Mac OS X Installation:

. Copy the jGnash folder to /Applications and remove the version so the final path looks like /Applications/jGnash.
. Create an AppleScript that will run the application:
.. Open the AppleScript Editor.

.. Create the following script:

try
    do shell script "/Applications/jGnash/jGnash"
end try

.. Save it as an Application called jGnash.app in /Applications/jGnash

. Instead of step 2,
you can set the /Applications/jGnash/jGnash file to Open with... Terminal.app (the Terminal application).

== To Run:

Executable files are provided for Windows and UN*X users at the root of the installation directory. (These are .exe
and bash shell files, respectively.) Mac OS X users will have created application launch files per
the <<Install-MacOSX, Mac installation instructions.>>

[NOTE]
jGnash will need to be restarted after the first launch of a new version.
Operating System specific files are download and a restart is required for
correct operation.

  • Windows: Simply double click on the jGnash.exe file.

  • UN*X / MacOS: Start jGnash with the provided jGnash Bash script. If jGnash fails to launch, check your file
    permissions and make sure they are set to be executable or use a unzip tool that preserves file permissions.

An example for UN*X users is shown below assuming you have changed to the installation directory:

[source]

./jGnash

Mac OS X: Run the application file you created per the <<Install-MacOSX, Mac installation instructions.>>

== Building and Development

Travis-CI Build Status image:https://travis-ci.org/ccavanaugh/jgnash.svg?branch=master["Build Status", link="https://travis-ci.org/ccavanaugh/jgnash"]

=== Development List

The https://groups.google.com/forum/#!forum/jgnash-devel[Google Groups jGnash Developer list] is the best
place to start if you have questions or ideas. Initial posts will are moderated to prevent spam.

=== Development Tools

The IDE used for the development of jGnash is IntelliJ IDEA, but any IDE that supports a Gradle build environment should work.

image:https://github.com/jGnash/jgnash.github.io/blob/master/img/logo_IntelliJIDEA.png["IntelliJIDEA Logo", height=90, link="https://www.jetbrains.com/idea/"]

=== Building jGnash:

Gradle is used as the primary build system for jGnash. The Gradle Wrapper is included (gradlew shell and .bat files) so that you do not need to
install Gradle. The Wrapper will automatically download the necessary dependencies.

[NOTE]
Depending on your OS (almost always Windows and OSX) the JCE Unlimited Strength Jurisdiction Policy Files for Java
are needed for the unit tests to complete correctly. If you do not want to install these files or are
restricted by your locale, modify the test build or disable tests. jGnash uses encryption for client / server
communication and unit tests are performed to prevent regressions.

To build jGnash you'll need the following software installed and correctly configured on your system:

OpenJDK 11 or later.

If you are building with a recent 64 bit Linux system, you may need to enable Multilib/32 Bit support capabilities.
Otherwise, the Gradle build may fail when building the windows executables.

To create the distribution zip file, start at the main directory and run the gradle task to clean and create the distribution:

Building on Windows:

[source]

gradlew clean distZip

Building on UNX or Mac OS X:*

[source]

./gradlew clean distZip

This will run the Gradle tasks necessary to execute core tests and create the distribution file. The distributable zip
file will be produced at the root of the build directory called jGnash-version-bin.zip.