Jump to content

Rechnung für Druck auf Briefpapier anpassen


Recommended Posts

Hallo liebe Community,

 

ich möchte künftig meine Rechnungen aus PrestaShop auf Briefpapier drucken und wollte hier einfach mal nachfragen ob es eine Möglichkeit gibt dies über PrestaShop 1.7 zu realisieren.

 

Grüße vom Plotmeister.de Team

 

Melanie

Link to comment
Share on other sites

Bis Version 1.6. hiess die Datei im pdf Ordner header.tpl.

Diese darf man nicht löschen, kann aber die Inhalte daraus entfernen und sie als leere Datei speichern.

 

Dann hat man Logo und Kopfzeile mit Shop-Namen erst mal weg in den PDF-Dokumenten.

Detailanpassungen wären aber noch vonnöten.

 

NACHTEIL:

I.d.R. bekommen die Kunden die PDF als Dokument zugestellt. Ist das dann ohne Logo und Name, wirkt es natürlich bescheiden.

Man müsste sich somit überlegen, NULL Dokumente per Mail an die Kunden zu versenden.

Link to comment
Share on other sites

Der beste Weg wäre wohl, eine weitere Rechnung für den Druck zu erzeugen, ich habe mal ein wenig gegoogelt und zwei kurze Anleitungen gefunden, die vielleicht helfen (einfach ist es aber bestimmt nicht):

 

https://stackoverflow.com/questions/32950725/how-i-can-generate-a-pdf-in-prestashop

 

https://webkul.com/blog/create-custom-pdf-prestashop/

 

Es gibt auch ein (nicht ganz billiges) Modul: https://addons.prestashop.com/de/daten-export/2011-m4-pdf-extensions.html

Link to comment
Share on other sites

Das entfernen des Logos ist nun nicht die Herausforderung. Das hat man in 3 Minuten erledigt.

Sondern wie man mit Rechnungen per Mail oder via Drucker umgeht.

 

Zwei Templates sind hier allerdings möglich und umsetzbar.

Aber ob es das lohnt, nur um das Briefpapier aufzubrauchen?

Link to comment
Share on other sites

Mit Druck- oder gar Prägeverfahren auf Briefpapier ist schon einiges möglich, das der übliche Drucker im Büro nicht kann (meistens können die noch nicht einmal randlos drucken), um Resteverwertung geht es hier offensichtlich nicht.

 

Es gibt auch andere Gründe dafür, sich mehrere PDFs zu wünschen, z. B. für ein Versandetikett oder ein vorbereitetes Überweisungsformular.

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

Das entfernen des Logos ist nun nicht die Herausforderung. Das hat man in 3 Minuten erledigt.

Sondern wie man mit Rechnungen per Mail oder via Drucker umgeht.

 

Zwei Templates sind hier allerdings möglich und umsetzbar.

Aber ob es das lohnt, nur um das Briefpapier aufzubrauchen?

 

Na, ich hoffe, dass ihr so etwas nicht euren Kunden im Brrustton der Überzeugung erzählt - die glauben das womöglich sonst noch! :rolleyes:

Nein, im Ernst, man kann beliebig viele Rechnungsformulare anlegen, sofern man sie in einem Unterverzeichnis pdf des Templates abspeichert. Sie müssen auch nicht zwangsläufig aus etlichen Einzeldateien bestehen, aus denen dann zur Laufzeit eine PDF-Rechnung generiert wird.

Außerdem gibt es Shops, die Rechnungen auf eigenem Briefpapier versenden. Manche Kundengruppen erwarten das.

Wechseln kann man das Formular dann jeweils unter

Bestellungen --> Rechnungen --> [Sektion] Rechnungsoptionen --> Dropdownfeld Rechnungsart

Hauptproblem bei PrestaShop ist, dass die phantasievoll gestaltete Rechnung leider alle u.a. in Deutschland üblichen Standards der Rechnungsgestaltung ignoriert.

 

