Odoo ist in der Community-Version (CE) ein mächtiges ERP-System, dem jedoch von Haus aus das vollständige Buchhaltungsmodul fehlt. Während Odoo Enterprise eine integrierte Buchhaltungslösung bietet, ermöglicht die Odoo Community Association (OCA) durch eine Vielzahl an Modulen auch in der Community-Version eine professionelle Buchhaltung. In diesem Beitrag sehen wir uns an, wie Bilanzierung mit Odoo Community umgesetzt werden kann.
Bei der Bilanzierung sind die Anforderungen höher als bei einer einfachen Einnahmen-Ausgaben-Rechnung. Offene Posten, Forderungen, Verbindlichkeiten, Anlagen, Abgrenzungen und Abschlussbuchungen müssen sauber geführt werden. Genau dafür braucht es die richtige Konfiguration und die passenden Module. Jedoch ist Odoo als Software hauptsächlich für bilanzierende Unternehmen programmiert. Dadurch sind einige Dinge sogar einfacher.
OCA Accounting vs. Odoo Enterprise Accounting
| Feature | Odoo Enterprise | Odoo Community + OCA |
|---|---|---|
| Kosten | Lizenzgebühren pro Benutzer | Kostenlos (Open Source) |
| Benutzeroberfläche | Modernes Dashboard & Abstimmungs-Widget | Funktionale Listenansichten & OCA-Reconcile |
| Automatisierung | OCR, integrierte Workflows | Eher manuelle Erfassung, je nach Modul |
| Berichtswesen | Dynamische Berichte integriert | Statische Berichte oder dynamisch mit MIS Builder |
| Bankensynchronisation | Direkt über Odoo-Schnittstelle | Über OCA-Module oder CSV-Import |
Odoo Enterprise Accounting ist einfacher aufzusetzen und hat einige Automatisierungen, welche die Buchhaltung vereinfachen. Es ist jedoch durchaus möglich, mit der kostenlosen Odoo-Version auch einen effizienten Buchhaltungsprozess für bilanzierende Unternehmen zu implementieren.
Notwendige Git Repositories
Die Buchhaltung der OCA ist modular aufgebaut. Um die Buchhaltungsfunktionen zu erweitern, müssen zusätzliche Module aus verschiedenen Quellen installiert werden. Am einfachsten ist dies über das Klonen von Git-Repositories. Hier ist eine Liste der wichtigsten Repositories, die für eine Bilanzierung in Odoo Community benötigt werden:
- account-financial-tools: Grundlegende Werkzeuge für Buchhaltungsoperationen.
- account-closing: Module für Abschlussarbeiten und periodische Buchungen.
- mis-builder: Tool zum Erstellen individueller Finanzberichte.
- reporting-engine: Basis-Technologie für viele OCA-Berichte.
- server-ux: Basistechnologie für viele OCA-Module.
- account-reconcile: Enthält das alternative OCA-Abstimmungs-Interface.
- bank-statement-import: Importiert Bankdaten in Odoo.
- account-closing: Funktionen für den Jahresabschluss wie Rechnungsabgrenzung.
Zu installierende Module
Nachdem die Erweiterungen über Git heruntergeladen worden sind, müssen sie in der Odoo-Instanz installiert werden. Hier sind die wichtigsten Module, die für eine funktionierende Bilanzierung in Odoo Community benötigt werden. Jedes dieser Module installiert automatisch zusätzliche Module, die benötigt werden:
| Modul | Beschreibung |
|---|---|
| account_usability | Basismodul für OCA-Buchhaltung. Aktiviert Kontenpläne und Buchhaltungsfunktionen. |
| account_reconcile_oca | Das Herzstück der Abstimmung. Erlaubt es, Banktransaktionen mit offenen Rechnungen zu verknüpfen. |
| account_asset_management | Ermöglicht die Verwaltung von Anlagegütern und die automatische Berechnung von Abschreibungen. |
| account_statement_import_sheet_file | Importiert Bankdaten in Odoo. |
| mis_builder | Wird benötigt, um Bilanz, GuV und individuelle Auswertungen abzubilden. |
| account_cutoff_start_end_dates | Wird für Rechnungsabgrenzung benötigt. |
Welche Themen für Bilanzierer wichtig sind
Bei der Bilanzierung gibt es einige Themen, die im System sauber abgebildet sein müssen:
- Offene Posten: Welche Kundenrechnungen und Lieferantenrechnungen sind noch offen, welche Kunden muss ich mahnen?
- Bankabstimmung: Richtiges Zuordnen von Zahlungen und Belegen in der Buchhaltung.
- Periodenabgrenzung: In bestimmten Fällen sind geleistete und erbrachte Leistungen nicht im selben Zeitraum.
- Rückstellungen: Buchen und Auflösen von Rückstellungen.
- Anlagenbuchhaltung: Verwalten und Abschreiben von Anlagen.
- Inventur und Lagerbewertung: Inventurprozesse, Lagerbewertung, Ausschuss.
- Monatsabschluss: Für Umsatzsteuer und Reporting.
- Jahresabschluss: Bilanz, GuV, Steuern.
Bankkonto
Um effizient buchen zu können, benötigen wir unsere Transaktionen in Odoo. Dies kann entweder automatisch über eine Schnittstelle erfolgen oder manuell über den Import einer CSV- oder Excel-Datei. Wir sehen uns hier den manuellen Import an. Dieser ist wesentlich einfacher zu konfigurieren und vollkommen ausreichend, wenn die Buchhaltung einmal pro Monat durchgeführt wird.
Die einfachste Methode in der Community-Version ist der CSV-Import.
- Laden Sie den Kontoauszug in Ihrem Online-Banking-Portal als CSV- oder CAMT.053-Datei herunter.
- Importieren Sie diese Datei in Odoo unter Buchhaltung > Dashboard > Bank > Kontoauszug importieren.
- Odoo erstellt automatisch die entsprechenden Bankzeilen, die dann abgestimmt werden können. Bevor Transaktionen abgestimmt sind, werden sie immer auf das Bankzwischenkonto gebucht.

