Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 52f442ea

Von G. Richardson vor fast 15 Jahren hinzugefügt

  • ID 52f442eaa1bbd1204a90194f7ad35505260c8241
  • Vorgänger bb42d017
  • Nachfolger 0519635d

SKR04 innergemeinschaftlicher Erwerb: 19% Umsatzsteuer nachgeliefert

  • Konto 3804 hinzufügen (Umsatzsteuer aus EG-Erwerb 19%) für
  • Konto 3803 auf 16% gesetzt
  • Steuerklasse 13 erweitert

Wurde Konto 3803 nach dem 01.01.2007 bebucht wird Upgrade übersprungen
Gibt es das Konto 3804 schon wird Upgrade übersprungen

Dokumentation wie man die Änderungen manuell nachstellen kann, für den Fall,
daß Upgrade nicht automatisch durchgeführt wurde

Unterschiede anzeigen:

doc/skr04-update-3804/skr04_3804_hinzufuegen.html
1
<head>
2
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
3
<title>Lx-Office: SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</title>
4
</head>
5
<body>
6

  
7
<h1>Umsatzsteuer 19% für Verkauf mit Steuerschlüssel "EU ohne USt.-IdNr.":</h1>
8

  
9
Die Umsatzsteuerumstellung auf 19% für SKR04 für die Steuerschlüssel "EU ohne
10
USt-ID Nummer" ist erst 2010 erfolgt. Das Upgradeskript erstellt automatisch
11
das Konto 3804 und stellt die Steuereinstellungen korrekt ein, hat der Benutzer
12
aber schon selber das Konto 3804 angelegt, oder gab es schon Buchungen im
13
Zeitraum nach dem 01.01.2007 auf das Konto 3803, wird das Upgradeskript
14
vorsichtshalber nicht ausgeführt, da der Benutzer sich vielleicht schon selbst
15
geholfen hat und mit seinen Änderungen zufrieden ist. Die korrekten
16
Einstellungen kann man aber auch per Hand ausführen, nachfolgend werden die
17
entsprechenden Schritte anhand von Screenshots dargestellt.
18

  
19
Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne USt.-IdNr." nach dem
20
01.01.2007 erfolgt sind, ist davon auszugehen, daß diese mit dem alten
21
Umsatzsteuersatz von 16% gebucht worden sind, und diese Buchungen sollten
22
entsprechend kontrolliert werden.
23

  
24
<h2>Lx-Office: 3804 hinzufügen</h2>
25
Konto 3804 anlegen:<br>
26

  
27
System -> Kontenübersicht -> Konto erfassen<br>
28

  
29
<img src="konto3804.png" alt="konto3804.png">
30

  
31

  
32
<h2>Steuergruppe 13 für Konto 3803 anpassen (16%):</h2>
33
System -> Steuern -> bearbeiten -> Eintrag mit Steuerschlüssel 13 auswählen<br>
34

  
35
<img src="steuer3803.png" alt="steuer3803.png">
36

  
37
<h2>Neuen Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) anlegen</h2>
38
System -> Steuern -> bearbeiten -> erfassen<br>
39

  
40
<img src="steuer3804.png" alt="steuer3804.png">
41
<h2>Alle Konten, die als Steuerautomatikkonto die 3803 haben, kriegen ab 1.1.2007 auch Steuerautomatik auf 3804</h2>
42

  
43
Steuerschlüssel für Konto 4315 anpassen (das gleiche für 4726) <br>
44

  
45
System -> Kontenübersicht -> Konten anzeigen -> 4315<br>
46

  
47
<img src="konto4315.png" alt="konto4315.png">
48

  
49
<h2>Steuerliste kontrolllieren</h2>
50
System -> Steuern -> bearbeiten
51

  
52
<img src="steuerliste.png" alt="steuerliste.png">
53

  
54
</body></html>
locale/de/all
1184 1184
  'Please insert your longdescription below' => 'Bitte den Langtext eingeben',
1185 1185
  'Please install the below listed modules or ask your system administrator to.' => 'Bitte installieren Sie die unten aufgef&uuml;hrten Module, oder bitten Sie Ihren Administrator darum.',
1186 1186
  'Please re-run the analysis for broken general ledger entries by clicking this button:' => 'Bitte wiederholen Sie die Analyse der Hauptbucheintr?ge, indem Sie auf diesen Button klicken:',
1187
  'Please read the file'        => 'Bitte lesen Sie die Datei',
