# Test-Punchout

Aus dem Portal einen echten Punchout per OCI, cXML oder IDS Connect im eigenen Shop starten und sehen, was ein Einkaufssystem erhalten hätte.

URL: https://punchout.dev/de/docs/getting-started/test-punchout/

Diese Seite erklärt den Test-Punchout des Portals: einen Punchout-Durchlauf durch Ihren Shop, in dem das Portal die Rolle des Einkaufssystems übernimmt.

## Was ein Test-Punchout ist

Ein Test-Punchout ruft Ihren Shop so auf, wie es ein Einkaufssystem tun würde. Der einzige Unterschied ist, wohin der Warenkorb am Ende geht: an punchout.dev auf `api.punchout.dev` statt an ein Einkaufssystem. Tag, Panel, das Lesen des Warenkorbs und die Übergabe laufen wie bei einem echten Einkäufer. Ein bestandener Test belegt deshalb den ganzen Durchlauf.

Gestartet wird der Test im Schritt **Test-Punchout** im Tab **Einrichtung** des Shops oder über die Kachel **Test-Punchout** auf der Übersicht. Inhaber und Admins können Tests starten, Viewer sehen die Ergebnisse.

## Die drei Protokolle

| Protokoll | Was das Portal tut |
| --- | --- |
| **OCI (SAP)** | Öffnet Ihren Shop wie ein SAP-System, auf der ersten erlaubten Origin und dem Landing-Pfad |
| **cXML (Ariba, Coupa)** | Startet den Punchout wie Ariba oder Coupa über die cXML-Launch-URL des Shops und öffnet die Startseite aus der Antwort |
| **IDS Connect (Handwerkersoftware)** | Startet den Punchout wie eine Handwerkersoftware über die IDS-Connect-Launch-URL des Shops und öffnet den Shop |

Während ein Test per cXML oder IDS Connect läuft, zeigt die Liste **Einkäufer** des Shops einen temporären Eintrag „Test-Punchout (temporär)“. Er zählt nicht als Verbindung und wird nach dem Test entfernt.

Ein Test-Punchout meldet sich nie per Auto-Login an.

## Einen Test durchführen

1. Wählen Sie das **Protokoll** und klicken Sie auf **Test starten**.
2. Das Portal öffnet Ihren Shop in einem neuen Tab. Blockiert ein Popup-Blocker den Tab, klicken Sie auf **Shop-Tab öffnen**.
3. Im Shop erscheint das Punchout-Panel. Legen Sie ein paar Produkte in den Warenkorb und öffnen Sie die Warenkorbseite. Das Panel liest den Warenkorb und listet die Positionen auf.
4. Prüfen Sie die Positionen und klicken Sie auf **An Einkaufssystem übergeben**. Das Panel nennt als Ziel `api.punchout.dev`.
5. Der Browser zeigt eine Seite „Übergabe empfangen“ mit „Der Testeinkauf wurde übergeben“, der Zahl der Positionen und einem Link zurück ins Portal („Zurück zum Portal“).
6. Der Portal-Tab zeigt das Ergebnis. Bis dahin steht dort „Warten auf die Übergabe aus dem Shop“, und das Portal fragt alle 5 Sekunden nach.

Um stattdessen den Abbruch zu testen, klicken Sie im Panel auf **Zurück zum Einkaufssystem** und bestätigen mit **Ja, zurück**. Auch diesen leeren Rücksprung nimmt der Test an.

## Gültigkeit

| Angabe | Wert |
| --- | --- |
| Gültig | 60 Minuten ab dem Start |
| Nutzungen | Eine. Es zählt die erste Übergabe, die ankommt. Eine Wiederholung bekommt „Dieser Test-Link ist abgelaufen.“ |
| Abgelaufen | Das Portal zeigt „Der Test ist abgelaufen.“ Starten Sie einen neuen |
| Ergebnis aufbewahrt | 30 Tage nach dem Eingang |

Auch das Sofort-Tag auf der Startseite erzeugt einen solchen Test, immer per OCI und 60 Minuten gültig.

## Was das Ergebnis zeigt

