Ausweisen der MWSt in der Verkaufsrechnung

17. Januar 2007 19:33

Hallo zusammen,

ich arbeite zwar schon einige Zeit mit Navision aber das ist mir noch nie aufgefallen, warum auch immer.

Wenn eine Verkaufsrechnung erstellt und gebucht wird, dann weist NAV die MWSt aus. In meinem Beispiel sind es nur Positionen mit 16 % MWSt.
Bei Total wird der MWSt-Betrag mit Text MWSt 16% angezeigt. (Img1.jpg)

Im zweiten Beispiel habe die gleiche Position und eine Position mit Negativ Menge. Mit F9 Statistik werden zwei Mwst-Zeilen angezeigt, beide mit 16% :!: (Img2.jpg)
Auf dem Beleg erscheinen zwei Zeilen der MWSt Spezifikation, obwohl beides 16%. Im Total Block wird bei Mwst nur noch MWst angezeigt, aber ohne 16%, obwohl beides 16% ist :?:

Erwarte ich hier etwas, was Navision nicht kann ? :roll: Ich habe das Beispiel in NAV 4.03 durchgespielt. Sauberer wäre es doch, wenn der Beleg in der MWSt-Zeile wieder 16% ausweist, da es doch nur ein Steuersatz ist :?:

Was meint Ihr dazu ?

Ursache ist die Funktion "VATAmountText() : Text[30]" in der Tabelle 290
Code:
IF FIND('-') THEN
  IF NEXT = 0 THEN
    IF "VAT %" <> 0 THEN
      EXIT(STRSUBSTNO(Text000,"VAT %"));
EXIT(Text001);


Warum hat Navision hier zwei MWSt-Betragszeilen, wenn es nur 16% Positionen sind ?


Wolfgang
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

17. Januar 2007 21:38

Der Grund liegt darin, dass eine negative Zeile darunter ist. Wäre die Menge durchgängig positiv, hätte der Report die MWSt-Posten zu einem Posten zusammen gefasst.

Siehe hierfür im Report DataItem "Sales Invoice Line", OnAfterGetRecord
Code:
VATAmountLine.INIT;
VATAmountLine."VAT Identifier" := "VAT Identifier";
VATAmountLine."VAT Calculation Type" := "VAT Calculation Type";
VATAmountLine."Tax Group Code" := "Tax Group Code";
VATAmountLine."VAT %" := "VAT %";
VATAmountLine."VAT Base" := Amount;
VATAmountLine."Amount Including VAT" := "Amount Including VAT";
VATAmountLine."Line Amount" := "Line Amount";
IF "Allow Invoice Disc." THEN
  VATAmountLine."Inv. Disc. Base Amount" := "Line Amount";
VATAmountLine."Invoice Discount Amount" := "Inv. Discount Amount";
VATAmountLine.InsertLine;


Wenn du dieses Prozedere ändern möchtest, musst du in der Tabelle 290 in die Funktion InsertLine anpassen.

Code:
InsertLine()


IF ("VAT Base" <> 0) OR ("Amount Including VAT" <> 0) THEN BEGIN
  Positive := "Line Amount" >= 0;
  VATAmountLine := Rec;
  IF FIND THEN BEGIN
    "Line Amount" := "Line Amount" + VATAmountLine."Line Amount";
    "Inv. Disc. Base Amount" := "Inv. Disc. Base Amount" + VATAmountLine."Inv. Disc. Base Amount";
    "Invoice Discount Amount" := "Invoice Discount Amount" + VATAmountLine."Invoice Discount Amount";
    Quantity := Quantity + VATAmountLine.Quantity;
    "VAT Base" := "VAT Base" + VATAmountLine."VAT Base";
    "Amount Including VAT" := "Amount Including VAT" + VATAmountLine."Amount Including VAT";
    "VAT Difference" := "VAT Difference" + VATAmountLine."VAT Difference";
    "VAT Amount" := "Amount Including VAT" - "VAT Base";
    "Calculated VAT Amount" := "Calculated VAT Amount" + VATAmountLine."Calculated VAT Amount";
    MODIFY;
  END ELSE BEGIN
    "VAT Amount" := "Amount Including VAT" - "VAT Base";
    INSERT;
  END;
END;


Primärschlüssel der Tabelle 290:
VAT Identifier,VAT Calculation Type,Tax Group Code,Use Tax,Positive