1187 1188
  'Please select a customer from the list below.' => 'Bitte einen Endkunden aus der Liste ausw?hlen',
1188 1189
  'Please select a part from the list below.' => 'Bitte w&auml;hlen Sie einen Artikel aus der Liste aus.',
1189 1190
  'Please select a vendor from the list below.' => 'Bitte einen H?ndler aus der Liste ausw?hlen',
......
1532 1533
  'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'Der LDAP-Server "#1:#2" ist nicht erreichbar. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
1533 1534
  'The SEPA export has been created.' => 'Der SEPA-Export wurde erstellt',
1534 1535
  'The access rights have been saved.' => 'Die Zugriffsrechte wurden gespeichert.',
1536
  'The account 3804 already exists, the update will be skipped.' => 'Das Konto 3804 existiert schon, das Update wird übersprungen.',
1537
  'The account 3804 will not be added automatically.' => 'Das Konto 3804 wird nicht automatisch hinzugefügt.',
1535 1538
  'The assembly has been created.' => 'Das Erzeugnis wurde hergestellt.',
1536 1539
  'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => 'Der Korrekturassistent konnte kein Problem bei #1 feststellen. Eventuell wurde das Problem in der Zwischenzeit bereits behoben.',
1537 1540
  'The authentication configuration file &quot;config/authentication.pl&quot; does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => 'Die Konfigurationsdatei f&uuml;r die Authentifizierung &quot;config/authentication.pl&quot; wurde nicht gefunden. Diese Lx-Office-Installation wurde vermutlich noch nicht vollst&auml;ndig aktualisiert oder eingerichtet. Bitte wenden Sie sich an Ihren Administrator.',
......
1647 1650
  'There are #1 more open invoices for this customer with other currencies.' => 'Es gibt #1 weitere offene Rechnungen f?r diesen Kunden, die in anderen W?hrungen ausgestellt wurden.',
1648 1651
  'There are #1 more open invoices from this vendor with other currencies.' => 'Es gibt #1 weitere offene Rechnungen von diesem Lieferanten, die in anderen W?hrungen ausgestellt wurden.',
1649 1652
  'There are #1 unfinished follow-ups of which #2 are due.' => 'Es gibt #1 Wiedervorlage(n), von denen #2 f?llig ist/sind.',
1653
  'There are bookings to the account 3803 after 01.01.2007. If you didn\'t change this account manually to 19% the bookings are probably incorrect.' => 'Das Konto 3803 wurde nach dem 01.01.2007 bebucht. Falls Sie dieses Konto nicht manuell auf 19% gestellt haben sind die Buchungen wahrscheinlich mit falscher Umsatzsteuer gebucht worden.',
1650 1654
  'There are four tax zones.'   => 'Es gibt vier Steuerzonen.',
1651 1655
  'There are no items in stock.' => 'Dieser Artikel ist nicht eingelagert.',
1652 1656
  'There are no items on your TODO list at the moment.' => 'Ihre Aufgabenliste enth&auml;lt momentan keine Eintr&auml;ge.',
......
1755 1759
  'Update'                      => 'Erneuern',
1756 1760
  'Update Dataset'              => 'Datenbank aktualisieren',
1757 1761
  'Update Prices'               => 'Preise aktualisieren',
1762
  'Update SKR04: new tax account 3804 (19%)' => 'Update SKR04: neues Steuerkonto 3804 (19%) für innergemeinschaftlichen Erwerb',
1758 1763
  'Update complete'             => 'Update beendet.',
1759 1764
  'Update prices'               => 'Preise aktualisieren',
1760 1765
  'Update?'                     => 'Aktualisieren?',
