./finance/gnucash, Personal or business finance management program

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.5nb2, Package name: gnucash-3.5nb2, Maintainer: wiz

GnuCash is a personal finance manager. A check-book like register
GUI allows you to enter and track bank accounts, stocks, income
and even currency trades. A full set of reports allow you to see
the state of your finances. The interface is designed to be simple
and easy to use, but is backed with double-entry accounting principles
to ensure balanced books. Features include:
- An easy-to-use interface.
- Scheduled Transactions
- Mortgage & Loan Repayment Druid
- Small Business Accounting Features
- OFX and Quicken File Import and HBCI Support
- Reconcile window with running reconciled and cleared balances
- Stock/Mutual Fund Portfolios
- Get Stock & Mutual Fund quotes from various web sites
- Reports
- Multiple Currencies & Currency Trading, Multi-Currency Handling
- Chart of Accounts
- Split Transactions
- Double Entry
- General Ledger
- International date handling, many different translations.


Required to run:
[sysutils/desktop-file-utils] [textproc/libxml2] [textproc/libxslt] [textproc/icu] [finance/p5-Finance-Quote] [finance/libofx] [graphics/hicolor-icon-theme] [lang/perl5] [devel/glib2] [devel/boost-libs] [devel/py-readline] [devel/p5-Date-Manip] [www/webkit-gtk] [databases/libdbi] [graphics/gdk-pixbuf2] [devel/dconf] [x11/gtk3] [devel/swig2] [lang/guile22] [devel/guile22-slib] [lang/python37]

Required to build:
[pkgtools/x11-links] [devel/boost-headers] [devel/gperf] [x11/xcb-proto] [devel/googletest] [databases/libdbi-driver-sqlite3] [x11/fixesproto4] [pkgtools/cwrappers] [lang/gcc6] [x11/xorgproto]

Package options: libdbi, libofx, python

Master sites:

SHA1: bba13b850bc6332a437d07eec971bc79c4837fd5
RMD160: 54d42e8670c9169644c9383efa8eebbca65d5e78
Filesize: 13443.747 KB

Version history: (Expand)


CVS history: (Expand)


   2019-04-25 09:33:32 by Maya Rashish | Files touched by this commit (620)
Log message:
PKGREVISION bump for anything using python without a PYPKGPREFIX.

This is a semi-manual PKGREVISION bump.
   2019-04-03 02:33:20 by Ryo ONODERA | Files touched by this commit (748)
Log message:
Recursive revbump from textproc/icu
   2019-03-31 22:46:52 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
gnucash: update to 3.5.

The following bugs have been fixed:
    Bug 639049 - Asset Barchart Report includes also the first day of next month \ 
transactions
  If the original date is an end-of-month date, we take it as an
  indicator they always want monthdelta dates to be end-of-months.
  This works for monthly/quarterly/halfyearly/annual.
    Bug 748431 - Wrong average balance for transactions during DST
  Replace average-splits with custom loop, cycling through the
  balancelist and splitlist, creating interval summaries along the way.
    Bug 787401 - Test for the report system - HTML Tests.
    Bug 795729 - Advanced Portfolio Report - Percentage rates not displaying \ 
leading zeros.
    Bug 796498 - Incorrect starting balance in TXF Report calculations.
    Bug 796530 - TxnCsvImport - fix loading of saved preset with update of \ 
seperator selection. Previously this would cause all but the first column to \ 
lose its assigned types.
    Bug 796687 - Tax Entity name and type for an account won't work under \ 
"Tax Reporting Options" in Gnucash 3.2
    Bug 796826 - Report HTML - not possible to suppress the document header.
    Bug 796827 - Report HTML - it is not possible to suppress the document title.
    Bug 796829 - Report HTML - HTML table rows are prepended not as list elements
    Bug 796831 - Report-HTML - append table column correctly.
    Bug 796877 - test-stress-options fails.
    Bug 796946 - Mortgage and Loan Repayment Setup tool crashes when exiting \ 
"Loan Repayment Options" page.
  Because libstdc++ on Windows doesn't support any C++ locales besides \ 
"C" and throws an exception if you try.
    Bug 796952 - Report formatting (justify) is broken.
    Bug 796956 - Aqbanking 6 will drop DTAUS
                 Adds support for the upcoming AQBanking 6 and removes support \ 
for AQBanking earlier than 5.3.4.
    Bug 796965 - Change the default to show unused accounts.
    Bug 796989 - some date/time does not honor user locale.
    Bug 797002 - Program crashes when exporting tax data in txf format.
    Bug 797011 - GnuCash 3.4 Crashes When Printing Checks with Custom Format.
    Bug 797013 - Import Customers & Vendors: error in CMakeLists.txt - \ 