EDIT
ich sehe gerade, dass ich keine Filter auf dem Record finden kann ...
Jetzt muss MIR also jemand erklären, wann wir in den THEN- oder ELSE-Fall rutschen ...
Warum findet FIND im Dokument 2 keinen vorhandenen Datensatz?

18. Januar 2007 10:45

Hallo Natalie,

du hast es bereits gesagt: Es liegt an der negativen Zeilen.
Das Feld Positive ist im Primar-Key enthalten.
Ich glaube aber, dass das ganze Absicht ist, und möchte davon abraten dies zu ändern. Begründen kann ich es als Fibu-Laie aber nicht.

18. Januar 2007 11:31

Hallo Natalie,

danke für den Tipp, hab wieder etwas dazugelernt :-)
Ich bin noch am überlegen, was ich tue. Die MWSt-Sepzifikation möchte ich gerade dann, wenn es sich nur um einen Steuersatz handelt, nicht drucken.

Ich werde mit meinem Kunden sprechen, ob es nicht reicht, dafür zu sorgen, dass der Steuersatz als Rückgabewert geliefert wird, wenn alle Zeilen (egal ob positiv oder negativ) den gleichen Steuersatz haben. In meinem Beispiel eben zwei Zweilen (eine Positiv und eine Negativ, aber beide 16%) die beide 16% haben und somit auch 16% als Wert zurückgibt.

Die Funktion InsertLine möchte ich nicht ändern, da hat jm schon recht.

Hat jemand noch andere Ideen oder Vorschläge ?

Wolfgang

18. Januar 2007 11:40

Dann verwende zum Einfügen der MwSt-Zeilen halt eine selber geschriebene Funktion.
Ob du diese im Report oder in der Tabelle 290 einbaust, bleibt dir dabei überlassen.
Im Grunde genommen kannst du die InsertLine dafür kopieren und dahin gehend modizfieren, dass du bestimmte Filter auf die Tabelle 290 setzt - und dabei das Feld Positive außer Acht lässt. Evtl reicht es, die Zeile
Code:
Positive := "Line Amount" >= 0;

auszkommentieren, aber das habe ich nicht ausprobiert.

Re: Ausweisen der MWSt in der Verkaufsrechnung

20. August 2013 16:30

Was muss ich denn machen, damit die "MwSt.-Betrag Spezifikation" gar nicht ausgewiesen wird?

Viele Grüße

Re: Ausweisen der MWSt in der Verkaufsrechnung

20. August 2013 21:40

houser1 hat geschrieben:Was muss ich denn machen, damit die "MwSt.-Betrag Spezifikation" gar nicht ausgewiesen wird?

Viele Grüße

Die Sections löschen oder folgenden Code auf der Section einfügen:

Code:
CurrReport.Showoutput(FALSE);

Re: Ausweisen der MWSt in der Verkaufsrechnung

27. August 2013 15:02

Könntest du mir das nur ein wenig genauer beschreiben? :mrgreen:

z. B. erstelle ich eine Bestellung bzw. Auftrag und dort möchte ich NICHT die MwSt.-Betrag Spezifikation angezeigt bekommen.

Vielen Dank

Re: Ausweisen der MWSt in der Verkaufsrechnung

27. August 2013 16:26

houser1 hat geschrieben:z. B. erstelle ich eine Bestellung bzw. Auftrag und dort möchte ich NICHT die MwSt.-Betrag Spezifikation angezeigt bekommen.

Wenn das nicht für alle Belegausdrucke gelten soll, muss ein Feld in die Belegköpfe dazuprogrammiert werden, welches man dann im Report auswerten kann um das
Code:
CurrReport.Showoutput(FALSE);
nur da aktiv werden zu lassen, wo es gewünscht ist.

Re: Ausweisen der MWSt in der Verkaufsrechnung

28. August 2013 17:26

houser1 hat geschrieben:Könntest du mir das nur ein wenig genauer beschreiben? :mrgreen:

z. B. erstelle ich eine Bestellung bzw. Auftrag und dort möchte ich NICHT die MwSt.-Betrag Spezifikation angezeigt bekommen.

Vielen Dank

In dem jeweiligen Bericht suchst du die Stelle in den Sections, wo die MWST. ausgewiesen wird und fügst dann den Code in der Programmierung ein.
Wenn es nur manchmal ausgeblendet werden darf, muss wie Kowa schon beschrieben hat, ein Entscheidungskriterium gefunden werden. Das kann ein neues oder aber auch ein bestehendes Feld sein.