Tutorial: Einfache Rechnungstellung mit OpenOffice

Der Auftrag ist abgeschlossen, das Ergebnis vom Kunden abgenommen. Das Schreiben der Rechnung sollte spätestens jetzt für den Dienstleister der befriedigende Abschluss eines erfolgreichen Projektes sein. Mit OpenOfficeWriter und OpenOfficeBase lassen sich schnell und komfortabel Rechnungen erstellen, ohne einen hohen Aufwand dafür betreiben zu müssen. Das Tutorial erklärt die Verknüpfungsmechanismen zwischen OOWriter und OOBase, so dass Sie auch andere Aufgaben damit realisieren können.

Rechnungsvorlage vorbereiten

Die Suchmaschine Ihres Vertrauens verweist nach kurzer Recherche auf eine Menge entsprechender Briefvorlagen. Beachten Sie bitte hierbei, dass einige Vorlagen-Portale die Dateien nur gegen Entgelt anbieten, schlimmstenfalls in Form eines Abonnements.

Wenn Sie sich eigenhändig eine Rechnungsvorlage erstellen möchten, orientieren Sie sich an den Normen DIN 5008 (inhaltlicher Aufbau) sowie DIN 676 (Gestaltung). Das Netz hält auch hierzu ausreichend Informationen bereit.

Sobald Sie eine Rechnungsvorlage griffbereit haben, sollten Sie sich Gedanken darüber machen, welche kunden- und auftragsspezifischen Daten später durch Einträge aus der Kundendatenbank ersetzt werden sollen. Eine gute Ausgangslage bilden folgende Platzhalter, für die wir eine entsprechende Tabellenspalte in der späteren Kundendatenbank vorsehen müssen:

  • Firmenname
  • Anrede
  • Vorname Ansprechpartner
  • Nachname Ansprechpartner
  • Straße / Hausnummer
  • Postleitzahl
  • Stadt
  • Land
  • Briefanrede
  • Kundennummer
  • Honorar (falls kundenabhängig)
  • Mehrwertsteuersatz (bei Auslandskunden)


Platzhalter am Beispiel Anschrift und Anrede

Es fehlen nun noch Felder für Rechnungsnummer und Rechnungsdatum. Das Rechnungsdatum fügen Sie an entsprechender Stelle im Dokument ein über das Menü „Einfügen -> Feldbefehl -> Andere… -> Dokument -> Feldtyp: Datum“.


Einfügen des aktuellen Datums als Feld

Die Rechnungsnummer wird ebenfalls in der Datenbank gespeichert, um damit beim Erstellen einer neuen Rechnung automatisch die nächsthöhere Rechnungsnummer zu generieren. Doch dazu später mehr.

Kundendatenbank erstellen

Über das Menü „Datei -> Neu -> Datenbank“ starten Sie den Assistenten zur Erstellung einer neuen Datenbank.


Assistent zur Erstellung einer Datenbank, Schritt 1

Markieren Sie die Option „Neue Datenbank erstellen“ und klicken Sie auf „Weiter“.


Assistent zur Erstellung einer Datenbank, Schritt 2

Wählen Sie die Optionen „Ja, die Datenbank soll angemeldet werden“ sowie „Die Datenbank zum Bearbeiten öffnen“ und klicken Sie auf „Fertig stellen“. Vergeben Sie im folgenden Speicherdialog der neuen Datenbank einen Namen und wählen Sie einen Speicherort aus.

Die neu erstellte Datenbank wird nun mit OpenOfficeBase geöffnet. Diese Anwendung des OpenOffice-Pakets stellt eine übersichtliche Oberfläche für die Verwaltung von Datenbanken zur Verfügung. Um die Datenbank mit Kundendaten füllen zu können, müssen Sie zunächst eine entsprechende Tabelle erstellen, in der die Kundendaten später gespeichert werden.


Neue Datenbank, geöffnet mit OpenOfficeBase

