TXF categories for French tax system
Christian Stimming
stimming at tuhh.de
Mon Jan 11 16:22:59 EST 2010
Dear Parker,
thanks for bringing up the idea. I think it would be great to add support for
French tax requirements here. I also think there are possibilities to
implement this in a better way than the locale-hack without too much
additional effort.
Am Donnerstag, 7. Januar 2010 schrieb J. Alex Aycinena:
> > ./scm/txf.scm -> txf-de_DE.scm
> > ./guile-modules/gnucash/report/taxtxf.scm -> taxtxf-de_DE.scm
> > ./guile-modules/gnucash/report/locale-specific/us.scm -> de_DE.scm
> > ./guile-modules/gnucash/tax/us.scm --> de_DE.scm
> >
> > Are there any others I missed? The diffs don't look very large, but
> > there seems to be a fair bit of duplicated code.
In principle, this is all. The changes belong into two areas:
- The first main part of this are simply the list of tax codes and their
explanation, which will be different for any tax system which is supported; I
think this is in scm/txf.scm but I might be wrong. The mapping of tax system
to list of tax codes is currently done at start-up depending on the locale (by
loading different files) and this would need to be changed, but the principle
stays the same even if more tax systems are added.
- The second main part is the report which generates the output
(report/taxtxf.scm), and this one contains not only the final output format
but also the logic about which numbers should be calculated and in what
representations. Hence, this one cannot easily be shared among the different
tax systems - every one would have to come with its own output report.
> I have recently made significant changes to the US Income Tax
> reporting bits that have not been reflected in the German equivalents.
> I believe that the German version was done quite some time ago by
> Christian as sort of a proof of concept and it hasn't been maintained
> - but he can speak to that better than I.
>
> If you want to add French Income Tax capabilities that would be great,
> in my opinion. However, I think we should discuss whether following
> the approach done for the German taxes is a good long-term solution.
> The problem with making it locale dependent in the way the current
> German implementation works is that it doesn't handle cases in which
> people need to file in more than one jurisdiction - it's an either/or
> approach.
I think the first question here is what is the use case for a user choosing a
tax system, and how should this choice be presented to the user. I think it is
reasonable to present a per-book setting, so that in one particular gnucash
file (book), one tax system can be used but not multiples. Hence, the GUI will
need to present this per-book choice somewhere (File -> Properties) and the
rest of the tax GUI uses the tax codes according to this setting.
Even though a small number of users might ask for multiple tax systems in one
book, implementing that one would require a significantly more complex GUI to
the user and it would also be much more complex for the internal structures,
so I would suggest not to go into that direction.
Once someone implements a per-book property, the list of tax codes and the
chosen tax report need to use this property at run-time (as opposed to startup
time) to select the suitable data. Any volunteer to implement this part?
Once the selection framework is in place, more tax systems (German but now the
correct way, French, Australian etc) should be able to be added easily...
Regards,
Christian
More information about the gnucash-devel
mailing list