---
title: "Refund / Reconciliation Mismatch Troubleshooting"
description: "Diagnose divergence between booking cancellation and payment refund state across amount, currency, partial refunds and provider evidence."
slug: "refund-reconciliation-mismatch-troubleshooting"
translationKey: "troubleshooting-refund-reconciliation-mismatch"
locale: "en"
type: "troubleshooting"
category: "troubleshooting"
tags: ["refund","reconciliation","payment","cancellation","mismatch"]
publishedAt: "2026-09-27"
updatedAt: "2026-09-27"
reviewedAt: "2026-09-27"
technicalVerifiedAt: "2026-09-27"
codeExampleStatus: "illustrative"
---

Booking cancellation and payment refund are separate lifecycles. A successful cancellation can coexist with an incomplete, partial or UNKNOWN refund.

## Symptom

A booking is CANCELLED but refund is missing, refunded amount differs from expectation, partial refunds disagree across systems, or the payment provider shows REFUNDED while local ledger is stale.

## Possible causes

Failed/UNKNOWN refund, cancellation penalties, partial refunds, FX differences, settlement delays, duplicate-refund protection or local ledger-write failure.

## Diagnosis

Locate original capture amount, verify cancellation penalty, retrieve refund attempt/provider status, aggregate partial refunds, separate original/settlement currency and reconcile local ledger against provider totals.

## Recovery

Before sending another refund, determine the existing attempt outcome. Repair local state when the provider already refunded; otherwise apply remaining refund or operational escalation according to policy.

## Prevention

Use separate refund state, immutable payment ledgers, operation-scoped idempotency, explicit amount/currency breakdown, scheduled reconciliation and manual thresholds.

## Observability

Track cancelled-without-refund, refund age, expected-vs-actual delta, partial refunds, refund UNKNOWN and ledger/provider drift.
