After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 710873 - New Tax Declaration Info Report - multi-national, multi-purpose (private, business, ...)
New Tax Declaration Info Report - multi-national, multi-purpose (private, bus...
Status: RESOLVED OBSOLETE
Product: GnuCash
Classification: Other
Component: Reports
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: gnucash-reports-maint
gnucash-reports-maint
Depends on:
Blocks:
 
 
Reported: 2013-10-25 12:06 UTC by Carsten Rinke
Modified: 2018-06-29 23:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Prototype for a new Tax Info Dialog window (14.89 KB, application/x-compressed-tar)
2013-10-25 12:14 UTC, Carsten Rinke
Details
Approach to get a german income tax declaration (82.44 KB, application/x-gzip)
2013-10-26 23:49 UTC, Frank H. Ellenberger
Details

Description Carsten Rinke 2013-10-25 12:06:07 UTC
The income tax info collection is only available for the US in the current GnuCash release 2.4.13.

There is also some German business tax solution implemented, but regarding income tax no international implementation is available yet.

This bug proposes an "international" solution. 

Proposal for a solution:

1. Let the user select the country for which he would like to declare tax.

2. Currently the income tax info is collected in the dialog Preferences->Tax Report Options.
Rename the dialog to "Income Tax Editor" and move it to the Tools menu.

3. I am not familiar with the US tax system, but the the current dialog seems to be TXF focussed, and I wonder how much this is related to paper form based tax declarations. I would prefer a dialog that is structured more in analogy to the old school paper form declarations like 
  a. choose a form from a set of forms given for a certain type of tax declaration (e.g. income tax)
  b. choose the line in this form to be filled in
  c. choose the column to be filled in (if applicable, e.g. column for "husband" or "wife")
  d. choose the accounts that are relevant for the selected field

The concept that a scheme report has to be called to eventually display the resulting Income Tax Report remains untouched. 

See also the initial query on gnu-cash-devel:
https://lists.gnucash.org/pipermail/gnucash-devel/2013-September/036169.html
Comment 1 Carsten Rinke 2013-10-25 12:14:59 UTC
Created attachment 258100 [details]
Prototype for a new Tax Info Dialog window

Here is a prototype that demonstrates the concept I propose to choose for the implementation of the tax information dialog.

The goal of this dialog is to assign a tax code to each tax relevant account selected by the user.

This tax code shall have following structure
<locale-string>-<tax-type-ID>-<tax-form-ID>-<tax-line-ID>[-<tax-columns-ID]

All these strings and IDs are defined in .glade files, so any correction, removal or extension of tax definition can be done without need for code updates and compilations.

There are two files that have global significance:

- dialog-tax-info.glade
This file defines the tax info dialog window.

- dialog-tax-info-TaxCountries.glade
This file defines the supported list of tax countries.

All other files have national significance, and are dependend on each other in the order as follows:

- dialog-tax-info-<locale-string>-TaxTypes.glade
This file defines the supported tax types for the selected country.

- dialog-tax-info-<locale-string>-TaxYears.glade
This file defines the supported tax years. This refers to the tax form versions that might change over the years. So the same tax item might be listed different lines for different years. This has relevance only for the tax info dialog, so the user can match the dialog info with the available paper forms.

- dialog-tax-info-<locale>-<tax-type-string>.glade
This files defines the supported forms for the selected tax type. E.g. for the income tax declaration several forms might be needed to be filled in. It is possible to support only some of them, completeness is not a technical requirement here.

- dialog-tax-info-<locale-string>-<tax-type-string><tax-form-string>.glade
This maps the paper form info into tabular data for the tax info dialog, and of course for the final composition of the whole tax code for each relevant cell in the paper form.

This example is part of the prototype:
- dialog-tax-info-x_X-TaxTypes.glade
- dialog-tax-info-x_X-TaxYears.glade
- dialog-tax-info-x_X-Private Tax.glade
- dialog-tax-info-x_X-Private TaxForm1.glade

There is also a complex example included for the german income tax declaration with a selection of forms with real data for the years 2012 and 2013 (the structure of 2013 is assumed, all text in German).

The implementation requires the user to first complete the selection of tax country, tax type and tax year before any further selections can be done.

Help text lines that explain the meaning of the selected lines are included, too.

How to use the protoype:

The prototype is attached as gzipped tar file.

After uncompressing and extraction a directory called TaxInfoDialog will be available.

For Linux: Change into the directory and compile with
gcc `pkg-config --cflags gtk+-2.0` -o test test_tax_dialog.c `pkg-config --libs gtk+-2.0`

After that call the prototype from this directory with
./test

The exectuable code for this prototype is found in test_tax_dialog.c

This prototype can be considered a test tool for anyone who would like to extend the tax info dialog support for a new country or new tax types.

Have a try and let me know your comments :-)
Comment 2 Geert Janssens 2013-10-26 10:24:06 UTC
Carsten, thank you for your patch. I will look into it later.

