Zh-hans/常见问题

From GnuCash
Jump to: navigation, search

Contents

一般的问题

获得帮助

问:我在使用GnuCash时遇到麻烦。我在哪里可以寻求帮助?

答: 首先,您是否浏览过《 中文版获取帮助 》页面 ? 如果您仍然遇到问题,我们的主要支持渠道是我们的 邮件列表 ,并且支持多种语言。 我们也有一个 IRC 频道,通常在欧洲和美国时区的工作时间内,至少有一个开发人员对其进行监视。 IRC频道几乎全部使用英语。

贡献

问:我如何为GnuCash项目捐款?

答: 请参阅 为GnuCash 进行贡献,以了解为项目做出贡献的切实方法。

问:我如何向GnuCash项目捐款?

答: 请参阅“ 捐赠”页面, 以获取有关如何为该项目提供财务支持的信息。

故障排除和改进

问:报告错误和请求增强的基础知识是什么?

A:

您可以在“ 报告错误”中 找到有关报告错误的信息 。

您可以在“ 增强请求”中 获取有关增强请求的信息 。

如果您不熟悉这些流程,则可能会发现咨询“ 如何聪明地问问题” 很有用 。

问:出了点坏事?我该如何帮助调试?

答: 首先,请检查一些基本系统信息:

  • 您保存的媒体上是否有足够的可用空间?
  • 您是否拥有对数据文件及其目录的读写访问权限?

对于这两个问题,通常都可以使用首选的文件管理器找到答案。

如果GnuCash确实崩溃了,有经验的用户可能会对检查 Stack Trace 感兴趣 。 有关 更多信息, 请参见 堆栈跟踪

除了操作系统详细信息之外,GnuCash还提供了三种报告技术详细信息的主要方式:

  1. 用户界面 本身
    • 一个 状态线 在主窗口的底部,
    • 工具提示 ,如果将鼠标悬停在控件元素上,以及
    • 消息框 和类似对话框。
  2. 终端语句 ,打印到运行Gnucash的终端上。 要在Windows,KDE或Gnome上访问此信息,必须从命令外壳程序运行GnuCash:
    • 在Windows上,运行 cmd.exe
    • 在KDE上,运行Konsole,
    • 在Gnome上,运行Terminal。

    在此命令行中,输入 gnucash 。 GnuCash会将所有消息放置在此命令行窗口中。

    • 在macOS上,将发送到其他系统上的终端的语句显示在控制台上。 运行“ 应用程序:实用工具:控制台”, 然后选择“ 控制台消息” 以在窗口的右窗格中查看任何控制台消息。 滚动到底部。 查找类似 .... Gnucash [29751]应用程序路径/Applications/Gnucash.app/Contents/MacOS/Gnucash-bin的消息 。 这是GnuCash 终端 语句中 的第一个 。
  3. GnuCash 日志 ,其中包含大多数错误消息。 这些文件放置在名为 gnucash.trace 的文件中 。 有关 更多信息, 请参见 Tracefile

问:我认为我发现了一个错误。如何举报?

答: 有关 错误报告过程的说明, 请参见 Bugzilla

问:我确实想要XYZ功能,但GnuCash没有它。如何添加它?

答: 有关 此信息, 请参阅 增强请求

邮件列表问题

问:当我尝试浏览或订阅邮件列表时,我的浏览器警告我这是不安全的。这是怎么回事?

答: GnuCash项目使用自签名数字证书来保护您对 [1] 处的邮件列表站点的访问 。 这是必要的,因为该网站要求您在注册时输入您的电子邮件地址,可能还需要输入其他一些信息。 该项目无需向证书 颁发机构 注册数字证书, 因此网络浏览器无法识别证书并认为它不安全。

因此,总而言之:如果您的浏览器警告您有关此站点:请继续输入,它是安全的。

问:能否请您配置邮件列表,以便“回复”邮件列表?

答: GnuCash邮件列表的管理员认为, Reply-To munging是有害的 。 请鼓励您喜欢的邮件客户端的作者尊重列表标题,或者在您想要回复所有各方时训练自己使用“全部答复”命令(每个电子邮件客户端均可用); 请注意,这也适用于抄送/非邮件列表电子邮件。

另请参阅: 回复仍然有害有用的回复

问:我无法加入或离开邮件列表。

答: 有人签约 镜子 GnuCash邮件列表,而不是GnuCash列表本身。 镜像是一个单独的服务器,可复制另一个服务器的内容。 GnuCash邮件列表镜像的常见示例是Nabble(nabble.com)和Gmane(gmane.org)。 加入这些系统不会使您使用Gnucash列表注册,离开这些系统也不会将您从Gnucash列表中删除。 如果您加入镜像而不是GnuCash,则您的帖子将首先转到镜像,然后重定向到GnuCash列表服务器。 但是,由于您没有在GnuCash邮件服务器上订阅,因此您的消息在发布到列表之前必须经过审核。 这可能会导致延迟响应您的请求。 因此,许多用户也将直接订阅GnuCash邮件服务器。 如果您已在多个服务器上注册,则需要全部取消订阅以停止接收邮件。 换句话说,如果您取消订阅GnuCash,而忽略了使用镜像的订阅,则镜像将继续向您发送邮件。 如果选择使用镜像站点进行注册,则需要自己管理两个订阅。 阅读 邮件列表 以获取更多信息。

安装

所有作业系统

问:如果我的防病毒软件说我的Gnucash下载已被感染,该怎么办?

答: 这种情况下,您应该非常 谨慎而冷静地 对待 。 由于扫描程序有时会给出错误的肯定结果,因此您应该收集更多意见,例如,使用诸如 virustotal.com之 类的服务 。

如果带宽很低,请使用“ URL”选项卡输入下载链接,而不要上传文件。

在极少数情况下,服务会确认扫描仪的结果,请让其执行隔离或删除文件的工作。 然后,最好同时告知GnuCash社区:

  • 下载源的完整URL(sourceforge,github,mirror ...),以及
  • 从签名(SHA校验) 两个 源网站 下载的文件的计算校验。

第一个校验和应该在源网站上可用(例如https://sourceforge.net/projects/gnucash/files/gnucash(stable)/ <version>底部的README.txt)。 必须从您下载的文件中计算出第二个校验和(例如run sha256sum gnucash-3.0.setup.exe )。

小费
验证下载的校验和始终是一个好习惯。

问:我正在尝试阅读教程/帮助,但是它说找不到URL。那是怎么回事?

解答1: 您没有安装 gnucash-docs 软件包。 将其安装到安装gnucash的相同前缀,然后docs / tutorial将正确显示。

如果您的默认桌面不是 Gnome ,则可能还需要安装 yelp

A2: 您遇到了“真正稳定的” [SuSE Bug] 。

问:为什么网上报价无效?

答: 请参阅 在线报价疑难解答

问:如何获取股票报价时解决“系统错误”或“未知错误”?

答: 请参阅 网上行情疑难排解

Linux和其他* nix操作系统的版本

问:我的发行版是否没有(较新的)预编译的rpm?

答: 不在这里,但是您可以在 http://rpm.pbone.net/上 使用带有“ gnucash-4”或其祖先的搜索字符串进行“更稳定”分布的搜索。

问:为什么GnuCash在FreeBSD系统上启动的速度非常慢?

答: 您的GnuCash副本未针对 FreeBSD 正确编译 。 在FreeBSD上编译gnucash时,需要在环境中设置“ libltdl_cv_sys_dlopen_deplibs = yes”,然后再运行./configure命令。

问:我正在运行Debian /不稳定的,刚刚升级,并且GnuCash不再起作用。我该如何解决?

答:请 联系Debian。 阅读 gnucash用户档案, 因为其他人可能已经报告了该问题。

问:我无法在Slackware上运行GnuCash

答: 请参阅 https://rjmarq.org/gnucash.htmlhttp://www.slackages.com/linux/slackages/index.html

问:为什么GnuCash在使用X的Unix系统上运行缓慢得令人难以置信?

答: 请确认您的X配置中未禁用RENDER选项。 有时这样做是出于调试目的,例如:

  Section "Extensions"
    Option "RENDER" "off"
  EndSection

苹果系统

问:如何在macOS上安装?

答:GnuCash网站 顶部的链接下载dmg, 然后按照 macOS安装中的说明进行操作

问:我刚刚安装了GnuCash,但单击它后拒绝启动。怎么了?

答: 您下载的GnuCash副本很可能已被macOS操作系统破坏(或隔离)(在更高版本的Mojave或Catalina中)。

  1. 首先,检查系统日志中是否有有关GnuCash的投诉。 打开一个终端窗口并运行命令:
    log show --last 1d --predicate 'eventMessage contains[c] "gnucash"'
    如果您发现启动时含糊不清的投诉涉及 服务已退出,但代码异常:1 ,则您的GnuCash映像有问题,或者已被macOS隔离。
  2. 要检查GnuCash的映像是否 已损坏 ,请在终端窗口中运行以下命令(调整路径以匹配您的GnuCash位置):
    spctl --assess -vv /Applications/Gnucash.app

    如果图像未损坏,则应获得如下输出:

    /Applications/Gnucash.app: accepted
    source=Notarized Developer ID
    origin=Developer ID Application: John D Ralls (Y9EHT5WMK7)
    否则,您下载的图像已损坏。 下载新的副本,然后重新安装GnuCash。
  3. 要检查GnuCash映像是否 被macOS 隔离 ,请在终端窗口中运行以下命令:
    xattr -p com.apple.quarantine /Applications/Gnucash.app

    您可能会获得如下信息:

    0181;5eefb4fd;Chrome;E0D8DF2D-DB87-4025-A211-260183ECA9D9

    记录您下载GnuCash所使用的浏览器的位置(在这种情况下为Chrome)。 您可以通过以macOS管理员身份运行以下命令来从GnuCash应用程序中强制删除此扩展属性:

    xattr -d -r com.apple.quarantine /Applications/Gnucash.app
    然后重试单击GnuCash以启动它。 它应该成功启动。

问:如何在macOS上获取上下文菜单?

答: 在3.0之前的GnuCash版本中,用户可以通过按住Control键单击来访问上下文菜单。

要访问GnuCash 3.0及更高版本中的上下文菜单,请使用两个手指单击触控板上。

在3.0版中,GnuCash更改为使用 GTK3 ,它会将Control-click解释为普通点击。 这是GTK3的限制,在如所描述的 797286

问:我刚刚安装了GnuCash,并且所有标签都为日文

答: 这通常是由于Mac上的默认语言不完全正确造成的。 打开“系统偏好设置”>“语言和文本”(雪豹)或“国际”(Leopard和Tiger),并更改语言顺序,关闭系统偏好设置,然后重复并将其更改回您喜欢的方式。 再次尝试GnuCash。

问:我想从Mac上删除GnuCash。我该怎么做?

答: 注意:这些说明适用于从GnuCash网页上的独立下载(并由Homebrew重新分发)。 MacPorts的用户应查阅这些发行版的说明。

它几乎全部包含在应用程序捆绑包Gnucash.app中,您只需将其拖到垃圾箱即可。 Gnucash的配置文件位于$ HOME / Library / Application Support / Gnucash中,您也可以将其拖到废纸。中。 如果Gnucash曾经崩溃过,则$ HOME / Library / Logs / CrashReporter /中可能有崩溃日志,您也希望将其拖到垃圾箱中。 CrashReporter日志文件名以应用程序的名称开头,因此Gnucash的文件名将以“ Gnucash”开头。

如果Finder不允许您将Gnucash.app拖到垃圾箱中,则可能有一个或多个dbus-daemon(一个Gtk进程间通信程序)实例仍在运行。 有两种方法可以阻止它们:

  • 如果您对命令行不满意,则更简单的方法是打开/ Applications / Utililities / Terminal并发出命令“ killall dbus-daemon”。
  • 否则,打开/ Applications / Utilities / Activity Monitor,然后在右上角的过滤器窗口中键入“ dbus”。 这样会将列表限制为仅dbus实例。 依次选择每个对象,然后单击工具栏左端的红色八边形“退出过程”工具,然后在随后的对话框中选择“退出”。

您的主目录中隐藏文件夹中可能还有其他配置文件,您必须从“终端”命令行中删除这些配置文件。 这些目录是:

  • .gnucash(如果您使用的是较旧版本的Gnucash)
  • .gconf
  • .gconfd
  • .gnome2
  • .gnome2_private
  • .banking(如果您已将在线银行功能与旧版Gnucash结合使用)
  • .aqbanking(如果您在Gnucash 2.3.9或更高版本中使用了在线银行功能)

要删除这些目录,请打开Applications:Utilities:Terminal并在提示符下输入

rm -rf目录名

对于每个目录。

您的帐户文件可以放在任何地方。 将有相应的 备份 和日志(后缀.log)文件,其名称与您的帐户文件相同。 您也可以将其中很多拖到垃圾箱。

问:如何在Mac上安装Finance :: Quote?

答: 请参阅 在macOS上安装Finance :: Quote

问:我将GnuCash数据复制到了网络驱动器。如何从Mac打开它?

答: Mac将所有网络共享安装在/ Volumes目录中,可以在GnuCash File Chooser中导航到该目录。

首先,请确保网络文件夹已安装并且可以在Finder中浏览。 请注意其共享(不是主机)名称:在Finder中选择共享主机时,第一个屏幕/级别/列(取决于Finder中选择的视图)将显示该计算机上可用的共享。 您选择的名称将是下一步显示在/ Volumes文件夹中的名称。

启动GnuCash并选择File-> Open。 在左侧的选择列表中,您将看到“文件系统”和“ /”的条目; 他们俩都去同一个地方。 单击该按钮,然后向下滚动并双击“卷”。 查找远程文件夹的共享名称,双击该名称,然后照常导航至帐户文件。

微软Windows

问: Gnucash在启动时立即崩溃

答: 发生这种情况可能有多种原因。

有时会弹出一个很难检测到的东西,除非有人知道要 装 Lilypond 。 用于Microsoft Windows的Lilypond使用与Gnucash不同的Guile版本构建,并且Lilypond安装程序坚持将其路径放置在全局路径列表中,这样Gnucash会找到Lilypond的Guile而不是它自己的Guile并崩溃。 解决方案是从控制面板中的全局路径中删除Lilypond的目录,并将其添加到“开始”菜单和“桌面”别名中的环境设置中。

问:还有其他有关Windows的信息吗?

答: 是的, Wiki中 有一个 Windows页面 。 特别是,您还可以查看 该页面上 的“ 已知问题” 部分。

所有GnuCash版本

问: GnuCash在尝试运行SX的启动时崩溃。我该如何解决?

答: 我们仍在努力寻找所有各种SX问题。 首先,您应确保正在运行最新版本。 其次,如果您运行的是最新版本,但仍然有问题,则应在终端上提交所有输出的错误报告(您正在从终端上运行gnucash,对吗?)。 第三,您应该备份数据文件,因为开发人员可能希望查看其中的部分内容以帮助跟踪此问题。 最后,运行:

gnucash --nofile

然后从“编辑”->“首选项”->“预定的事务”中关闭“自动运行”选项。 然后退出并重新启动GnuCash,它将打开您的数据文件。

配置和管理

基础知识:文件名,目录,...

问:什么是GnuCash文件扩展名?

答: 从2.3.15版本开始, .gnucash 是新文件的文件扩展名。 不过,现有文件名将不会更改,并且大多数系统仍然可以识别旧扩展名。

早期版本未强制执行任何文件命名约定或扩展名。 但是, .xac.gnc 扩展名在几乎所有发行版和桌面环境用于将应用程序与文件相关联并允许在文件浏览器中双击打开文件的“ shared-mime-info”包中进行了描述。

注意: .xac 是GnuCash的前身“ X-Accountant”的缩写; .gnc 是GnuCash的“内部”三个字母的缩写。

问:我的GnuCash数据文件在哪里?

答: 答案部分取决于您为数据选择的文件格式。

如果您使用默认的 xml 格式或 sqlite 格式,则数据文件称为 something.gnucash ,并存储在保存文件时指定的文件夹中。 注意: 有关 文件命名的更多信息, 请参见上 一个问题 。 有关文件格式的详细信息,请参见 GnuCash XML格式SQL

如果您使用的是 postgresmysql 存储格式,则 DBMS中 没有数据文件,而是数据库 。

如果您不记得文件的保存位置,可以通过单击 文件>另存为… 并在对话框中注意该文件夹来确定文件的位置。 那就是您的数据文件所在的文件夹。 然后,取消“ 另存为...” 对话框。

如果上述方法不可行,请在磁盘上搜索包含 .gnucash.xac.log 文件的目录。

问:什么是.LCK和.LNK文件?

答: 这些是 GnuCash创建的 锁定文件 ,以防止不同的用户同时打开同一文件。 GnuCash在打开数据文件时创建这些文件,并在关闭文件时将其删除。 ( 注意: 如果GnuCash崩溃,这些文件将保留在您的系统中,并且GnuCash将在您下次尝试打开数据文件时向您发出警告。)如果GnuCash不再使用给定的文件,则可以安全地删除这些文件。

问:这些.gnucash和.log文件全部填充了我的目录吗?

答: 这些是 GnuCash创建的 备份 数据文件 和日志文件(“ .log”),以防止数据丢失。 GnuCash将在一段可配置的时间(首选项/常规/“保留日志文件的天数”)之后将其删除。 在正常情况下,如果数据文件没有问题,不需要旧版本的文件,则可以安全地删除这些文件。

请注意,备份和日志文件的格式为<名称> .YYYYMMDDHHMMSS.gnucash(或.log)。 这些是数据文件<名称>中的备份(和日志)文件。

请注意,仅当您使用本书的XML后端时,才使用.log文件。 使用SQL存储时,建议不要重播.log文件。 数据始终保存到数据存储中,在这种情况下,数据丢失的可能性极小。

《用户指南》的“ 备份和恢复数据” 部分对 本主题进行了更广泛的 介绍。

问:为什么我的文件名越来越长?

答: GnuCash通过获取当前数据文件并将日期/时间添加到末尾(YYYYMMDDHHMMSS.gnucash)来创建备份文件。 因此,如果您使用的文件名为“ Foo.gnucash”,则将获得以下格式的备份:

Foo.gnucash.20100719100214.gnucash

现在,假设您打开这些备份文件之一,而不是打开“ Foo.gnucash”,而是对其进行了更改,然后保存了该文件。

对于初学者来说,这意味着您刚刚覆盖了原始备份文件,这总是一个坏主意。 永远不要更改备份。

其次,由于您保存了更改,GnuCash将使用相同的命名系统基于您刚刚更改的文件创建一个备份文件:它添加了日期/时间扩展名。 由于您保存的文件已经具有这样的扩展名,因此最终得到一个名为:

Foo.gnucash.20100719100214.gnucash.20100719112352.gnucash

重复此过程将添加到文件名,直到超过操作系统限制。

解决方法:

1)不要打开备份文件

