Erstellen Sie eine EG-Verkaufsliste für die Umsatzsteuererklärung für das Vereinigte Königreich

magento.stackexchange https://magento.stackexchange.com//questions/85062

  •  13-12-2019
  •  | 
  •  

Frage

Wir sind erst kürzlich auf Magento umgestiegen und es funktioniert sehr gut.Da wir jedoch das Ende des Mehrwertsteuerzeitraums erreichen, fällt es mir schwer herauszufinden, wie ich die erforderlichen Berichte erstellen kann.Konkret die EG-Verkaufsliste.

Wir benötigen einen Bericht, der die Umsatzsteuer-IDs der EU-B2B-Kunden und ihre Gesamtausgaben während des Zeitraums auflistet.Ich kann in Magento keine Möglichkeit erkennen, dies zu tun, und eine Google-Suche ergibt absolut nichts zu diesem Thema.

Es müssen viele in Großbritannien ansässige Magento-Systeme laufen, die diese Informationen routinemäßig generieren müssen, daher muss dies möglich sein.Irgendeine Idee, wie ich das mache?

War es hilfreich?

Lösung 2

Am Ende habe ich meine eigene Erweiterung geschrieben.Da ich zuvor noch keine (nicht triviale) Magento-Entwicklung durchgeführt hatte, dachte ich, dass dies ein ebenso guter Ausgangspunkt sei wie jeder andere.

(TL,DR:Ist Zustand Github)

Wie immer gilt: Wenn man sich etwas genauer mit den Anforderungen befasst, steckt etwas mehr dahinter, als man auf den ersten Blick sieht.Die Mehrwertsteuer wird anhand der Lieferadresse berechnet (oder nicht berechnet), daher muss ich dort und nicht im Kundenmodell nach einer gültigen Umsatzsteuer-Identifikationsnummer suchen.Das habe ich also getan.

Zuerst erhalte ich alle Rechnungen mithilfe eines Joins in der Lieferadressentabelle, in dem ich das Rechnungserstellungsdatum überprüfe und prüfe, ob die Rechnungen erstellt wurden vat_is_valid Flag gesetzt ist und dass die vat_id ist nicht null.

$from = $this->getFrom()->format('Y-m-d');
$to = $this->getTo()->add(new \DateInterval('P1D'))->format('Y-m-d');

/** @var Mage_Sales_Model_Resource_Order_Invoice_Collection $invoices */
$invoices = \Mage::getModel("sales/order_invoice")
    ->getCollection()
    ->join(array(
        'shipping_address'=> 'order_address'),
        'shipping_address.entity_id = main_table.shipping_address_id',
        array('shipping_address.vat_id', 'shipping_address.vat_is_valid'))
    ->addAttributeToFilter('created_at', array('gteq' => $from))
    ->addAttributeToFilter('created_at', array('lt' => $to))
    ->addAttributeToFilter('shipping_address.vat_id', array('notnull' => true))
    ->addAttributeToFilter('shipping_address.vat_is_valid', 1)
    ;

Diese Abfrage verwendet nun das Rechnungsdatum.Laut HMRC müssen die EC-Verkäufe offenbar auf der Grundlage des Bestelldatums und nicht des Zahlungsdatums berücksichtigt werden (auch wenn Sie die Kassenbuchhaltung verwenden).Fast alle unsere Verkäufe nutzen Paypal Express, sodass das Bestelldatum und das Rechnungsdatum identisch sind. Das ist also kein unmittelbares Problem, sondern etwas, das ich bei Gelegenheit beheben sollte.

Als nächstes muss ich Gutschriften berücksichtigen, die im gleichen Zeitraum ausgestellt wurden.Beachten Sie, dass eine Gutschrift möglicherweise in einem anderen Steuerzeitraum ausgestellt wird als die Rechnung, die gutgeschrieben wird.

$from = $this->getFrom()->format('Y-m-d');
$to = $this->getTo()->add(new \DateInterval('P1D'))->format('Y-m-d');

/** @var Mage_Sales_Model_Resource_Order_Creditmemo_Collection $creditMemos */
$creditMemos = \Mage::getModel("sales/order_creditmemo")
    ->getCollection()
    ->join(array(
        'shipping_address'=> 'order_address'),
        'shipping_address.entity_id = main_table.shipping_address_id',
        array('shipping_address.vat_id', 'shipping_address.vat_is_valid'))
    ->addAttributeToFilter('created_at', array('gteq' => $from))
    ->addAttributeToFilter('created_at', array('lt' => $to))
    ->addAttributeToFilter('shipping_address.vat_id', array('notnull' => true))
    ->addAttributeToFilter('shipping_address.vat_is_valid', 1)
;

Abschließend addiere ich alle Rechnungsbeträge pro USt-IdNr., ziehe alle Gutschriften für diese USt-ID ab und gebe dann das Ergebnis aus.

Ich bin mir ziemlich sicher, dass alles so funktioniert, wie es sollte.Ich schätze, ich werde es noch früh genug herausfinden, da unsere Umsatzsteuererklärung diesen Monat abgegeben werden muss :-)

Derzeit wird diese Liste über die Befehlszeile generiert.Als Nächstes schaue ich mir an, wie man einen richtigen Magento-Bericht erstellt, damit er einfach über das Magento-Backend generiert werden kann.

Der vollständige Code ist verfügbar unter Github.

Andere Tipps

Ich lege den Code unten in ein Modul, das als Startblock hilft, die benötigten Daten zu erhalten.

Das Modul fügt einen neuen Menüpunkt Sales-> Kundendienst mit der MwSt-ID hinzu.Die Datumsbereiche sind in App / Code / Code / Community / PAJ / Kundendienst / Helfer / Data.php

konfiguriert.

Laden Sie das Modul hier herunter

https://github.com/gaiterjones/magento-customerales/

.

Dies sind die im Modul verwendeten Funktionen

Dies wird Ihre Kundensammlung erhalten

generasacodicetagpre.

Und dies erhalten den Gesamtumsatz nach Datum

generasacodicetagpre.

Sie exportieren dann die daten so mit dem gewünschten Datumsbereich

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top