Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Application/

Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Upload File :
Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Application/IfTRenderer.pm

package Application::IfTRenderer;

use strict;
use Data::Dumper; 
our $buchhaltung; our $konto; our $bdatum; our $betrag; our $kto1;
our $kto2; our $rem; our $bdatum1; our $betrag1; our $kto11;
our $kto21; our $rem1; our $zeile; our $jahr;

sub new { return({},shift) }

#*******************************************************************************************

sub render_kasse {

   my $self    = shift;
   my $text    = shift;
   my $mode    = shift;
   my $person  = shift;

   my $o; my $o1; my $o2; my $o3; my @ee; my $zeile; my $zeile1; my $p1;

   my $text1 = "";
   while ($text =~ s/\n(\d\d\d\d\d\d\d\d\;.*?)\n/\n---INSERT---\n/s) {
      $o = $1;
      $o =~ s/[\,\; ]+$//;
      $o =~ s/\"\;\"/  /gs;
      $o =~ s/\"//gs;
      $o =~ s/\;\+\+/\;qq/;   
      $o =~ s/\;\+\-/\;qw/;   
      next if ($o !~ /^(\d\d\d\d\d\d\d\d)\;(.*?)\;(.*)$/);
      $o1 = $1; $o2 = $2; $o3 = $3;
      $o2 =~ s/,/\./;
      $o2 = sprintf("%3.2f",$o2);
      $p1 = "cgabriel";
      if ($o3 =~ /(mherrschel|tjungblut|arjasanow|ccsengery|ddienlin)/) {
         $p1 = $1;
      } else {
         $p1 = "mherrschel" if ($o3 =~ /Copy/);
      }
#      print "XX: $person $p1 $o3\n"; sleep 1;
      next if ($p1 ne $person);
      if ($mode == 1) {
         1;
      } else {
         $text1 = $text1 . "$o1  -"."$o2   - 13-9999  0.00  $o3\n";
      }
   }

   $text =~ s/\n---INSERT---\n/$text1/s;
   $text =~ s/---INSERT---\n//gs;
   
   return($text);

   
   
}

#*******************************************************************************************

sub render_dornbirn {

   my $self = shift;
   my $text = shift;

   my $o; my $o1; my @ee; my $zeile; my $zeile1;

   my $text1 = "";
   while ($text =~ s/\n\"(.*?)\"\n/\n---INSERT---\n/s) {
      $o = $1;
      $o =~ s/\"\;\"/  /gs;
      $o =~ s/\"//gs;
      next if ($o =~ /^\*/);
      next if ($o !~ /^(.*?)\s+(\d\d)\.(\d\d)\.(\d\d\d\d)\s+(.+)\,(\d+)/);
      next if ("$5.$6" eq "0.00");
      $o1 = "$4$3$2  $5.$6  - 13-9999 0.00   $1\n";
      $text1 = $text1 . $o1;
   }

   $text =~ s/\n---INSERT---\n/$text1/s;
   $text =~ s/---INSERT---\n//gs;
   return($text);

   
   
}

#*******************************************************************************************

sub render_consors {

   my $self = shift;
   my $text = shift;

   my $o; my $o1; my @ee; my $zeile; my $zeile1;

   my $text1 = "\n";
   while ($text =~ s/\n(\d\d\.\d\d\.\d\d\d\d\;.*?)\n/\n---INSERT---\n/s) {
      $o = $1;
      @ee = split(/\;/,$o);
      my $nr = $#ee;
      $ee[$nr] =~ s/\.//gs;
      $ee[$nr] =~ s/\,/./gs;
      $ee[$nr] =~ s/\+//gs;
      $ee[4] = join(" ",@ee[2..($nr-1)]);
      $ee[0] =~ s/^(\d+)\.(\d+)\.(\d+)$/$3$2$1/;
      $ee[1] =~ /^(.*)\.(.*)$/;
      $zeile1 = $ee[0] . "  " . $ee[$nr] . " -  " .  "13-9999" . " 0.00  " . $ee[4] . "\n";
      $text1 = $text1 . $zeile1;
   }
   $text =~ s/\n---INSERT---\n/$text1/s;
   $text =~ s/---INSERT---\n//gs;

   return($text);
   
}

#*******************************************************************************************

