Adding Payroll

Jay Scherrer jay at scherrer.com
Tue Nov 8 17:11:21 EST 2005


On Tue, 2005-11-08 at 16:38 -0500, Derek Atkins wrote:
> Quoting Jay Scherrer <jay at scherrer.com>:
> 
> > That's a better idea. It will also match currency in employee.
> > This is the framework entities I was working on:  employee, payroll,
> > tax. And if we are successful in creating a working payroll that has
> > submission capabilities (quarterly 941, annual  940), we would need to
> > add a new entity called something like "preparer".  This would allow for
> > different tax preparers to insert their unique PIN number connected to
> > the returns filed to the US IRS.
> 
> Sure.
> 
> > I'm still getting used to the GnuCash system. I didn't want to introduce
> > more then what is needed. libxml will work for the output and parsing,
> > according to the referanced QSF tutorials. I have included the file
> > specs from the irs (see below).
> 
> We already depend on libxml2, so it wouldn't add a new dependency
> to use it yourself.  OTOH I do like Neil's approach of creating a
> generalized XML output and then an XSL translator from the general
> output to the specific IRS XML schema.  This way it doesn't require
> C coding to add new output formats; it just requires a new XSL template.
> 
> The downside of this approach is that it DOES add a new dependency
> on libxstl, which we currently do not depend on.
> 
> -derek
> 
Is there any way to create templates for transmission purposes?
Then just print the 941 template.
I have done this using Perl all the time. I would just insert a
$NumberOfEmployees where a value is required ($variable)?
example: <xsd:element value="$NumberOfEmployees" </element value>;
But it already looks as if they are using C name variables.  
Example from "irs941.xsd":

<!-- Number of Employees -->
      <xsd:element name="NumberOfEmployees" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
            <Description>Number of employees who received wages, tips,
or other compensation for the pay period including Mar. 12 (Quarter 1),
June 12 (Quarter 2), Sept. 12 (Quarter 3), Dec. 12 (Quarter
4).</Description>
            <LineNumber>1</LineNumber>
          </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
          <xsd:restriction base="IntegerNNType">
            <xsd:totalDigits value="7"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

Jay Scherrer



More information about the gnucash-devel mailing list