Gutscheine, Geschenkkarten und Treue in der Odoo-Kasse
Kurz gesagt
Geschenkkarten und Treueprogramme richten Sie in Odoo 19.0 und 20.0 in den Apps Kassensystem und Verkauf ein: Funktion aktivieren, Karten-Produkt und Programm anlegen, Karte an der Kasse verkaufen und einlösen. Nach Community-Quellcode 20.0 bucht Odoo den Verkauf auf das Erlöskonto des Produkts, die Einlösung als negative Erlösposition; der Schichtabschluss trägt für bezahlte, nicht fakturierte Aufträge je Zahlungsart eine Forderungsposition auf dem Debitorenkonto und danach eine eigene Zahlungsbuchung; fakturierte Aufträge sind bereits über ihre Rechnung verbucht. Die Kartenposition selbst bleibt laut diesem Code ohne Steuern, unabhängig von den Steuern des Produkts; wann die Umsatzsteuer entsteht, hängt von der Gutscheinart ab (Deutschland: § 3 Abs. 15 UStG).
Das Wichtigste
- Funktion: Schalter Werbeaktionen, Gutscheine, Geschenkkarte & Treueprogramme in den Kassensystem-Einstellungen, Abschnitt Preiskalkulation (Odoo 19.0 und 20.0).
- Geschenkkarten-Produkt als Produktart Dienstleistung anlegen; je Betrag ein eigenes Produkt. Das Verkaufsmenü liegt je Version anders: 19.0 unter Verkauf ‣ Produkte ‣ Geschenkkarten & E-Geldbörse (Sales ‣ Products ‣ Gift cards & eWallet), Community-Zweig 20.0 unter Verkauf ‣ Promotions (Sales ‣ Promotions); an der Kasse in 19.0 und 20.0 unter Kassensystem ‣ Produkte ‣ Geschenkkarten & E-Geldbörse.
- Verkauf an der Kasse über das Karten-Produkt: nach der Zahlung lädt Odoo die Karte mit Code als PDF, physische Karten werden per Code erfasst; die Kartenposition trägt im Community-Zweig 20.0 unabhängig von den Steuern des Produkts keine Steuer. Ein Ablaufdatum ist optional: Gültig bis (Valid Until) setzen Sie beim Generieren laut Dokumentation nur, sofern anwendbar; in Odoo 20.0 verfallen erworbene Treuepunkte nach der Punktegültigkeit (Points Validity) in Tagen, 0 bedeutet kein Verfall (Dokumentation 20.0).
- Einlösung an der Kasse über Code eingeben; der Kartenwert läuft als negative Belohnungsposition, deren Produkt Odoo im Community-Zweig 20.0 ohne Steuern anlegt, sodass die Steuern die mit der Karte gekaufte Ware tragen und nicht die Karte.
- Odoo legt laut Community-Zweig 20.0 kein eigenes Verbindlichkeitskonto für verkaufte Karten an; der Schichtabschluss bucht dafür nur bezahlte, nicht fakturierte Aufträge: je Zahlungsart eine Forderungsposition auf dem Debitorenkonto plus eigene Zahlungsbuchung; fakturierte Aufträge laufen über ihre Rechnung.
- Deutschland: Mehrzweck-Gutscheine sind bei der Übertragung nicht steuerbar, die Umsatzsteuer entsteht bei der Einlösung (§ 3 Abs. 15 UStG).
Geschenkkarten, E-Guthaben und Treuepunkte laufen in Odoo über dasselbe Modul: Programme mit Regeln und Belohnungen, die die Apps Verkauf, Website und Kassensystem gemeinsam verwenden. Diese Anleitung zeigt für Odoo 19.0 und 20.0 den Weg von der Aktivierung über den Kartenverkauf an der Kasse bis zur Einlösung, dazu die Buchungen, die dabei entstehen. Die Grundeinrichtung der Kasse selbst behandelt der Artikel Odoo-Kasse einrichten.
Was Sie vorab brauchen
- Zugriff auf die Apps Kassensystem und Verkauf mit Rechten, Einstellungen zu ändern und Programme anzulegen.
- Klarheit über die Gutscheinart, die Sie verkaufen wollen: Kann der Kunde mit der Karte Waren unterschiedlicher Steuersätze kaufen, liegt ein Mehrzweck-Gutschein vor (Deutschland: § 3 Abs. 15 UStG). Das bestimmt, ob beim Kartenverkauf Umsatzsteuer anfällt; der Abschnitt zur Umsatzsteuer unten nennt die Grundlage und die Grenze der Kassenabbildung.
- Geplante Kartenbeträge. Für jeden Betrag legen Sie nach der dokumentierten Verfahrensweise ein eigenes Produkt an, etwa 25, 50 und 100 Euro.
- Optional: eine Website, wenn die Karten auch online verkauft oder eingelöst werden sollen.
- Der Geltungsbereich ist in diesem Artikel dreistufig: Die Bedienung folgt der Dokumentation 19.0 und 20.0; konkret belegbar ist Odoo 20.0 Community Edition auf eigener Installation — die Installationsdokumentation 20.0 beschreibt den Betrieb aus den Community-Quellen, und der Enterprise-Zweig setzt laut derselben Seite den Community-Server voraus; alle Buchungsaussagen und die Aussage zu den Steuern der Kartenposition sind allein aus dem Community-Zweig 20.0 belegt und für die Enterprise-Edition nicht belegt.
Schritt für Schritt: Geschenkkarten an der Kasse
Schritt 1: Funktion aktivieren
Öffnen Sie Kassensystem ‣ Konfiguration ‣ Einstellungen, wählen Sie die Kasse und setzen Sie im Abschnitt Preiskalkulation den Schalter Werbeaktionen, Gutscheine, Geschenkkarte & Treueprogramme (Promotions, Coupons, Gift Card & Loyalty Program); speichern Sie. Danach erscheint unter dem Schalter der Zugriff Geschenkkarten & E-Geldbörse. Denselben Schalter gibt es in den Verkaufseinstellungen unter Werbeaktionen, Treue & Geschenkkarten; über ihn stellen Sie die Programme Datenbank-weit ein. Alternativ erreichen Sie die Programme später über Kassensystem ‣ Produkte ‣ Geschenkkarten & E-Geldbörse.
Schritt 2: Geschenkkarten-Produkt anlegen
Öffnen Sie Verkauf ‣ Produkte ‣ Produkte und legen Sie ein neues Produkt an. Die Dokumentation nennt diese Einstellungen: Name, die Verkaufsoption (Can be Sold) aktiviert, Produktart Dienstleistung, Abrechnungspolitik (Invoicing Policy) auf Prepaid/Fixed Price — die deutsche Oberfläche zeigt dafür Bestellte Mengen —, Bei Auftrag erstellen auf Nichts und als Verkaufspreis den Kartenbetrag. Für weitere Beträge wiederholen Sie das mit eigenen Produkten.
Bestimmen Sie hier auch die Steuern des Karten-Produkts. Bei einem Mehrzweck-Gutschein gehört auf dieses Produkt keine Umsatzsteuer, weil die Steuer erst bei der Einlösung entsteht (§ 3 Abs. 15 UStG; für Österreich die UStR 2000, Abschnitt Gutscheine). An der Kasse wendet Odoo laut Dokumentation die Steuern aus dem Feld Sales Taxes des Produkts an, wenn keine Steuerposition (Fiscal Position) konfiguriert ist. Bei den Steuerpositionen unterscheidet dieselbe Dokumentation zwei Felder: Eine im Feld Standard hinterlegte Position wendet die Kasse automatisch auf alle Verkäufe dieser Kasse an; Positionen im Feld Erlaubt macht sie nur während des Verkaufs auswählbar — sie wirken erst, nachdem der Kassierer sie im Drei-Punkte-Menü unter Steuer gewählt hat, und dann nach der Zuordnung der Position. Eine Standard-Steuerposition lässt sich auch einem Kunden zuweisen. Für den Kartenverkauf gilt zusätzlich eine Ausnahme im Community-Zweig 20.0: Die Kassenoberfläche legt die Position eines Produkts, das als Karten- oder E-Geldbörsen-Produkt eines Programms hinterlegt ist, mit leeren Steuern an; die Steuern des Karten-Produkts wirken sich auf diese Position also nicht aus. Prüfen Sie vor dem ersten Verkauf mit Ihrer Steuerberatung, welche Steuerposition an Ihrer Kasse greift und wie sich die Gutscheinart dort abbilden lässt.
Schritt 3: Programm anlegen und Karten generieren
Öffnen Sie das Kartenprogramm: in 19.0 über Verkauf ‣ Produkte ‣ Geschenkkarten & E-Geldbörse (Sales ‣ Products ‣ Gift cards & eWallet), im Community-Zweig 20.0 über Verkauf ‣ Promotions ‣ Geschenkkarten & E-Geldbörse (Sales ‣ Promotions; die Geschenkkarten-Seite der Dokumentation 20.0 nennt weiterhin den Pfad über Produkte). Erstellen Sie ein Programm mit Programmart Geschenkkarte. Tragen Sie ein: Karten-Produkte aus Schritt 2, E-Mail-Vorlage, Druckdokument (Print Report) vom Typ Geschenkkarte, Währung, Unternehmen, Verfügbar für (Available On) mit mindestens der Kasse und gegebenenfalls der Website. Die Dokumentation kennt daneben die eigenen Felder Website und Point of Sale: Sie begrenzen das Programm auf eine bestimmte Website beziehungsweise Kasse; leer bleiben sie, gilt es laut Dokumentation für alle Websites beziehungsweise alle Kassen.
Mit Geschenkkarten generieren erzeugen Sie Karten für anonyme Kunden oder ausgewählte Kunden und Kunden-Stichwörter, dazu Menge und Geschenkkartenwert; ein Ablaufdatum setzen Sie über Gültig bis (Valid Until), laut Dokumentation nur, sofern anwendbar — ohne dieses Feld bleibt die Karte unbefristet. Über die Karten-Schaltfläche am Programm senden oder teilen Sie einzelne Karten; am Karten-Datensatz lassen sich Ablaufdatum, Kunde und Saldo ändern, der Code selbst nicht.
Schritt 4: Karte an der Kasse verkaufen
Am Kassenbildschirm fügen Sie das Karten-Produkt zum Auftrag hinzu, wählen bei mehreren Programmen das passende im Einblendfenster, passen Preis und Menge an und schließen über Zahlung ab. Nach der Zahlung lädt Odoo die Geschenkkarte mit dem Code automatisch als PDF herunter, erzeugt nach dem Druckdokument des Programms; drucken Sie sie für den Kunden. Für vorgedruckte Plastikkarten setzen Sie am Positionseintrag Physische Geschenkkarte verkaufen?, erfassen den Code, passen bei Bedarf Betrag und Ablaufdatum an, bestätigen mit Saldo hinzufügen und reichen die Karte nach der Zahlung aus.
Schritt 5: Karte einlösen
Am Kassenbildschirm öffnen Sie das Drei-Punkte-Menü, wählen Code eingeben und erfassen oder scannen den Code; Apply bucht den Kartenwert als Belohnung auf den Auftrag. War die Karte nicht über die Kasse gekauft worden, zeigt Odoo einen Warnhinweis, den Sie mit Ok übernehmen können. Treuekarten und E-Geldbörsen verhalten sich an dieser Stelle gleich: Auch sie laufen über Code eingeben.
Schritt für Schritt: Treueprogramm einrichten
- Öffnen Sie das Menü der Programme: in 19.0 Verkauf ‣ Produkte ‣ Rabatt & Treue (Sales ‣ Products ‣ Discount & Loyalty), im Community-Zweig 20.0 Verkauf ‣ Promotions ‣ Rabatt & Treue (Sales ‣ Promotions ‣ Discount & Loyalty; so auch die Dokumentation 20.0). Erstellen Sie ein Programm. Programmart Treuekarten sammelt Punkte pro Einkauf, weitere Typen sind Gutscheine, Werbeaktionen, Rabattcode, X Kaufen Y Erhalten und Gutscheine für nächsten Einkauf.
- Legen Sie den Programmzeitraum fest: in 19.0 über Startdatum und Enddatum — bleiben beide Felder laut Dokumentation 19.0 leer, gilt das Programm immer und läuft nicht ab; in 20.0 beschreibt die Dokumentation das Feld Verfügbarkeitsdaten (Availability Dates) als Datum, ab dem das Programm verfügbar ist. Für die Programmart Treuekarten setzen Sie zusätzlich Points Validity (Punktegültigkeit) in Tagen; 0 bedeutet, dass erworbene Punkte nicht verfallen (Dokumentation 20.0). Mit Nutzung begrenzen deckeln Sie die Zahl der Einlösungen.
- Legen Sie unter Bedingte Regel fest, wann das Programm Punkte vergeben: Mindestmenge, Mindesteinkauf, Einschränkung auf Produkte oder Kategorien und unter Vergeben die Punkte je Auftrag, je Währung oder je Menge. Der Punkte-Einheit geben Sie den Namen, den der Kunde sieht.
- Legen Sie unter Belohnungen fest, wofür Punkte tauschen: Gratisprodukt, Rabatt (Prozent oder Währung, auf Auftrag, günstigstes Produkt oder bestimmte Produkte, mit optionalem Maximalbetrag) oder kostenloser Versand; unter Im Austausch gegen steht die Punktzahl dafür.
- Stellen Sie unter Verfügbar für die Kasse ein; ohne sie erscheint das Programm an der Kasse nicht.
An der Kasse wählen Sie zuerst den Kunden aus: Ohne Kundenauswahl zeigt der Warenkorb keine Punkte. Der Punktestand steht unten am Warenkorb und aktualisiert sich in Echtzeit; eingelöst wird über das Drei-Punkte-Menü mit Belohnung. Rabattcodes und Gutscheine laufen über Code eingeben, Werbeaktionen greifen automatisch, und X Kaufen Y Erhalten ruft der Kassierer über Belohnung ab.
E-Guthaben (eWallet) folgt demselben Muster: Top-up-Produkt nach Schritt 2 anlegen, Programmart E-Geldbörse wählen und mit E-Geldbörse generieren Guthaben erzeugen. An der Kasse lädt der Kunde über das Top-up-Produkt auf (Kunde vorher wählen), bezahlt wird über das Drei-Punkte-Menü mit E-Geldbörse zum Bezahlen verwenden; ohne Kundenauswahl erscheint diese Option nicht.
So prüfen Sie das Ergebnis
Führen Sie einen Testdurchlauf mit kleinem Betrag durch und prüfen Sie fünf Dinge: Der Kartenverkauf erscheint im Auftrag des Kassensystems, die generierte Karte trägt den Code und, falls beim Generieren gesetzt, das Ablaufdatum, die Einlösung reduziert den Auftragsbetrag, die Punkte Historie der Karte zeigt Aufladung und Verbrauch, und die Steuern stehen dort, wo Sie sie erwarten: Im Community-Zweig 20.0 bleibt die Kartenposition ohne Steuer, und die eingelöste Ware trägt die Steuern ihrer Steuerposition. Steuerpositionen prüfen Sie in den Kasseneinstellungen unter Flexible Steuern: Standard wirkt automatisch, Erlaubt erst nach Auswahl im Drei-Punkte-Menü Steuer. Kontrollieren Sie danach den Schichtabschluss in Odoo: Odoo bucht dort bezahlte, nicht fakturierte Aufträge gesammelt, fakturierte Aufträge erscheinen stattdessen auf ihrer Rechnung.
Buchungen für Verkauf und Einlösung
Beim Schichtabschluss erzeugt Odoo für bezahlte, nicht fakturierte Aufträge einen Abschlussbeleg mit Erlöspositionen je Kombination aus Erlöskonto und Steuersatz, dazu die Steuerpositionen und je Zahlungsart eine Forderungsposition (Zahlungsbedingungsposition) auf dem Debitorenkonto der Kasse; nach dem Buchen erzeugt Odoo je Zahlungsart eine eigene Zahlungsbuchung und gleicht sie mit dieser Forderungsposition ab (Community-Zweig 20.0, _create_session_account_move). Ein eigenes Verbindlichkeitskonto für verkaufte Geschenkkarten gehört nicht zu den Standarddaten des Moduls; wenn Sie den Kartenwert davon getrennt ausweisen wollen, legen Sie ein solches Konto selbst an und tragen es beim Karten-Produkt als Erlöskonto ein. Das ist eine redaktionelle Empfehlung, keine dokumentierte Vorgabe; die Abbildung von Verbindlichkeit und Auflösung klären Sie mit Ihrer Steuerberatung.
Beide folgenden Tabellen zeigen die vereinfachte Gesamtwirkung über alle Belege, nicht den einzelnen gebuchten Beleg: Der Abschlussbeleg selbst trägt die Zahlungen über die Forderungsposition auf dem Debitorenkonto, erst die separate Zahlungsbuchung bewegt den Betrag aufs Kassen- oder Bankkonto (Community-Zweig 20.0). Erfundenes Beispiel für die Gesamtwirkung. Ein Betrieb in Deutschland verkauft eine Geschenkkarte über 100,00 Euro gegen Bargeld; das Karten-Produkt steht ohne Umsatzsteuer, und im Community-Zweig 20.0 trägt die Kartenposition unabhängig von den Produktsteuern ohnehin keine Steuer:
| Soll | Haben | Betrag |
|---|---|---|
| Kasse (Bargeldjournal) | 100,00 Euro | |
| Erlöskonto des Geschenkkarten-Produkts | 100,00 Euro |
Später löst der Kunde 59,50 Euro der Karte ein, für Waren, die er in Deutschland regelbesteuert kauft, mit 19 Prozent Umsatzsteuer (§ 12 Abs. 1 UStG), also 50,00 Euro netto und 9,50 Euro Umsatzsteuer, vollständig mit der Karte bezahlt. Odoo bucht die Einlösung als negative Belohnungsposition; deren Produkt legt Odoo automatisch ohne Steuern an (Community-Zweig 20.0):
| Soll | Haben | Betrag |
|---|---|---|
| Erlöskonto des Belohnungsprodukts | 59,50 Euro | |
| Erlöse Waren | 50,00 Euro | |
| Umsatzsteuer 19 Prozent | 9,50 Euro |
Läuft beides in derselben Schicht, stehen alle Positionen in denselben Belegen des Schichtabschlusses. Im Abschlussbeleg stehen auf der Soll-Seite die Forderung je Zahlungsart (hier Bargeld 100,00 Euro) und das Belohnungsprodukt mit 59,50 Euro, auf der Haben-Seite der Karten-Erlös 100,00 Euro, der Waren-Erlös 50,00 Euro und die Umsatzsteuer 9,50 Euro; die separate Zahlungsbuchung Kasse gegen Debitorenkonto über 100,00 Euro für den Kartenverkauf kommt danach dazu (Community-Zweig 20.0). Treue-Rabatte und E-Guthaben laufen über denselben Mechanismus der Belohnungsposition.
Umsatzsteuer: Gutscheinart vor der Einrichtung klären
Im Community-Zweig 20.0 bucht Odoo den Kartenverkauf ohne Umsatzsteuer: Die Kassenoberfläche setzt die Steuern der Kartenposition unabhängig vom Produkt auf leer, und die Umsatzsteuer entsteht erst auf der Ware, die der Kunde mit der Karte kauft. Ob das zur Gutscheinart passt, liegt außerhalb von Odoo; Produktsteuern allein gewährleisten beim Kartenverkauf keine Besteuerung eines Einzweck-Gutscheins. Deutschland unterscheidet seit dem 1. Januar 2019 (§ 27 Abs. 23 UStG: anzuwenden auf nach dem 31. Dezember 2018 ausgestellte Gutscheine) den Einzweck-Gutschein, bei dem Leistungsort und geschuldete Steuer bei der Ausstellung feststehen und die Übertragung wie die Leistung behandelt wird (§ 3 Abs. 14 UStG), vom Mehrzweck-Gutschein, bei dem die Übertragung nicht der Umsatzsteuer unterliegt und die Steuer erst bei der Einlösung entsteht (§ 3 Abs. 15 UStG). Österreich folgt derselben Unterscheidung ab 1.1.2019 in den Umsatzsteuerrichtlinien 2000 des BMF, Abschnitt Gutscheine: Einzweck-Gutscheine unterliegen der Umsatzsteuer auch, wenn sie nicht eingelöst werden, Mehrzweck-Gutscheine erst mit der tatsächlichen Leistung. Preiserstattungs- und Preisnachlassgutscheine sind danach keine der beiden Arten.
Für eine Karte, mit der der Kunde frei zwischen Waren verschiedener Steuersätze wählen kann, bedeutet das in beiden Ländern: kein Umsatzsteuerausweis beim Kartenverkauf, Steuer bei der Einlösung mit den Sätzen der gekauften Ware. Das entspricht dem beschriebenen Ablauf im Community-Zweig 20.0, der den Kartenverkauf ohne Steuer bucht. Für einen Einzweck-Gutschein, bei dem die Steuer schon bei der Ausstellung entsteht, erzeugt dieselbe Kasse dagegen ebenfalls eine steuerfreie Kartenposition; Produktsteuern ändern daran nichts, den Fall klären Sie mit Ihrer Steuerberatung. Für die Zuordnung der Steuern im Modul siehe Umsatzsteuer und Steuerzuordnung in Deutschland. Zur steuerlichen Behandlung von Restwerten und Verfall klären Sie den Fall ebenfalls mit Ihrer Steuerberatung; die geöffneten Quellen dieses Artikels treffen dazu keine Aussage.
Wenn etwas nicht klappt
| Symptom | Ursache | Lösung |
|---|---|---|
| Karte lässt sich an der Kasse nicht verkaufen | Funktion oder Zuordnung fehlt | Schalter in den Kasseneinstellungen setzen; im Programm unter Verfügbar für die Kasse eintragen |
| Programm erscheint an der Kasse nicht | Kasse nicht im Feld Point of Sale des Programms | Programm öffnen, Kasse eintragen oder Feld leer lassen |
| Belohnung oder Code lässt sich nicht anwenden | kein Kunde gewählt oder Punkte fehlen | Kunden wählen; bei E-Geldbörse ist der Kundenbezug Pflicht, bei Treuekarten den Punktestand prüfen |
| Warnhinweis beim Einlösen eines Codes | Karte wurde nicht über die Kasse gekauft | Hinweis mit Ok übernehmen, wenn die Karte stammen darf; sonst Vorgang abbrechen |
| Einlösen meldet zu wenige Punkte | Verbrauch übersteigt den Saldo, auch durch andere Aufträge derselben Schicht | Aufträge einzeln prüfen; Odoo prüft den Saldo beim Abspeichern serverseitig |
| Betrag stimmt mit dem Kassenbericht nicht überein | die Steuern passen nicht zur Gutscheinart: eine Steuerposition der Kasse ändert die angewandten Steuern, oder die eingelöste Ware trägt einen anderen Satz als erwartet | im Community-Zweig 20.0 trägt die Kartenposition selbst keine Steuer; deshalb die Steuerposition der Kasse (Flexible Steuern: Standard wirkt automatisch, Erlaubt erst nach Auswahl) und die Steuern der eingelösten Ware im Schichtabschluss prüfen |
Wann Sie Hilfe holen sollten
Bevor Sie Karten im realen Verkauf ausgeben, testen Sie Verkauf, Einlösung, Restbetrag und Schichtabschluss in einer Testdatenbank und gleichen Sie die erzeugten Buchungen mit dieser Anleitung ab. Die Wahl der Gutscheinart und die Kontoführung sind steuerliche Entscheidungen; klären Sie sie mit Ihrer Steuerberatung, bevor das erste Kartenprogramm live geht. Für die Fiskalisierung der Kasse in Deutschland und Österreich gelten daneben die eigenen Pflichten der Artikel zur TSE-Pflicht in Deutschland und zur Registrierkassenpflicht in Österreich.