Abstimmungen und offene Posten
Nachdem die Bankbewegungen importiert wurden, müssen diese mit den offenen Ausgangs- oder Eingangsrechnungen abgestimmt werden. In der Abstimmungsübersicht werden alle offenen Posten angezeigt. Um einen Posten abzustimmen, müssen Sie die Bankzeile und die passende offene Rechnung auswählen und die Zahlung mit der Rechnung verknüpfen.
Wenn keine entsprechende Gegenbuchung existiert, kann diese direkt unter dem Tab Manueller Vorschlag erstellt werden. Dazu muss das entsprechende Gegenkonto ausgewählt werden.
Sobald eine Zahlung mit einer Rechnung verknüpft wurde, wird die Rechnung als "Bezahlt" markiert.

Für Bilanzierer ist das besonders wichtig. Offene Forderungen und offene Verbindlichkeiten müssen jederzeit nachvollziehbar sein. Nur so stimmen Bilanz und Offene-Posten-Liste zum Stichtag.
Periodenabgrenzung
Ein wichtiger Unterschied zur Einnahmen-Ausgaben-Rechnung ist die periodengerechte Buchung. Bei der Bilanzierung zählt nicht nur, wann bezahlt wird, sondern auch, in welchem Zeitraum ein Aufwand oder Ertrag wirtschaftlich anfällt.
Typische Fälle sind:
- Vorausbezahlte Versicherungen oder Mieten
- Noch nicht verrechnete Leistungen
Diese Buchungen werden in der Praxis meist am Monatsende oder zum Jahresabschluss durchgeführt. Dies kann mit dem Modul account_cutoff_start_end_dates umgesetzt werden. Wenn ein Leistungszeitraum auf einer Rechnung definiert wird, können die Buchungen zum Periodenende automatisch erstellt werden. Das Modul unterscheidet hier zwischen Erlösabgrenzung, Kostenabgrenzung, vorausbezahltem Erlös und vorausbezahlten Kosten. Beispielsweise können unter dem Menüpunkt Buchhaltung > Vorausbezahlter Aufwand bereits verbuchte Lieferantenrechnungen abgegrenzt werden. Mit dem Modul account_cutoff_picking ist es möglich, nach gelieferten Mengen abzugrenzen.