Now I would just like to point out that attaching a tar ball to a bug will not make it visible in the unreviewed patches overview of Bugzilla [1]. That's the main view developers will use to see if there are still pending patches for some bugs. If your patch doesn't show there, you risk that it will be forgotten until someone accidentally opens your bug report.

So can you please make sure future patches are attached as plain text and marked as patch ?

You can fairly easily generate such patches from svn or git directly.

svn: in the top level directory of your working copy, run
"svn diff > patch-file.patch"
(patch-file.patch is a name you can freely choose)

git: first commit your changes to a branch in your local repository. Then assuming your branch was branched at the current trunk HEAD, run
"git format-patch trunk"
This will create a patch file for each commit on your local branch, which you can then attach one by one to bugzilla.

[1] https://bugzilla.gnome.org/page.cgi?id=patchreport.html&product=GnuCash&patch-status=none
Comment 3 Carsten Rinke 2013-10-26 20:27:18 UTC
Hi Geert,

no worries, the attached tar ball is not meant to be a patch.

It includes a prototype that should be compiled separately.
It's got nothing to do with the GnuCash sources, yet.

I am continuing with the work on this and will come back with real patches once I have them.

For now the bug and my previous comment is just to make others aware that someone is working on a new solution for tax reporting, and to let the interested reader know about the concept that a follow-up.
Comment 4 Frank H. Ellenberger 2013-10-26 23:49:34 UTC
Created attachment 258194 [details]
Approach to get a german income tax declaration 

Hi Carsten,

a few notes:

Comment #1:
 1. should become part of file property, to get it persistent. Then a user with i.e. a business in DE and the home seat in BE could manage the sales tax (and business income tax)in her DE file and the personal income tax in a BE file.

 2. No:
  a) it is not in Preferences, but in Edit and it edits the tax properties of the accounts in your current file.
  b) It is also used for sales taxes like in SKR04, so INCOME tax would be misleading.  

 3. TXF is form oriented, but 
 a) The report is not.
 b) the german UStVA was originally a proof on concept which became useful for german business users, but the de files need some rework to get it together with the income tax declaration ESt. 
 In 2008 I started an approach with the ESt2004 forms, but I got disrupted. Probably we can take the attachement as a starting point for a german ESt template.

Eventually you should search the german mailing list for some discussions a few years ago leading to the german MWSt/VAT part in SKR04, electronic tax reporting with ElStEr/libGeier... 
There is also some background in http://wiki.gnucash.org/wiki/De/Projekte and http://wiki.gnucash.org/wiki/De/SKR04
Comment 5 John Ralls 2018-06-29 23:20:31 UTC
GnuCash bug tracking has moved to a new Bugzilla host. The new URL for this bug is https://bugs.gnucash.org/show_bug.cgi?id=710873. Please continue processing the bug there and please update any external references or bookmarks.