Aktuelles Allgemein Automatisierung InDesign Javascript Workflow

Script-Beta: Angebote & Rechnungen in InDesign

Workflow: InDesign und Javascript

Über die Idee, per Script Rechnungen in InDesign zu schreiben, hatte ich vor Kurzem schon berichtet: Mittlerweile existiert auch eine erste Beta-Version (für den Mac) des dazugehörigen Scripts (Download ganz unten), das bis jetzt die im folgenden gezeigten Funktionen enthält. Über fleißige Betatester und Bugreports in den Kommentaren freue ich mich!

Tab 1 „Rechnungsposten“:

Script zur Rechnung- und Angebotserstellung in InDesign – Auswahl von Leistungen

  • Aus einer Liste können Leistungen ausgewählt, Stückpreis oder Stundensatz und entsprechender Steuersatz (Dein Default-Stundensatz kann in der Textdatei stundensatz.txt hinterlegt werden) der jeweiligen Leistung angegeben werden. Über die Schaltfläche + / – können weitere Leistungen hinzugefügt werden.

Die Liste der Leistungen kann über die externe Textdatei „leistungen.txt“ an Deine eigenen Bedürfnisse angepasst und erweitert werden (Die Textdatei MUSS sich im gleichen Ordner wie das Script befinden). Trennzeichen zwischen den einzelnen Leistungen in der Textdatei ist das Sternchen (*).

indesign_rechnungen_leistungen2

Tab 2 „Konfiguration“:
indesign_rechnungen_konfiguration