1a)如果您 确实 要打开备份文件,则 永远不要 简单地再次将其保存,而要使用“另存为”为它起一个新的名字。

2)确保您始终使用基本数据文件

3)如果您的基本数据文件由于某种原因损坏,并且您需要从先前的备份文件中恢复,则将备份文件复制到错误的基本文件上,例如:

cp Foo.gnucash.20100719100214.gnucash.20100719112352.gnucash Foo.gnucash

然后选择File->打开新文件Foo.gnucash。

问: Gnucash崩溃了,丢失了很多编辑内容。我该如何恢复它们?

A:

首先要检查的是,实际上,您正在打开正确的文件。 在标题栏中查找:如果它以一长串数字开头,例如20111011(2011-10-11,即2011年10月11日),则说明您打开了错误的文件。 如果您没有做太多次,那么正确的文件应该仍然在“文件”菜单的“最近”列表中。 打开它,并确保您确实丢失了工作。

如果确定文件正确,但仍缺少工作,请查看该数据文件的日志文件-以及您可能已在其中输入数据的所有备份文件(这些文件的名称看起来类似例如filename.timestamp.gnucash.timestamp.log)。 Quicklook可处理日志文件,因此您可以在Finder中浏览日志文件。 找到最早的数据 没有 出现在数据文件中的 文件 ,然后选择“文件”>“导入”>“重放Gnucash .log文件” ,然后选择该日志文件。 对每个后续的日志文件重复此操作。

单击保存按钮。

回去工作。

警告:日志文件将不会重播业务操作。 因此,如果您过帐发票或处理付款或对业务功能执行其他任何操作,则重播日志 将破坏您的数据! 不要 重播包含业务功能操作或内部数据结构中的事务的日志, 该日志将完全弄糟,并且以后清理时会遇到很多麻烦。

如果您确实丢失了业务功能工作,则唯一可以做的就是手动重做工作,然后确保单击“保存”。

早点保存,经常保存。

问: GnuCash说无法获取我的文件的锁。我应该怎么办?

答: 有两种获取该消息的方法:

  1. 一种是让GnuCash的另一个实例在打开相同文件或数据库的情况下运行。 如果您使用的是MySQL或Postgresql,或者您的文件位于Dropbox之类的服务中,则另一个实例可能不在同一台计算机上。
  2. 另一种方法是,如果GnuCash在上一次退出时未正确关闭,因此也没有删除锁定。
  3. 您正在使用 sshfs 文件系统。 在这种情况下,添加选项 -o disable_hardlink 应该会使错误消失(如果您具有在远程目录上具有足够特权的UID / GID)。
  • 如果您 完全确定 GnuCash的另一个实例没有打开相同的文件,请单击“仍然打开”。
  • 否则,请选择其他按钮之一。
背景
当用户使用GnuCash打开.gnucash文件时,例如 ,打开 foo.gnucash时 ,GnuCash在同一文件夹中创建另一个文件,以表示该文件已打开并正在修改。 这是锁定文件。 锁定文件将具有相同的文件名加上LCK扩展名,例如 , 打开 foo.gnucash 时的 foo.LCK
在GnuCash打开文件之前,它将查找一个以您要求打开的文件名开头并以 .LCK 结尾的文件 。 如果找到此文件,则会发出有关获取锁困难的警告。 在这种情况下,GnuCash认为您要打开的文件已经打开并正在编辑。
小费
使用任何类型的 同步软件时 ,请设置软件以 不复制 * .LCK和* .LNK以及* .log文件。
也可以看看
#Q:什么是.LCK和.LNK文件?

问:我已移动/重命名了数据文件,但报告却消失了。我该如何找回他们?

答: 报告存储在〜/ .gnucash / books目录中的单独文件中。 文件名是主数据文件的url编码的路径名。 要取回报告,请将旧报告文件复制到新报告文件上,然后在您喜欢的编辑器中打开〜/ .gnome / GnuCash并将与旧文件相对应的部分复制到新文件的部分中

问:为什么GnuCash无法再找到我的数据文件?它只是说:解析器错误:起始标签应为预期,找不到“ <”

答: 很抱歉,您只是开枪打死自己。 GnuCash使用$ HOME / .gnucash存储元数据文件。 特别是,$ HOME / .gnucash / books存储有关您的数据文件的元数据。 在1.8版或更早的版本中,元数据文件被命名为数据文件完整路径的编码名称,但是从2.0版开始,此名称已更改,并且元数据文件的名称与数据文件相同。 因此,如果将数据文件保存到$ HOME / .gnucash / books中并更新了版本,则GnuCash只会用元数据文件覆盖数据文件。 您需要复制一个备份文件并将其移至$ HOME / .gnucash之外的某个位置,并通过使用File-> Open功能加载新的数据文件来告诉GnuCash在此处查找。

注意: 这种情况应该不再发生,因为某天[2011年?]元文件的扩展名为 .gcm GnuCash元文件 ,而默认情况下,数据文件 的扩展名为 .gnucash 。 但是,将您的数据文件存储在此应用程序设置文件夹中是一个坏主意。

问:如何更改最近的文件数量?

答: 它与下一个问题几乎相同,但是除了删除 fileX之外 ,您必须 在/ org / gnucash / history /中 编辑 maxsize 。 如果减少数量,还应该删除多余的fileX 条目。

去做
拆分出“正在访问GSettings”并从两个问题中将其链接。

问:我已经从计算机中删除了一个gnucash文件。如何从“文件”菜单的短列表(MRU)中删除该文件?

答: 在“文件”菜单中看到的文件列表是“最近使用过的”文件(MRU)的列表。 严格来说,即使您同时从计算机中删除了该文件,该列表中的项目仍然是“最近使用的”(您将无法再从“文件”菜单中打开它)。 因此,这实际上只是一个装饰性问题。 但是,如果这困扰您足够,并且您确实希望删除过时的条目,请继续阅读。

根据您的GnuCash版本,MRU列表存储在不同的位置。

GnuCash 2.6及更高版本
MRU列表文件存储在默认首选项系统中,具体取决于您的操作系统。
Linux及类似
现在,MRU列表存储在dconf中,它是现代linux系统上gconf的替代品。 您可以使用称为 dconf-editor 的工具 来操作dconf数据库。 您可能需要先使用发行版的软件管理系统进行安装。 然后打开DConf编辑器gui工具,并使用它来修改 / org / gnucash / history 树。

显示的最近使用文件的默认数量设置为4。可以通过 在同一窗口中 更改 maxfiles的 值,将其设置为其他值 。

苹果系统
MRU列表存储为默认值。 这可以通过defaults(1)命令在终端中访问。 要从列表中删除特定文件(例如,第四个文件),您可以说
默认删除-app Gnucash“ / org / gnucash / history / file4”

要更改它,说

默认写入-app Gnucash“ / org / gnucash / history / file4”“ /Users/john/Desktop/MyAccounts.gnucash”

要显示所有存储的Gnucash首选项,请使用

默认读取-app Gnucash

要更改列出的文件数,请使用