sub render_sparkasse {

   my $self = shift;
   my $text = shift;
      
   my $o; my $o1; my @ee; my $zeile; my $zeile1;

   my $text1 = "\n";
   while ($text =~ s/\n\"(.*?)\"\n/\n---INSERT---\n/s) {
      $text1 = $text1 . $1 . "\n";
   }
   
   $text1 =~ s/\"//gs;
   while ($text1 =~ s/\n(.*?)\;LASTSCHRIFT(.*?)(218\/129)(.*?)(UMS\.ST|LOHNST|LKST\.RK) +(.*?)(\d+) +([\d\.]+,\d+)/\n$1\;LASTSCHRIFT$2$3$4/) {
      $text1 = $text1 . $1 . ";LASTSCHRIFT" . $2 . $3 . $4 . $5 . "  " . $6 . $7 .
               ";FINANZAMT FUERTH;76201500;76000000;-"."---BETRAG---;EUR;Umsatz gebucht\n";
      $o1 = $8;
      $o1 =~ s/\.//gs;
      $text1 =~ s/---BETRAG---/$o1/;
   }
# print $text1; exit;

   my $text2 = "\n";
   foreach $zeile (split(/\n/,$text1)) {
      next if ($zeile =~ /\;STEUERNR\. +218\/129\/10296 +\;/);
      @ee = split(/\;/,$zeile);
      $ee[8] =~ s/\,/./gs;   #  Betrag
      next if ($ee[8] * 1 == 0);
      $ee[4] = $ee[3] . " " . $ee[4] . " " . $ee[5] . " " . $ee[6] . " " . $ee[7]; # Bemerkungsfeld
      next if ($ee[2] !~ /^(.*)\.(.*)\.(.*)$/);   #  Datumsfeld
      $zeile1 = "20" . $3 . $2 . $1 . "  " . $ee[8] . "...T...-...T..." .  "13-9999" .
                      "...T...0.00...T..." . $ee[4] . "\n";
#      next if (substr($zeile,0,4) ne $jahr);
      $text2  = $text2 . $zeile1;
   }
   $text =~ s/\n---INSERT---\n/$text2/s;
   $text =~ s/---INSERT---\n//gs;
   return($text);

   
   
}

#*******************************************************************************************