Klicken Sie im Bereich „Datenbank“ auf den Menüpunkt „Tabellen“ und danach im Bereich „Aufgaben“ auf „Tabelle in der Entwurfsansicht erstellen“. Es öffnet sich die leere Entwurfsmaske für Tabellen mit den Spalten „Feldname“ (erscheint später als Platzhalter im Dokument), „Feldtyp“ (definiert Art und Wertebereich des Eintrags und kann im unteren Fensterbereich „Feldeigenschaften“ näher festgelegt werden) sowie „Beschreibung“ (optional, doch wichtig bei aussageschwachen Feldnamen).

Nun geben Sie der Reihe nach die Feldnamen an, die Sie später in die Rechnungsvorlage einfügen möchten. In der Spalte „Feldtyp“ steht Ihnen über eine Auswahlliste eine Vielzahl unterschiedlicher Datentypen zur Verfügung. Wertebereiche und Definitionen der aufgelisteten Feldtypen können Sie dem OpenOffice-Wiki entnehmen.


Anlegen der Felder und bestimmen der Feldtypen

Beispielhaft seien für unsere einfache Umsetzung genannt:

  • „Small Integer“ für 5-stellige Kundennummern bis „32.767“
  • „Integer“ für Postleitzahlen bis „99.999“
  • „Dezimal“ für bis zu 10-stellige Honorare sowie
  • „Text“ für Firmennamen mit bis zu 65.534 Zeichen.

Die jeweilige Auswahl können Sie im Bereich „Feldeigenschaften“ noch genauer bestimmen.

Zur systeminternen Unterscheidung einzelner Datensätze vergeben Sie einem Feld noch einen sogenannten „Primärschlüssel“. Hierfür bietet sich das Feld „Kundennummer“ an, da diese tatsächlich für jeden Datensatz eindeutig sein sollte.

Klicken Sie mit der rechten Maustaste in die graue Spalte neben „Feldname“ auf die Zeile „Knd.-Nr.“ und wählen Sie im Kontextmenü „Primärschlüssel“ aus. Es erscheint ein gelbes Schlüsselsymbol neben dem Feldnamen, um den gesetzten Primärschlüssel anzuzeigen.

Speichern Sie nun die fertige Tabelle in der Datenbank (zum Beispiel unter dem Namen „Kunden“) und schließen Sie die Entwurfsansicht. Die Tabelle „Kunden“ wird nun im Bereich „Tabellen“ angezeigt. Für die automatische Erzeugung der Rechnungsnummer ist es jetzt bereits sinnvoll, mindestens einen Kundendatensatz anzulegen. Klicken Sie dazu doppelt auf den Eintrag „Kunden“, um die Tabellenansicht zu öffnen. Geben Sie der Reihe nach die Kundendaten nebst letzter Rechnungsnummer ein und speichern Sie den Datensatz. Achten Sie darauf, dass Sie wenigstens eine Rechnungsnummer angeben (mindestens die Null, falls Sie noch keine Rechnungen verschickt haben). Abschließend speichern Sie die Tabelle.

Verknüpfung der Felder

Wählen Sie im Menü „Datei -> Dokumentenvorlage -> Bearbeiten…“ Ihre Formatvorlage aus. Über die Taste „F4“ oder das Symbol „Datenquellen“ in der Symbolleiste öffnen Sie die Ansicht zur Anzeige der angemeldeten Datenbanken. In der Explorer ähnlichen Ansicht links sollte nun Ihre frisch erstellte Datenbank zu finden sein. Klappen Sie nacheinander die Ansichten „Kunden“ und „Tabellen“ auf. Es erscheint die enthaltene Tabelle (hier: „Kunden“), deren Inhalt Sie im rechten Bereich sehen, sobald Sie die Tabelle anklicken.


Datenbankanzeige oberhalb der Dokumentenvorlage

Die Verknüpfung erfolgt nun einfach über Drag&Drop:

Markieren Sie die Spalten durch einen Klick auf den jeweiligen Spaltentitel, ziehen Sie ihn bei gedrückter Maustaste nach unten auf die Dokumentenvorlage und lassen Sie die Maustaste dort los, wo Sie das entsprechende Feld platziert haben möchten (siehe erste Abbildung). An dieser Stelle erscheint der Feldname als Platzhalter in eckigen Klammern und grau hinterlegt.