默认写-app Gnucash“ / org / gnucash / history / maxfiles” -int 6

该值必须介于0到10之间(含0和10)。

注意:您可能需要提供GnuCash的完整路径,例如<tt>默认值读取-app / Users / john / Applications / Gnucash 或使用域,例如 默认值读取org.gnucash.Gnucash

视窗
MRU列表存储在Windows注册表中。 您可以使用regedit工具进行操作。 默认情况下,此工具安装在Windows上。 您可以在 HKEY_CURRENT_USER / Software / GSettings / org / gnucash / history 下找到MRU列表 。
要更改显示的文件数,请创建一个新的DWord项目maxfiles并将其设置为0到10之间的一个十进制数字。
GnuCash 2.4及更高版本
MRU列表存储在称为GConf的独立首选项数据库中。 GnuCash没有直接的方法来编辑它。 根据您的操作系统,有不同的更改方法:
Linux及类似
您可以使用称为 gconf-editor 的工具 来操纵GConf。 您可能需要先使用发行版的软件管理系统进行安装。 然后打开GConf编辑器gui工具,并使用它来修改 / apps / gnucash / history 树。
苹果系统
与Windows一样,gconf编辑器在该平台上不可用,并且您必须在GnuCash或其他基于Gnome的程序 运行 时使用文本编辑器手动编辑gconf文件 。 您要更改的文件是 〜/ .gconf / apps / gnucash / history /%gconf.xml 。 该文件在xml中。
视窗
在Windows上,gconf编辑器工具不可用。 在这里,当GnuCash或其他基于Gnome的程序 运行时, 您将必须使用文本编辑器手动编辑gconf文件 。 通常,您要更改的文件为 c:\ Documents and Settings \ <用户> \。gconf \ apps \ gnucash \ history \%gconf.xml (Windows XP)或 c:\ Users \ <用户> \。gconf \ apps \ gnucash \ history \%gconf.xml (Windows 7)。 该文件在xml中。

有关备份的问题

问:如何备份数据?

答: 请参阅“ 备份” 页面。

问:如何备份我的GC环境,包括首选项?

答: 请参阅“ 备份” 页面。

自定义外观

问:如何更改GnuCash的外观?

答: GnuCash使用GTK来管理其外观。 GTK是用于创建图形用户界面的多平台工具包。 GTK使用各种 资源文件 进行管理。

注意: 默认情况下不会创建资源文件,因此系统上可能不存在资源文件。

  • GnuCash版本2使用GTK2工具包。 有关 更多信息, 请参见 GTK2
  • GnuCash 3.0版和更高版本使用GTK3工具包。 有关 更多信息, 请参见 GTK3

问:如何更改报告的外观?

答: GnuCash报告的外观可以在“ 编辑”->“样式表” 下进行更改 。

问:如何更改套准颜色?

A:

问:在哪里可以找到GTK资源文件?

答: 对于GnuCash支持的每个平台,GTK资源文件的路径和使用的文件名都不相同。

有关GTK路径的信息可从“ GTK配置”位置获得

有关您的计算机上可能存在的GTK文件的信息,可以通过 GTK文件名获得

有关使用这些工具的更多信息,另请参见 GTK2GTK3 页面。

问:我使用KDE,但是我的字体看起来丑陋

答: GnuCash使用您的GTK字体设置。 您可能只需要更改(或创建)Gnucash的GTK设置。 如果您的 KDE系统设置 没有模块 GTK ,只需 从konsole 命令行(或使用Alt-F2 运行命令对话框) 运行 gnome-control-center 。 ' '

GnuCash本地化(L10N)和字体问题

问:我想以自己的语言使用GnuCash

答: 请参阅 Locale_Settings

问:我想使用与我的货币/小数分隔符不同的语言使用GnuCash

答: 然后,您要设置与LANG不同的LC_MONETARY环境变量:“ env LC_MONETARY = fr_FR”。

问:我是Mac用户,我想以与系统设置不同的语言使用Gnucash。

答: 请参阅 Locale_Settings#Changing_the_Language_on_OSX

问:如何摆脱奇怪的不可读字符?

答: 您需要一种定义了各个字符的字体。 您的系统工具通常提供一些字体查看器来对其进行测试。 有关 常规更改字体设置的指导, 请参见 Customizing_the_Appearance

问:我不喜欢GnuCash 2.6的一些新货币符号

答: 如果您真的知道符号有误或过时,

关注 #Q:我认为我发现了一个错误。 如何举报? 并将其提交给 Currency和Commodity 组件 。

别忘了添加指向可靠资源的链接,例如Wikipedia或您的中央银行。

在两者之间:

工具->安全性编辑器

选中标记 显示本国货币

打开货币树,

搜索该货币的ISO符号,然后点击 修改

显示符号 替换 为所需的文本

并单击“ 确定”进行确认

使用不同的版本,升级和降级

问:我可以与任何其他版本的GnuCash交换Gnucash文件吗?

答: 不完全是。

  • 您始终可以升级到更高版本。 在大多数情况下,您可以在相邻的主要版本之间来回切换。

有一些例外:

  • 要从3.x回到2.x,您应该首先回到2.6.21。
  • 如果您 在2.6中 使用了 贷方通知单 功能, 则2.6和2.4文件不可互换 。
  • 如果您创建了 Scheduled Transactions ,则在2.0中阅读2.2无效 。

问:新的GnuCash版本仍然可以读取我的旧数据文件吗?

答: 答案取决于您想前进多少。 有关 系统的说明, 请参见 GnuCash发行版本编号

错误修正版本 
GnuCash保持了各个Bugfix版本之间的完全兼容性。 因此,使用2.2.5创建的文件可以与2.2.9配合使用,反之亦然。
主要版本 
主要版本之间的数据格式可以更改。 但是,GnuCash开发人员非常努力地做到尽可能兼容。 每个主要系列通常至少与先前的主要系列兼容。 因此,例如,如果您有一个使用2.0.3创建的数据文件,则应该能够使用2.2.5打开它。 但是,跳过主要版本可能会导致问题,因此不建议这样做。 相反,建议您至少首先打开文件并将其保存在中间版本中。

重要: 从一个主要发行版迁移到另一个主要发行版时,建议您在新版本中首次打开文件时运行“检查并修复”。 特别是在移至新的主要发行版之后运行时,它可能会解决旧发行版忽略的数据格式问题,但新发行版会遇到问题(例如 bug#340372)

发行不稳定 
不稳定的版本(或开发版本)可以改进数据格式或完全提供新的数据格式(例如将gnucash数据存储到数据库中)。 对于不稳定的发行版,不能保证兼容性,甚至不能在各个Bugfix发行版之间实现兼容性。 原因很简单:这些发行版是为了测试新功能,而不是供长期生产使用。 因此,您应该仅在数据副本或单独的测试数据上使用开发版本。

问:还有其他方法吗?旧的GnuCash版本可以读取使用新版本创建的数据文件吗?

答: 答案也取决于您的发行版相距多远。

错误修正版本 
同样,GnuCash保持了各个Bugfix版本之间的完全兼容性。 因此,您使用2.2.9创建的文件将可用于2.2.5,反之亦然。
主要版本 
这比较棘手。 通常,此处的GnuCash尝试至少向后兼容其先前的主要版本,尽管这可能并不总是有效。 以下是一些潜在的问题:
  • 如果新功能导致数据文件中出现新字段,则这些新字段在旧版本中将不可见。 根据添加这些字段的方式,这将导致旧版本不可读您的数据文件,或者将忽略(但保留)新字段。 显然,后者是首选解决方案,因为它保持了向后兼容性,但在技术上可能无法实现。

多台计算机,用户,...

问:我可以与多个用户一起使用GnuCash吗?也许通过SQL后端?

答: 这取决于您的确切意思。 您可以与他人共享数据文件,例如,将其存储在网络安装的驱动器上。 请注意,这将强制对数据文件进行序列化的独占访问和编辑; 没有真正支持同时编辑。 在此文件上使用了文件锁定,因此它应该是NFS安全的。 SMB安全锁定是未知的。

即使是GnuCash 2.4随附的dbi(SQL)后端,当前也不是为真正的多用户访问而设计的。 通过锁定机制可以防止尝试在同一数据库中同时与多个用户一起工作。 规避可能导致数据丢失的情况。 但是,如果您确保序列化的独占访问,则可以与其他用户共享数据库。 换句话说,当时只有一个用户可以使用该数据库打开GnuCash。 一旦该用户关闭他的GnuCash会话,另一个用户就可以在该数据库上启动GnuCash。

问:我正在GNU / Linux下运行GnuCash。我可以给其他用户访问我的GnuCash文件的权限吗?

答: 是的,只要你们两个都不能同时访问它们即可。 您可以使用在Linux下共享任何类型的文件的相同方法进行操作:将它们放置在双方都可以访问的文件夹中,并更改权限,以便双方都可以读取和写入文件。 您确实不希望有多个人同时打开它们进行编辑,但是,最后保存的人将覆盖先保存的人的更改。

问:我在多台计算机上(通过存储库)使用同一帐户,如何转移当前已打开的报告?

:将您的图书的gcm文件从 GNC_DATA_HOME / books 复制 到其他计算机上的相同位置(在3.0之前,它 在Linux和Windows 上将是 HOME /.gnucash/books)。

或者,您可以保存报告配置。 这些报告配置可在 GNC_DATA_HOME / saved-reports-xy中找到(同样在3.0之前, 在Linux和Windows上 ,它将是 HOME /.gnucash/saved-reports-xy)。 如果将该文件复制到另一台计算机,则将具有相同的报告。

问:我刚买了一台新电脑。我应该从以前的旧文件中复制什么?

:您需要复制要备份的文件,因此请参见 备份

  • 如果您的新计算机运行的 操作系统 与旧 计算机 不同,则配置位置将有所不同,请参阅“ 配置位置”
  • 如果要在 升级的同时 从较早版本升级到GnuCash 3.x ,请将配置文件复制到较早版本的位置,然后让GnuCash将其移动到新位置。

SQL数据库

问:是否有数据库后端?

答: 首先使用GDA创建了一个抽象层,然后将其替换为DBI,事实证明该方法工作良好。

这是使GnuCash适用于多用户同时使用的第一步。 在完成此操作之前,几乎所有用户都可以使用XML后端。

问:我应该使用XML还是数据库后端?

答: 在GnuCash支持同时使用多用户之前,几乎所有用户都可以使用XML后端。

问:是否支持Postgres DB / SQL后端?

答: GnuCash 2.4版和更高版本通过DBI后端支持SQL。 它支持 PostgreSQLMySQLSQLite3 数据库。

一些历史
第一个PostgreSQL后端是在1.6代码行中引入的,但是它从不支持自1.6版本以来引入的任何功能,特别是业务功能和计划的事务。 即便如此,以这些功能为模,即使在2.2版本中,Postgres后端仍应基本起作用。 但是,从2.0版本开始,与使用Postgres后端有关的某些用户界面元素不再可用;因此,不再提供这些用户界面元素。 使用 postgres:// 命令行中 的 url进行访问。

从2.0版本开始,核心开发人员就认为这第一个Postgres后端已过时,并且已从2.4版本中删除。

在2006年,工作开始创建基于 GDA 的后端,以取代特定于Postgres的后端。 从 2008年第二季度开始 ,GDA后端已替换为 DBI 后端。该DBI后端最终是在2010年12月下旬随GnuCash 2.4一起发布的。

问:我可以使用其他程序(也许是Microsoft Access)打开GnuCash SQL数据库吗?

答: 是合格的。 要使用诸如Access(或Open Office的数据库)之类的PC程序,无论您决定使用哪个数据库,都需要ODBC驱动程序。 当然,您可以使用数据库引擎(SQLite3,MySQL或PostgreSQL)提供的工具(包括嵌入式sql编程工具)查询数据库。

但是合格的,因为关系信息未在数据库中编码:目前没有定义任何外键。 所有关系都在GnuCash库中以C或Scheme代码建立。 此外,在一个“键/值”表中存储了大量数据,这些数据与数据库中几乎所有其他表都有关系。 由于这些限制,我们坚持除非通过GnuCash库,否则不得写入GnuCash数据库。

表布局记录在 SQL中

问:打开smb网络驱动器上的sqlite3数据文件会使GnuCash崩溃

问:保存到smb网络驱动器上的sqlite3会出现锁定错误

答: 似乎某些smb服务器不能很好地解决sqlite3要求的低级文件锁定。 sqlite3文件驻留在Windows XP计算机上并从通过cifs挂载Windows驱动器的linux计算机访问时,会遇到这种情况。 OS X客户端很可能会遇到相同的问题。

有一种解决方法(至少在Linux上):如果您安装Windows驱动器,请在mount命令中(或/ etc / fstab中)添加选项“ nobrl”。 这将禁用有问题的低级锁定机制。 您应该知道,如果两个用户同时使用此数据文件,这样做将有损坏文件的风险。 由于GnuCash不支持多用户,无论如何同时访问,这应该不是问题。

有关此问题的更多详细信息,您可以检查以下链接:

  1. GnuCash错误637886 ,尤其是 注释20 ,它总结了该问题
  2. Samba错误5994 ,这似乎是问题的核心。

问:我尝试在SQL数据库上启动GnuCash 2.4.1,但出现有关libdbi和大数的错误

答: Libdbi是一个库,我们使用它来概括对我们支持的SQL数据库的访问。 不幸的是,默认的编译方式与某些编译器不一致,从而导致它无法处理大量……我们用来存储金额的大量数字。 这意味着,如果尝试在适当的位置使用带库的SQL后端,则会丢失大量数据。 我们已经遇到了多个Linux发行版,这些发行版具有错误的libdbi,因此我们在Gnucash中插入了一个测试来进行捕获。 您可以 阅读错误报告 以获取技术详细信息,但是如果您遇到这种情况,则应在发布时提交错误报告。 如果您能够构建程序,则可以使用不同的参数构建自己的libdbi以避免该错误(同样,详细信息在 错误报告中) )。 否则,您将不得不使用XML后端。