causes incomplete project in Xcode.
    Bug 797029 - Import Customer & Vendors: blank name and company in import \ 
data row crashes GnuCash
    Bug 797030 - Import Customer & Vendors: several issues with the matching \ 
of data rows.
    Bug 797031 - Import customer & Vendors: import can create customer and \ 
vendors without address data
    Bug 797041 - enum confusion in qoflog.
    Bug 797046 - Tools / Price Database / Currencies UI not working since 3.4.
    Bug 797067 - Date displayed incorrectly in register.
    Bug 797074 - Reports with averages are displaying fractions
                 Convert amounts to decimal prior to adding to html-table.  Also \ 
adds tests to make sure averages are displayed in 2 decimal places.
    Bug 797098 - Quitting Gnucash shortly after clicking Save may abort file save.
    Bug 797105 - Incorrect local-symbol for SZL currency
    Bug 797136 - Balance sheet report "Show Exchange rate" broken when \ 
foreign currency is sold completely
                 For cases where total(amount)/total(value) = 0/0, the price is \ 
reported as 0.

Other repairs or enhancements not marked as bugs:

    API: Add dedicated api to query build-time, version related compile \ 
constants and use it in several location in the code for consistent behaviour.
    Budget: Save and restore the Account filter settings.
    Build: Fix deprecation warnings for g_type_class_add_private.

    CSV Tokenizer: Add additional test to guard against quote parsing regressions.
    GUI: Replace ambiguous mnemonic for File>Export>Export Active Register...
    GUI: Rearrange menu accelerators for Actions>Online Actions menu items
    GUI: Add mnemonic for File>Import>Import Bills...
    GUI: Move Balance-Forecast report to Reports>Assets & Liabilities
    GUI: Move Void Transactions item in Report Options from the Accounts tab to \ 
the Filter tab.
    I18N: Fix erratic localization of dates on Windows.
      Date format selection on Windows relies on Windows National Language \ 
functions and those are unaffected by the POSIX setlocale(). We have in the past \ 
relied upon gtk initialization to handle this but it has not been reliable since \ 
the move to Gtk3. Note that this applies only when the locale is set via a \ 
Unix-style environment variable (typically LANG) or in the environment file; \ 
it's unnecessary and ignored when using the localization settings in Region \ 
& Language.
    I18N: Unify phrases to remove untranslated msgids.
    I18N: Restore the global locale after Guile munges it.
      There's no way to change the environment locale on Windows so calling \ 
setlocale(LC_ALL, ""), as guile does in its init routine, reads the \ 
user's Language and Region settings instead of the environment variables. We \ 
save the discovered environment locale and call setlocale with it again after \ 
Guile has initialized.
    Importing: Remove old (non-SEPA) online transaction code, because now in \ 
2019 the banks will only offer SEPA transactions and no others. This in turn \ 
means we don't need the old ktoblzcheck checking functions at all so also remove \ 
the dependency.
    Importing: Usability improvements for Bayes editor window
      Remove the "Are you sure" question as it is simply annoying but \ 
does not help. Fix some string wordings to be more understandable.
    Online Banking: No longer force existence of local BIC code.
    Online Banking: Entering of TAN must use normal visibility
      The visibility of the entered content was set to FALSE (=invisible) \ 
always, which was wrong for certain types of input as indicated by the \ 
GUI_INPUT_FLAGS. This should now be honored and visibility set to TRUE \ 
(=visible) for the correct flags.
    Online Banking: Fix reconcile timestamps when importing balances.
      Used to be start-of-day, but needs to be day-neutral.
    Performance: Provide a single static instance of C++ locale.
      We can't use std::locale::global because all streams imbue it by default \ 
and if it's not 'C' (aka std::locale::classic) then we must imbue all the \ 
streams that we don't want localized, and that's most of them.
    Performance: Add GncDateTime::timestamp().
      To provide a C++ implementation of gnc_date_timestamp and to avoid using \ 
the expensive and localized GncDateTime::format().
    Performance: Implement a faster date-time serialization function.
      Has the side effect of recording all date-times in XML files in UTC \ 
instead of local time with a timezone. This will help users who like to keep \ 
their files under version control because the time strings won't shift every \ 
time Daylight time begins or ends.
    Performance: >Fix XML load CPU hotspot: Scrub.c xaccTransScrubPostedDate
      The refactoring provides roughly 10% reduction in user CPU use for XML \ 