Automatisierung der Rechnungsnummer

Beim Erstellen einer neuen Rechnung soll automatisch die nächstmögliche Rechnungsnummer eingesetzt werden. Das ist über die oben verwendete Serienbrief-Funktion leider nicht zu realisieren. Abhilfe schafft ein Formularfeld in der Dokumentenvorlage, dessen Feldinhalt über eine einfache SQL-Abfrage aus der Kundendatenbank eingelesen wird. Blenden Sie die Symbolleiste der Formular-Steuerelemente über „Ansicht -> Symbolleisten -> Formular-Steuerelemente“ ein.


Symbolleiste „Formular-Steuerelemente“, Entwurfsmodus aktivieren, „Formatiertes Feld“ einfügen

Aktivieren Sie anschließend den Entwurfsmodus, um Zugriff auf die Steuerelemente zu erhalten (Position 1 im Bild oben). Danach klicken Sie auf das Symbol „Formatiertes Feld“. Mit dem Mauszeiger (jetzt ein Kreuz zur Präzisionsauswahl) erstellen Sie in der Rechnungsnummernzeile hinter dem einleitenden Text ein Formularfeld.

Zunächst verknüpfen Sie den Feldinhalt mit der Tabelle in Ihrer Kundendatenbank. Öffnen Sie das Kontextmenü über einen Rechtsklick auf das Formularfeld und wählen Sie den Punkt „Formular…“ aus. Es öffnet sich der Dialog zur Einstellung der Formular-Eigenschaften. Wechseln Sie in den Reiter „Daten“.


Formular-Eigenschaften, Verknüpfung mit Datenquelle

  • Im Feld „Datenquelle“ wählen Sie in der Drop-Down-Liste die Kundendatenbank aus.
  • Bei „Art des Inhaltes“ wählen Sie „SQL-Befehl“ aus.
  • Im Feld „Inhalt“ geben Sie folgenden SQL-Befehl ein:
    SELECT MAX( "Rechnung" ) + 1 AS "NeueRechnungsnummer" FROM "Kunden" AS "Kunden"

Übersetzt bedeutet das: Wähle aus der Datenbank-Tabelle „Kunden“ den Maximalwert der Spalte „Rechnung“ aus, erhöhe ihn um 1 und speichere das Ergebnis unter dem Namen „NeueRechnungsnummer“. Sie erinnern sich: In der Spalte „Rechnung“ wird die letzte dem jeweiligen Kunden zugeordnete Rechnungsnummer gespeichert. Mit dieser Abfrage erhalten Sie also die nächstmögliche Nummer.

Da über dieses Formularfeld keine Daten in der Datenbank geändert werden sollen, geben Sie für alle entsprechenden Felder die Option „Nein“ an. Sie brauchen den Dialog nicht zu schließen. Klicken Sie einfach erneut mit der rechten Maustaste auf das Formularfeld und wählen Sie dieses Mal im Kontextmenü den Punkt „Kontrollfeld…“ aus. Der geöffnete Eigenschaftsdialog wechselt automatisch zur Einstellung der Kontrollfeld-Eigenschaften.


Kontrollfeld-Eigenschaften, Verknüpfung mit SQL-Abfrageergebnis

Verknüpfen Sie zunächst das Ergebnis der SQL-Abfrage mit dem Kontrollfeld. Wechseln Sie dazu auf den Reiter „Daten“ und wählen Sie unter „Datenfeld“ den Eintrag „NeueRechnungsnummer“ aus. Damit wird das Ergebnis der Abfrage im Formularfeld dargestellt.

Nun müssen Sie nur noch das Layout des Feldes dem Format der Rechnungsnummernzeile anpassen. Klicken Sie dazu auf den Reiter „Allgemein“.


Kontrollfeld-Eigenschaften, Formatierung (Schrift, Farbe)