安全性:加密,密码功能

问:是否可以使用CFS等为GC数据提供安全性?

问:能否请您添加密码功能?

答: 核心开发人员(包括那些在计算机安全领域具有知名度/品牌的长期经验的开发人员)认为,每个应用程序都应该做好一件事情,而将其他问题留给其他应用程序。 当涉及到诸如数据安全之类的关键问题时,这尤其“棘手”。 在这种情况下,GnuCash在提供良好的数据安全性方面做得很差。 建议您使用加密的文件系统来存储关键数据文件-GnuCash和其他文件。

加密的文件系统选项:

  • 循环AES 。 有关设置加密的专门安装的回送分区的信息,请参见示例7.3。
  • 加密文件系统
  • 参见 gnucash-devel线程 。 请注意,帖子中的链接无效,但此链接有效: crypto.com
  • CFS是相当老的代码,并且有些脆弱,但确实适用于现代系统(例如,请参见NetBSD的pkgsrc中的pkgsrc / security / cfs)。
  • NetBSD的cgd(4),它是整个块设备的加密层
  • FreeBSD的基于几何的加密
  • TCFS

其他解决方案:

话虽这么说,但已经有一些关于密码保护功能的讨论,但是这些讨论都没有导致任何人实施解决方案。 例如参见 https://gnucash.uservoice.com/suggestions/1547269 和线程以下 https://lists.gnucash.org/pipermail/gnucash-devel/2013-June/035754.html

请注意,如果您使用GnuCash中的在线银行功能,则应注意,您的帐号和用户ID以纯文本格式存储在 AqBanking设置中 ,该设置 存储在

  • 〜/ .banking / settings.conf用于旧的aqbanking版本,并且在
  • 〜/ .aqbanking /用于较新版本(在此文件夹下的各种文件中)

除了您的gnucash数据文件外,您还应该加密此文件。

操作系统/发行版特定问题

[Novell | open] SuSE

问:尝试打开SuSE下的帮助菜单时,出现错误:“ GnuCash找不到帮助文档的文件。”

答: 由于某种原因,SuSE似乎总是存在与GC文档有关的错误。

  • 您可能必须使用YaST来安装
    • 耶夫
    • gnucash-docs 软件包。
  • 在SuSE 11.4中替换符号链接

/ usr / bin / gnome-help-> susehelp

/ usr / bin / gnome-help-> / usr / bin / yelp

允许GC帮助->目录按预期显示。

对于较旧的SuSE版本:gnome-help已从/ opt /移至/ usr /。

视窗

问:我什至无法显示任何报告,甚至样本报告也无法显示。显示的只是一个空选项卡。

答: 这是一个 公开的bug 的主题 #645273 。 解决方案,解释错误报告注释40:

  • 点击开始按钮
  • 点击控制面板
  • 选择网络和互联网(按类别查看)
  • 点击Internet选项
  • 选择程序选项卡
  • 在标签底部,选择设置程序
  • 选择底部选项“设置程序访问权限和计算机默认设置”
  • 然后要求您选择一种配置:
  • 通过单击右侧的双下箭头扩展“自定义”配置部分(此步骤可能不是必需的)。 如果您已经在使用“自定义”配置,请记下设置,以便在解决问题后可以重新使用它们。
  • 向上滚动,然后单击单选按钮以使用“ Microsoft Windows”配置。

请注意,一旦保存了此配置,就可以随意对“设置程序访问权限和计算机默认值”部分进行任何更改。 这些设置的第一次更改似乎可以彻底解决该问题。 这些说明适用于Windows 7-其他Windows版本可能略有不同。

问:当我尝试在Windows上打开数据文件时,出现“解析错误”。发生了什么 ?

答: 当您使用“帐户”对话框的“期初余额”选项卡时,Windows上的GnuCash有其特殊性。 如果在该选项卡中输入两位数的年份,则日期无法正确保存。 随后,当您之后重新打开数据文件时,GnuCash认为它是无效的。 如果遇到这种情况,可以尝试手动修复数据文件。

  • 制作数据文件的副本并解压缩(使用7Zip之类的工具)。
  • 使用文本编辑器(如Wordpad或Notepad ++)打开未压缩的文件。 这是一个xml文件。 xml看起来有点像html,但是使用不同的标记名称。
  • 查找缺少<trn:date-posted section>的事务部分。 如果找到此类交易,请在<trn:currency>部分下方添加<trn:date-posted>部分,如下所示:
      
      <trn:currency>
      ...
      </trn:currency>
      <trn:date-posted>
      <ts:date>2011-07-06 00:00:00 -0400</ts:date>
      </trn:date-posted>
  • 显然,您可以输入适合您的日期,但保持所示格式。
  • 当所有事务都有<trn.date-posted>部分时,保存文件。
  • 现在应该再次使用GnuCash打开

通过新帐户层次结构助手输入期初余额时,您可能会遇到相同的问题。 解决方法是相同的:您将必须添加缺少的<trn:date-posted>部分。

注意: 这个问题据报道, 这个bug ,并且仍然在2012-06-25之前发布的GnuCash的2.4.x的所有版本发生。 它已在版本2.6.0中修复。

问:启用了防火墙的Windows不允许我另存为同一台计算机上的MySQL / Postgresql数据库。是什么赋予了?

答:(简短版本) 您的防火墙很可能阻止了访问。 尝试使用 127.0.0.1 作为主机名,而不是 localhost 。 另外,您可以在防火墙上打开适当的端口以进行MySQL访问(TCP / 3306)或Postgresql(TCP / 5432)。 这种替代方法也允许从本地网络中的其他计算机到您的MySQL / Postgresql安装的连接,这可能是您想要的,也可能不是您想要的。

答:(长版) 特殊的主机名 localhost 应该指向本地计算机。 在大多数操作系统中,这等效于IP地址 127.0.0.1 。 Windows是一个值得注意的例外:它将 本地主机 与外部网卡的IP地址 相关联 。 尽管此地址也路由到本地计算机,但从理论上讲这是同一件事。 不幸的是,事实并非如此。 Windows防火墙在 127.0.0.1 和网卡的网络地址 之间进行区分 。 由于第一个确实是本地的,因此不会对其进行过滤。 后者连接到外部世界,因此被过滤。

因此,如果您将 localhost 指定 为主机名,则实际上是假装从外部连接到计算机上的MySQL并命中Windows(或等效)防火墙。 另一方面, 通过使用 127.0.0.1 ,您的连接将保持真正的内部状态,并且不会被防火墙过滤。

有关使用GnuCash的问题[1]

笔记
我们有一个 特定的页面 ,但其中仍未建立一些方面:

问:我可以同时打开多个数据文件吗?

答: GnuCash在程序的同一实例中不支持此功能,但是您可以打开GnuCash的单独实例,每个实例都有自己的数据文件。 有几种方法:

除macOS以外的所有操作系统的最简单方法
使用首选的文件管理器,然后双击要打开的数据文件。
使用命令行或创建快捷方式
该过程因操作系统而异:
苹果系统
在“终端”窗口中,输入以下命令,将“ path / to / your / data_file.gnucash”替换为要打开的其他文件的完整路径。
/Applications/Gnucash.app/Contents/MacOS/Gnucash path/to/your/data_file.gnucash &[1]
也可以使用诸如Automator.app之类的工具编写脚本来提供文件选择,或者将其安装为服务或工作流以直接在Gnucash数据文件上使用。
的Linux
在命令行上
gnucash <path/to/your/data_file[n]> &[1] [2]
创建.desktop文件
像以前一样调整命令行和名称,例如 gnucash-private.desktopgnucash-business.desktop 。 然后,您可以将它们添加到开始菜单,桌面或收藏夹中。
视窗
方法一
仅GUI,建议偶尔使用:
  1. 以通常的方式打开第一个实例,然后打开第一个文件。
  2. 按住 Shift ,单击任务栏上的GC图标或选项卡,然后松开 Shift
  3. GC的第二个实例将启动。 它将尝试打开已经打开的文件,但是将显示“无法获取锁”消息。 选择 仅打开红色
  4. 当出现GC界面时,在菜单中选择File»Open,然后打开第二个文件。
方法B
Windows快捷方式,建议经常使用:
  1. 右键单击开始菜单或桌面上的空白处,然后选择新建»快捷方式。
  2. 在第一个对话框中,键入GC程序的完整路径,并在空格后键入第一个GC数据文件的完整路径。 例子:
    "C:\Program Files (x86)\gnucash\bin\gnucash.exe" D:\$\GnuCash\File1.gnucash
    笔记
    当路径包含空格时,必须使用双引号。
  3. 在第二个对话框中,分配一个简短的显示名称,例如File1。
  4. 对File2重复步骤1-3。

现在,您可以双击一个或两个快捷方式,一次使用一个或两个文件。 在快捷方式的命令行中使用文件名,该GC实例将打开该文件,而不是最新文件。
  1. 跳至: 1.0 1.1 尾部的&符号将从终端会话中分离出Gnucash实例。您将返回命令提示符以打开其他数据文件,也可以直接关闭Terminal.app窗口。
  2. 跳起来 如果已经安装了gnucash的多个版本,请在gnucash的前缀之前添加所需版本的路径,例如发行版中的/ usr / bin或自编译版本的/ usr / local / bin


问:我设法以某种方式关闭了“帐户视图”标签。我该如何找回它?

答: 可以从菜单中打开一个新的帐户视图选项卡。 根据您使用的GnuCash的版本,这会稍有不同:

GnuCash 2.3及更高版本 
查看->新帐户页面
GnuCash 2.2.9及更低版本 
文件->新建->新帐户页面

问: Gnucash寄存器在哪里?

答: 转到“文件”->“新建”->“新帐户”页面。 您会看到一个帐户列表。 单击任何帐户,您将打开它的注册。

如果您是Quicken用户,则可能至少在最初不希望在列表中看到收入和支出帐户,因此请转到查看->筛选依据...,然后取消选中收入和支出。

问:如何计算GnuCash文件中的帐户或交易?

答: 如果您使用

  • xml后端
    • 启用压缩: zcat $ DATAFILE | grep -c“ act:name”
    • 未压缩: 命令行上的 cat $ DATAFILE | grep -c“ act:name”
  • 一个SQL后端:通常的 SELECT COUNT(*)...; 在您的 DBMS中

为帐户。

替换'grep -c“ trn:desc”'以获取事务数。 [2] 您还应该用正确的名称替换$ DATAFILE。

问:是否可以将两个帐户合并为一个帐户?

也就是说,是否有办法将所有交易从一个帐户转移到另一个帐户? 与移动每笔交易相比,这将节省大量时间!

答: 有点。 如果希望一个帐户中的所有交易转移/合并到另一个帐户中,则可以将要删除的帐户重新定向到要迁移到的帐户中,然后再删除要删除的帐户。 GnuCash会询问您是否要转移交易,您应该回答“是”。

第二个答: 可能不是,您必须手动更改每个交易。 但是,有些技巧可以使此过程进行得更快一些。 打开一个帐户寄存器,然后选择“ 视图”→“样式”→“自动拆分分类帐” (或“ 视图”→“样式”→“交易日记帐”) )。 这将自动展开所选交易的所有拆分。 在最简单的情况下,每笔交易都有两个拆分,其中一个拆分到当前帐户。 您想将分配给当前帐户的拆分更改为分配给另一个帐户。 双击拆分中的帐户名称,这将选择所有文本。 现在,无需使用下拉列表来选择新帐户,只需使用内置的自动完成功能键入新的帐户名。 例如,要将拆分移动到 Expenses:Auto:Repair ,可以键入 ex:au:r 。 当您再按 <enter>时 ,更改将被保存,并且该事务将不再与当前打开的帐户绑定,因此将消失。

(使用XML文件后端,可以通过在文本编辑器中直接编辑数据文件来合并帐户,但这是有风险的,因此不建议这样做)

问:如何在帐户树中对帐户重新排序?

答: 父母/子女订购

