Seitenzahlen in Template einfügen

Könnte man nicht Seitenzahlen generieren lassen sobald Belege mehrseitig werden? Wie kann ich dieses vielleicht selbst in ein Template einfügen. Weiß jemand einen passenden Code?

Ich hatte dazu bereits ein feature request gestellt. Allerdings ist das nicht ganz einfach, Im template selbst wird nicht definiert wann es zur nächsten Seite geht usw. sondern nur wie die Seite Auszusehen hat. Selbst vom Aussehen her ist im Template nicht alles vorzufinden ( wie z.b. die Fußzeile ).

Bei allen Invoicing Apps die ich kenne, streuben sich die Developer dieses Feature mit einzubauen. Vielleicht gibt es da keine durchweg guten Ergebnisse?

1 Like

Gut, dann bin ich wohl nicht der einzige der auf diesen Umstand betreffend den Seitenzahlen als auch der Fußzeile getroffen ist.

Würde man den Text-Bereich der einzelnen Positionen beschränken - wäre es theoretisch einfach machbar - aber birgt dann eben auch Nachteile…

Ja, bei meinem bisherigen Invoicing App hatte ich auch keine Seitenzahlen. Als Zahlender User war es mir dann irgendwann zu dumm, dass man die Supportanfrage innerhalb einem Jahr nicht umgesetzt hatte.

Gerade wenn es eine große Rechnung gibt, ist es doch sehr wichtig zu sehen, dass man auch noch alle Teile der Rechnung vorliegen hat… Aber da gibt es auch noch diverse andere Macken, wo man hier zu Lande andere Regeln und Pflichten hat, und das dann bei den (meist) EN/US Invoicing Apps nicht vorhanden ist.

Ein weiteres Beispiel, was man z.b. leicht selbst lösen kann, ist dass man eine eindeutige Kundennummer auf der Rechnung stehen haben muss…

Stimmt, eine Kundennummer fehlt ja auch. Habe ich bisher nicht gebraucht, aber wäre zu empfehlen.

Ich kann bei der Rechnungsstellung einen Rabatt angeben. Dieser taucht allerdings nicht in der PDF auf. Im Template habe ich dazu auch nichts gefunden. :frowning:

Da hatten wir auch bereits ein Topic offen für:

Die Seitennummer und die Spalte für Discount ist nicht schwer.

  

Kundennummer <?php echo $invoice->client_id; ?>

Wenn man das entsprechend Lokalisiert haben möchte, müsste man in der Language Datei natürlich entsprechende Variable anlegen und im Template abrufen… Wäre also nur eine Änderung für dich selbst. Könnte bei einem Update natürlich wieder weg sein. Daher am besten neben dem Default-Template einfach ein eigenes Erstellen und in den Einstellungen aktivieren.

Bei entsprechender zeile ( z.b. Zeile 36 ) in der entsprechenden PDF ( application/views/invoice_templates/pdf/default.php ) einfügen.

Beim Discount habe ich es bei mir noch nicht gemacht, das wäre dann aber wahrscheinlich $invoice->discount_total; … müsste ich mal nachschauen.

Hier ist der Code für den Discount. Dieser so wie unten an die entsprechenden Stelle. Unten für Quote… den für Invoice entsprechend abändern.

                    <?php if ($invoice->invoice_discount_amount    != 0) { ?>
                    
                        <?php echo lang('discount'); ?>
                        <?php echo format_currency($invoice->invoice_discount_amount); ?>
                    
                    <?php } ?>
                    <?php if ($invoice->invoice_discount_percent != 0) { ?>
                    
                        <?php echo lang('discount'); ?>
                        <?php echo $invoice->invoice_discount_percent; ?> %
                    
                    <?php } ?>

Sieht gut aus, allerdings berechnet er mir den Rabatt ja schon im Backend nicht. Eigenartig.

Wie sieht der Trick mit den Seitenzahlen aus? Hab ich das eben übersehen?

Bei den Seitenzahlen habe ich keine Lösung parat.

Beim Rabatt ist das der folgende: ( Prozentual funktioniert auch )

Das mit den Rabatt-Posten wird bei mir auch noch nicht ordentlich berechnet.
Alternativ kann man ein Posten auch mit einem negativen Wert ausstatten, der den Rabatt übernimmt also z.b.

Gruß

Ok, dann heißt es wohl abwarten und Tee trinken. Aber schon mal vielen Dank für deine Hilfe. Deine Lösung zum Rabatt ist natürlich auch super. Das könnte man ja so lassen.

Wird halt nur nicht unten im “rabatt” feld mitgerechnet, aber so gesehen könnte man den Rabatt der gesamtsumme weglassen und einfach mit einem Posten arbeiten.

Vorteil am Posten: Man kann Erklären, warum es überhaupt einen Rabatt gibt…

1 Like

Zum Thema Seitenzahlen: {PAGENO} unter Einstellungen->Rechnungen->PDF-Fußzeile mit aufnehmen. Sollte dann die aktuelle Seitennummer anzeigen. Siehe auch http://mpdf1.com/manual/index.php?tid=109

Super!

Dachte nicht, dass es schon mit drin ist…

ABER:

Zur Vervollständigung kann man auch {nb} nutzen um die Maximal-Seitenanzahl auszugeben…

Seite {PAGENO} / {nb}

Ich habe in der Fußzeile auch noch meine Bankverbindung und die Seitenzahl kombiniert eingefügt, das finde ich persönlich auch sehr praktisch.
Folgenden Code habe ich unter “System-Einstellungen/Rechnungen/PDF Fußzeile” eigetragen:

 <table class="footer_custom">
    <tr>
      <td align="left">Bankverbindung<br/>
        Kontoinhaber: Meine Firma, IBAN: 00000, BIC: 00000</td>
      <td align="right">Seite {PAGENO}  / {nb}</td> 
   </tr>
</table>

und im custom.css unter “.\invoice\assets\default\css\custom.css”

.footer_custom{
    font-size: 11px;
}

So sind die Daten schön in der Fußzeile aufgeteil und auf jeder Seite praktisch untergebracht.