Die grundlegenden Feld-Einstellungen sind:

  • Schrift: Wählen Sie Schriftart und Formatierung aus, die der Formatierung der Rechnungsnummernzeile entsprechen (über die Schaltfläche „…“ gelangen Sie in den Formatierungsdialog).
  • Ausrichtung: Weil die aktuelle Jahreszahl in diesem Beispiel hinten angestellt wird, richte ich den Text des Feldes nach rechts aus.
  • Rahmen: Ein Rahmen würde stören, deshalb erfolgt die Auswahl „Ohne Rahmen“.

Die Änderungen werden sofort übernommen. Sie brauchen nach Abschluss den Eigenschaftsdialog einfach nur zu schließen.

Das Formularfeld überdeckt eventuell noch den darunterliegenden Text. Zwei Einstellungen schaffen Abhilfe:

  • Klicken Sie mit der rechten Maustaste in das Kontrollfeld und wählen Sie im Kontextmenü unter „Verankerung“ die Option „An der Seite“ aus. Eventuell verschiebt sich das Formularfeld nun etwas. Sie können es per Drag&Drop jedoch frei positionieren.
  • Öffnen Sie nochmals das Kontextmenü und wählen Sie unter „Umlauf“ die Option „Seitenumlauf“ aus. Damit fügt sich das Formularfeld in den bestehenden Text ein.

Speichern Sie abschließend Ihre Dokumentenvorlage.

Erstellung der Rechnung

Um eine neue Rechnung zu erstellen, klicken Sie im Menü „Datei -> Neu“ auf den Punkt „Vorlagen und Dokumente“ und wählen anschließend Ihre neue Rechnungsvorlage aus. Es erscheint ein Blanko-Rechnungsformular mit den grauen Variablenfeldern. Das Rechnungsnummernfeld sollte nun die nächstmögliche Rechnungsnummer enthalten.

Drücken Sie die Taste „F4“ (oder das Symbol „Datenquellen“ in der Symbolleiste), um die Ansicht zur Anzeige der angemeldeten Datenbanken zu öffnen.


Auswahl und Übernahme des Kundendatensatzes

Wählen Sie den Kunden aus, an den die Rechnung gestellt werden soll, indem Sie die gesamte Zeile des Datensatzes markieren (Mausklick im entsprechenden Feld der linken, grauen Spalte). Über das Symbol „Daten in Felder“ in der Symbolleiste füllen Sie die Felder des Dokuments mit den entsprechenden Kundendaten.


Übernommene Kundendaten, automatisch erzeugte Rechnungsnummer

In der Datenbankansicht können Sie direkt neue Kunden einpflegen. Geben Sie dazu die Daten einfach in die erste frei Zeile unterhalb der existierenden Kundendaten ein. Die neuen Daten werden automatisch in die Datenbank übernommen.

Nachdem die Rechnung erstellt ist, tragen Sie in die Spalte „Rechnung“ des Kunden die nun aktuelle Rechnungsnummer ein.

Beim Ausdrucken der Rechnung vermutet OpenOffice anhand der Datenbankfelder einen Serienbrief und fragt nach, ob alle Datensätze ausgedruckt werden sollen. Nachdem Sie mit einem Klick auf „Nein“ geantwortet haben, können Sie die Rechnung ausdrucken.

Perspektiven

Diese Lösung kann und soll keine vollwertige Faktura-Softwarelösung ersetzen. Als schlichte Anwendung für den einfachen Webworker ist sie jedoch durchaus geeignet.

Darüber hinaus demonstriert sie das Zusammenspiel der einzelnen OpenOffice-Komponenten. Auf dieser Basis kann sie sicherlich verfeinert und verbessert werden (zum Beispiel durch Verwendung von Pull-Down-Listen für Firmennamen statt Nutzung der Datenbankansicht oder die Übernahme von Arbeitszeiten aus einer Zeiterfassungsdatenbank). Denkbar wären auch Checklisten zur Webseitenerstellung, die beim Kundengespräch direkt vor Ort erstellt, ausgefüllt und dem Kunden als Gesprächsprotokoll überlassen werden können. Sind die Mechanismen bekannt, so sind die möglichen Anwendungen recht vielfältig. ™