sql/Pg-upgrade2/SKR04-3804-addition.pl
1
# @tag: SKR04-3804-addition
2
# @description: Konto 3804 zu SKR04 hinzufügen: Umsatzsteuer 19% für Steuerschlüssel 13 (Umsatzsteuer aus EG-Erwerb)
3
# @depends:
4
# @charset: UTF-8
5

  
6
use strict;
7

  
8
die("This script cannot be run from the command line.") unless ($main::form);
9

  
10
sub mydberror {
11
  my ($msg) = @_;
12
  die($dbup_locale->text("Database update error:") . "<br>$msg<br>" . $DBI::errstr);
13
}
14

  
15
sub do_query {
16
  my ($query, $may_fail) = @_;
17

  
18
  if (!$dbh->do($query)) {
19
    mydberror($query) unless ($may_fail);
20
    $dbh->rollback();
21
    $dbh->begin_work();
22
  }
23
}
24

  
25

  
26
sub do_update {
27

  
28
  # 1. Überprüfen ob Kontenrahmen SKR04 ist, wenn nicht alles überspringen
29
  my ($kontenrahmen) = $dbh->selectrow_array("select coa from defaults");
30

  
31
  unless ( $kontenrahmen eq 'Germany-DATEV-SKR04EU' ) {
32
    print "Kontenrahmen ist nicht SKR04, überspringen<br>";
33
    return 1;
34
  };
35

  
36
  # Mandant hat SKR04, erst prüfen wir, ob in der Vergangenheit Buchungen mit
37
  # taxkey 13 erfolgt sind (Fall "EU ohne USt. ID), diese sind wahrscheinlich
38
  # mit der falschen MwSt (16%) gebucht worden, wenn dies nicht manuell
39
  # geändert worden ist
40

  
41
  my ($anzahl_buchungen) = $dbh->selectrow_array("select count (*) from acc_trans where taxkey=13 and transdate >= '2007-01-01';");
42
  if ( $anzahl_buchungen > 0 ) {
43
    if ($main::form->{bookings_exist} ) {
44
      # Benutzer hat Meldung bestätigt
45
      print "Buchungen nach dem 01.01.2007 existierten, Upgrade überspringen";
46
      return 1;  
47
    } else {
48
      # Meldung anzeigen und auf Rückgabe warten
49
      print_past_booking_warning();
50
      return 2;
51
    };
52
  } else {  # es gibt keine Buchungen mit taxkey 13 nach 01.01.2007
53
  
54
    # prüfen ob Konto 3804 schon existiert
55
    my ($konto_existiert) = $dbh->selectrow_array("select count (*) from chart where accno = '3804'");
56
    if ( $konto_existiert ) {
57
      # 3804 existiert, wir gehen davon aus, daß der Benutzer das Konto schon selber angelegt hat und
58
      # ordnungsgemäß benutzt
59

  
60
      if ($main::form->{account_exists} ) {
61
      # Benutzer hat Meldung bestätigt
62
        print "Konto existiert, Upgrade überspringen\n";
63
        return 1;  
64
      } else {
65
        # Meldung anzeigen und auf Rückgabe warten
66
        print_3804_already_exists();
67
        return 2;
68
      };
69
    } else {
70

  
71
    # noch keine Buchungen mit taxkey 13 und Konto 3804 existiert noch nicht,
72
    # also legen wir es an und machen noch die nötigen Einstellungen in tax und
73
    # taxkeys
74

  
75
        my $insert_chart = <<SQL;
76
INSERT INTO chart (
77
  accno, description,
78
  charttype,   category,  link,
79
  taxkey_id, pos_eur
80
  )
81
SELECT
82
  '3804','Umsatzsteuer aus EG-Erwerb 19%',
83
  'A','I','AR_tax:IC_taxpart:IC_taxservice',
84
  0, (select pos_eur from chart where accno = '3803')
85
WHERE EXISTS ( -- update only for SKR04, aber eigentlich schon überprüft
86
    SELECT coa FROM defaults
87
    WHERE defaults.coa='Germany-DATEV-SKR04EU'
88
);
89
SQL
90

  
91
        do_query($insert_chart);
92

  
93
        my $konto_anlegen = $dbh->prepare($insert_chart) || mydberror($insert_chart);
94

  
95

  
96
        # 13-1 (16%) korrigieren:
97
        my $edit_taxkey_13 = qq|UPDATE tax SET taxdescription = 'Steuerpflichtige EG-Lieferung zum vollen Steuersatz', rate = '0.16', chart_id = (select id FROM chart where accno = '3803'), taxnumber = 3803 WHERE taxkey = '13'|;
98
        do_query($edit_taxkey_13);
99

  
100
        # Sicherstellen, daß 3803 die richtige Bezeichnung hat
101
        my $update_3803 = qq|update chart set description = 'Umsatzsteuer aus EG-Erwerb 16%' where accno = '3803'|;
102
        do_query($update_3803);
103

  
104
        # Zweiter  Eintrag für taxkey 13 in key: 19%
105
        my $insert_taxkey_13_2 = qq|INSERT INTO tax ( taxkey, taxdescription, rate, chart_id, taxnumber ) VALUES ('13', 'Steuerpflichtige EG-Lieferung zum vollen Steuersatz', '0.19', (select id from chart where accno = '3804'), '3804')|;
106

  
107
        do_query($insert_taxkey_13_2);
108

  
109
        # alle Konten finden, bei denen 3803 das Steuerautomatikkonto ist,
110
        # und dort den zweiten Eintrag ab 1.1.2007 für 19% einstellen
111
        my $sth_query  = $dbh->prepare(qq|select c.id from chart c join taxkeys t on (c.id = t.chart_id) where tax_id = (select id from tax where taxnumber = '3803')|);
112
        my $sth_insert = $dbh->prepare(qq|INSERT INTO taxkeys ( taxkey_id, chart_id, tax_id, pos_ustva, startdate )
113
                                                       VALUES (13, ?, (select id from tax where taxkey = 13 and rate = '0.19'),
114
            (select pos_ustva from taxkeys where tax_id = (select id from tax where taxnumber = '3803') and pos_ustva > 0 limit 1),
115
            '01.01.2007')|);
116
        $sth_query->execute();
117

  
118
        while (my $ref = $sth_query->fetchrow_hashref()) {
119
          $sth_insert->execute($ref->{id});
120
        }
121
        $sth_query->finish();
122
        $sth_insert->finish();
123

  
124
      }; # end code update
125
  }; # end check if 3804 exists
126

  
127
}; # end do_update
128

  
129
sub print_past_booking_warning {
130
  print $main::form->parse_html_template("dbupgrade/SKR04_3804_update");
131
};
132
sub print_3804_already_exists {
133
  print $main::form->parse_html_template("dbupgrade/SKR04_3804_already_exists");
134
};
135

  
136
return do_update();
templates/webpages/dbupgrade/SKR04_3804_already_exists_de.html
1
[% USE HTML %]<div class="listtop">Update SKR04: neues Steuerkonto 3804 (19%) für innergemeinschaftlichen Erwerb</div>
2

  
3
<form action="[% script %]" method="POST">
4

  
5
<p>Das Konto 3804 existiert schon, das Update wird übersprungen.</p>
6
<p>Bitte lesen Sie die Dateidoc/skr04-update-3804/skr04_3804_hinzufuegen.html.
7

  
8
<input type="hidden" name="account_exists" value="1">
9
<input type="submit" value="Weiter">
10

  
11

  
templates/webpages/dbupgrade/SKR04_3804_already_exists_master.html
1
[% USE HTML %]<div class="listtop"><translate>Update SKR04: new tax account 3804 (19%)</translate></div>
2

  
3
<form action="[% script %]" method="POST">
4

  
5
<p><translate>The account 3804 already exists, the update will be skipped.</translate></p>
6
<p><translate>Please read the file</translate>doc/skr04-update-3804/skr04_3804_hinzufuegen.html.
7

  
8
<input type="hidden" name="account_exists" value="1">
9
<input type="submit" value="<translate>Continue</translate>">
10

  
11

  
templates/webpages/dbupgrade/SKR04_3804_update_de.html
1
[% USE HTML %]<div class="listtop">Update SKR04: neues Steuerkonto 3804 (19%) für innergemeinschaftlichen Erwerb</div>
2

  
3
<form action="[% script %]" method="POST">
4

  
5
<p>Das Konto 3803 wurde nach dem 01.01.2007 bebucht. Falls Sie dieses Konto nicht manuell auf 19% gestellt haben sind die Buchungen wahrscheinlich mit falscher Umsatzsteuer gebucht worden.</p>
6
<p>Das Konto 3804 wird nicht automatisch hinzugefügt.</p>
7
<p>Bitte lesen Sie die Dateidoc/skr04-update-3804/skr04_3804_hinzufuegen.html</p>
8

  
9
<input type="hidden" name="bookings_exist" value="1">
10
<input type="submit" value="Weiter">
11

  
12

  
templates/webpages/dbupgrade/SKR04_3804_update_master.html
1
[% USE HTML %]<div class="listtop"><translate>Update SKR04: new tax account 3804 (19%)</translate></div>
2

  
3
<form action="[% script %]" method="POST">
4

  
5
<p><translate>There are bookings to the account 3803 after 01.01.2007. If you didn't change this account manually to 19% the bookings are probably incorrect.</translate></p>
6
<p><translate>The account 3804 will not be added automatically.</translate></p>
7
<p><translate>Please read the file</translate>doc/skr04-update-3804/skr04_3804_hinzufuegen.html</p>
8

  
9
<input type="hidden" name="bookings_exist" value="1">
10
<input type="submit" value="<translate>Continue</translate>">
11

  
12

  

Auch abrufbar als: Unified diff