Wie man die Rechnung umgestalten kann, habe ich vor längerer Zeit in einem Tutorial erklärt, das in den Benutzerleitfäden dieses Forums zu finden ist. Die Vorlage für 1.6, die man hier downloaden kann, lässt sich auch mit geringen Anpassungen für 1.7 verwenden, wenn man überhaupt das Wagnis eingehen möchte, mit dieser unausgereiften Neuprogrammierung von PrestaShop in den Live-Betrieb zu starten.

 

In meinen Formularen sind die CSS-Styles direkt integriert, aber PrestaShop macht das nach wie vor auch nicht anders. Sie wurden nur "ausgelagert" in eine Datei namens invoice.style-tab.tpl.

 

Da PrestaShop es leider  immer noch nicht geschafft hat, eine Konfiguration für die Seitenränder einzubauen, bleibt nur der Weg über ein Override der Funktion writePage der Klasse PDFGenerator.php, das ich im genannten Tutorial auch erkärt habe. Hier kann man die Einstellungen verändern.

 

Für normales Briefpapier mit Seitenrand 25 mm Adressfeld 55 mm reicht folgendes Override:

 

<?php

 

class PDFGenerator extends PDFGeneratorCore

{    

        public function writePage()

    {

        $this->SetHeaderMargin(5);

        $this->SetFooterMargin(18);

        $this->setMargins(24, 45, 24);

        $this->SetAutoPageBreak(true, 32);

 

        $this->AddPage();

 

        $this->writeHTML($this->content, true, false, true, false, '');

    }

}

Mit den Seitenrändern (this->setMargins <links>, <oben>, <rechts>) ruhig ein bisschen experimentieren, bis es passt!

 

Voraussetzung ist hier, dass wie von Scully oben vorgeschlagen, die Header.tpl leer angelegt ist - und zwar ebenfalls im PDF-Verzeichnis des Templates!

Man kann zwar das Anlegen des Headers/Footers über ein Override der Funktion render in der Klasse PDF.php verhindern, aber das würde dann nur ein weiteres Override erfordern.

 

Wem das alles zuviel ist, der kann auch einen dieser vietnamesischen Invoice-Template-Generatoren als Modul kaufen, womit man selbst beliebig viele Rechnungsformulare erzeugen kann, z.B: 

https://addons.prestashop.com/en/accounting-invoicing/21817-advanced-custom-invoicedelivery-pdfcustom-number-2in1.html

https://addons.prestashop.com/en/accounting-invoicing/20356-advance-invoice-delivery-pdf-buildercustom-number-pro.html

Das WYSIWYG ist hier allerdings nicht immer voll ausgereift. Diese Module überschreiben außerdem meist direkt die Originaldateien im Hauptverzeichnis, was ich nicht ganz so prickelnd finde.Und der Service ist lausig, wenn tatsächlich mal was schief geht.

Link to comment
Share on other sites

Also um Resteverwertung geht es auch definitiv nicht. Ich finde es einfach professioneller mit Briefpapier, mag vielleicht altmodisch sein aber jedem das seine :)

 

Ich werde die genannten Vorschläge heute Abend mal genauer betrachten und bedanke mich an dieser Stelle schonmal für die vielen Antworten.

Link to comment
Share on other sites

"Na, ich hoffe, dass ihr so etwas nicht euren Kunden im Brrustton der Überzeugung erzählt - die glauben das womöglich sonst noch!"

 

@eleazar - was ist an meiner Aussage falsch?

Mehrere Templates sind machbar und das Logo wegmachen ist keine Hexerei. Der Wechsel von Templates, ggf. das fixe Vorwählen des Templates je nach Funktion (Mail oder interner Druck) gibt hier wohl eher mehr Aufwand. Aber auch das ist machbar.

 

Und dass man die Rechnungs- und Lieferscheine-Templates an die Gepflogenheiten des jeweiligen Landes anpasst, davon gehe ich aus. Davon war hier aber im Kern nicht die Rede.

 

