Adding Payroll

Neil Williams linux at codehelp.co.uk
Tue Nov 8 13:37:28 EST 2005


On Tuesday 08 November 2005 5:51 pm, Derek Atkins wrote:
> Jay Scherrer <jay at scherrer.com> writes:
> > However, while investigating the 2005 forms issued from the
> > <http://irs.gov>, I found that we can sign up for e-services developer
> > status, providing the software goes through a series of tests for
> > accuracy. The testing transmission will now use .xsd or XML schema.
> > Right away I began thinking of QSF.

Hmm. Maybe. You'd certainly need QSF + XSL rather than just QSF. The format 
created by the XSL conversion would still need it's own schema and it could 
be this that was tested.

It removes the localisation from the C codebase - the XSL can be tweaked 
between releases because there would be no C changes.

> I'm not sure QSF is exactly what you want here...  But something
> /like/ QSF may be appropriate.

QSF will always be able to export your payroll / tax data generically and 
therefore it can be an option for those whose formats are not directly 
supported. It would just be a case of creating an XSL stylesheet to custom 
formats - taking some of the burden out of localisation. 

i.e. if you use QOF objects, you've always got QSF without writing any code of 
your own. Customised and localised formats should, IMHO, be as generic as QSF 
to make it easy for them to be transformed into other similar formats.

(Just remember that QSF, like QOF, doesn't care if you are querying 
watermelons or employees! It's all just objects and books.)

The IRS is just one tax authority and each have their own formats. You cannot 
expect to support them all, especially not in C.

I agree with Derek, QSF may not be exactly what you want but I would caution 
against making any new schema too specific to one tax authority unless you 
have a common format from which all other tax authority requirements can be 
derived.

I think you need a hierarchy - one top level format and XSL stylesheets acting 
like the gettext translation files by converting the top level source into a 
localised form. Then we can add new XSL stylesheets in a similar fashion to 
adding new translations.

> > But the main question, is this an option with the GnuCash developers?
> > This would mean offering the ability to originate and transmit US
> > employer's IRS forms 940 and 941 to start with.

and the rest of the world?

Each authority would want their own "tests for accuracy" and I don't think 
it's a good idea to code too much of this in C. If you are going to write a 
new backend, make sure it is as wide, generic, flexible and extensible as 
possible. You want one piece of unchanging C that generates XML in a "common 
format" which can then be converted using XSL into specific local sub-forms.

I want to be able to improve the generation of my UK tax returns - I think I 
can do that with cashutil, QSF and a little perl but only because my 
calculations are relatively simple. Creating one system that can cope with 
US, UK and, say, German, requirements (just to take a sample of current 
gnucash developer needs!) is quite a challenge.

> I think having GnuCash provide online 940 and 941 submission would
> be WAY COOL.  You may just need to plug the schema into libxml2
> (instead of using QSF).  QSF has it's own XML schema which probably
> doesn't map into the IRS tax schema.

No, it wouldn't map directly but I dare say it could be converted with XSL. 
Don't know for sure, haven't seen the requirements. Certainly you are likely 
to need one new schema for each new XSL that is based on the common format 
(whether that is QSF or not) - the differences are likely to be too large 
(and change too unpredictably) to manage it all in one and government testing 
is likely to require schema validation of the end format.

Also note that this is increasing the development burden somewhat by raising 
expectations that each format will be updated each time the relevant 
authority publishes their budget. All the more reason to have one static 
common format and easily modifiable XSL customisations.

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20051108/d4068dd7/attachment.bin


More information about the gnucash-devel mailing list