编辑子帐户(通过“编辑帐户”)时,可以选择父帐户。 因此,您可以在帐户类型约束的范围内在树上上下移动帐户。 是的,如果可以简单地将其拖放到“帐户树”中,那就更好了。

答: 同级订购

帐户代码字段可以包含您想要的任何值,这些值可以在帐户树中用于对列进行排序,从而对行进行排序。 不幸的是,这是一个繁重的排序,适用于整个视图,而不仅仅是子树。

问:如何在寄存器中订购交易,以便在提款之前存款?

答:首先 输入存款(借方),然后输入提款(贷方)。

在注册窗口中订购交易(显示特定帐户的交易)时,实际上是在订购该帐户的拆分。 按顺序检查的字段是:

  1. 发布日期。 这是在注册窗口中可见且可编辑的窗口。
  2. 事务的“数字”字段“除非”已在“书本选项”的“帐户”选项卡中选择了“对数字使用拆分操作字段”(可通过​​菜单中的“文件”>“属性”访问),在这种情况下,它将在“拆分”的“操作”字段上进行排序在注册窗口中显示的帐户”。 请注意,“常规”选项卡上还有一个首选项,可以自动在新文件上进行选择。
  3. 交易记录输入日期/时间:这是首次创建交易记录的日期和时间。 在用户界面中不可编辑。
  4. 交易描述字段。
  5. 拆分的备注字段。
  6. 协调字段。
  7. 分割量。
  8. 分割的值。
  9. 协调日期。
  10. 标识拆分的GUID。

因此,只有在“发布日期”相同的情况下才查询“数字”或“动作”字段,仅在“数字”或“动作”字段相同时才查询“输入日期/时间”,依此类推。

有时会问这个问题:“如何重新排序交易,使其与我的银行对账单匹配?”。 别。 您要保留自己的帐簿,而不是银行的帐簿。 使用“协调”窗口来协调两者。

如果您坚持要重新排序,那么在UI中执行此操作的唯一方法是编辑有问题的交易上的Num字段,或者如果选择了拆分,则编辑拆分的Action字段。 如果您将该字段用于其他内容(例如支票号码),则可能会导致问题。

问: “查看”菜单具有不显示无效交易的选项。如何取消交易?

答: 选择交易。 从“交易”菜单中选择“无效交易”。 出现提示时,键入原因,然后单击“确定”按钮。

问:我想编写自己的自定义报告。我应该从哪里开始?

答: 请参阅 自定义报告

简而言之,自定义报告需要一些编程语言Scheme的(少量)知识。 另外,可以通过单击菜单项“文件->添加报告”(较旧的版本:“保存报告”)来保存自定义报告(例如“多列报告”),这会将报告保存到文件〜/中。 gnucash / saved-reports-2.0,以便它在下次启动gnucash时显示为菜单项。 保存的报告将出现在菜单“报告->自定义”中。

或者,可以在Scheme文件中创建每个报告,以显示为菜单项。

问:如何将在内置报表上设置的选项另存为自定义报表?

答: 运行报告,根据需要编辑选项,并确保 在选项窗口的“常规”选项卡上 更改报告的名称 。 报告名称必须唯一。 在更改报告名称之前,“文件”菜单中的“添加报告”条目将被禁用。

该报告将保存在文件C:\ Users \%username%\。gnucash \ saved-reports-2.4(如果在驱动器C:上安装了GnuCash 2.4.x和2.6 Windows 7)。 有关 最新版本中保存的报告文件的位置, 请参见 Configuration_Locations

问: GnuCash不会让我保存我的自定义报告

我已经为报告精心定制了选项,现在想保存所做的修改,因此下次我需要此报告时不必再次执行所有这些工作。 但是“保存报告”按钮和菜单项被禁用。 我该如何解决?

答: 您必须更改报告标题(在选项中)。 然后,GnuCash将允许您保存报告。

问:如何保存自定义支票打印配置?

答: 当前,您不能使用用户界面保存自定义支票打印定义。 但是,如果您愿意对方案文件进行一些简单的编辑,则可以重新定义现有定义之一,以在支票上正确打印。 为此,请首先使用“打印支票”对话框添加您的自定义坐标,以正确打印支票。 (请注意,这些尺寸从支票的左下角开始计数。大数字将文本向上和向右移动。)

一旦具有在一张支票上正确打印所需的尺寸,便可以编辑gnucash / scm / printing / print-check.scm文件,以更改现有定义之一以打印到支票上。 您需要更改的区域被标记为“ stock-check-formats”,并且当前可能包含两个格式定义。 更改您喜欢的任何一个。 请注意,此处定义的尺寸与您在其中使用的对话框中的尺寸不相同。现在,您可能必须重新启动gnucash才能使新的格式定义生效。

要跟踪增强应用程序这一部分的任何进展,请查看bugzilla错误311062: https ://bugs.gnucash.org/show_bug.cgi ? id = 311062 [2]

问:如何设置和跟踪预算?

答: GnuCash 2.0中有预算支持。 我们鼓励您进行测试和反馈! 有关 更多信息, 请参阅 概念指南中的 “ 预算”一章 或 此Wiki上的“ 预算 ”。

问:当我打印支票/支票时,备忘录区域仍然为空...如何填写?

答: 填写“交易记录”字段,可通过“视图”->“双行”模式查看。

问:是否有结账支持?

答: 请参阅《 结账》

问:如何在计划的交易中使用变量和公式?

答: 请参阅 计划的交易

问:如何在GnuCash中输入资本收益交易?

:当有价证券发出资本返还时,该有价证券的成本基础将减少。 这会影响未来资本收益的任何计算。

请记住,资产/负债帐户的借方(DR)意味着增加。

Initial purchase of security (say $1000 of Dodgy Brothers Ltd)
   Cash at bank (asset) 1000.00 CR
   Dodgy Brothers Ltd (asset) 1000.00 DR

Dodgy Brothers Ltd pays $50 capital return
   Cash at bank (asset) 50.00 DR
   Dodgy Brothers Ltd (asset) 50.00 CR

这将Dodgy Brothers Ltd的成本基础降低至950美元。

问:我如何输入我在一家非公开发行的公司中行使的ISO(激励性股票期权)(仅在书面上有价值)?

答: 行使的ISO(奖励股票期权)是股票。 行使期权时,您将行使价作为股票价格来创建正常的购买交易。

问:会计年度是7月1日至6月30日,我该如何更改?

答: 菜单 Edit->Preferences->Accounting PeriodGnuCash帮助中的 详细信息 。

问:我如何看待收入/支出/等。在每个月的基础上?

答: 运行“收入/费用条形图”报告。

问:如何调整寄存器列的大小?为什么我不能缩小描述列?

答: 您可以通过以下方式调整列的大小:

  • 用鼠标抓住列标题之间的边界,并将列拉伸到所需的大小,

或者

  • 双击列标题。

注意只能 通过双击其标题来调整 “平衡”列的 大小。

但是 ,“描述”列是特殊的。 它被设计为始终自动填充以适合窗口大小。 这意味着您不能只减小描述列的大小,因为一旦放开它,它就会自动调整大小以填充屏幕。 如果要减小描述列的大小,则应首先调整要增大的其他列的大小,直到滚动条出现在窗口底部。 然后(然后只有)您将能够将描述列减少到窗口的“完整大小”。

已在Bugzilla上报告了此问题。

这里所描述的行为都记录在GnuCash的教程和概念指南 这里

问:我更正了一个错误,现在我的对帐余额已耗尽。如何解决该问题并核对我的帐户?

答: GnuCash从对帐交易中即时计算对帐余额。 如果您错误地(或毫不误会!)取消对帐,它将使对帐过程中的初始余额失去平衡。 这是完全正常和预期的行为。 要解决此问题,只需完全忽略启动平衡! 您需要做的就是输入正确的期末余额并重新核对交易记录。

调节完全是关于某个时间点的尾数平衡。 当您进行对帐时,您说的是某个日期(对帐日期)该帐户有一些期末余额X,并且您要标记所有从时间开始就可以达到该期末余额的交易。 初始余额可以用来指导您,但在对帐过程中没有任何相关意义。 实际上,这不是100%正确的-起始余额为您提供了从开始算起就已经包括在计算中的已对帐交易的总数。 但这没关系,您通常仍然可以忽略它。 如果您不对一笔$ 1交易进行对账,那么您的初始余额将减少$ 1,但是您要做的就是在下次再次对这笔$ 1交易进行对账,以使其恢复平衡。

问:我想使用“ gnucash --evaluate something”从命令行添加事务。我该怎么做呢?

答: 这是不可能的。 您需要将外部事务转换为共享格式(例如QIF或OFX),然后使用现有的应用程序功能将其导入。

答: 使用python绑定可以达到类似的目的。 您将必须编写python脚本来解析信息源并将其提供给gnucash。- C.holtermanntalk )2015年6月21日19:56(UTC)

问:为什么交易报告的“符号冲销”设置不适用于小计

答: 这是内部技术限制。

考虑以下不推荐但可能的帐户结构和交易,并考虑示例交易报告:

      • Bank [Asset]
   • Business [Income]
   • Business:Sales [Income]
   • Business:Expenses [Expenses]

交易如下:

      • 1-January “Sales”
   • Business:Sales -$100
   • Bank +$100
      • 2-January “Expense”
   • Bank -$20
   • Business:Expenses +$20
      • 3-January “Another Income”
   • Bank $10
   • Business -$10

“企业”帐户和子级的交易报告将产生以下内容。 请注意,单个交易金额按预期进行了冲销,但小计金额没有冲销。 这是设计使然。

日期

数词

描述

备忘/备注

帐户

数量

商业

2019/03/01

另一笔交易

商业

$ 10.00

商业总计

-$ 10.00

费用

2019/02/01

费用

业务:费用

$ 20.00

费用合计

$ 20.00

收入

2019/01/01

销售量

业务:收入

$ 100.00

收入总计

-$ 100.00

累计

-$ 90.00

如果小计的金额用负号反转,则总计将* add * 10 + 20 + 100 = $ 130,这是一个荒谬的数字。 因此,总计总计未颠倒的数字(-10 + 20 + -100)= -90,这是一个明智的数字,指示$ 90的利润。 在更复杂的情况下,所选帐户可能总共包括收入/支出/资产/负债帐户,而总计将包括所有相关帐户的金额。 当前的加*不可逆*金额的策略是,由于会计等式,在特定期间内*所有*帐户的加法将导致$ 0。

以前(在3.0之前)小计/总计总计*冲销*的金额,这意味着*所有*帐户的总计将是一个荒谬的数字,具体取决于符号反转策略(即,贷方帐户/收入和支出/无) 。 这是不正确的。

甚至存在更加复杂的方案,其中按“其他帐户名”对交易进行分组。 例如,选择资产科目作为源科目,但根据相应的资产/收入/支出科目对交易进行分组和小计。

就作者所知,上述方案没有安全的逆转策略。

将“显示/金额”显示设置更改为“双”可能会更容易,这将清楚地将“借方/贷方”列分开,并可能产生更好的小计金额。

导入/导出数据

问:如何从...导入数据?

Quicken®?

答: 请参阅“ 加快迁移” 页面。

Quickbooks®?

答: 目前无法从Quickbooks导入,也没有计划添加该功能。 Quickbooks QBW数据格式是专有的,未记录的文件格式。 因此,在有人记录文件格式或捐赠QBW文件解析器之前,将QB数据导入GnuCash的最佳选择是将数据以CSV格式输出,然后直接导入CSV数据或将CSV转换为QIF并使用QIF进口商。

  • Linux Weekly News 包含一篇文章,其中包含指向脚本的链接,以帮助从QuickBooks过渡到GnuCash。

Microsoft Money?

答: 请参阅 Microsoft Money迁移 页面。

YNAB 4?

答: 请参阅 YNAB迁移 页面。

(美国)发现信用卡吗?

答: 请参阅 在GnuCash 2中设置OFXDirectConnect 。 在 OFX Direct Connect银行设置中 ,您要使用的设置是https://ofx.discovercard.com/(对于服务器URL)和7101(对于FID)。

逗号分隔值(CSV)或类似的值?

答: 可以使用“ 文件”>“导入”>“从CSV导入交易” 将CSV文件导入GnuCash 。

从CSV,TSV,XLS(Excel)或SXC(OpenOffice.org Calc)转换为QIF

一些人发现QIF文件比CSV更加可靠地导入,并且更喜欢使用GnuCash QIF导入器。

QIF是一种特定格式的纯文本文件,仅从CSV(逗号分隔值)中删除了几步。 CSV文件可以通过多种方式转换为QIF。 有可以执行转换的脚本。

有关 QIF格式 的更多详细信息, 请参阅Wikipedia上有关 QIF格式的 文章 。

  • [3] 是另一个GnuCash用户如何从CSV转换为QIF的一个示例 。 该站点使用Perl脚本记录文档,以从银行互联网站点下载数据,该站点已被修改为以CSV格式导出数据。 然后编写了Python脚本,将CSV数据转换为QIF格式,然后可以将其导入GnuCash。
  • CSVConverter 在Web浏览器中运行。 它可以保存映射,以便将来从同一银行导入。 它具有拆分器类型,可以从具有多个帐户的单个CSV保存多个QIF。 它具有预览功能,可让您在映射前先浏览CSV内容。
  • 可以将`awk`脚本用于更简单的CSV文件。 假设CSV文件“ statement.csv”具有列(日期,说明,金额),如下所示:

2006-09-27,ONLINE BILL PAYMENT: Bank of Example 123938568,250.00

以下使用awk的shell脚本将发出合适的QIF:

( echo  '!Type:Bank' ; cat statement.csv | awk -F,'{print“ D” $ 1; print“ P” $ 2; print“ T” $ 3; print“ ^”;}'  ) > statement.qif
  • 另一种方法是使用Excel和OpenOffice.org中存在的宏。 这些宏会将电子表格文件转换为QIF或OFX文件。
  • xl2qif 为Excel(xl2qif)和OpenOffice(calc2qif)宏提供了转换为QIF的选项。
  • csv2ofx 是一个将CSV转换为OFX的Python项目。
  • Christophd 于2009年7月15日发布给gnucash用户,并为德国 Raiffeisenbank 数据 提供了一个修改的CSV导入器 ,该数据具有德国风格的数字和数据格式以及其他复杂性,这给GnuCash带来了困难。 可以通过在post-at-christophd.de上通过电子邮件与他联系来获取文件。

问:导入时如何从贝叶斯学习算法中获得最大的收益?

答: 首先,您应该 始终 在导入对话框中将交易分配给正确的帐户 -包含 不平衡的 帐户名称 肯定是错误的。

接下来,从一小部分交易开始(例如一个月),然后在导入对话框中分配正确的帐户。 下次导入事务时,它将识别这种事务。

问:我可以导入历史价格或报价吗?

答: 请参阅 导入历史价格或报价

问:我的银行提供OFX Direct Connect。我该如何使用呢?

答: GnuCash使用libofx / aqbanking来支持OFX / QFX。 有关在GnuCash中为OFX Direct Connect设置AqBanking的信息,请参见“ 设置OFXDirectConnect”

问:我可以使用OFX Direct Connect将GnuCash连接到股票或共同基金帐户吗?

答: Aqbanking不了解股票/共同基金的购买/销售。 而是从经纪人的网站下载OFX / QFX格式的数据,然后使用“ 文件”>“导入”>“导入OFX / QFX ...” 菜单选项 将其导入GnuCash 。

问:如何导出数据?

答: 从3.0版开始,GnuCash提供了将部分或全部数据导出为CSV格式的选项。 选择“ 文件”>“导出” 以查看各种可用选项。

此外,还有几种第三方工具可用。

注意: GnuCash数据文件可能已 压缩 。 外部工具无法直接处理该文件,因此必须先解压缩该文件,然后再进行进一步处理。 GnuCash允许通过在“ 编辑”> “首选项”>“常规 ”中取消选中“压缩文件”首选项来以不压缩的方式保存文件 。 或者,使用 gunzip 解压缩数据文件。

  • 这里有一个 XSLThttp://xslfactory.free.fr/ 可变换 的GnuCash V1.8 XML文件到一个大 的Gnumeric 电子表格。 该工作簿将包含几张纸; 一个包含所有帐户的日记,一个包含所有交易的日记,以及一个包含所有交易的按帐户一页的账单。 在运行转换之前,您需要编辑GnuCash XML文件(最好是其副本)以包含xmlns数据。 (但是请注意,截至04年4月24日,它不包括对业务对象的支持,例如:发票。)

xslt电子表格的xlsfactory版本是0.6版。 https://sites.google.com/site/gnucashexport/上 还有一个0.7版本 。 此版本已更新为可与 GnuCash v2.2.6一起使用 ,并且可能与更高版本一起使用。

  • 轻松将GnuCash数据导出到 ExcelLibreOffice Calc的 一种方法 是找到可以调整为满意输出的报告(例如总账),然后将报告导出为HTML文件。 然后从Microsoft Excel打开HTML文件。 (在Excel中使用“文件”>“打开”,选择“ html”作为文件类型。)Excel程序会将报告加载到电子表格中,从而允许进行过滤和其他电子表格功能。
  • 没有可用的OpenOffice.org宏。 在这里 下载 。 该宏读取GnuCash数据并将其导入OpenOffice.org的嵌入式数据库,以便随后可以在OpenOffice.org Calc中对其进行分析。 不支持企业帐户和多种货币。

使用业务功能

基本

问:您能为我提供业务用户的高级概述吗?

答: 这是 针对企业用户GnuCash快速入门指南 。 可以在 每分钟约2分钟的脂肪中 看到一个简短的可视化显示 。

问:通常的帐单条款是什么?

答: 请参阅 发票和付款条款

设置,打开

问:是否存在用于设置基本业务帐户的向导或说明?

答:不能 。“新文件”德鲁伊/向导中有一些基本的业务模板帐户(例如DE,IN,US)。 但是,没有用于设置业务的向导/督导,即设置税表,条款,客户和供应商。 您可以在“业务”菜单下进行所有操作。

如果您所在的地区缺少Gnucash业务模板帐户,并且您自愿共享新创建的帐户图表,请按照 Translation#How如何翻译包含新帐户层次结构的文件中的说明进行操作

问:如何设置各个客户和供应商以及各自的余额?

答: 业务功能没有“期初余额”。 为客户(或供应商)设置“期初余额”的唯一方法是为该期初余额创建一次性发票(或账单)。

问:如何使组织名称出现在“发票”上?

答: 您可以转到“文件”->“属性”,然后在“业务”页面上设置您的公司名称和地址。 发票打印机使用该条目中的数据来填写您的业务信息。 另请参阅 #Q:如何使组织名称和信息出现在报告的顶部? 在屏幕上,以及何时打印?

一般处理

问:为什么付款发票上没有显示计费条款的折扣?

答: 帐单条款仅部分受支持。 到期日期有效,但折扣无效。

问:如何删除发票,客户,供应商或员工?

答: 快速答案:您不能。 更长的答案:您可以将该项目标记为“无效”(只需取消选中“有效”按钮),它将不再显示在标准搜索中。 没有计划允许您删除这些对象。 如果您真的很在意,可以稍后再使用。

答: 快速答案:可以。 更长的答案:1-删除发票条目(GncEntry子句),2-删除这些已删除条目的发票(GncInvoice子句),3-这些已删除发票的客户(gncCustomer),4-正确的计数器(计数数据)用于这些已删除头寸。 尝试学习数据库文件结构。 我花了一个小时。

答: 更长的答案。 您可以删除它们,但这将涉及您自己编辑XML文件。 深吸一口气,这会没事的。 我还想指出一点,尽管这在我的机器上似乎可以正常工作,但我不能百分百地向您保证这将起作用。 拜托,拜托,请先备份,然后再执行此操作。 好了,既然一切都已完成,那就去做吧。

  • 我建议您在执行此操作之前先清除所有要删除的发票。 因此,进入发票并删除其中存在的所有条目。 这将使删除数据变得更加容易。
  • 首先,我们需要解压缩您的gnucash文件(确保您在与目录分开的目录中工作,通常会保存数据文件,并且已将最新版本的数据文件复制到该目录中) 。 将数据文件重命名为以“ .gz”结尾的文件。 因此,如果您的数据文件命名为 accounts, 则将其重命名为 accounts.gz
  • 然后运行gzip -d accounts.gz。 这将创建一个带有帐户 名称的解压缩文件 '
  • 在您喜欢的文本编辑器中 打开 帐户
  • GnuCash xml格式非常简单,但是可能会涉及大量数据。 您将必须从要删除的内容的顶部开始,然后逐步降低。
    • 如果要删除客户,则从此处开始,然后移至其所有作业,然后移至所有发票,最后移至条目(但如果先清除发票,则不必这样做。
    • 如果要删除作业,则从该作业开始,然后向下处理所有发票。
    • 如果要删除员工,请从员工开始,然后删除所有发票。
    • 如果要删除发票,只需删除发票。
  • 我将以删除雇员为例。 首先要做的是找到与要删除的员工相对应的GncEmployee行。 继续并在文档中搜索字符串 GncEmployee 。 这将使您直接进入文件中的第一位员工。 向下滚动,直到找到要删除的用户。 不要只是删除用户。 从 <gnc:GncEmployee version =“ 2.0.0”> 到最终的 </ gnc:GncEmployee> 标记 ,选择代表该用户的所有文本 。 剪切并将其粘贴到临时文件中。 确保删除所有多余的换行符(不应该留有任何空行)。 因此,您刚刚摆脱了员工。
  • 现在,您需要查找与该员工相关的所有发票。 在临时文件中,找到以 <employee:guid type =“ guid” 开头的行 。 该值是gnucash用于在xml文件中标识该员工的唯一ID号。 因此,现在复制该值,返回到数据文件并搜索该guid。
  • 每次搜寻时,您都应该进入GnvInvoice区块。 删除整个块,再次确保您没有留下任何空格。
  • 您需要做的最后一件事是在两个地方清理柜台。 只有在删除最后添加的内容时,您才能执行此操作。 因此,如果您有一个员工,并且它是最后添加的员工,则可以修复员工计数器。 如果它是发票并且是您添加的最后一个发票,则可以修改发票计数器。 如果您要删除的内容不是最后添加的内容,请勿更改计数器。
    • 在XML中:返回文档顶部。 找到以 <book:slots> 开头的块, 里面应该有一个标记为 <slot:key> counters </ slot:key>的部分 。 在此之下,您会找到每种类型的slot:key行,例如GncEmployee。 在其下方是slot:value。 将该值减一。
    • 在SQL中:

SELECT * FROM slots WHERE name="counters/gncInvoice"; ...

  • 然后向下滚动一点,找到<gnc:count-data>字段。 找到与您要减少的计数器相对应的计数器,并将其降低一。
  • 保存您的更改。
  • 运行gzip压缩文件。 运行gzip -9 帐户 。 然后将 accounts.gz 重命名 为 accounts
  • 用gnucash打开文件。 验证一切正常。 您可能想要对照过去的帐户余额来检查帐户余额,以确保它们正确无误,等等。如果不匹配,您就将某个地方弄乱了,必须重新做一遍再次。 否则,你很好。

问:将来我可以删除发票,客户,供应商或员工吗?

答: 之所以没有实现,是因为确定该安全性的逻辑很难...。 发票,账单,行项目,税单等之间的互连是如此之多,以至于确保可以安全地删除发票而又不会留下悬挂的参考文献,这只是...的大量工作。 我个人不想做的工作,没有其他人可以安全地完成工作。

当然,总是欢迎打补丁。 但是要警告,这不是一个简单的任务。 这就是为什么从未实现它的原因,也是为什么我们拥有“活动”标志作为从搜索中删除项目的原因。

对不起,你不喜欢它。 欢迎您来修复它。

[从邮件列表 [4] ]

发票可能会重复使用,即使对于其他客户或供应商也是如此。

问:我可以一次付款支付多张账单/发票/凭证吗?

答: 是的。 当您使用GnuCash付款时,您是针对一个帐户而不是特定账单(或发票或凭证)付款。 自然,您只能以这种方式从一个帐户支付多个账单。 您向该帐户支付的任何款项都将按照日期顺序(最早的顺序(FIFO顺序))与该帐户中的未结汇票进行匹配。 GnuCash还将拆分付款交易以匹配各个账单。 只需更改付款值,就可以从任何处理付款选项中以这种方式处理付款。

税务处理:商品服务税(GST)或增值税(VAT)

问:如何处理发票的增值税/消费税,并要求购买时获得增值税/消费税回扣?

答: 首先,创建下面列出的一组帐户之一,并创建关联的税表(请参阅“ 业务=>税表” 菜单)。

描述

3帐户命名方案

4帐户命名方案

税表

您已购买的可申领的商品及服务税

负债:消费税:已付

负债:税收:消费税

您从客户那里收取的GST金额

负债:消费税:应付

您已向客户收取/开具发票的商品及服务税

资产:应收帐款:GST

消费税

您已向政府支付的商品及服务税(GST)金额

负债:消费税:付款

税金:税收:消费税

已递延的商品及服务税金额

负债:税收:消费税:递延

注意: 也有

这对您可能更有意义。

3帐户命名方案的说明

应付帐款的商品及服务税很容易。 只需 为每笔交易 选择 GST 作为您的税表。 这会自动将GST金额添加到 Liability :: GST :: Payable 帐户中。

对于购买的商品及服务税,我们需要创建拆分交易。 假设您正在 现金 帐户 中输入交易 。 在 支出 列中 输入总金额 ,包括GST,然后点击“ 拆分” 按钮。 您会在“ 接收” 列中 看到一个余额借方 。 将其分配到适当的帐户,但将金额减少为商品及服务税之前的费用。 然后,您将在 接收 列中 看到一个新的借方行,其中包含GST金额 。 将其分配给 Liabilities:GST:付费 帐户。 这将在此帐户中显示为负数,即回扣。

然后,每当您向政府支付GST金额时,都在 Liabilities:GST:Payments中 输入此金额 。

4帐户命名方案的说明

以下是四帐户命名方案的注意事项:

  • 使用“ 事务日志” 视图(可以在 “首选项” 中将其设置为默认值 )。 以下所有过程均假定您正在使用这种类型的事务日志,并要求您使用一个事务对各种帐户执行操作。
  • 不必要,但建议使用完整的企业帐户集(我在此处使用其名称)
  • 同样,该方案是由了解计算机但不一定要了解会计的人设计的。 但这对我有用:)。 都不应该将其解释为税收建议; 如果需要的话,请咨询会计师或其他相关人员
  • 在下面的过程中没有提及“延期”的内容,但我被告知任何递延税款的人都必须这样做。 享受。