Bleibt am Ende die Frage, ob die mittels PDF und Logo erzeugten Dokumente denjenigen der auf Briefpapier vorgedruckten Dokumente im Aussehen so nahe kommen, dass das vom Aussehen her passt. Und es bleibt ein Wartungsaufwand, mehrere Templates zu unterhalten.

 

Und noch ein Hinweis am Rande:

AutoPageBreak setzen wir nicht mehr ein. Wir zählen stattdessen die Anzahl ausgegebener Produktezeilen. Bei etwa 12 Produktezeilen forcieren wir den PagePreak innerhalb der TPL Datei. Das hat den Vorteil, dass der Umbruch nicht im ungünstigsten Moment kommt und zusammengehörende Elemente immer auf einer Seite zu liegen kommen.

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

@scully

Ich habe den Eindruck, wir reden völlig aneinander vorbei. Lies doch einfach, was ich geschrieben habe. :)

Die "Gepflogenheiten" in Deutschland beim geschäftlichen Briefverkehr findest du in der Norm DIN 5008. Ich denke mal, auch bei euch in der Schweiz ist der Geschäftsbrief keine Angelegenheit der vollkommenden Beliebigkeit.

 

Zeilenzählen bei den Artikeln ist ja ganz nett, solange sie jeweils eine Zeile beanspruchen. Aber was machst ihr bei Zeilenumbrüchen, die gelegentlich durch die Länge des Artikelnamens verursacht werden?

Und wie habt ihr den Übertrag der Überschriftszeilen über der Artikelliste bzw. der Steuerdetails auf die Folgeseite gelöst? Oder wie werden die Zeilen der tax totals behandelt?

 

Das sind Fragen, die sicherlich die User hier interessieren, weil solche unerwünschten Umbrüche an der Tagesordnung sind.

 

Du kannst ja eure Lösungen mal hier posten - das wäre dann wirklich hilfreich.

Link to comment
Share on other sites

Die Norm 5008 ist bei uns fast unbekannt. Relevant ist für uns, was die Steuerverwaltung als Minimalerfordernis definiert, sofern man MwSt.-pflichtig ist als Unternehmen.

 

- Spaltenüberschriften werden auf jeder Seite neu generiert.

- Zeilen zählen wir so, dass es auch für doppelzeilige Produktebezeichnungen Reserven hat.

- In der Theorie könnte es ausnahmsweise eng werden, wenn alle Produktebezeichnungen durchgehend sehr lang sind. In der Praxis ist es noch nie vorgekommen.

 

Am Ende haben unsere Rechnungen in der Regel im unteren Bereich ca. 1/4 oder ca. 1/5 Seite Leerraum, wenn es Folgeseiten gibt. Das führt manchmal zu einer Folgeseite, welche nicht zwingend notwendig wäre. Aber es sieht deutlich besser aus, als wenn direkt unter der letzten Produkteteile die Fusszeile beginnt.

 

Man könnte natürlich auch die Länge der Produktetexte und die Grösse des Fonts auf den Umbruch hin kalkulieren. Aber irgendwann ist gut dann auch gut genug.

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

Ich sehe das Thema jetzt weniger in der Gestaltung des Templates, sondern in der praktischen Handhabung. Jedes Mal umständlich das Template zu wechseln halte ich für doch ziemlich umständlich, erheblich besser wäre es, wenn neben der Rechnung und dem Lieferschein eben noch eine zusätzliche, auf einem anderen Template basierende "Briefpapier-Rechnung" erzeugt würde (und / oder weitere PDFs wie ein vorbereiteter Überweisungsbeleg, Versandetikett, Packliste ...).

Link to comment
Share on other sites

@Scully

Schade, dass du  nichts beitragen möchtest und dein Wissen lieber für dich behältst.

