- elsif ( $form->{format} eq 'elstertaxbird' ) {
-
- # Define serveral filenames
- $form->{IN} = 'taxbird.txb';
-
- $form->{attachment_filename} = "USTVA-" . $form->{period}
- . sprintf("%02d", $form->{year} % 100) . ".txb";
-
- $form->{tmpfile} = "$userspath/" . $form->{attachment_filename};
-
- # TODO: set Output to UTF-8 or system Preference
- #$form->{"iconv"} = Text::Iconv->new($myconfig{dbcharset}, "UTF-8");
- #my $iconv = $self->{"iconv"};
- #$iconv->convert($variable);
-
- if ($form->{period} =~ /^[4]\d$/ ){
- my %periods = ( # Lx => taxbird
- '41' => '12',
- '42' => '13',
- '43' => '14',
- '44' => '15',
- );
-
- foreach my $quarter ( keys %periods ) {
- $form->{taxbird_period} = $periods{$quarter} if ( $form->{period} eq $quarter);
+ $form->{IN} = $form->{type} . '.html';
+ $form->{padding} = " ";
+ $form->{bold} = "<b>";
+ $form->{endbold} = "</b>";
+ $form->{br} = "<br>";
+ $form->{address} =~ s/\\n/\n/g;
+
+ foreach $number (@category_cent) {
+ $form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '2', '0');
+ }
+
+ foreach $number (@category_euro) {
+ $form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '0', '0');
+ }
+
+ } elsif ( $form->{format} eq 'elsterwinston' ) {
+
+ $form->{IN} = 'winston.xml';
+
+ #
+ # Build Winston filename
+ #
+
+ my $file = 'U'; # 1. char 'U' = USTVA
+ $file .= $form->{period};
+ #4. and 5. char = year modulo 100
+ $file .= sprintf("%02d", $form->{year} % 100);
+ #6. to 18. char = Elstersteuernummer
+ #Beispiel: Steuernummer in Bayern
+ #111/222/33334 ergibt für UStVA Jan 2004: U01049111022233334
+ $file .= $form->{elsterFFFF};
+ $file .= $form->{elstersteuernummer};
+ #file suffix
+ $file .= '.xml';
+ $file =~ s|.*/||;
+ $form->{tmpfile} = "$userspath/$file";
+
+ $form->{attachment_filename} = $file;
+
+ # Zahlenformatierung für Winston
+
+ my $temp_numberformat = $myconfig{numberformat};
+
+ # Numberformat must be '1000.00' for Winston
+
+ $myconfig{numberformat} = '1000.00';
+
+ foreach my $number (@category_cent) {
+ $form->{$number} = ( $form->{$number} !=0 ) ? $form->format_amount(\%myconfig, $form->{$number}, '2', '') : '';
+ }
+
+ foreach my $number (@category_euro) {
+ $form->{$number} = ( $form->{$number} !=0 ) ? $form->format_amount(\%myconfig, $form->{$number}, '0', '') : '';
+ }
+ # Re-set Numberformat
+ $myconfig{numberformat} = $temp_numberformat;
+
+ # push Kennziffern to <%foreach Array fo easyer
+ # output in xml format. Thx to Moritz.
+ my %winston_id_for = (
+ # No Winston remap?!
+ );
+
+ foreach my $kennziffer (@category_cent, @category_euro) {
+
+ next if ( $kennziffer =~ m/Z\d\d/);
+ next if ( $form->{$kennziffer} == 0 );
+
+ if (defined $winston_id_for{$kennziffer} ) {
+ push(@{ $form->{id}}, $winston_id_for{$kennziffer});
+ } else {
+ push(@{ $form->{id}}, "Kz$kennziffer");
+ }
+ push(@{ $form->{amount}}, $form->{$kennziffer});