以下是您可能遵循的过程的说明:

  • 发票: 每笔交易只需选择“ GST”作为您的纳税表
  • 付款 (来自客户):收到付款后,将 资产:应收帐款:商品 及服务税减少GST金额,将 负债:税项:GST 增加 相同的金额
  • 购买: 在您的拆分交易中,从中转移非GST金额。 您的 资产:流动资产:储蓄帐户 ,以及您的 负债:税金:GST 帐户中的GST 金额,将全部金额放入适当的费用帐户中
  • 填写商品及服务税表格: 您输入的金额应为 Liabilities:Taxes:GST 上的当前金额 。 记下任何舍入金额(即美分),因为在下一步中需要
  • 支付商品及服务税(GST) :支付商品及服务税(GST)时,请将您从 Liability:Taxes:GST 支付的金额转移 到 Tax Expenses:Taxes:GST 。 如果您需要将四舍五入的金额从BAS表格中排除,请将其转移到例如。 资产:流动资产:储蓄帐户 作为此交易的一部分(请注意,这是四舍五入的,因此,如果您要进行审核,则有解释)。

发票等的外观和印刷

问:如何使组织名称和信息显示在报告的顶部?在屏幕上,以及何时打印?

答: 您可以编辑样式表(编辑->样式表)并在此处设置公司信息。 那可能是最好的方法。 如果您不喜欢现有样式表,则可能需要创建一个新的样式表。 模板样式表(stylesheet-fancy.scm)可以在your_gnucash_directory / share / gnucash / guile-modules / gnucash / report /中找到。 为了满足澳大利亚的要求,请将您的ABN作为单独的行包含在公司地址中。

模板样式表(stylesheet-fancy.scm)还允许您设置公司徽标在报告顶部显示的大小。 要在样式表中为行““ <img src = \”“ headpixmap” \“>”'设置此搜索。 将其更改为'“ <img src = \”“ headpixmap” \“ width = \” 300 \“>”'-以300为徽标的宽度-更改此数字300,直到徽标在打印时看起来不错为止。 通过在此处设置徽标大小,可以避免通过更改徽标大小(以像素为单位)(即在编辑程序中调整图像大小)来减小徽标大小所带来的打印质量问题。

问:如何自定义默认发票报告选项,以便我的可打印发票始终加载所需的选项?

答: 一种简单的解决方法是根据需要更改选项,然后在选项卡中将报告保持打开状态,只需根据需要更改发票编号。

或者,您可以通过如下方式编辑invoice.scm(在/usr/share/gnucash/guile-modules/gnucash/report/invoice.scm中找到-至少在Ubuntu 8.04上存在)来预设默认选项。

请注意,此文件控制可打印发票; 如果要自定义花式发票,则需要编辑fancy-invoice.scm。

