Punchout Troubleshooter
Structured diagnosis for punchout catalog failures between procurement platforms (Coupa, Ariba, SAP, NetSuite, Workday) and supplier ecommerce sites.
Inputs
- Raw cXML PunchOutSetupRequest / PunchOutSetupResponse payloads, or OCI hook URL and return parameters
- Symptom description (setup fails, catalog loads but cart does not return, wrong pricing, session drops)
Sanitized example payloads for each failure class live in references/payload_examples/.
Workflow
- Classify the failure using the decision tree in
references/failure_taxonomy.md: credential/auth (403, invalid Identity/SharedSecret), session (BuyerCookie mismatch, expired session), transport (TLS, redirect chain, POST vs GET), payload (malformed cXML, missing DTD, encoding), cart return (PunchOutOrderMessage schema, unit price vs extended price mismatch, UOM mapping).
- Run
scripts/validate_cxml.py against the payload to check schema conformance and flag the exact failing element.
- Cross-check credentials domain conventions per platform in
references/platform_conventions.md (NetworkID vs DUNS vs custom domain).
- Produce a diagnosis: failing layer, exact evidence line from the payload, fix owner (buyer platform, supplier site, or network), and the test that confirms the fix.
Output format
## Diagnosis (one sentence), ## Evidence (quoted payload lines), ## Fix (owner plus change), ## Verification (the POSTMAN or curl simulation that proves resolution).
Guardrails
- Never guess the failing layer. If the payload does not contain the evidence, name the exact log or payload still needed.
- Strip credentials and secrets from any payload before including it in output.
1---2name: punchout-troubleshooter3description: Diagnose cXML and OCI punchout catalog failures from request/response payloads. Use this skill whenever the user mentions punchout, PunchOutSetupRequest, POSR, cXML errors, OCI hook URL issues, cart transfer failures, session timeout on catalog return, or pastes cXML/XML payloads from a procurement integration, even if they only say "the catalog is broken."4---56# Punchout Troubleshooter78Structured diagnosis for punchout catalog failures between procurement platforms (Coupa, Ariba, SAP, NetSuite, Workday) and supplier ecommerce sites.910## Inputs1112- Raw cXML PunchOutSetupRequest / PunchOutSetupResponse payloads, or OCI hook URL and return parameters13- Symptom description (setup fails, catalog loads but cart does not return, wrong pricing, session drops)1415Sanitized example payloads for each failure class live in `references/payload_examples/`.1617## Workflow18191. Classify the failure using the decision tree in `references/failure_taxonomy.md`: credential/auth (403, invalid Identity/SharedSecret), session (BuyerCookie mismatch, expired session), transport (TLS, redirect chain, POST vs GET), payload (malformed cXML, missing DTD, encoding), cart return (PunchOutOrderMessage schema, unit price vs extended price mismatch, UOM mapping).202. Run `scripts/validate_cxml.py` against the payload to check schema conformance and flag the exact failing element.213. Cross-check credentials domain conventions per platform in `references/platform_conventions.md` (NetworkID vs DUNS vs custom domain).224. Produce a diagnosis: failing layer, exact evidence line from the payload, fix owner (buyer platform, supplier site, or network), and the test that confirms the fix.2324## Output format2526`## Diagnosis` (one sentence), `## Evidence` (quoted payload lines), `## Fix` (owner plus change), `## Verification` (the POSTMAN or curl simulation that proves resolution).2728## Guardrails2930- Never guess the failing layer. If the payload does not contain the evidence, name the exact log or payload still needed.31- Strip credentials and secrets from any payload before including it in output.