Michael Sahm ist technischer Autor für Soft- und Hardwaredokumentation sowie engagierter Blogautor für viele aktuelle und wissenswerte Themen.

Sortiert nach:   neueste | älteste | beste Bewertung
Matthias
Gast
6 Jahre 7 Monate her

Klingt irgendwie recht umständlich. Ausführlich, aber umständlich. ;)

Für den modernen Webworker von heute, empfehle ich mal einen Blick auf https://www.salesking.eu

Dieter Petereit
Gast
Dieter Petereit
6 Jahre 7 Monate her

Nebenbei bemerkt. Die verlinkte Faktura stellte ich jüngst im Rahmen eines Plus-Beitrages ausführlichst auf Dr. Web vor:

http://www.drweb.de/magazin/onlinefaktura-kostenlos-salesking/

fwolf
Gast
6 Jahre 7 Monate her

Mich würde im Zusammenhang mit OOo natürlich brennend interessieren, ob sich das auch mit einer vorhandenen (MySQL-)Datenbank koppeln lässt. Damit könnte man dann lokal die Rechnungen erstellen und nötigenfalls auch von unterwegs aus dasselbe machen, zumindest aber die aktuellen Rechnungsdaten (vorausgesetzt, man baut sich was entsprechendes zusammen) oder das Adressbuch einsehen ;)

cu, w0lf.

butterfinger
Gast
6 Jahre 7 Monate her

@fwolf: Dies könnte die Frage vielleicht schon beantworten?
http://de.openoffice.org/doc/howto/datenquelle/tech_mysql.html

Fand ich bei Google mit den SUchbegriffen „open office +mysql“ … ;-) …

Beste Grüße!

webjumper
Gast
6 Jahre 7 Monate her

Ich habe die Erfahrung gemacht, das OpenOffice oder andere Office Lösungen mehr schlecht als recht ist. Ich habe alles weggeworfen, da OpenOffice oder andere Office Lösungen – kompliziert und unbrauchbar sind. Vorallem die BUGS in der OpenOffice Lösung und das dies dann wieder begrenzt Netzwerkfähig ist – scheidet für mich Office als WAWI aus.

Eine schnelle Rechnung mit OpenOffice kann man wohl schreiben, aber wenn es in Verbindung mit einer Datenbank gehen soll – rate ich jeden davon ab. Dann würde ich gleich CAO Faktura empfehlen. Das ist übrings kostenlos.

Ahmet Dingil
Gast
Ahmet Dingil
6 Jahre 7 Monate her

Super Danke!

@Matthias
Hast du vielleicht eine Einladung für Salesking für mich übrig?

Wäre toll!

Jannik
Gast
Jannik
6 Jahre 7 Monate her

Ich weiß nicht, wie das OpenOffice regelt, aber normalerweise bekommt man, wenn man die PLZ als irgendeinen Subtype von Integer verwaltet, Probleme, sobald diese eine führende 0 haben soll. Diese verschwindet dann nämlich.

Matthias
Gast
6 Jahre 7 Monate her
@Michael: OO + Datenquelle (oder natürlich analog die MS-Derivate) ist sicher eine Lösung, die man relativ gut bei geringer Auftragslage einsetzen kann. Jedoch brauch Ihre vorgestellte Lösung ja schon ein wenig Datenbankwissen. Natürlich kann man Ihre Lösung einfach übernehmen, aber Änderungen werden da schon schwieriger. Den Wert als Einblick in die Möglichkeiten von OO möchte ich natürlich nicht außer Acht lassen. Ich persönlich würde mir wohl auch eher direkt eine kleine PHP-Anwendung schreiben, die mir Rechnungen als PDF erstellt. Ist ja kein Problem mit ein wenig Grundwissen. Ich war natürlich happy, als ich zufällig auf SK stieß, wo das alles… Read more »
Frank
Gast
6 Jahre 7 Monate her

Schönes Tutorial.

Ist vielleicht bisschen Arbeit sich das mal einzurichten….wenns aber mal steht sicher praktisch. Ich mach das alles noch von Hand. Allerdings auch im InDesign.