默认选项位于第241行左右,看起来像这样

  (gnc:register-inv-option 
   (gnc:make-simple-boolean-option 
    (N_  “ Display Columns” ) (N_  “ Date” )
    “ b”  (N_  “ Display the date?” )#  t ))

并完成在大约第325行,看起来像这样

  (gnc:register-inv-option 
   (gnc:make-text-option 
    (N_  “ Display” ) (N_  “ Extra Notes” )
     “ u”  (N_  “发票上的附加注释” )
     (_  “谢谢您的惠顾“ )))

很重要。 在更改任何内容之前,请先将原始文件复制到一个新名称:如果确实输入有误,您可能会发现Gnucash无法再启动。 您可能还希望将已编辑文件的副本保存在安全的地方,因为在升级Gnucash时,该文件可能会被覆盖,并且您将丢失所做的更改。

对于从第241行到第319行的布尔选项,您可以在#t(表示TRUE)和#f(表示FALSE)之间选择。

您可以将发票底部的文本从“谢谢您的惠顾”更改为“ Pay up **** head!”以外的任何内容。 不太可能获得客户的合作。

乔尼巴尔(Jonnybal )2010年3月10日(UTC)07:57

问:如何删除“税”列?

答: 在报告选项中,在“显示列”选项卡中取消选择“税额”列。 要使此更改在您下次启动Gnucash时永久生效,您需要按如下所示编辑invoice.scm或fancy-invoice.scm。

将第276至279行中的以下部分设置为FALSE(即,用#f代替#t)。 这意味着您的发票不会显示所有订单项的税项列。

  (gnc:register-inv-option 
   (gnc:make-simple-boolean-option 
    (N_  “显示列” ) (N_  “税额” )
    “ m”  (N_  “显示每个条目的总税额” ) #f ))

乔尼巴尔(Jonnybal )2010年3月10日(UTC)07:57

问:我的公司不收税。如何删除总税额行?

答: 最好保留“税收总计”行,即使它显示零税率。 您的客户需要知道您的发票中是否包含税款,因为他们可能要求退税。 他们将寻找“税额”行,如果它显示为零,他们将知道没有税额可索取。 如果缺少税款,那么他们必须猜测“应付金额”是否包括税款,并且很可能会打电话给您询问。

尽管如此,如果您确实要删除“税收总计”行,则可以通过选择报告选项“显示”选项卡中的“个人税”复选框来执行此操作。 乍一看,这似乎很奇怪,但是它可以工作,因为该税而不是显示总税额,而是在每个订单项上显示为一列。 如果您还如上所述关闭“税”列,则根本不会显示任何税。

要进行此更改,请永久编辑invoice.scm或fancy-invoice.scm,如下所示。 在我的invoice.scm中,该部分从第286行开始。

  (gnc:register-inv-option 
   (gnc:make-simple-boolean-option 
    (N_  “ Display” ) (N_  “ Individual Taxes” )
    “ o”  (N_  “显示所有个人税项?” )#  t ))

问:我已经关闭了计税总额行。如何删除“总计”行?

答: 在我的invoice.scm中,它的部分从419行开始。您将看到我已注释掉一些行以除去小计行。

       (if (null?entry ))
          (开始
 ;我注释了下两行以删除小计
 ;(add-subtotal-row table used-columns value-collector 
 ;“ grand-total”(_“ Subtotal”))

问:我可以从GnuCash通过LaTeX打印发票吗?

答: 不,不是直接。 但是,其他用户创建了单独的工具可以为您执行此操作: http : //stefans.datenbruch.de/gnucash/gc2latex.shtmlhttps://foss.heptapod.net/accounting/gcinvoice 。 后者可以从任意用户提供的模板创建发票,而不仅仅是LaTeX。

使用多种货币

问:过帐发票或账单会导致应付账款或应收账款为零值交易-为什么以及如何解决此问题?

答: 发生这种情况的原因可能是您的发票或帐单中存在货币冲突。

每张发票或帐单只能使用一种货币。 当您为给定客户创建发票时,GnuCash会采用该客户的货币设置并将其用于发票。 如果您从发票中引用的任何帐户(应付帐款帐户,收入:销售帐户等)使用其他货币,那么当您过帐发票时,GnuCash将过帐值0而不是金额发票。 GnuCash(从2.2.8版本开始)也未能给出有关冲突的错误消息。 类似的限制适用于供应商和账单。

为防止出现此问题,请按照以下答案中的说明进行操作:

问:如何建立外币客户或供应商?

答: 要设置外币客户和供应商,请执行以下操作:

  • 为客户定义货币。 选择客户,然后单击编辑客户,然后单击帐单信息-这将显示您的客户币种。 将其更改为将与该货币一起使用的任何货币。
  • 如果您对一个客户使用多种货币,则有两种选择:
    • 您可以为该客户输入多个客户条目,每个条目使用不同的币种。 在“客户ID”或“客户名称”中添加一些内容,以使其易于区分。 始终选择适合您输入发票的客户条目。 或者
    • 您可以先将其他币种的任何金额转换为与客户输入的币种等值的金额,然后再在发票中输入金额。
  • 确认为每个帐户定义的货币。 在图表中选择帐户,然后单击“编辑帐户”-这将为您显示帐户币种。 根据需要进行更改。
  • 如果您以多种货币创建发票,则最好通过制作多个应收帐款和应付帐款帐户来获得最好的服务,每个工作货币对应一个。同样,您可能想要创建多个Income:Sales和Expense:Reimbursable Expense帐户,每种货币一个。 考虑在帐户名称后使用后缀以清楚说明该帐户使用哪种货币:例如,“应收帐款(CAD)”,“应收帐款(JPY)”等。
问:我该如何解决已经使用错误货币发布的发票或账单?

答: 要更正已过帐发票的此问题,请执行以下操作:

  • 查找发票。 编辑它。
  • 取消过帐发票。 在确认对话框中单击“确定”。
  • 通过单击“帐单信息...客户...编辑...”按钮,检查客户的货币值。 出现“编辑客户”对话框。
  • 点击“帐单信息”标签。 在此处查看“货币”的值。
  • 如果此货币值通常不正确,即您选择了正确的“客户”条目,但是对于此“客户”,您始终使用其他货币,则从弹出菜单中选择一个新的货币值,然后单击“确定”。 您的帐单币种现在可能会更正。 (如果这还不够,请按照以下步骤选择其他客户条目,关闭发票,然后重新编辑发票以选择原始客户条目。这很可能会重置发票的货币设置。)
  • 如果此货币值表明您选择了错误的客户输入,则不要在此处进行更改。 (如果您有一个多币种客户的多个客户条目,而每个条目具有不同的货币设置,则可能会发生这种情况。)相反:
    • 单击“取消”关闭“编辑客户”对话框。
    • 单击工具栏中的“编辑发票”按钮。 出现“编辑发票”对话框。
    • 在“帐单信息...客户...”下,单击“选择...”按钮。 出现“查找客户”对话框。
    • 输入搜索词,然后单击“查找”按钮。 出现客户列表。 选择具有正确货币设置的客户。 点击“选择”按钮。 “查找客户”对话框消失。
    • 点击“确定”按钮。 编辑发票对话框消失。 您的帐单币种现已更正。
  • 检查收入帐户列中列出的帐户。 验证每张发票的币种均使用正确的币种。 进行如下检查:
    • 查看帐户名称。
    • 然后,单击工具栏正下方的“帐户”标签。 出现“帐户”列表。
    • 在列表中找到该帐户。 选择它。
    • 单击工具栏中的“编辑”按钮。 出现“编辑帐户”对话框。
    • 在“标识...安全性/货币”下,检查货币设置是否正确。
    • 要更改货币值,请单击“选择...”按钮。 出现“选择货币”对话框。 单击“货币:”右侧的三角形按钮。 出现货币弹出菜单。 选择正确的货币。 弹出菜单消失,新的货币值出现在对话框中。 然后单击“确定”。 “选择货币”对话框消失。
    • 在“编辑帐户”对话框中,确认“安全性/货币”字段中显示正确的货币名称。
    • 单击确定按钮。 “编辑帐户”对话框消失。
    • 单击“查看发票– ...”选项卡。 发票行项目重新出现。 该帐户的货币现在正确。
  • 现在应该解决货币冲突。 现在,客户和每个发票分录应使用相同的货币。
  • 单击工具栏上的“发布”按钮以重做发布操作。 出现“问题”对话框,询问“您真的要过帐发票吗?”
  • 在“过帐到帐户”字段中,确认所选的应收帐款帐户具有正确的币种。 如果不是,请按以下步骤更正它:
    • 点击过帐到帐户右侧的向下箭头。 出现应收帐款帐户菜单。 如果一个人使用正确的货币,请选择它。
    • 如果您没有应收帐款帐户,请单击“新建...”按钮。 出现“新帐户”对话框。
    • 在“标识...安全性/货币”下,检查货币设置是否正确。
    • 要更改货币值,请单击“选择...”按钮。 出现“选择货币”对话框。 单击“货币:”右侧的三角形按钮。 出现货币弹出菜单。 选择正确的货币。 弹出菜单消失,新的货币值出现在对话框中。 然后单击“确定”。 “选择货币”对话框消失。
    • 返回“新帐户”对话框,确认正确的货币名称出现在“安全性/货币”字段中。
    • 填写该帐户的其他字段(帐户名称,帐户代码等)。
    • 点击“确定”按钮。 “新帐户”对话框消失。
    • 返回“问题”对话框,确认该帐户现在已在“过帐到帐户”字段中列出。
  • 还要确认过帐日期,到期日,描述和“累计拆分”? 设置正确。
  • 单击确定按钮。 GnuCash过帐发票。
  • 在工具栏中,单击“关闭”以关闭发票。
  • 检查各个帐户下的交易,以确保该发票的金额不再为零,而是具有正确的值。

与该FAQ条目相关的GnuCash Bugzilla条目:

特定国家/地区

问:我在挪威有一家小企业。如何使用GnuCash达到挪威的标准?

答: 关于 挪威的企业会计, 有一个专门的页面 。

问: GnuCash是否符合英国当局的标准?

答: GB / PAS 76 上有一个特殊页面 [3]

问:在澳大利亚,如何将“发票”更改为“税收发票”?

答: 编辑invoice.scm并将 (定义发票名称(N_“发票编号”)) 更改为 (定义发票名称(N_“税收发票编号”)) 。 如果您使用税表计算GST并将其添加为自动小计,则还应将行 “总计”(_“税”))) 更改为 “总计”(_“ GST”)) ) 。 在第630行附近还有另一节,上面写着 (title(_“ Invoice”)) ,应该进行类似的编辑。 如果您使用花式发票,请在705行周围查找: (gnc:html-table-cell-append-objects!发票单元(_“ INVOICE”))同样在->(add-html!document( sprintf #f(_“发票#%d”)到->

更好的方法是替换invoice.scm和其他类似文件,fancy-invoice.scm和easy-invoice.scm,并使用允许编辑税名和名称的文件,例如在此gnucash开发列表线程中标题为 World friendlylier的文件。 可打印的发票 。 确保在更新文件之前关闭所有报告。

其他已知的业务问题

问:我的发票/付款/贷方通知单中有些东西弄乱了。我该如何解决?

答: 业务功能问题 涵盖了您可能会遇到的几个可能的问题,并提出了解决这些问题的方法。

会计问题

问:您能推荐一本有关会计的书吗?

A:

在线的:

死树:

视频:

问:什么是借方和贷方?

答: 借方和贷方是用于标识帐户增加或减少的术语。 关于增加或减少是借方还是贷方,这取决于您正在谈论的帐户类型。 了解借方和贷方的第一步是忘记银行告诉您的内容。 从他们的角度来看,当他们告诉您他们将“贷记”您的银行帐户(换句话说,将钱存入您的帐户)时,它们是正确的。 但是,对您来说,这是借方。 这就是为什么。

让我们从会计等式开始:资产=负债+权益,其中权益=收入-费用(实际上权益不只是此,但出于解释的目的,它会起作用)。

现在以T来考虑每个类别(资产,负债等),类别的名称在T的上方,并且交易记录在T的垂直部分的任一侧。信用记录在T的左侧,信用记录在T的右侧。现在让我们看一下资产帐户。 由于资产位于等式的左侧,因此资产的任何增加都必须记录在T的左侧,这意味着资产的增加就是借方。 相反,资产帐户的减少必须记录在T的右侧,这意味着它是贷方。 接下来看负债和权益,它被视为与资产完全相反(否则该方程式将不起作用)。 由于负债和权益在等式的右侧, 负债或权益的任何增加都记录在T的右侧。这意味着它是贷方。 然后,T左侧或借方会记录Liabilites或Equity的减少。

现在开始收支。 由于这两个都是权益的组成部分,因此无论是借方还是贷方都取决于权益如何适合会计等式。 这样想,如果您在这一年中赚了钱,对资产的净影响将是增加或更大的借方余额。 为了使等式生效,这意味着股本也会增加,或者会有更大的贷方余额。 为了做到这一点,收入必须是贷方,而支出必须是借方。 所得的收入减去费用后,您会获得贷方余额或权益增加额。 因此,收入始终是贷方,支出始终是借方。

回到银行告诉您的内容,这就是为什么从他们的角度来看它们是正确的。 他们欠您钱(您的银行帐户余额)。 对他们来说,这是责任。 因此,他们所欠您的金额的任何增加都将成为他们账上的贷项。 但是,对您来说,您的银行帐户是资产。 因此,您的银行帐户中的任何增加都将成为您账簿上的借方。

问:如何记录我的所得税分期付款和年终付款/退款?

答: 记录您的所得税费用的困难在于,您直到年数超过该年的实际费用才知道。 因此,无法每月准确记录所得税费用。 我的建议是将每月的分期付款记录到资产负债表帐户中,然后,当您完成当年的纳税申报表并知道费用时,将费用记录到损益表帐户中。

让我以举例的方式进行说明。 首先,我将做一些假设:

  • 年底是2004年12月31日
  • 需要每月支付$ 100.00的分期付款
  • 报税表已完成并于2005年3月31日归档,并附有应付帐款支票
  • 该年度应缴税金总额为$ 1,300.00。 这意味着在每月分期付款$ 100.00之后,仍欠$ 100.00。

如果您尚未添加以下三个帐户,则需要添加它们。

  • 应付所得税(负债账户)
  • 应收所得税(资产科目)
  • 所得税费用(费用科目)

第一个条目将是记录第一期。 将其作为贷方过帐到您的银行帐户,并将借方过帐到应付所得税的帐户。 每个月重复一次相同的交易。 实际上,您可以将其设置为计划的事务。 到年底,您将在应付所得税帐户中累积$ 1,200.00。

在2005年3月31日,输入日期为2004年12月31日,以记录该年度的费用。 这将是对所得税费用帐户的$ 1,300.00借方和对应交所得税帐户的贷方。 输入后的结果是,应付所得税帐户中的余额为贷方余额$ 100.00,所得税支出帐户中的余额为借方余额$ 1,300.00。

最后一个条目是记录2005年3月31日的支票以支付余额。 这是贷记到银行帐户的$ 100.00,借记到应付所得税的帐户的$ 100.00。

下一个问题是,如果我退款了会怎样? 假设您只欠$ 1,100.00。 这次,当您记录费用(日期为2004年12月31日)时,您将从借方所得税费用帐户中扣除$ 1,100.00并贷记在应付所得税中。 这样在应付所得税帐款中的借方余额为100.00美元。 由于这确实是应收款,因此需要将其移至应收所得税款科目。 为此,从应收所得税应收帐款中扣除$ 100.00,然后将应收所得税入帐。 从政府收到退款后,将其记录为借方到银行帐户的借方$ 100.00,并贷记到应收所得税的帐户中。



问:如何使用GnuCash计算增值税?

答: 经常在邮件列表上讨论,有人请在此处复制答案...

问:如何使用GnuCash进行折旧?

答: 请查看 概念指南中 有关折旧的章节 [4]

问:我所在的地区是否有使用GnuCash的CPA(注册会计师)?

答: 如果您是会计师或簿记员,请在此处添加您的姓名和联系信息。

北卡罗来纳州罗利 Kenneth M. McNees ,注册会计师,CISSP,CISA,CAP,CISM。 kennymcnees@gmail.com 添加:2007年12月
新泽西州鸡蛋港镇 杰夫·范德鲁(Jan Vandrew Jr jeffvandrewjr@vandrew.com 添加:2010年5月 https://www.vandrew.com

问:什么是T帐户?什么是两次进入?

答: GnuCash文档中 对此进行了详细讨论 。 同样, 维基百科的两次入账簿记条目 也不错。

问:是否可以采用与安排交易相同的方式来安排计费?

答: 不,不幸的是,业务功能不与SX引擎捆绑在一起。

问:我该如何向朋友借钱/从朋友借钱?

答: 您借给某人的钱对您来说就是一种资产。 您从别人那里借来的钱是一种责任。 帐户名称的一般建议是:

  • 资产:我欠的钱:[人]
  • 负债:我欠的钱:[人]

问:如何跟踪股票的资本收益?

答: 两者 的帮助手册教程和概念指南 包括信息来解释这一重要而复杂的课题。 第9章 介绍了一般性的 投资 管理,而 9.7出售股份 则详细介绍了如何处理因股票销售而产生的损益。

资本收益可以手动计算,也可以使用GnuCash的手数功能计算。 有关 显示如何跟踪股票销售的示例, 请参见 9.7出售 股票。

有关如何计算资本收益的其他信息,可以在“ 手数概念” 页面中找到。

请参阅这些邮件列表消息(以及这些线程中的其他消息)以获取更多参考:

https://lists.gnucash.org/pipermail/gnucash-user/2008-March/024501.html


https://lists.gnucash.org/pipermail/gnucash-user/2006-January/015605.html


https://lists.gnucash.org/pipermail/gnucash-user/2006-January/015620.html


https://lists.gnucash.org/pipermail/gnucash-user/2006-January/015396.html


https://lists.gnucash.org/pipermail/gnucash-user/2005-July/014192.html


https://lists.gnucash.org/pipermail/gnucash-user/2005-February/012863.html


https://lists.gnucash.org/pipermail/gnucash-user/2005-January/012648.html

问:年底结帐程序是什么意思?

答: 公认的会计惯例包括在期末(即会计年度)结束时“关闭”帐户的程序。 这使得损益表帐户(收入和支出)中的累积余额仅与当前期间相关。

该过程是在每个费用和收入科目中创建一个冲销日记帐分录,该科目会将余额转移到“保留收益”科目中。 (或(可选)进入顶部的“收入”或“费用”帐户,并从此处进入“保留收益”帐户,从而将R / E帐户中的定期分录数量减少为2-1借项和1贷项)

期间内发生的损益,即收入帐户计算的数字减去费用帐户,在该期间的“保留收益”帐户条目中表示。

开发GNUCash:源代码概述

问:我听说编译GnuCash太难了!

问:好的,我需要什么开发软件包才能编译GnuCash?

答: 可以在 Building中 找到有关构建GnuCash的说明 。 在那里,您会找到有关特定于操作系统的构建说明的参考。

问:为什么GnuCash用C编写?

答: GnuCash的核心功能是用C编写的,但是不要忘记可以通过Guile(方案)来访问其中的大部分功能。 GnuCash用C编写的原因有很多。首先是历史性的,Gnucash始于1996年(甚至更早!),许多OOP(C ++,Java,Python)编译器尚未成熟且标准化。在当时考虑的各种平台上已经足够了,因此C是当时的唯一选择。 第二个原因是因为GnuCash使用的标准GUI是用C编写的GTK。



问:为什么不使用编程语言xyz重写GnuCash,以便我可以轻松地做出贡献?

答: 目前,我们正在重写C ++。 如果那是 xyz 所指 的语言 ,那么您肯定会被邀请加入我们的行列。 对于其他语言,快速答案是“我们不会”。 较长的答案很复杂,但仍然相同。 GnuCash是由少数熟悉C(++)的开发人员维护的大量代码。 实际上,其中的80%用C表示。 13%在Scheme / Lisp中。 目的是用现代C ++代替所有这些。

话虽这么说,但有些人已经为Gnucash提供了一些python绑定。 它们还不是很成熟,但是可以用于基本数据操作。 敬请关注。 另外, 自2.1.0版开始 ,GnuCash就将 SWIG 用于Scheme语言绑定。 这些SWIG绑定可能无需花费太多精力就可以改编为将其他语言包含到GnuCash中,但是目前它们仅用于Scheme绑定。

问:我可以离线阅读记录API的doxygen文件吗?

答: 首先,请确保 您的计算机上已安装 Doxygen 。 下载并配置( cmake ... )GnuCash源后,您可以调用

制作文件

或者

忍者doc

然后您可以打开 src / doc / html / index.html

问:我可以在构建目录中运行GnuCash吗?

答: 通常,您将 首先 运行 make install 和GnuCash。 但是,您也可以使用“ gnucash-build-env”来设置合适的环境,以从生成目录运行。 因此,您需要运行:

./src/bin/overrides/gnucash-build-env ./src/bin/gnucash

问:如何在gdb下运行GnuCash并获得堆栈跟踪?

答: 有关 在gdb下运行GnuCash以获得 堆栈跟踪 的说明, 请参阅 堆栈 跟踪。

问:为什么GnuCash依赖于Gnome?

答: GnuCash将特定的Gnome库用于以下功能:

  • 打印(gnomeprint)
  • 配置存储(gsettings(自2.6起)/ gconf(2.4及更低版本))
  • 绘图(办公室)
  • UI支持(libgnomeui)
  • HTML呈现(gtkhtml)
  • 帮助(电话)

我们之所以这样做,是因为我们宁愿将精力集中在构建会计系统上,而不是打印库,图形库,html渲染库……这只是构建软件的合理方式,并且已经存在了很多年。

不需要使用成熟的Gnome桌面环境,或运行Metacity作为窗口管理器,也不需要仅从GNOME面板启动GnuCash或类似的东西。 我们只需要这些库。 许多用户可以在其KDE,XFCE甚至TWM桌面上运行GnuCash。

至于抱怨Gnome(以及KDE和...)的情况如何,很难相信每个应用程序都会重新实现对常见任务(例如打印,帮助浏览等)的支持的系统。最终将不会那么blo肿。