Im zweiten Tab „Konfiguration“ können folgende Grundeinstellungen vorgenommen werden:

  • Neues InDesign Dokument anlegen (empfohlen). InDesign legt ein neues Rechnungsdokument an
  • Runde Preise enden lassen auf „,–“ (z.B. EUR 1000,00 -> EUR 1000,–)
  • Tausender-Trennpunkt einfügen (z.B. EUR 1000 -> EUR 1.000)
  • Aktuelles Datum und darauf basierende Rechnungs- bzw. Angebotsnummer einfügen (Rechnungsnummer:XX(Nummer der Rechnung)–Jahr–Monat–Tag, beispielsweise am 17.August 2016 —-> Rechnungsnummer: XX-16–08-17)
  • Stile anlegen: Legt einige Zeichen-, Absatz- und Tabellenformate an (basierend auf im Dialog gewählten Basisfont). Existiert zum gewählten Basisfont kein korrespondierender bold-Schnitt muss das bold-Zeichenformat später händisch angepasst werden.
  • Rechnung mit Empfängeradresse versehen. Die Empfängeradressen können in der externen Textdatei kunden.txt an die eigenen Bedürfnisse angepasst werden. (Die Textdatei MUSS sich im gleichen Ordner wie das Script befinden). Trennzeichen zwischen den einzelnen Kunden in der Textdatei ist die Raute (#).

indesign_rechnungen_kundenstamm

Bestätige ich nun meine gemachten Eingaben und Konfigurationen mit einem Click auf ok, rechnet das Script (… was Ihr verdient habt, was das Finanzamt bekommt und was Euer Kunde am Ende zahlen muss) ein kleines Momentchen  und spuckt anschließend eine Rechnungstabelle als InDesign-Dokument aus. Wie schon oben erwähnt: gerne testen und kommentieren 🙂indesign_rechnungen_generierterechnung
Freilich könnt Ihr Eure Rechnung auch „schöner“ machen: Dafür einfach die Einstellung „Neues InDesign-Dokument“ anlegen deaktivieren und stattdessen Euren Briefbogen benutzen.

Und hier geht’s zum Download des Scripts zum Erstellen von Angeboten und Rechnungen in Adobe InDesign (Im zip: Das Script als quelloffenes .jsx, die externen Textdateien kunden.txt, leistungen.txt, Stundensatz.txt sowie ein Readme-File). (Nichtkommerzieller Download zu Schulungszwecken. Keine Gewähr, Benutzung auf eigenes Risiko Bisher nur auf dem Mac getestet – ich vermute, dass die Pfadangaben auf dem PC noch nicht funktionieren). 

Hinweise zur Installation/Konfiguration:

  • zip-File entpacken und die Dateien in den Unterordner „Scripts/Scripts Panel“ innerhalb Eures InDesign-Ordners verschieben
  • Im Dialogfenster (nach Scriptaufruf) können im Tab „Rechnungsposten“ weitere Leistungen durch Klicken auf + hinzugefügt werden (Klick auf – entfernt die jeweilige Leistung wieder)
  • Die Datei kunden.txt enthält alle Leistungen, die man im Dropdown des Scripts auswählen kann. Auch Leistungen können über mehrere Zeilen laufen. Nach jeder Leistung muss ein * als Trenner stehen.
  • Im Tab „Konfiguration“ des Dialogfensters könnt Ihr einstellen,
    • ob die Rechnungstabelle im aktuellen o. einem neuen Dokument erstellt werden soll
    • ob runde Preise auf „,–“ enden sollen (statt auf „,00“)
    • ob ein Tausender-Punkt in den Zahlen eingefügt werden soll
    • ob eine auf dem Datum basierende Rechnungsnummer eingefügt werden soll
    • ob InDesign Absatz- (TabAbsatz, TabAbsatz_zentriert), Zeichen- (bold) und Zellenformate (LeereZelle, erste Zeile, letzte Zeile) anlegen soll, mit denen Eure Tabelle formatiert wird (kann man nachträglich ändern)
    • Welche Grundschrift in den Formaten benutzt werden soll (Achtung: Gibt es zu dieser Grundschrift keinen korrespondierenden bold-Schnitt, meckert das Script nach Erstellen der Rechnung und Ihr müsst das erstellte Zeichenformat „bold“ händisch anpassen).
    • Basierend auf der Datei kunden.txt könnt Ihr Euren Kundemstamm anlegen: Ein Kunde kann über mehrere Zeilen gehen (z.B. Firma, Ansprechpartner, Straße, PLZ Ort). Nach jedem Kunden muss ein # als Trenner stehen

 

 

Hier nochmal der Link zum  Download des Scripts zum Erstellen von Angeboten und Rechnungen in Adobe InDesign

  1. Hallo und Moin moin.

    Ich habe diesen Script unter WIn7 Ultra Indesign CC2017 getestet.
    Ergebnis:
    – gratulation — läuft — aber.
    – Die Fensteroberfläche bzw. das Dopdownmenue mit den weiteren Tätigkeitsfeldern wird nicht angezeigt und im Hintergrundgrau abgebildet.
    – Die Pfadangaben gehen unter WIn wenn mann die Berechtigungen anpasst. 😉
    – jedoch werden die Umlaute nicht korrekt angezeigt. Muss Mann/Frau halt von Hand korrigieren.

    Idee:
    Schön wäre eine TXT Date bankdata.txt – wo ich meine Bankdaten angeben kann.

    Frage: Wo finde ich denn den Scriptteil in Rechnung XX_Datum… ? Würde das gerne meinem Rechnungswesen anpassen.

    Herzlichen Dank.

    Tolles Tool
    Sylke 🙂

  2. Hallo Sylke,

    Dankeschön für’s Lob und sorry für die späte Antwort 😉 Habe gerade mal unter CS6 auf Windows 7 getestet – da sah alles ganz okay aus und lief auch. Wenn Du schreibst, dass bei Dir die Tätigkeitsfelder nicht angezeigt werden, dann meinst Du „gar keine“ Tätigkeitsfelder (Du meinst die „Leistungen“ im Tab „Rechnungsposten“, richtig)?
    Falls ja, würde ich spontan schätzen, dass die Leistungen.txt nicht geladen wurde. Wie sieht es denn mit der Kundenliste unter „Konfiguration“ aus – erschient diese denn richtig?

    Den Teil mit der Rechnungsnummer findest Du übrigens in Zeile 297

    var Rechnungsnummer = AngRechn.selection.toString().toUpperCase() + “ #XX-“ + HeuteJahr.toString().substring(2,4) + „-“ + (HeuteMonat+1) + „-“ + HeuteTag;

    daraus würde dann (heute) nach Scriptablauf im Dokument:
    Rechnungsnummer #xx-2016-11-28

    Hoffe, das hilft Dir.
    Liebe Grüße
    Stephan

Schreibe einen Kommentar