DIN 5008 gibt seit 1949 in unserem so normierungssüchtigen Deutschland den Aufbau eines Geschäftsbriefes vor. Aber eine Musterrechnung für die Schweiz sieht auch nicht viel anders aus: http://www.online-abrechnen.ch/dms/downloads/musterrechnungen/Musterrechnung_Logo_QF/Musterrechnung%2C%20Logo%20Querformat.pdf

Hier mal etwas Lektüre: https://www.arbeiten-im-sekretariat.de/blog/2015/04/23/din-5008-rechnung/

 

@rictools

Da gebe ich dir völlig recht, aber ich fürchte, das wird auch zukünftig für das PrestaShop-Team kein Thema sein.

Link to comment
Share on other sites

@eleazar

 

Nichts beitragen ist Humbug. Must halt mal meine Kommentar-Historie anschauen, wenn DU es genau wissen willst. Aber irgendwie habe ich gerade den Eindruck, dass dich etwas sehr stört?

 

Wir haben für Rechnungen und Lieferscheine Wochen an Aufwand investiert, um diese ansprechend hinzubekommen. Und wir sind Dienstleister in diesem Bereich. Von daher finde ich nicht, dass wir den kompletten Code hier einstellen sollten. Im übrigen sind dann unsere Resultate wohl auch nicht nach DIN 5008. Es ist auf jeden Fall ein komplettes Umschreiben der zugrundeliegenden .tpl Files notwendig.

 

Generell ist mein Ansatz im Forum, Lösungsansätze zu beschreiben, auch mal einen Code-Auszug zu posten. Fast nie jedoch, den ganzen Code hier einzustellen, welchen wir in langen Stunden entwickelt haben.

 

@all

 

Die Funktionalität, per Mail andere Rechnungen zu generieren als sonst in der Admin-Oberfläche lässt sich auch automatisiert lösen. Dazu müssten man vermutlich die HTMLTemplateInvoice.php um einen neuen Parameter ergänzen, welcher besagt, welche Art PDF man erzeugen möchte bzw. aus welcher überliegenden Funktion der Aufruf zum generieren des PDFS kommt. Je nach Ergebnis wird dann das eine oder andere Template angezogen.

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

Die Funktionalität, per Mail andere Rechnungen zu generieren als sonst in der Admin-Oberfläche lässt sich auch automatisiert lösen. Dazu müssten man vermutlich die HTMLTemplateInvoice.php um einen neuen Parameter ergänzen, welcher besagt, welche Art PDF man erzeugen möchte bzw. aus welcher überliegenden Funktion der Aufruf zum generieren des PDFS kommt. Je nach Ergebnis wird dann das eine oder andere Template angezogen.

Ich habe ja dazu weiter oben 2 Links gesetzt, die Beschreibungen richten sich aber eher nicht an relative Laien. Und ein Modul gibt's ja auch, nur halt ganz schön teuer.

Link to comment
Share on other sites

  • 3 years later...

Das weiß ich als 1.6-Nutzer nicht genau, so viele Ordner namens "pdf" wird's ja wohl nicht geben ...

Eine Änderung einer evtl. vorhandenen CSS-Datei ist hier eher unübersichtlich, passe einfach die tpl-Datei(en) an. Grundkenntnisse in HTML / CSS sind natürlich Voraussetzung.

Link to comment
Share on other sites

On 1/24/2021 at 1:11 AM, rictools said:

Das weiß ich als 1.6-Nutzer nicht genau, so viele Ordner namens "pdf" wird's ja wohl nicht geben ...

Eine Änderung einer evtl. vorhandenen CSS-Datei ist hier eher unübersichtlich, passe einfach die tpl-Datei(en) an. Grundkenntnisse in HTML / CSS sind natürlich Voraussetzung.

Nein, da ist absolut nichts unübersichtlich. Für das Rechnungsformular in 1.7 gilt genau das Gleiche wie in 1.6: das CSS ist in der Datei invoice.style-tab.tpl gesammelt, die als eine Art Pseudu-CSS-Datei fungiert. Alles noch genau so wie oben von eleazar beschrieben.

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...