Jump to content

SQL Export für die Umsatzsteuervoranmeldung


holger1907

Recommended Posts

Da hier noch niemand darauf geantwortet hat mach ich mal. So ganz trivial ist die Auswertung wohl nicht weil:

 

1) mehrere MwSt.-Sätze betroffen sind

2) Du keine Ausführung dazu machst, wie genau zu selektieren ist

==> Welcher Zeitraum

==> Alle Bestellungen oder nur bestimmte Stati

==> Nur Bestellungen mit Zahlungen oder auch unbezahlte

==> Wie mit Stornierungen, Rückzahlungen, Teilrückzahlungen umzugehen ist

==> Ob es Steuern auf Versand oder Verpackungen gibt

 

Über dem Daumen geschlagen schätze ich mal, dass so um die 7 oder 8 Tabellen relevant sein würden. orders, order_detail, tax, order_detail_tax, order_invoice_tax, tax_rules, tax_rules_group, ggf. tax_rules_group_shop.

 

Wenn Du eine genaue Anforderung schreibst, unterbreite ich gerne eine Angebot für ein Lösung. Zwei oder drei Stunden Aufwand könnten es aber wohl werden.

Edited by Scully (see edit history)
Link to comment
Share on other sites

Hallo und danke für die Infos,

 

aktuell benutze ich das unten eingefügte Skript.

Wäre schon vollkommen ok, würde nicht die MwSt, wenn ein Kunde 7 und 19% Artikel hat nicht saldiert werden.. 
 

select oi.`id_order_invoice` as Rechnungs_Nr, oi.`id_order`, round(oi.`total_products`,2) as Artikel_gesamt,  round(oi.`total_paid_tax_excl`,2) as Gesamt_netto,  round(oi.`total_shipping_tax_excl`,2) as Versand_netto, round(oi.`total_paid_tax_incl`,2) as Gesamt_brutto, 
round((oi.`total_paid_tax_incl` - oi.`total_paid_tax_excl`),2) as Gesamt_MwSt, 
round(((oi.`total_paid_tax_incl` - oi.`total_paid_tax_excl`)/oi.`total_paid_tax_excl`)*100, 0) as MwSt_Satz, 
oi.`date_add` as Re_Datum, c.`firstname` as Vorname, c.`lastname` as Name, a.`company` as Firma, a.`address1` as Strasse, a.`postcode` as PLZ, a.`city` as Stadt
from ps_order_invoice oi
left outer join ps_orders o on oi.`id_order` = o.`id_order`
left outer join ps_customer c on o.`id_customer` = c.`id_customer` 
left outer join ps_address a on o.`id_customer` = a.`id_customer` 
order by  oi.`id_order_invoice` 
Edited by holger1907 (see edit history)
Link to comment
Share on other sites

Keine der oben referenzierten Tabellen enthält die MwSt-Sätze. Die MwSt wird angezeigt, aber über einen "Trick" gerechnet. Das funktioniert so nur mit einem MwSt-Satz:

Hier ist die Rechnerei des MwSt-Satzes:

round(((oi.`total_paid_tax_incl` - oi.`total_paid_tax_excl`)/oi.`total_paid_tax_excl`)*100, 0) as MwSt_Satz,

Der Ersteller dieser Auswertung hat das clever gemacht. Würde man unterschiedliche Tax-Rates jedoch auch ausweisen wollen, dann müsste man schnurstracks noch ein paar Tabellen mehr Joinen. Und weil das nicht tirival ist, hat man sich hier auf elegante Weise beholfen. Mit bekannter Einschränkung.

Link to comment
Share on other sites

"Elegant"? Da bin ich aber ganz anderer Ansicht. Aber egal!

 

Dein Vorschlag funktioniert zwar, führt aber nur dann zum gewünschten Ergebnis, wenn man nur einen Steuersatz hat, weil dir hier nur die Gesamtsummen zur Verfügung  stehen, worauf du ja selbst hinweist. Man braucht aber nur eine Tabelle auszutauschen.

Denn nur in der Tabelle ps_order_detail werden die erforderlichen Informationen bereitgestellt, zeilenweise pro Artikel. Übrigens enthält diese Tabelle schon seit Prestashop 1.5 alle erforderlichen Felder für einen solchen Export (id_tax_rule_group, tax_rate, tax_name) - nur genutzt wurden sie leider nie.

Diese Tabelle fehlt aber leider gänzlich in der obigen SQL-Abfrage. Deshalb kann die Abfrage bei unterschiedlichen Steuersätze auch kein sinnvolles Ergebnis bringen. 

Wenn überhaupt, dann ginge es unter Einbeziehung von ps_order_detail (die order_invoice wird nicht benötigt) nur mit einem SQL SUM, allerdings nicht über das Back Office (hier sind nur Select-Befehle erlaubt), sondern allenfalls mit PhpMyAdmin.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...