Rückstellungen
Rückstellungen sind in der Bilanzierung für Kosten gedacht, die wirtschaftlich bereits verursacht wurden, bei denen die genaue Höhe oder der genaue Zeitpunkt aber noch nicht sicher feststeht. Im Unterschied zur normalen Eingangsrechnung gibt es zum Zeitpunkt der Buchung oft noch keinen endgültigen Beleg.
Typische Beispiele sind:
- Rückstellungen für offene Urlaube
- Gewährleistungen
- Prozesskosten
- Noch nicht abgerechnete Fremdleistungen
In Odoo werden Rückstellungen in der Praxis meist über manuelle Journalbuchungen erfasst. Dazu wird der Aufwand in das richtige Geschäftsjahr gebucht und als Gegenkonto ein Rückstellungskonto verwendet. Sobald die tatsächliche Rechnung oder Zahlung einlangt, wird die Rückstellung wieder aufgelöst.
Anlagenverzeichnis
Investitionen, die nicht sofort als Aufwand gebucht werden sollen, müssen aktiviert werden. Das kann mit dem account_asset_management Modul umgesetzt werden.
Es ist sinnvoll, ein eigenes Journal für Abschreibungen unter Konfiguration > Journale mit dem Typ Sonstiges zu erstellen. Zusätzlich ist es sinnvoll, eigene Konten für die Abschreibung zu erstellen.
Anlagenpositionen
Der erste Schritt ist das Anlegen einer Anlagenposition. Diese ist als Vorlage für Anlagen zu verstehen. Hier werden folgende Werte definiert:
- Journal: In welchem Journal werden die Buchungen gesammelt.
- Anlagenkonto: Auf welches Konto werden die Anlagen gebucht.
- Kum. Wertberichtigungskonto: Hier werden die Abschreibungen im Haben gebucht.
- Abschreibungsaufwandskonto: GuV-wirksame Sollbuchungen
- Berechnungsmodelle: Lineare oder degressive Abschreibung.
- Abschreibungsperiode: Dauer der Abschreibung in Jahren.
Anlagenpositionen können erstellt werden unter Konfiguration > Anlagepositionen. Es ist sinnvoll, für jede Art von Wirtschaftsgut eine eigene Anlagenposition zu erstellen.

Anlagen
Nun können Anlagen erstellt werden. Bestehende Anlagen können unter Anlagegüter > Anlagegüter erstellt werden. Für neue Anlagegüter ist es am sinnvollsten, diese direkt bei der Erstellung der Lieferantenrechnung anzulegen. Dazu muss bei der Rechnungsposition einfach eine Anlagenposition hinterlegt werden. Dadurch wird automatisch das richtige Konto hinterlegt. Wenn die Rechnung bestätigt wird, wird automatisch die Anlage erstellt.

Die erstellte Anlage kann nun über den Smartbutton in der Eingangsrechnung geöffnet werden. Im Abschreibungsspiegel kann der Abschreibungsplan eingesehen werden. Wenn dieser korrekt ist, kann die Anlage bestätigt werden.

Inventur und Lagerbewertung
Für bilanzierende Unternehmen ist das Lager nicht nur ein operatives Thema, sondern ein Teil des Jahresabschlusses. Zum Bilanzstichtag muss nachvollziehbar sein, welche Waren tatsächlich vorhanden sind und mit welchem Wert diese in der Buchhaltung angesetzt werden.
Wie die Inventur in Odoo vorbereitet wird
Damit die Inventur in Odoo sinnvoll durchgeführt werden kann, müssen die Lagerbewegungen im laufenden Betrieb sauber gepflegt werden. Nur dann ist der Soll-Bestand im System überhaupt brauchbar.
Wichtig ist dabei:
- Wareneingänge müssen vollständig erfasst werden
- Warenausgänge müssen korrekt gebucht werden
- Interne Umlagerungen müssen im System nachvollzogen werden
- Retouren und Ausschuss dürfen nicht nebenbei “vergessen” werden
- Lagerorte sollten klar strukturiert sein
Wenn diese Basis fehlt, wird die Inventur am Jahresende unnötig aufwendig.
Ablauf der Inventur
In der Lager-App im Menüpunkt Bestandsaufnahme kann die Inventur zu einem Stichtag für bestimmte oder alle Produkte angefordert werden. Dazu müssen die zu zählenden Produkte ausgewählt und anschließend die Zählung angefordert werden. Eine Zählung kann entweder von einem bestimmten Mitarbeiter oder allgemein angefordert werden. Anschließend kann die Zählung durchgeführt werden. Dazu muss der Bestand gezählt werden. Wenn die Zählung vollständig ist, können die Ergebnisse in der Anwendung eingetragen werden. Wenn es zu Abweichungen kommt, werden diese als Buchungen erfasst. So stimmen Soll- und Ist-Bestand wieder überein.