pe
Gast
6 Jahre 7 Monate her

Hallo,

@Matthias:
Hast du bezüglich Salesking über den Datenschutz nachgedacht? Wenn ich darüber nachdenke, dass die Betreiber der Plattform in meinen Rechnungen stöbern, so werde ich misstrauisch.

Viele Grüße,
pe

trackback

[…] » Tutorial: Einfache Rechnungstellung mit OpenOffice | Dr. Web Magazin […]

trackback
6 Jahre 4 Monate her

[…] OpenOffice und die m

Bob
Gast
Bob
4 Jahre 7 Tage her
Hallo Ich komme nicht weiter …da steht „Sie erinnern sich: In der Spalte “Rechnung” wird die letzte dem jeweiligen Kunden zugeordnete Rechnungsnummer gespeichert. Mit dieser Abfrage erhalten Sie also die nächstmögliche Nummer.“ nee habe ich leider nicht gesehen das die vorher da automatisch gespeichert wird??? wie soll das gehen …wenn ich da eine nummer „zb. 1 eingebe zählt er auch eine weiter auf „2“ …aber wenn ich die rechnung speicher, und dann eine neue anlege ist er wieder „2“ der speichert die rechnungsnummer nicht und ich habe mir alles mehrmals durchgelesen und nicht gefunden wie die datenbank die aktuelle rechnungsnummer… Read more »
Bob
Gast
Bob
4 Jahre 7 Tage her

Hallo das ist ja alles ganz ok
aber die automatisierung der rechnungsnummer ist sehr sinnlos da man sie sowieso per hand in die datenbank eingeben muss! also kann ich sie auch gleich per hand in das dokument eintragen …bei welcher rechnung ich bin kann ich mir noch gerade eben merken, wenn nicht schaue ich einfach bei meinen gespeicherten rechnungen nach ;)! schöne Grüße Bob

edii
Gast
edii
2 Jahre 11 Monate her

Es wird in der Anleitung zwar beschrieben wie man eine automatisierung der Rechnung vornehmen kann, aber nicht wie man eine automatisierung der Kundennummer tätigt, da ich nun selbst derzeit die Datenbank erstelle, aber jetzt nicht mehr weiterkomme, da ich nciht weis wie ich ab dem 1. Kunden die Kundennummer eingeben soll bzw. wie diese automatisch generiert wird.

Edison
Gast
Edison
2 Jahre 11 Monate her

Hallo,
in dem Artikel wird anscheinend genannt wie sich eine automatische Rechnungsnummer generieren lässt, jedoch nicht wie sich die Kundennummer ab dem ersten Kunden automatisch einfügen lässt. Kann mir das jemand erklären ?

Dimitri Enns
Gast
Dimitri Enns
1 Jahr 7 Monate her

Hallo alle Miteinander. (Ich weiß der Artikel ist schon Uralt)
Ich bin durch ein paar Google Klicks auf diese Seite gestoßen.
Wollte nur kurz als einfachen Tipp Open3A empfehlen. Eignet sich super zum erstellen von Rechnungen, Kunden und Artikel Datenbanken.
Jeder der etwas Webspace bei einem Anbieter liegen hat kann dieses Programm von überall aufrufen. (Geht aber auch als Offline lokal) Ebenfalls kann man dann mit einfacher htaccess den Zugang hierzu auch doppelt schützen. Das Programm ist, für mich, fantastisch und ebenfalls vollkommen kostenfrei.
open3A => http://www.open3a.de/page-Ueber-das-Rechnungsprogramm

wpDiscuz

Mit der Nutzung unseres Angebots erklärst du dich damit einverstanden, dass wir Cookies verwenden. Weitere Informationen

Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anzubieten und die Zugriffe auf unsere Website zu analysieren. Dadurch geben wir nicht personenbezogene Informationen zur Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Nähere Informationen findest du in unserer Datenschutzerklärung. Durch die Weiternutzung unserer Website (oder das ausdrückliche Klicken auf "Einverstanden") gehen wir davon aus, dass du mit der Verwendung von Cookies einverstanden bist.

Schließen