Das Portal zeigt „Übergabe empfangen“ mit der Zahl der Positionen und dem Zeitpunkt, darunter eine Tabelle mit **Bezeichnung**, **Menge**, **Einheit**, **Preis**, **Währung** und **Artikelnummer** sowie die **Gesamtsumme**. **Rohdaten der Übergabe** zeigt die Übergabe so, wie sie angekommen ist: die **Art der Übergabe**, die Zahl der Felder und jedes Feld je Position.

Die **Art der Übergabe** nennt das Protokoll und gibt an, ob Positionen angekommen sind. Ein Test des Abbruchs erscheint als Rücksprung oder Nachricht ohne Positionen. „nicht lesbar“ heißt, dass punchout.dev nicht lesen konnte, was ankam.

## Was Sie prüfen

- Jedes Produkt aus dem Warenkorb ist angekommen, genau einmal und mit der richtigen Menge.
- Bezeichnungen und Artikelnummern sind die, die Ihr Shop zeigt. Die Spalte **Artikelnummer** zeigt die Artikelnummer des Shops.
- Die Preise sind netto oder brutto, so wie Ihre Einkäufer es erwarten. Zeigt der Warenkorb Preise mit MwSt. und brauchen die Einkäufer Nettopreise, stellen Sie im Tab **Allgemein** die **Preisangabe** auf die Option, die die MwSt. herausrechnet, tragen den **MwSt.-Satz** ein und testen erneut.
- Währung und Einheit passen zu dem, was das Einkaufssystem erwartet (**Währung** und **Mengeneinheit** im Tab **Allgemein**).
- Der Abbruch kommt sauber zurück.

## Wenn der Test nicht startet

| Meldung | Ursache | Lösung |
| --- | --- | --- |
| „Der Testempfänger steht nicht auf der Liste der erlaubten Rücksprung-Hosts.“ | Der Shop schränkt **Erlaubte Rücksprung-Hosts** ein | Tragen Sie `api.punchout.dev` unter **Allgemein** → **Erlaubte Rücksprung-Hosts** ein |
| „Dieser Shop ist inaktiv.“ | **Shop aktiv** ist aus | Schalten Sie **Shop aktiv** unter **Allgemein** ein |
| „Die Sandbox dieses Shops ist abgelaufen.“ | Der Sandbox-Zeitraum des Shops ist vorbei | Wählen Sie einen bezahlten Plan. Siehe [Pläne und Sandbox](https://punchout.dev/de/docs/account/plans-and-sandbox/) |
| „Der cXML-Test ließ sich nicht starten.“ oder „Der Test per IDS Connect ließ sich nicht starten.“ | Der Launch wurde abgewiesen oder nicht beantwortet | Versuchen Sie es später erneut |

Der Test-Punchout schickt seinen Warenkorb an `https://api.punchout.dev`, und punchout.dev gleicht ihn wie jedes Einkaufssystem mit **Erlaubte Rücksprung-Hosts** ab. Ein Shop, der diese Liste einschränkt, muss `api.punchout.dev` eintragen, solange er den Test-Punchout nutzt. Ein Shop, der eine Content-Security-Policy sendet, muss für diese Zeit `https://api.punchout.dev` in `form-action` erlauben. Sobald `api.punchout.dev` auf der Liste steht, nimmt die Zeile `form-action` im Tab **Einbindung** ihn auf ([Das Tag einbinden](https://punchout.dev/de/docs/getting-started/install-the-tag/)).

## Wie gezählt wird

- Ein empfangener Test erledigt den Checklisten-Schritt **Test-Punchout** für 30 Tage.
- Die Sandbox erlaubt Test-Punchouts. Der Launch eines echten Einkäufers wird dort abgewiesen, ein Test nicht.
- Eine Test-Übergabe erscheint bei den **Übergaben** des Shops im Tab **Nutzung**. Sie wird gesondert als Test gezählt und nie auf das monatliche Übergabe-Kontingent Ihres Plans angerechnet.
- Das Lesen des Warenkorbs während eines Tests verbraucht das Tagesbudget des Shops wie jeder Punchout.
- Im Tab **Nutzung** ist eine laufende Test-Session mit **Test** markiert.

Weiter: [Einen Einkäufer verbinden](https://punchout.dev/de/docs/getting-started/connect-a-buyer/).