Automatische Lagerbewertung
Für bilanzierende Unternehmen ist nicht nur die Menge der gelagerten Waren wichtig, sondern auch deren Wert. Odoo kann Lagerbewegungen automatisch mit der Buchhaltung verknüpfen. In der Community-Version ist diese Funktion zwar technisch vorhanden, muss aber manuell freigeschaltet werden. Dazu muss im Debug-Modus unter Einstellungen > Benutzer & Unternehmen > Gruppen die Gruppe Lagerbuchhaltung Automatisch dem Nutzer zugeordnet werden.
Um die automatische Lagerbuchhaltung zu aktivieren, muss bei den Produktkategorien die Lagerbewertung auf Automatisiert gestellt werden. Zusätzlich müssen ein Lagerbewertungskonto, ein Lagerzugangskonto, ein Lagerabgangskonto sowie ein Lagerjournal hinterlegt werden. Standardmäßig unterstützt Odoo die Bewertungsmethoden Standardpreis, FIFO und Durchschnittskosten.
Sobald diese Konfiguration eingerichtet ist, werden Lagerbewegungen nicht nur mengenmäßig, sondern auch wertmäßig in der Buchhaltung berücksichtigt. So ist die Lagerbewertung in der Bilanz immer aktuell.
Wird nun die Inventur durchgeführt, werden die Differenzen automatisch in der Buchhaltung korrigiert. Wenn beispielsweise 5 Stück im Lager sein sollen, jedoch nur 3 vorhanden sind, werden 2 Stück abgeschrieben.

Berichte und Abschluss
Odoo Community bietet Bilanz und GuV nicht als standardisierte Berichte an. Diese können jedoch mit dem Modul mis_builder sauber aufgebaut werden.
Bilanz und GuV mit MIS Builder in der Praxis
Für Österreich kann die Berichtslogik an die l10n_at-Tags gekoppelt werden. Diese bilden die rechtliche Struktur der Bilanz und GuV in Österreich ab.
In MIS Berichten wird zwischen zwei Elementen unterschieden:
- Berichtsvorlagen (mis.report): fachliche Struktur und Formeln (z. B. Bilanz nach § 224 UGB, GuV nach § 231 UGB). Beispielkonfigurationen können unter Beispiele MIS Report Vorlagen eingesehen werden.
- Berichtsinstanzen (mis.report.instance): periodische Sicht (z. B. aktueller Monat vs. Vormonat oder aktuelles Jahr vs. Vorjahr)
Unter Berichtswesen > MIS Reports können Berichtsinstanzen erstellt werden. Es ist möglich, Berichte für eine Periode zu erstellen oder Vergleiche zwischen Perioden darzustellen. Die Berichte können als PDF oder Excel-Datei exportiert werden. Zusätzlich kann ein Bericht als dynamische Ansicht eingesehen werden. Das erlaubt es dem Nutzer, die einzelnen Buchungen einfach aufzurufen und die Zahlen zu überprüfen.

Schlussworte
Die Bilanzierung mit Odoo Community und den OCA-Modulen ist möglich, erfordert jedoch mehr Konfiguration als die Verwendung der Enterprise-Version.
Die Vorstieg Software unterstützt Sie bei der Einrichtung, Konfiguration und Schulung Ihrer Odoo-Buchhaltung. Wenn Sie Ihre Bilanzierung in Odoo sauber aufsetzen möchten, unterstützen wir Sie gerne dabei.