Bird für Craft CMS

Craft Commerce 5 · Niederlande & Belgien

Die Hälfte der Anbindung, die niemand baut

Jede Moneybird-Anbindung am Markt legt einen Kontakt und eine Rechnung an und hört dann auf. Genau die Teile, die einen Buchhalter einen Nachmittag kosten, werden ausgelassen: die Steuerschuldnerschaft des Leistungsempfängers, die ein anderer 0%-Satz ist als eine Ausfuhr, One-Stop-Shop-Sätze je Bestimmungsland, Rückerstattungen, die die Umsatzsteuer zu dem Satz zurückgeben, mit dem sie draufkam, und Summen, die auf den Cent genau zum Bankfeed passen. Bird ist genau diese Teile.

Bird

Erst sehen, dann senden

Es gibt genau eine Stelle im Code, an der aus einer Commerce-Bestellung Moneybird-JSON wird, und die Vorschau-Schaltfläche führt sie aus. Was Ihnen vor dem Buchen angezeigt wird, ist Byte für Byte das, was gebucht wird — samt Steuersatz-IDs, und genau dort sitzen die Fehler.

twig
{% set document = craft.bird.documentForOrder(order) %}

{% if document and document.getIsBooked() %}
    <p>Invoice {{ document.getLabel() }} — {{ document.getStateLabel() }}</p>
{% endif %}

{% set vat = craft.bird.vatTreatment(order) %}
{% if vat.reverseCharge %}
    <p>VAT reverse-charged — {{ vat.vatNumber }}</p>
{% endif %}

Was es tatsächlich tut

Sechs Dinge, die eine Zapier-artige Brücke nicht tut.

0% sind drei verschiedene Sätze

Reverse Charge, Ausfuhr und echter Nullsatz landen in drei verschiedenen Feldern der Umsatzsteuererklärung. Bird bucht, welcher der drei es war, statt einen Betrag zu buchen und den Grund liegen zu lassen.

  • Ihr Reverse-Charge-Satz und Ihr Ausfuhrsatz sind getrennte Einstellungen
  • Ein nicht zugeordneter Satz weist die Bestellung ab und nennt den Prozentsatz

Commerce entscheidet, Bird bucht

Die Steuer-Engine von Commerce kennt Ihre Zonen, Ihre Sätze und Ihre USt-IdNr.-Prüfungen bereits. Das hier noch einmal herzuleiten gäbe Ihrem Shop zwei Antworten, die auseinanderdriften — und die auf der Karte des Kunden ist die von Commerce.

  • Eine USt-IdNr. auf einer Bestellung, die trotzdem 21% gezahlt hat, ist kein Reverse Charge
  • Bird bucht, was passiert ist, nicht was hätte passieren können

Nach dem Betrag zugeordnet, nicht nach dem Prozentsatz

Commerce rundet die Steuer je Position, also erfasst eine Position von 10,10 € bei 21% genau 2,12 € — zurückgerechnet 20,99%. Eine Suche nach dem Prozentsatz würde ganz gewöhnliche Bestellungen täglich abweisen. Bird sucht den zugeordneten Satz, dessen Rechnung auf den Cent genau aufgeht.

Summen, die zum Bankfeed passen

Die Rechnungssumme entspricht dem, was der Kunde gezahlt hat, denn das ist der Betrag, den die Bank zeigt. Ein Cent Rundungsdifferenz je Position kommt auf eine Position mit 0% — er ist kein Umsatz und soll nicht wie einer besteuert werden.

  • Oder schalten Sie den Abgleich ab, dann weist Bird diese Bestellungen stattdessen ab

Denselben Umsatz zweimal zu buchen ist nicht möglich

Die Belegtabelle ist eindeutig über Bestellung, Art und Quelle, und dieser Index ist die Garantie. Ein wiederholter Job, ein doppelt geklickter Button und ein Webhook, der die Warteschlange überholt, laufen alle darauf auf.

  • Ein Push, der auf halbem Weg stirbt, findet seine Rechnung über die Referenz wieder und übernimmt sie
  • Nichts, was Bird tut, kann einen Kunden am Bezahlen hindern

Bezahlt heißt wirklich bezahlt

Bird sendet Rechnungen; in Moneybird wird eine Überweisung dann einer davon zugeordnet. Der Webhook meldet Ihrer Website, wann das passiert — verifiziert per HMAC-SHA256 über den rohen Body und nach fünf Minuten abgelehnt.

  • Kein Secret, keine Signatur, kein veralteter Zeitstempel, keine Anfrage
  • Kann den Status der Commerce-Bestellung ändern, sobald die Rechnung bezahlt ist

Häufig gestellte Fragen

Die Fragen, die sich vor der Installation zu beantworten lohnen.

Kostenlos anfangen, aufrüsten sobald Sie eine Grenze überschreiten

Lite bucht Rechnungen mit korrekter inländischer Umsatzsteuer, Reverse Charge und Ausfuhr — kostenlos. Pro kostet 99 $ mit 49 $ Verlängerung pro Jahr und ergänzt One Stop Shop, Gutschriften, den Versand, den Webhook und das Verbindungsprotokoll.