sub render_schillai_pinnow {

   my $self = shift;
   my $text = shift;
      
   my $o; my $o1; my @ee; my $zeile; my $zeile1;

   my $text1 = "\n";
   $text =~ s/\n\"(.*?)\n/\n/gs;
   while ($text =~ s/\n(\d+,\d+\;\"[^\n]*?)\"\n/\n---INSERT---\n/s) {
      $text1 = $text1 . $1 . "\n";
   }
   
   my $text2 = "\n";
   foreach $zeile (split(/\n/,$text1)) {
      @ee = split(/\;/,$zeile);
      $ee[6] =~ s/\,/./gs;   #  Betrag
#      next if ($ee[6] * 1 == 0);
      $ee[13] = $ee[12] . " " . $ee[13] . " " . $ee[14] . " " . $ee[15] . " " . $ee[16] .
                " " . $ee[29] . " " . $ee[30] . " " . $ee[31] . " " . $ee[32];
      $ee[13] = $ee[13] . ", von Kto " . $ee[2] . "-" . $ee[3] . ", " . $ee[4]  if ($ee[2] =~ /[^\"]/); # Bemerkungsfeld
      $ee[13] =~ s/\&/u./g;
      $ee[13] =~ s/\"//g;
      $ee[13] =~ s/ +/ /g;
      $ee[13] =~ s/\-\-+/\--/g;
# print "Z: $ee[26]\n";
      next if ($ee[26] !~ /^(.*)\.(.*)\.\d\d(.*)$/);   #  Datumsfeld
      $zeile1 = "20" . $3 . sprintf("%02u",$2) .
                            sprintf("%02u",$1) . "  " . $ee[6] . "...T...-...T..." .  "13-9999" .
                      "...T...0.00...T..." . $ee[13] . "\n";
      next if ($zeile1 =~ /Information zur Abrechnung/);
      next if ($zeile1 =~ /brechnung.*Kontostand/);
#      next if (substr($zeile,0,4) ne $jahr);
      $text2  = $text2 . $zeile1;
   }
   $text =~ s/\n---INSERT---\n/$text2/s;
   $text =~ s/---INSERT---\n//gs;
   return($text);

   
   
}

#*******************************************************************************************

sub render_commerzbank {

   my $self = shift;
   my $text = shift;

   my $o; my $o1; my @ee; my $zeile; my $zeile1; my $text2; my $zaehler; my $o2; my $o3;

   my $text1 = "";
   if ($text =~ s/^(.*?)(\<html\>.*\<\/html>)(.*)$/$1---INSERT---\n$3/s) {
      $text1 = $2;
   }

   while ($text1 =~ s/^(.*)(\<title\>commerzbanking.*?Zeitpunkt des letzten)(.*)$/$1\n$3/s) { 1; }
   $text1 =~ s/\<br\>/ /gsi;
   $zaehler  = 0;
   my $text2 = "\n";
   while ($text1 =~ s/tablehead1\"\>(.+?)\<\/span//) {
      $o = $1;
      $zaehler = $zaehler + 1;
      if ($zaehler == 1) {
         $o1 = $o;
         $o1 =~ s/^(\d+)\.(\d+)\.(\d+)/$3$2$1/;
      }
      elsif ($zaehler == 2) {
         $o2 = $o;
         $o2 =~ s/\<BR\>/ /g;
      }
      elsif ($zaehler == 3) {
         $zaehler = 0;
         if ($text1 =~ s/class\=\"(green|red|number)\"\>(.+?)\<\/span//s) {
            $o3 = $2;
            $o3 =~ s/\.//gs;
            $o3 =~ s/\+//gs;
            $o3 =~ s/\,/\./gs;
            if ($o3 =~ s/\-//gs) { $o3 = "-" . $o3; }
         }
         $zeile = $o1 . " " . $o3 . " - " . "13-9999" . " 0.00 " . $o2 . "\n";
         $text2 = $text2 . $zeile;
      }
   }
   $text =~ s/\n---INSERT---\n/$text2/s;
   return($text);

}

#*******************************************************************************************

sub render_abschreibungen {

   my $self = shift;
   my $text = shift;

   my $o; my $o1; my $position; my $restwert;
   my $jh; my $year; my $year1; my $anschaffung; my $halbjahr;
   my $afazeitraum; my $schon_abgeschrieben; my $kaufwert;
   my $abschreibung; my $anteil; my $restanteil; my $year0;
   my $text1 = "";

   if ($text =~ /^(.*?)(\d\d)(\d\d)/) {
      $jh   = $2;  #   Jahrhundert
      $year = $3;  #   Jahr
      $year1 = $year + 1;
      $year0 = sprintf("%4u",$jh * 100 + $year - 1);
   } else {
      return($text);
   }
   while ($text =~ s/\n$year0([^\n]*?)\n/\n/s) { 1; }
#   while ($text =~ s/\n$jh$year([^\n]*?)Abschreibung \(([^\n]*?)\n/\n/s) { 1; }
# print "TT: $year0 $text\n"; sleep 30;

   while ($text =~ s/\n10\-0201\-(\S+) +(\-?\d+\.\d+)//s) {
      $position = $1;
      $restwert = $2;
      $o1 = "";
      $o1 = $jh . $year . "0101 0.00 -"."$position 11-1805 0.00 Saldovortrag\n"
             if ($position =~ /^(\d\d)(\d)\_1\_(.*)$/ and $text =~ /$position/);
      while ($text =~ s/\n10\-0201\-$position +(\-?\d+\.\d+)//s) {
         $o  = $1;
         $o1 = $jh . $year . "0101 0.00 -"."$position 11-1805 0.00 Saldovortrag\n" if ($o > 0);
         if ($o < $restwert) {
            $restwert = $o;
         }
      }
      if ($restwert <= 0) {
         while ($text =~ s/\n$jh$year([^\n]*?) \-$position ([^\n]*?)Saldovortrag([^\n]*?)\n/\n/s) { 1; }
      }
      if ($text !~ /$jh$year([^\n]*?) \-$position ([^\n]*) Saldovortrag/) {
         $text1 = $text1 . $o1;
      }
# if ($position =~ /8.*sammel/) { print "RRR: $restwert \n"; sleep 30 }
      if ($text =~ s/\n(\d\d)(\d\d)12\d\d +(\-?\d+\.\d+) +\-$position +\S+ +\d+\.\d+ +Abschreibung(.*?)\n/\n/s) {
         $restwert = $3 - $restwert;
         $restwert = (-1) * $restwert;
         $year1  = $year + 1;
      }
      if ($position =~ /^(\d\d)(.)\_(\d+)\_(.*)$/) {
         $anschaffung = $1;
         $halbjahr    = $2;
         $afazeitraum = $3;
#         if ($halbjahr < 3) { $halbjahr = 0 } else { $halbjahr = 0.5 }
         if ($halbjahr eq "A") { $halbjahr = 10; }
         if ($halbjahr eq "B") { $halbjahr = 11; }
         if ($halbjahr eq "C") { $halbjahr = 12; }
         $halbjahr = ($halbjahr - 1) / 12; 
         $anschaffung = $anschaffung + $halbjahr;   #  Monat der Anschaffung
         if ($anschaffung > $year1) { $year1 = $year1 + 100 }
         $schon_abgeschrieben = ($year1 - $anschaffung - 1);
         if ($schon_abgeschrieben < 0) { $schon_abgeschrieben = 0 }
         $restanteil = sprintf("%3.2f",$afazeitraum - $schon_abgeschrieben);
         $restanteil =~ s/^(.*?)(0*)$/$1/;
         $restanteil =~ s/^(.*?)\.$/$1/;
         if ($restanteil > 0 and $restwert > 0) {
            $kaufwert = $restwert * $afazeitraum /  $restanteil;
            $kaufwert = sprintf("%3.2f",$kaufwert);
            $anteil   = "1";  #  abzuschreibender Anteil
            if ($year1 - $anschaffung < 1 and $afazeitraum > 1) { $anteil = (1 - $halbjahr) } 
            $abschreibung = sprintf("%3.2f", -$anteil * $kaufwert / $afazeitraum);
            if ($restwert + $abschreibung < 1) { $abschreibung = - $restwert }
            $anteil = sprintf("%3.2f",$anteil);
            $anteil =~ s/^(.*?)(0*)$/$1/;
            $anteil =~ s/^(.*?)\.$/$1/;
            $text1 = $text1 . $jh . $year . "1231 "."$abschreibung -"."$position 13-6540 0.00 Abschreibung ($anteil".
                             "/" . "$afazeitraum von $restanteil"."/"."$afazeitraum, $kaufwert EUR)\n";
         }
         
# print "$position  $anschaffung $halbjahr $restwert $year1  $schon_abgeschrieben  $kaufwert $abschreibung\n"; sleep 3;
      }
   }
   
# print $text . $text1; sleep 30;

   $text = $text . $text1;
   
   return($text);

}

#*******************************************************************************************

sub render_beitraege {

   my $self  = shift;
   my $text1 = shift;

   my $jahr1; my $monat1; my $tag1; my $datum1; my $betrag; my $person; my $kasse;
   my $anteile; my $art; my $o1; my $o2; my $o3; my $betrag9;
   
   my $faktor = { 2007 => 0.7673, 2008 => 0.7732,
                  2009 => 0.7472, 2010 => 0.7585,
                  2011 => 0.7435, 2012 => 0.7491 };  #  Gleitzonenfaktor

   my $text = "";
   foreach $zeile (split(/\n/,$text1)) {
      next if ($zeile =~ /^\d\d\d\d\d\d\d\d/ and
           $zeile !~ /(Saldovortrag|Korrektur)/ and
           $zeile !~ /\-(LOHN|LOHNG|SOND|ZAHL|LST|XAR|XPL)/);
      $text = $text . $zeile . "\n";
   }
   $text1 = "\n";

   foreach $zeile (split(/\n/,$text)) {
      next if ($zeile !~ /^(\d\d\d\d)(\d\d)(\d\d) +(\S+) +(\-AN\-)([a-z]+)\-(LOHN|LOHNG|LST) /);
#print " -->: $zeile\n"; sleep 1;
      $jahr1   = $1;
      $monat1  = $2;
      $tag1    = $3;
      $datum1  = $1 . $2 . $3;
      $betrag  = $4;
      $person  = $6;
      $art     = $7;
      $betrag  = (-0.01) * $betrag;
      
      $kasse   = $self->{'PERSON'}->{$person}->{2};
      if ($self->{'PERSON'}->{$person}->{$jahr1})         { $kasse = $self->{'PERSON'}->{$person}->{$jahr1}; }
      if ($self->{'PERSON'}->{$person}->{$jahr1.$monat1}) { $kasse = $self->{'PERSON'}->{$person}->{$jahr1.$monat1}; }
if (!$kasse) { print "Krankenkasse fehlt fuer $person\n"; sleep 5; }
      $kasse = [@$kasse];
      
      if ($art eq "LST") {   #  Berechnung der abgeleiteten Betraege fuer Soli und KiSteuer
         $jahr1 = substr($jahr1,2);
         $o1    = -5.5 * $betrag - 0.004999;       #  Soli
         if (abs($betrag) < 0.81) { $o1 = 0; }
         $o2    = (-1) * $kasse->[0] * $betrag - 0.004999;  #  Kirchensteuer
         $text1 = $text1 . "$datum1 " . sprintf("%8.2f",$o1) . " -AN-" . $person .
                     "-SZ 11-1381-$jahr1-AN-$person 0.00 Soli\n";
         $text1 = $text1 . "$datum1 " . sprintf("%8.2f",$o2) . " -AN-" . $person .
                     "-KS 11-1385-$jahr1-AN-$person 0.00 Kirchensteuer\n" if ($kasse->[0] > 0);
      }
      next if ($art eq "LST");
      shift(@$kasse);
                     
      $o1 = $self->{1500}->{$jahr1};   #  Allgemeine Anteile berechnen
      if ($self->{1500}->{$jahr1.$monat1}) {
         $o1 = $self->{1500}->{$jahr1.$monat1};
      }

      $o2  = $self->{$kasse->[0]}->{$jahr1};  #  Saetze der Kassen:
      if ($self->{$kasse->[0]}->{$jahr1.$monat1}) {
         $o2 = $self->{$kasse->[0]}->{$jahr1.$monat1};
      }
      $anteile = {%$o1,%$o2};

      foreach $o1 (keys %$anteile) {
         if ($o1 =~ /^QQ/) {
            if ( $anteile->{'AR'.substr($o1,2,2)} == 0
                         and $anteile->{'AN'.substr($o1,2,2)} == 0 ) {
               $anteile->{'AN'.substr($o1,2,2)} = $anteile->{$o1}/2;
               $anteile->{'AR'.substr($o1,2,2)} = $anteile->{$o1}/2;
            }
#            else {
               delete ($anteile->{$o1});
#            }
         }
      }

      foreach $o1 (@$kasse) {
         if ($o1 =~ s/^\-//) { delete ($anteile->{$o1}); # explizit abgezogene Anteile
                              $o1 =~ s/AR/QQ/; delete ($anteile->{$o1}); } # print "QQ: $o1\n"; sleep 1;}
         elsif ($anteile->{$o1} < 0) { $anteile->{$o1} = (-1) * $anteile->{$o1}; }  #  explizit gegebene Anteile
      }
      
      my $ankv; my $anpv;
      foreach $o1 (keys %$anteile) {
         if    ($o1 =~ /^ARPL$/)  {  $o2 = "11-" . "1380"      . "-" . substr($jahr1,2) . "-" . substr($o1,0,2) . "-" . $person; }
         elsif ($o1 =~ /^(AR|QQ)/){  $o2 = "11-" . $kasse->[0] . "-" . substr($o1,2) . "-" . substr($o1,0,2) . "-" . $person; }
         elsif ($o1 =~ /^ANLS$/)  {  $o2 = "11-" . "1380"      . "-" . substr($o1,2) . "-" . substr($o1,0,2) . "-" . $person; }
         elsif ($o1 =~ /^ANSZ$/)  {  $o2 = "11-" . "1381"      . "-" . substr($o1,2) . "-" . substr($o1,0,2) . "-" . $person; }
         elsif ($o1 =~ /^ANKS$/)  {  $o2 = "11-" . "1385"      . "-" . substr($o1,2) . "-" . substr($o1,0,2) . "-" . $person; }
         elsif ($o1 =~ /^AN/)     {  $o2 = "11-" . $kasse->[0] . "-" . substr($o1,2) . "-" . substr($o1,0,2) . "-" . $person; }
         $o2 =~ s/QQ/AR/;

         $o3 = $anteile->{$o1} * $betrag + 0.00001;
         next if ($o3 < 0);

#         if ($o1 =~ s/^QQ//) {
#            $o3 = $o3 - ($anteile->{"AN".$o1} * $betrag); # - 0.000001;
#            $o3 = $o3; # + 0.004998 if ($o1 !~ /(ZU|KI)/);  #  Korrektur wg. Rundungsfehlern
#            $o1 = "AR" . $o1;
#         }
#   Gleitzone:
#         print "BB: $betrag $person $o1\n"; sleep 1;
     if ($art eq "LOHNG") {
         if ($betrag > 0 and $betrag < 8 and $o1 =~ /^(ANRV|ANPV|ANAV|ANKV|ANKI|ANZU|ARU1|ARU2|ARU3)/) {
            $betrag9 = ($faktor->{$jahr} * 400) + (2 - $faktor->{$jahr}) * (100*$betrag - 400);
            if ($betrag < 4) {
               $betrag9 = ($faktor->{$jahr}) * 100 * $betrag;
            }
#            print "II: $betrag9 $betrag\n"; sleep 1;
            if ($o1 =~ /^(ANKI|ANZU|ARU1|ARU2|ARU3)$/) {
               $o3 = $o3 - $o3 * 1 * (1 - $betrag9/(100*$betrag));
            } else {
               $o3 = $o3 - $o3 * 2 * (1 - $betrag9/(100*$betrag));
            }
         }
     }

         if ($o1 =~ /(ANZU|ANKV)/) {
            if ($ankv) { $o1 = "ANKV"; $o3 = $o3 + $ankv; $ankv = 0; }
            else       { $ankv = $o3; next; }
         }
         if ($o1 =~ /(ANKI|ANPV)/) {
            if ($anpv) { $o1 = "ANPV"; $o3 = $o3 + $anpv; $anpv = 0; }
            else       { $anpv = $o3; next; }
         }
         
 
         $text1 = $text1 . $datum1 . " " . sprintf("%8.6f",$o3);
         if ($o1 eq "ARPL") {
            $text1 = $text1 . "  -PL-" . $person;
         } else {
            $text1 = $text1 . "  -" . substr($o1,0,2) . "-" . $person . "-" . substr($o1,2);
         }
         $text1 = $text1 . " " . $o2 . "  0.00  " . substr($o1,0,2) . "-Anteil ";
         $o2 = substr($o1,2);
         if    ($o2 eq "U1") { $o2 = "Umlage 1"; }
         elsif ($o2 eq "U2") { $o2 = "Umlage 2"; }
         elsif ($o2 eq "U3") { $o2 = "Insolvenz-Umlage"; }
         elsif ($o2 eq "LS") { $o2 = "Lohnsteuer"; }
         elsif ($o2 eq "SZ") { $o2 = "Soli"; }
         elsif ($o2 eq "KS") { $o2 = "Kirchensteuer"; }
         elsif ($o2 eq "PL") { $o2 = "Pauschale Lohnsteuer"; }
         $text1 = $text1 . $o2 . "\n";
      }

   }

   $text =~ s/\n---INSERT---\n/$text1/s;
   $text =~ s/---INSERT---\n//gs;
   return($text);   

}


#*******************************************************************************************

sub render_lohn {

   my $self = shift;
   my $text = shift;

   my $o; my $o1; my @ee; my $zeile; my $zeile1; my $b; my $entry1;
   my $datum; my $jahr1; my $person; my $betrag; my $kasse; my $entry;
   
   my $k = {};
$k->{klaewer}        = "1510";    #  DAK Fuerth
$k->{ckettner}       = "1515";    #  BKK Mobil Oil
$k->{tjungblut}      = "1512";    #  Knappschaft Essen
$k->{tfelder}        = "1512";    #  Knappschaft Essen
$k->{jengewald}      = "1512";    #  Knappschaft Essen
$k->{arjasanow}      = "1518";    #  Barmer EK
$k->{jkoch}          = "1512";    #  Knappschaft Essen
$k->{wkapraun}       = "1512";    #  Knappschaft Essen
$k->{dblaesche}      = "1512";    #  Knappschaft Essen
$k->{wsarhan}        = "1512";    #  Knappschaft Essen
$k->{mweber}         = "1512";    #  Knappschaft Essen
$k->{hzaazou}        = "1512";    #  Knappschaft Essen
$k->{stockbauer}     = "1512";    #  Knappschaft Essen
$k->{oppenl}         = "1513";    #  BKK futur
$k->{tkinzl}         = "1512";    #  Knappschaft Essen
$k->{jkaiser}        = "1512";    #  Knappschaft Essen
$k->{klangschwager}  = "1512"; #  Knappschaft Essen
$k->{ashawky}        = "1512";    #  Knappschaft Essen
$k->{hmaamoun}       = "1512";    #  Knappschaft Essen
$k->{ukrohn}         = "1512";    #  Knappschaft Essen
$k->{cnawrot}        = "1512";    #  Knappschaft Essen
$k->{hmaamoun}       = "1512";    #  Knappschaft Essen
$k->{jschuladen}     = "1512";    #  Knappschaft Essen
$k->{tkinzl}         = "1512";    #  Knappschaft Essen
$k->{mtruemper}      = "1512";    #  Knappschaft Essen
$k->{dkullick}       = "1512";    #  Knappschaft Essen
$k->{srodenberg}     = "1512";    #  Knappschaft Essen
$k->{jengewald}      = "1512";    #  Knappschaft Essen
$k->{ddienlin}       = "1514";    #  AOK Bayern
$k->{ccsengery}      = "1599";    #  
$k->{dperic}         = "1517";    #  Techniker KK
$k->{hparfuss}       = "1516";    #  BKK Siemens
$k->{jfriedrichs}    = "1599";    #
$k->{mherrschel}     = "1599";    #
$k->{jkleckow}       = "1515";    #  BKK Mobil Oil

   my $text1 = "\n";
   while ($text =~ s/\n(\d\d\d\d\d\d [a-z].*?)\n/\n---INSERT---\n/s) {
      $text1 = $text1 . $1 . "\n";
   }
   
   my $text2 = "\n";
   foreach $zeile (split(/\n/,$text1)) {
      next if ($zeile !~ /^(\d\d)(\d\d)(\d\d) +(\S+) +(.*)$/);
      $datum  = $1 . $2 . $3;
      $jahr1  = $2;
      $person = $4;
      $betrag = $5;
      $b = {};
      $kasse  = $k->{$person} || "1599";
      $o1 = 1;
      while ($betrag =~ s/([A-Z]+)\: *([p0-9\.]+)//) {
         $b->{$1} = $2;
      }
      foreach $o (keys %$b) {
         if ($b->{$o} == 0) { delete($b->{$o}); next; }
         if ($o ne "L" and $o ne "LP") { $o1 = 0; }
      }
      if ($o1) { if (!($b->{'LP'})) { $b->{'LP'} = "p";  } }
      if ($b->{'LP'} eq "p") { $b->{'LP'} = 0.25 * $b->{'L'}; }
      foreach $o (keys %$b) {
         $b->{$o} = sprintf("%3.2f",$b->{$o});
         $entry = $datum . "15 " if ($o eq "L");
         $entry = $datum . "15 " if ($o ne "L");
         $entry = $entry . "-" if ($o eq "L" or $o eq "S");
         $entry = $entry . $b->{$o} . " ";
         $entry1 = "";
         $entry1 = $entry . "11-1500-$person-LOHN 13-6000-$person         0.00 Brutto-Lohn"    if ($o eq "L");
         $entry1 = $entry . "11-1500-$person-SOND 13-6000-$person         0.00 Sonderzahlung"  if ($o eq "S");
         $entry1 = $entry . "11-1500-$person-LST  11-1380-$jahr1-$person  0.00 Lohnsteuer"     if ($o eq "LST");
         $entry1 = $entry . "11-1500-$person-KST  11-1385-$jahr1-$person  0.00 Kirchensteuer"  if ($o eq "KST");
         $entry1 = $entry . "11-1500-$person-SZ   11-1381-$jahr1-$person  0.00 Soli"           if ($o eq "SZ");
         $entry1 = $entry . "11-1500-$person-KV   11-$kasse-$person       0.00 KV-Beitrag"     if ($o eq "KV");
         $entry1 = $entry . "11-1500-$person-PV   11-$kasse-$person       0.00 PV-Beitrag"     if ($o eq "PV");
         $entry1 = $entry . "11-1500-$person-RV   11-$kasse-$person       0.00 RV-Beitrag"     if ($o eq "RV");
         $entry1 = $entry . "11-1500-$person-AV   11-$kasse-$person       0.00 AV-Beitrag"     if ($o eq "AV");
         $entry1 = $entry . "13-6010-$person      11-$kasse-$person       0.00 SV AG-Anteil"   if ($o eq "AG");
         $entry1 = $entry . "13-6011-$person      11-1380-$jahr1-$person  0.00 Pauschale Lohnsteuer"  if ($o eq "LP");
         $text2  = $text2 . $entry1 . "\n" if ($entry1);
      }
   }
   
   $text =~ s/\n---INSERT---\n/$text2/s;
   $text =~ s/---INSERT---\n//gs;
   return($text);   
   
}

#*******************************************************************************************

sub render_infokto {

   my $self = shift;
   my $text = shift;
   return("") if ($text !~ /gmbh(\d\d\d\d)/);
   my $jahr = $1;

   $text = <<'TEXT_ENDE';
XXXMM28        0.00 57-05-xxx1-Vor-07                79-1450   136282.43 1Vorsteuer__7vH {gmbhXXX:11-1571-xxx2}
XXXMM28        0.00 57-05-xxx1-Vor-19                79-1450   136282.43 2Vorsteuer_19vH {gmbhXXX:11-1575-xxx2}
XXXMM28        0.00 57-05-xxx1-Ums-07                79-1450   136282.43 3Umsatzsteuer__7vH {gmbhXXX:11-1771-xxx2}
XXXMM28        0.00 57-05-xxx1-Ums-19                79-1450   136282.43 4Umsatzsteuer_19vH {gmbhXXX:11-1775-xxx2}
TEXT_ENDE

   my $text1 = <<'TEXT_ENDE';
57-05-xxx1  UMSATZSTEUERVORANMELDUNG_xxx3       0.00
57-05-xxx1-Vor  Vorsteuer__xxx3       0.00
57-05-xxx1-Vor-07  Vorsteuer__7vH_xxx3       0.00
57-05-xxx1-Vor-19  Vorsteuer_19vH_xxx3  0.00
57-05-xxx1-Ums  Umsatzsteuer__xxx3       0.00
57-05-xxx1-Ums-07  Umsatzsteuer__7vH_xxx3  0.00
57-05-xxx1-Ums-19  Umsatzsteuer_19vH_xxx3  0.00
TEXT_ENDE

   my $o; my $s1; my $t1; my $o1; my $o2; my $o3; my $t2;
   my $t = "";
   my $s = "";
   foreach $o (1,2,3,4,5,6,7,8,9,10,11,12) {
      $t1 = $text;
      $s1 = $text1;
      $o1 = sprintf("%02u",$o);
      $o2 = sprintf("%1u",$o);
      if ($o2 == 10) { $o2 = "A"; }
      if ($o2 == 11) { $o2 = "B"; }
      if ($o2 == 12) { $o2 = "C"; }
      $o3 = "";
      if ($o == 1) { $o3 = "Januar"; }
      if ($o == 2) { $o3 = "Februar"; }
      if ($o == 3) { $o3 = "Maerz"; }
      if ($o == 4) { $o3 = "April"; }
      if ($o == 5) { $o3 = "Mai"; }
      if ($o == 6) { $o3 = "Juni"; }
      if ($o == 7) { $o3 = "Juli"; }
      if ($o == 8) { $o3 = "August"; }
      if ($o == 9) { $o3 = "September"; }
      if ($o == 10) { $o3 = "Oktober"; }
      if ($o == 11) { $o3 = "November"; }
      if ($o == 12) { $o3 = "Dezember"; }

      $t1 =~ s/xxx1/$o1/g;
      $t1 =~ s/xxx2/$o2/g;
      $t1 =~ s/xxx3/$o3/g;
      $t1 =~ s/MM/$o1/g;
      $s1 =~ s/MM/$o1/g;
      $s1 =~ s/xxx3/$o3/g;
      $s1 =~ s/xxx1/$o1/g;
      $s1 =~ s/xxx2/$o2/g;
      $t = $t . $t1;
      $s = $s . $s1;
   }

   my $t0 = <<'TEXT_ENDE';
gmbh2007, Konto 57 (zur_Information)

XXX1231   0.00  57-01-0201      79-1400  0.00 100_Anlagen {gmbhXXX:10-0201}
XXX1231   0.00  57-01-1155      79-1400  0.00 102_Forderungen {gmbhXXX:10-7000}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-1202}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-1222}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-1232}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-1241}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-1242}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-1280}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-1281}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-2080}
XXX1231   0.00  57-01-1200      79-1400  0.00 104_Bankkonten {gmbhXXX:10-2081}
XXX1231   0.00  57-02-1300      79-1400  0.00 110_Kapitalruecklage {-(gmbhXXX:11-1805)}
XXX1231   0.00  57-02-1310      79-1400  0.00 112_Jahresueberschuss {gmbhXXX:15-1200}
XXX1231   0.00  57-02-1320      79-1400  0.00 114_Verbindlichkeiten {-(gmbhXXX:11)}
XXX1231   0.00  57-02-1320      79-1400  0.00 114_Verbindlichkeiten {-(gmbhXXX:15-1200)}
XXX1231   0.00  57-02-1320      79-1400  0.00 114_Verbindlichkeiten {gmbhXXX:11-1805}
XXX1232   0.00  57-03-1800      79-1410  0.00 120_Anfangsbestand {-(gmbhXXX:11-1805)}
XXX1232   0.00  57-03-1810      79-1410  0.00 122_Gewinn_vor_Steuern {-(gmbhXXX:11-9000)}
XXX1232   0.00  57-03-1813      79-1410  0.00 123_Koerperschaftsteuer {-(gmbhXXX:14-7603)}
XXX1232   0.00  57-03-1814      79-1410  0.00 124_Gewerbesteuer {-(gmbhXXX:14-7610)}
XXX1233   0.00  57-03-1815      79-1410  0.00 125_Ausschuettung {-(gmbhXXX:11-9002)}
XXX1232   0.00  57-03-1816      79-1410  0.00 126_Quellensteuer {-(gmbhXXX:14-7632)}
TEXT_ENDE
   


   $text = $t0 . $t . "\n" . <<'TEXT_ENDE' . $t2;
57              zur_Information                         0.00         
57-01           Jahresabschluss_Summe_Aktiva            0.00
57-01-0201      A_II_Anlagen                            0.00
57-01-1155      B_II_Forderungen                        0.00
57-01-1200      B_IV_Bankkonten                         0.00
57-02           Jahresabschluss_Summe_Passiva           0.00
57-02-1300      A_II_Kapitalruecklage__Anfangsbestand   0.00
57-02-1310      A_V_Jahres_ueberschuss_fehlbetrag       0.00
57-02-1320      C_Verbindlichkeiten                     0.00
57-03           Endbestand                              0.00
57-03-1800      Anfangsbestand                          0.00
57-03-1810      Gewinn_vor_Steuern                      0.00
57-03-1813      Koerperschaftsteuer                     0.00
57-03-1814      Gewerbesteuer                           0.00
57-03-1815      Ausschuettung                           0.00
57-03-1816      Quellensteuer                           0.00
57-03-1820      Endbestand                              0.00
TEXT_ENDE
   $text =~ s/XXX/$jahr/gs;

   return($text);
   
}

1;

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net