file load by moving an expensive function to within an if-clause where the \ 
result is used.
    Performance: Speed-up of txn match dialog: Suspend GUI refresh during \ 
deletion of selected lines.
    Performance: Sorting speed-up: Cache the bool value of Transaction's \ 
is_closing property.
    Register: Accept URLs or file paths for files associated with transactions. \ 
File paths can be relative or absolute. A preference is provided.
    Reports: Speed up the budget and cash flow report calculation by iterating \ 
over accounts only once.
    Reports: Heavy scrubbing for code readability and performance.
    Reports: New Report by Ryan Turner: Balance Forecast Report
      This report forecasts the combined balances of the selected accounts based \ 
on the scheduled transactions and plots them on a line graph. You can set a \ 
"reserve" amount, which will draw a red line on the graph, so you can \ 
easily see if your forecast dips below a given value. There is also a \ 
"future minimum" line which shows what the lowest future balance will \ 
be at a given point. I find this useful in conjunction with the \ 
"target" line for planning.
    Reports: Fix crash when loading saved-report with unknown choices.
      If a saved-report with e.g. relative date, multichoice option is unknown, \ 
the report would crash, and the Report-Options would segfault. This commit fixes \ 
both: report-date defaults to 'today', multichoice-options defaults to \ 
default-value. Following this commit, if a report loads a saved-report or .gcm \ 
from a future version, a gnc:warn will be emitted and the report will not crash; \ 
it will use relative-date today. Multichoice will remain the default value. \ 
Report Options will not segfault. The user will be notified via a gnc:gui-warn \ 
dialog
    Reports: Date intervals at end-of-month:
      Instead of recursing the date, we calculate the next month using an \ 
index-based multiplier, and apply modulo/remainder as appropriate to determine \ 
the next month/year. Then we attempt to create new mktime, and if the resulting \ 
mktime's month is not as expected, reduce the mday by 1 until resulting month is \ 
correct. This fixes monthly intervals for end-of-month days. Test via \ 
monthly/quarterly deltas, and also includes leapyear calculation.
    Reports: Date-grouping must allow indenting.
      Indenting checkbox was erroneously disabled when: sortkey = date, \ 
date-subtotal = not 'none.
    Reports: Table display
      It is intuitive that if the user wishes to show the subtotal-table, and \ 
hide the transactions, then both the main (hidden) transactions and subtotals \ 
must be hidden as well.
    Reports: Update US Income Tax information for 2018.
    Scheme Deprecations:
      account-assoc
      account-hash
      account-hashtable-ref
      account-hashtable-set!
      account-in-alist
      account-in-list-pred
      account-in-list?
      account-same?
      gnc-commodity-collector-commodity-count
      gnc-commodity-collector-contains-commodity?
      gnc:commodity-collectorlist-get-merged
      gnc:exchange-by-pricedb-helper
      gnc:exhange-by-pricevalue-helper
      gnc:get-commoditylist-inst-prices
      gnc:hook-run-danglers
      gnc:make-drcr-collector
      gnc:make-stats-collector
      gnc:report-template-menu-name/name
      gnc:report-template-name-to-id
      gnc:report-template-new-options/name
      gnc:report-template-renderer/name
      gnc:restore-report
      gnc:save-options
      split-assoc
      split-hash
      split-hashtable-ref
      split-hashtable-set!
      split-in-list?
      split-same?

    Scheme: Replace account and split utility functions with SRFI-1 functions.
    Scheme: Testing (create-transaction) adds price trading commodities/currency \ 
this will modify a test which was calibrated to record purchase price only. fix \ 
transaction creation to add prices for both purchase and sales, and also fix \ 
test which was assuming no sale price was bring recorded.
    Scheme: Testing (env-create-multisplit-transaction) This is the general case \ 
for any transaction creation.  Rewrite other transaction creation routines to \ 
use it.  All tests still work unchanged, which confirms this function works \ 
well. This will allow tests to create multisplit transactions, of an arbitrary \ 
number of splits. If the list-of-split's values are not balanced (i.e. total 0), \ 
the engine will create an Imbalance-CUR split.
       The motivation is to allow creation of complex multisplit multicommodity \ 
transactions eg USD50 + GBP20 (USD25) = EUR66 (USD75) as well as their prices \ 
GBP/USD = 25/20 and EUR/USD = 75/66.
        * USD -50
        * USD -25 = GBP -20
        * USD +75 = EUR +66
       This will be useful in creating tests for stock-based reports, whereby \ 
