Firma + SteuerNr. / Ust-ID + Anrede ergänzt

  • Ich hab mir mal die Anpassungen vorgenommen die für gewerbliche Kunden notwendig sind, da diese bislang nicht im System vorgesehen waren. Dazu zählen die Felder "Firma" und "USt-ID bzw. Steuer-Nr." Dazu habe ich noch den Wert "Divers" hinzugefügt, der für eventuelle genderneutrale Installationen wichtig ist.

    Basis sind die Dateien meiner Installation, also b1gMail 7.4PL2. Der Wert "firma" und nicht "company" wurde gewählt, da der Wert "firma" bereits in der serverlib/vcard.class.php systemseitig verwendet wird. "taxid" habe ich in Anlehnung an den schon vorhandenen Begriff "tax" verwendet.

    ----------------------------------

    Datenbankanpassungen:


    Neue Spalten in DB einfügen: 


    Tabelle bm60_users: „firma“ und „taxid“ - varchar(50) 

    Tabelle bm60_orders: „inv_firma“ und „inv_taxid“ - varchar(50)


    Anrede Auswahlmenü anpassen: 

    Tabelle bm60_users: Spalte „anrede“ ergänzt: 'herr','frau',‘divers‘,'firma' 

    ----------------------------------

    Geänderte Dateien (anhängend):

    - prefs.php

    - serverlib/payment.class.php

    - serverlib/user.class.php

    Templates angepasst (anhängend):

    • plugins/templates/pacc.nli.order.tpl
    • plugins/templates/pacc.user.order.tpl
    • li/payment.form.tpl
    • li/prefs.contact.tpl


    Sprachdateien müssen selbst angepasst werden:

    - languages/deutsch.lang.php

    - languages/english.lang.php


    $lang_user['divers'] = 'Divers';

    $lang_user['firma'] = 'Firma';

    $lang_user['taxid'] = 'USt-ID';

    $lang_user['yourtaxid'] = 'Ihre USt-ID';

    $lang_user['divers'] = 'Divers';

    $lang_user['firma'] = 'Company';

    $lang_user['taxid'] = 'VAT';

    $lang_user['yourtaxid'] = 'Your VAT';



    Die Sprachvariable „yourtaxid“ wird nur im Rechnungstemplate verwendet. 


    Rechnungstemplate (muss selbst ergänzt werden):


    Adressfeld um Firma ergänzen: 

    {if $firma}{$firma}<br />{/if} 

    Steuer-Nr / Ust-ID. des Kunden ergänzen: 

    {if $taxid}<br /><strong>{lng p="yourtaxid"}:</strong> {$taxid}{/if} 


    Der Adminbereich (ACP):

    • admin/templates/users.edit.tpl
    • admin/users.php

    kann ggfls. selbst um die Felder und Werte ergänzt werden.

    --------------

    Die Datei serverlib/vcard.class.php muss ggfls. noch um die zusätzliche Anrede ergänzt werden, das habe ich bislang noch nicht geschafft.

    Sebijk / ManDal eventuell könnt ihr das ja direkt bei den neuen Releases mit berücksichtigen. Falls noch etwas fehlt oder falsch ist wäre es nett, wenn wir das gemeinsam ergänzen / ändern.


    Wichtig: Bitte vorher ausgiebig testen und dann erst in Produktionsumgebung einsetzen!

    Ich übernehmen keine Garantie und hafte nicht bei eventuell auftrendenden Schäden an euren Systemen ;)

  • Wichtiger Hinweis: viele Nutzer haben als optionales Profilfeld bereits Firma/Verein angelegt, dieses sollte dann genutzt werden oder in neue Spalte übernommen und aus Profilfeldern gelöscht werden !!!

    Tabelle firma und inv_firma Länge 255 statt 50, da sonst Firmennamen abgeschnitten werden beim speichern!

  • Wichtiger Hinweis: viele Nutzer haben als optionales Profilfeld bereits Firma/Verein angelegt, dieses sollte dann genutzt werden oder in neue Spalte übernommen und aus Profilfeldern gelöscht werden !!!

    Tabelle firma und inv_firma Länge 255 statt 50, da sonst Firmennamen abgeschnitten werden beim speichern!

    Profilfeld kam nicht in Frage, da nicht mehrsprachig. Und genau darum, weil jeder so seine eigene Lösung zwischenzeitlich gebastelt hat, sollte man die beiden Felder mal fest integrieren, zumal diese Angaben heutzutage überall Standard sind.

    Patrick hat früher oft schon Vorschläge oder Plugins irgendwann in das System integriert, wenn er einen Mehrwert gesehen hat.

    Mein Vorschlag ist ja nicht in Stein gemeißelt, soll nur einen Lösungsansatz darstellen. Den Längenwert auf 255 Zeichen anzupassen ist eine gute Idee ;)

    • Offizieller Beitrag

    Im der aktuellen DB-Struktur sind deine Änderungen nun enthalten, allerdings mit ein paar Änderungen:

    Ich habe company genommen, weil für neue Felder stets englische benutzt werden soll und b1gMail internationalisiert werden sollte. Nur bei anrede bin ich davon ausgewichen. Außerdem hab ich 255 bzw. 128 in orders genutzt, weil Firmennamen können auch mal länger als 50 Zeichen sein können.

    Ist in bm60_prefs in der Spalte rgtemplate gespeichert. Kannst du es exportieren? Ich bin am überlegen, ob ich das beim Update überhaupt überschreiben soll, meine Tendenz eher nicht, evtl. nur wenn das Template seit der Installation nie geändert wurde. im setup.php ist das Template in der Variable $defaultInvoice gespeichert.

    PS: Insbesondere in include-Verzeichnis wäre es besser, du schreibst die Änderungen im Post, anstatt komplette Dateien anzuhängen. Noch idealer wäre es, wenn du mit "diff -u" arbeitest, dann sieht man gleich die Änderungen.

    Die Datei serverlib/vcard.class.php muss ggfls. noch um die zusätzliche Anrede ergänzt werden, das habe ich bislang noch nicht geschafft.

    anrede kommt auch in bm60_adressen vor.

    Edit: Bezüglich divers: b1gMail bietet ja bereits die Anrede leer zu lassen. Daher die Frage ob das sinnvoll ist, noch eine weitere hinzuzufügen. Soweit ich verstanden habe, ist divers ein Sammelbegriff und wenn b1gMail eine explizite Geschlechtsangabe hätte, fänd ich das auf jedenfall unterstützenswert. Vielleicht wären andere Anrede wie "Hallo" oder "Lieber" die bessere Varianten.

    • Offizieller Beitrag

    Nein. bm60_ ist bei manchen Dateien (auch Plugins) fest kodiert. Ich schätze mal, dass Präfixe vorgesehen waren (an manchen stellen gibt es {pre}), aber das wurde wohl nie wirklich umgesetzt (oder gab es diese Möglichkeit bei b1gMail6/5?)

    Spaltenname nachträglich internationalisieren könnte man evtl. ab b1gMail 8 machen. Solange b1gMailServer nicht opensource ist, sehe ich aktuell keinen Mehrwert drin.

  • Das Feld "firma" in den Kontaktdaten des Users wurde über Jahre bislang schlichtweg vergessen. Deshalb habe ich mir selbst diese Lösung mit Firma + UST-ID gebaut, vor allem, weil kunden das Fehlen reklamiert haben.

    Sebijk kannst du bitte mal prüfen, ob die Visitenkarte (anzuhängen beim E-Mailversand) auch die richtigen Daten aus deinem Feld "company" statt "firma" enthält? Die vcard.class.php verwendet nämlich den Wert "firma" beim erstellen der Datei den Wert "firma". Mit meiner Version wird die Firma in die Visitenkarte übernommen:

    Code
    else if($key == 'firma')
                {
                    $lines[] = 'ORG:' . $value;
                }

    Mein Rechnungstemplate kann ich nicht anhängen, da ich über die Jahre zu viele Änderungen am Original vorgenommen habe. Das Original-Rechnungstemplate um die beiden Tags zu erweitern sollte nicht so schwer sein.

    Zum Thema Code: Da ich - wie bereits mehrfach erwähnt - kein Entwickler bin und lediglich die Anpassungen / Änderungen die ich beitragen kann mit euch teilen möchte, kann ich das nur in der mir möglichen Form.

    Danke für den Hinweis mit dem Hinweis auf die Tabelle bm60_adressen.

    Für alle, die die kompletten Daten bei der Registrierung abfragen muss auch noch die index.php im Abschnitt "signup" und das "signup.tpl" angepasst werden. Da ich diese Daten bei der Registrierung nicht abfrage, habe ich das bei mir nicht umgesetzt.

    • Offizieller Beitrag

    Sebijk kannst du bitte mal prüfen, ob die Visitenkarte (anzuhängen beim E-Mailversand) auch die richtigen Daten aus deinem Feld "company" statt "firma" enthält? Die vcard.class.php verwendet nämlich den Wert "firma" beim erstellen der Datei den Wert "firma". Mit meiner Version wird die Firma in die Visitenkarte übernommen:

    Code
    else if($key == 'firma')
                {
                    $lines[] = 'ORG:' . $value;
                }

    ja, geht problemlos. Man muss in der user.class.php bei der Funktion BuildvCard es auch so machen: 'firma' => $this->_row['company']. Sonst wird das Keyword firma nicht angesprochen. Deine Änderungen (bis auf die Anrede, siehe dazu separates Thema Anrede) habe ich soweit übernommen und ist im letzten Commit enthalten.

  • ja, geht problemlos. Man muss in der user.class.php bei der Funktion BuildvCard es auch so machen: 'firma' => $this->_row['company']. Sonst wird das Keyword firma nicht angesprochen. Deine Änderungen (bis auf die Anrede, siehe dazu separates Thema Anrede) habe ich soweit übernommen und ist im letzten Commit enthalten.

    OK, aber man muss halt zusätzlich die user.class.php anpassen. Zusätzliche Änderungen wollte ich vermeiden ;) Meine Installation werde ich dann irgendwann auch entpsrechend anpassen, sonst gibts später bei eventuellen Updates ja wieder Probleme.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!