Zum Hauptinhalt springen
Version: 1.x

Rückerstattungen

Pro-Funktion

Die Ausstellung von Rückerstattungen im POS erfordert WCPOS Pro. Ohne Pro können Rückerstattungen weiterhin über WP Admin → WooCommerce → Orders mit der integrierten Rückerstattungsfunktion von WooCommerce verarbeitet werden.

Mit WCPOS können WooCommerce-Bestellungen direkt an der Kasse zurückerstattet werden. Es ist möglich, eine vollständige oder teilweise Rückerstattung auszustellen, den Betrag auf die ursprüngliche Zahlungsmethode zurückzubuchen (sofern das Zahlungsgateway dies unterstützt) oder eine Barrückerstattung aus der Kasse zu erfassen — die Rückerstattung wird mit dem Kassierer und der Filiale, die sie verarbeitet hat, für die Berichterstattung gekennzeichnet.

Eine Rückerstattung starten

Es gibt zwei Möglichkeiten, das Rückerstattungsformular zu öffnen:

  1. Über die Bestellliste — die Bestellung suchen, auf das Dreipunktmenü () in der Aktionsspalte klicken und Rückerstattung auswählen.
  2. Aus der Bestellansicht — die Bestellung öffnen und dann auf die Schaltfläche Rückerstattung in der Fußzeile neben Beleg drucken und Abbrechen klicken.

Beide Wege öffnen dasselbe Modal Bestellung #{number} erstatten.

Wann die Rückerstattungsaktion angezeigt wird

Rückerstattung wird nur für Bestellungen mit den folgenden Status angeboten:

  • Abgeschlossen
  • In Bearbeitung
  • Wartend

Sie wird nicht bei Bestellungen mit dem Status Pending, Cancelled, Failed, POS – Open oder bereits vollständig Refunded angezeigt. Um eine bereits vollständig erstattete Bestellung oder eine Bestellung mit einem oben nicht aufgeführten Status zu erstatten, verwenden Sie WP Admin → WooCommerce → Orders.

Das Rückerstattungsformular

Am oberen Rand des Modals werden zwei Werte angezeigt:

  • Gesamtbetrag — der Bestellbetrag.
  • Bereits erstattet — die Summe aller bereits für diese Bestellung ausgestellten Erstattungen (als negativer Betrag dargestellt). Wird nur angezeigt, wenn mindestens eine vorherige Erstattung vorliegt.

Darunter befindet sich die Tabelle der Einzelpositionen:

SpalteBeschreibung
ProduktDer Name der Einzelposition
PreisStückpreis (inkl. oder exkl. Steuer, abhängig von Ihrer Shop-Einstellung)
MengeDie verbleibende erstattungsfähige Menge (gekaufte Menge abzüglich bereits erstatteter Menge)
ErstattungsmengeBearbeitbar — wie viele Einheiten dieser Position jetzt erstattet werden sollen
ErstattungsbetragAutomatisch berechnet aus Erstattungsmenge × Stückpreis, einschließlich der anteiligen Steuer der Position

Unterhalb der Tabelle:

  • Benutzerdefinierter Betrag — ein optionaler Zusatzbetrag zur Erstattung (z. B. zur Erstattung einer Gebühr, die keiner bestimmten Einzelposition zugeordnet ist). Lassen Sie dieses Feld leer, wenn es nicht benötigt wird.
  • Grund — eine optionale Notiz, die im Erstattungsdatensatz gespeichert wird und in den Bestellnotizen von WooCommerce erscheint.
  • Erstattungsziel — eine Auswahlgruppe (siehe unten).
  • Refund Total — the grand total of the refund, recalculated live as you type.

Refunding Whole vs. Partial Quantities

There's no separate "full refund" mode — set the Refund Qty for every line to its full remaining quantity to refund the whole order, or set it on just one or two lines for a partial refund. The Process Refund button is disabled until Refund Total is greater than zero and within the remaining refundable amount.

Refund Destination

For orders paid with anything other than the built‑in POS Cash gateway, the form asks where the refund should go:

  • Refund to (gateway name) — the gateway processes the refund through its own provider API. For Stripe Terminal this returns the funds to the original card; for Vipps MobilePay it issues a Vipps refund; and so on. This option only appears for gateways that advertise refund support to the POS — if your gateway doesn't, the option is disabled with the message "Original payment method refunds are unavailable for this order."
  • Refund via cash — record the refund as cash returned from the till, regardless of how the order was originally paid. The cashier physically hands the money over; WooCommerce records the refund but does not call any gateway.

For orders paid with POS Cash, the radio group is hidden — cash is the only sensible destination, so it's used automatically.

If WCPOS can't reach the gateway to check refund support, you'll see "Couldn't verify original payment method refunds. Cash refunds are still available." — you can still issue a cash refund.

When to Use Cash vs. Original Method

SituationRecommended destination
Card payment via Stripe Terminal / Vipps / etc., customer present and wants the money back on their cardRefund to (gateway)
Card payment but customer prefers cash back (and you're allowed to do that)Refund via cash
Cash saleRefund via cash (automatic; no choice shown)
Manual card terminal (the gateway can't refund automatically)Refund via cash, then refund manually on your standalone terminal

Confirming and Submitting

When you press Process Refund, a confirmation dialog asks "Refund (amount) for Order #(number)?". Confirming triggers the refund:

  1. WCPOS sends the refund to your WooCommerce store.
  2. For gateway refunds, WooCommerce hands off to the gateway plugin to process the refund against the provider (Stripe, Vipps, etc.).
  3. The order is refreshed locally so the new refund appears immediately.
  4. A success toast confirms "Refund of (amount) processed".

If the gateway rejects the refund (declined card, expired authorization, network error, etc.), an error toast shows the gateway's message. The refund won't be recorded in WooCommerce in that case — you can adjust the form and try again, or fall back to a cash refund.

After the Refund

  • Partial refund — the order keeps its existing status (Completed, etc.), and the order view modal shows a Partially refunded pill plus a −(amount) refund line in the hero subtitle.
  • Full refund — WooCommerce sets the order status to Refunded.
  • Receipts — when viewing the receipt for a refunded order, switching to Live mode shows the refund reflected in the totals (Refunded -X and Net Total Y rows on detailed receipts). Fiscal mode still shows the original payment‑complete snapshot, untouched — that's what fiscal mode is for.
  • Cashier and store audit — every POS refund is tagged with the cashier (_pos_user) and store (_pos_store) that issued it, so refunds appear under the right cashier and store in reporting.

Things to Know

  • Coupons + refunds: orders that used a coupon can still be refunded from the POS, but if you need to adjust how the coupon is recalculated against the refund, use WP Admin → WooCommerce → Orders.
  • Negative quantities are not supported. Older versions (v0.4.x) let you add a line with a negative quantity to record a return — this no longer works in v1.x. Use the Refund flow instead.
  • Refunds require a server connection. Unlike checkout, you can't queue a refund offline — the gateway and your store both need to be reachable.
  • Issuing additional refunds on a fully‑refunded order must be done from WP Admin → WooCommerce → Orders.