stock sales need splits in STOCK/ASSET/INCOME accounts.
    Scheme: Redesign gnc:account-get-balances-at-dates, replacing the \ 
ignore-closing? parameter with a split->amount function parameter having a \ 
default value of xaccSplitgetAmount. (split->amount split) should return the \ 
amount of the split or #f; in the latter case the split is skipped. This allows \ 
for a more general account balance list accumulator with novel balance \ 
strategies. For example a split->amount function could test void status and \ 
return xaccSplitVoidForerAmount on void splits; test description/memo for some \ 
content and vary the returned amount accoridingly; or test the split and return \ 
1 or 0 creating a counter. To recreate the ignore-closing use case pass (lambda \ 
(s) (and not (xaccTransGetIsClosingTxn (xaccSplitGetParent s))) \ 
(xaccSplitGetAcmount s)))
    Scheme: Replace some option names. Automatically convert usage of the old \ 
names and issue a warning.

Updated Translations: Arabic, Croatian (New!), Farsi, French, German, Spanis, \ 
Ukrainian
Updated Account Templates: Belgium (French) (New!), Frsnce, Croatia (New!), \ 
Germany. Switzerland (French)
   2019-01-14 23:58:02 by Thomas Klausner | Files touched by this commit (5) | Package removed
Log message:
gnucash: work around ctype(3) issues by ignoring the relevant clang warning
   2019-01-11 13:01:12 by Thomas Klausner | Files touched by this commit (5)
Log message:
gnucash: Add upstream bug report URLs.
   2019-01-11 12:50:55 by Thomas Klausner | Files touched by this commit (5)
Log message:
gnucash: fix build with clang.
   2019-01-03 08:07:58 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
gnucash: remove obsolete patch (after 3.4 update)
   2019-01-01 12:02:09 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
gnucash: update to 3.4.

3.4 - 30 December 2018

The following bugs have been fixed:

     Bug 498072 - GnuCash show taxes on invoice when individual taxes is
                  not checked
     Bug 760825 - On duplicating a bill, the entry dates should be set to
                  the bill date, not to the current date - followup:
                  Use neutral time on entry post dates instead of canonical time
     Bug 767772 - Associated file with transaction is lost when moving entry
                  between accounts
     Bug 775580 - Inaccurate information provided for "Common \ 
Accounts" when
                  using "New Account Hierarchy Setup"
     Bug 779565 - Treeview header combos do not work at first load
     Bug 788332 - Last Reconcile Date column sorts by day of month not date
     Bug 789674 - Close Book tool regression
     Bug 793156 - Incorrect date sort order in Generic import matcher window
     Bug 795080 - Some dates reset to 01/01/1970
     Bug 795237 - Update of "wohnungsw" template
     Bug 795425 - Version 2018 of german account template SKR49
     Bug 796772 - Receivable Ageing Report invalid URL for Totals column
     Bug 796806 - Crash after OFX import if line item dragged
     Bug 796842 - Add new employee window may not fit on screen
     Bug 796849 - Load another QIF file causes "that file already \ 
loaded" dialog
     Bug 796875 - Unable to use arrow keys to advance past pre-filled text
                  in register
     Bug 796878 - test-qofsession fails on x86_32.
     Bug 796883 - Register text oddities
                  HOME and END need to be treated like right and left arrow
                  keys.
     Bug 796886 - OFX Import does not show source account in the transaction
                  matching window
     Bug 796887 - Remove account slot key color if there is no valid color
     Bug 796893 - invoice.GetDatePosted() and other date related functions
                  returns strange values for uninitalised dates.
     Bug 796896 - Button to complete an export not intuitively placed or
                  discoverable
     Bug 796903 - Crash when searching invoice by Invoice Owner
     Bug 796914 - Customer Summary is giving error
     Bug 796915 - Update Account colour background
     Bug 796940 - Invalid transaction date-posted KVP causes date-posted to
                  not be saved.
     Bug 796944 - Tab navigation From Company Address field in New Book Options
     Bug 796945 - Search Search Criteria window does not scroll when added
                  criteria exceed a certain amount
     Bug 796948 - Scheduled Transactions Entered Since Last Run Are not Visible
     Bug 796949 - Incorrect conversion of 0,01 USD to EUR
     Bug 796960 - Incorrect amount sort order in Generic import matcher window
     Bug 796961 - Can't overwrite existing MYSQL database, V3.3.
     Bug 796967 - gnclock table not removed when using PostgreSQL.
     Bug 796978 - Deleting a split of same account as register cancels the
                  transaction without warning
     Bug 796981 - Gnucash crashes with critical error when selecting another
                  file
     Bug 796982 - Import Bills & Invoices: change in un_escape() routine
                  causes description and notes fields to be mangled.
     Bug 796988 - Untranslated string in CSV transaction importer
     Bug 796989 - some date/time does not honor user locale
     Bug 796994 - Unable to generate Tax Report because of pricedb error

Other repairs or enhancements not marked as bugs:
     Set up filepath utils to determine the GNC_CONFIG_HOME in the same way
          as GNC_DATA_HOME
          Until now GNC_CONFIG_HOME was more or less hard-coded. Now it can be
          set via environment variable GNC_CONFIG_HOME. In addition it will
          automatically be created to avoid potential user confusion.
     Redesign gnc-uri-utils
          gnc_uri_get_components will now return NULL as protocol if the input
               is a normal file system path instead of a uri (it used to
               return 'file')
          gnc_uri_get_protocol will now return NULL if the input is a normal
               file system path instead of a uri (it used to return 'file')
          gnc_uri_is_file_protocol now returns FALSE if protocol is NULL
               (it used to return TRUE)
           gnc_uri_is_file_uri now returns FALSE if input is a normal file
                system path instead of a uri (it used to return TRUE)
           a new function gnc_uri_targets_local_fs will return TRUE only if
                its input is either a file uri or a normal file system path.
                This function is now mostly used instead of
                gnc_uri_is_file_uri in the current code base
           a new function gnc_uri_is_uri is added to check whether its input
                is a valid uri (has protocol, path and hostname for non-file
                uris)
           refer to 'scheme' instead of 'protocol' as that's the more formal
               term used in uris
               This involves renaming 3 functions:
                    gnc_uri_get_protocol -> gnc_uri_get_scheme
                    gnc_uri_is_known_protocol -> gnc_uri_is_known_scheme
                    gnc_uri_is_file_protocol -> gnc_uri_is_file_scheme
               The *_protocol variants are marked as deprecated.
               Additionally a number of local variables have been renamed from
               protocol to scheme to support this change.
     Show warnings for deprecated declarations
          We're about to announce our own set of deprecated functions in
          libgnucash. That would be pretty pointless if we also would silence
          all deprecation warnings at the same time...
     More report code-cleanup by Chris Lam, including deprecating the
           following functions:
               gnc:account-get-balance-at-date
               gnc:account-get-total-flow
               gnc-commodity-numeric-string
               gnc-commodity-value->string
               gnc:double-col
               gnc:options-add-include-subaccounts
               gnc:options-add-group-accounts
               gnc:options-add-currency-selection
            The following modules are deprecated:
               report-system/collectors
               report-system/report-collectors
     Invoice: Remove H1 title and superflous option.
           Printing the title twice is silly, so remove the option and the
           H1 display of the title. Note that the remaining title is in a
           div named "invoice-title" so it can be styled with CSS as \ 
the user
           pleases from the Report Options Layout tab.
     The preference, use formal accounting labels does not update the header
          With a register open and you change preference 'use formal
          accounting labels' it does not update the register header so add
         a call back for the preference.

     Make the grid lines of totals Budget tree view track the preferences
          Make the grid lines of the totals tree view track the preferences
          to match the account tree view above it.
     Add routine to fix Account Color being set to "Not Set"
          Previously the account color slot has been populated with
          "Not Set" when any field for the account has been edited and
          saved. This routine should run once and remove all such entries.
     Performance fix in dom_chars_handler: use g_strndup instead of g_strdup
     In the appdata/metadata file, rename the ID from org.gnucash.Gnucash
          to org.gnucash.GnuCash to match flathub, and add a launchable ID
          to link it to the desktop file.
     Added double-click-on-file for the CSV transaction, price, and account
         importers and exporters.
     Cleaned up a variety of issues reported by the clang static analyzer.
     Allow the text options widget to use all remaining space
          The text option widget used for report options has only about 3
          lines visible currently and will not use any available space in
          the dialogue. Change the packing for this widget to expand and
          fill the remaining dialogue space. If there are more than one text
          option widget on a page then the available space will be shared
          equally.
     Add short_labels for a few toolbar buttons with long names. That should
          fit a few more buttons on the toolbar.
     Update iso-4217-currencies.xml, adddding VES - Bolivar Soberano, minor
          updates of other VE currencies.
     Python 3 bindings fixes and improvements from Christoph Holterman and
          Sumit Bhardwaj.