El export de Stripe tiene el campo transaction_id. El CSV de Xero tiene el campo Reference. Los dos pueden señalar el mismo pago, pero Excel no lo sabe a menos que construyas la coincidencia tú mismo.

Ahí es donde la conciliación suele romperse.

Un contador freelance rara vez trabaja con el mismo esquema Stripe-Xero en todos sus clientes. Uno exporta las transacciones de saldo de Stripe. Otro envía los movimientos de cuenta de Xero. Un tercero te da un estado de cuenta, un reporte de pagos de Stripe y un export del diario manual de Xero con rangos de fechas distintos. El problema no es que Stripe o Xero sean complicados. Es que la estructura de los archivos cambia de cliente en cliente.

La solución no es forzar a cada cliente a usar la misma hoja maestra. Es construir un flujo de trabajo por archivos que aguante encabezados, campos de fecha, signos de monto y columnas de referencia distintos.

Qué muestran realmente los dos archivos

Stripe y Xero no exportan la misma vista de una transacción.

Stripe suele mostrar la actividad de pagos. Según el export, el archivo puede incluir cobros, reembolsos, comisiones, disputas, movimientos de saldo, IDs de pago y montos netos. Xero suele mostrar los asientos contables. El CSV de Xero puede contener transacciones bancarias, pagos de facturas, líneas de diario, códigos de cuenta, nombres de contactos, referencias y estado de conciliación.

Eso significa que los dos archivos pueden describir el mismo movimiento de efectivo desde ángulos distintos.

Campo de StripeCampo de Xero que puede servir de coincidenciaQué puede salir mal
transaction_idReferenceXero puede guardar el ID de Stripe dentro de un campo de texto más largo
payout_idDescription o referencia del estado de cuentaEl ID del pago puede no estar registrado en Xero
createdDateLa marca de tiempo de Stripe puede ser UTC mientras que Xero usa la fecha de registro local
available_onDate o fecha bancariaLa fecha de disponibilidad del pago puede diferir de la fecha contable
grossAmountXero puede registrar el monto neto recibido en lugar del bruto de la venta
feeLínea de gasto por comisiónLa comisión puede estar ausente o contabilizada en un lote mensual
netMonto recibido en bancoEl neto puede coincidir con el banco mientras el bruto no coincide con las ventas

Si intentas cruzar el par de columnas equivocado, registros válidos parecen faltantes.

Por ejemplo, un cobro de Stripe puede tener:

Campo de StripeValor
transaction_idch_3P9K2L
created2026-05-30 23:42:11 UTC
gross400.00
fee-12.20
net387.80
payout_idpo_1AB982

El export de Xero puede mostrar:

Campo de XeroValor
Date2026-05-31
Referencech_3P9K2L
DescriptionStripe payment - Customer A
Amount400.00
AccountSales

Las dos filas coinciden por ID de transacción y monto bruto, pero no por fecha ni por monto neto. Si cruzas por fecha más monto, este pago falla. Si cruzas por referencia más monto bruto, pasa.

Esa elección es la conciliación.

Define qué export de Stripe estás conciliando

No empieces abriendo los dos archivos para buscar el mismo total. Primero define qué representa el archivo de Stripe.

Un export de transacciones, un reporte de conciliación de pagos, un export de movimientos de saldo y un reporte de comisiones responden preguntas distintas.

Tipo de export de StripeUso principalCon qué debe conciliarse
Export de pagos o cobrosComprobar la actividad de ventasPagos de facturas o asientos de ventas en Xero
Export de movimientos de saldoExplicar el movimiento bruto, comisión y netoVentas, comisiones, reembolsos y ajustes en Xero
Reporte de conciliación de pagosComprobar lo que llegó al bancoCSV de cuenta bancaria o estado de cuenta en Xero
Reporte de comisionesVerificar las comisiones del procesadorCuenta de gastos por comisiones en Xero
Export de reembolsos o disputasEncontrar reducciones que faltan en librosReembolsos, notas de crédito o ajustes en Xero

Este paso evita el falso descuadre más frecuente: comparar los cobros brutos de Stripe con los ingresos bancarios de Xero.

No se supone que sean iguales.

Los cobros brutos de Stripe son anteriores a las comisiones, los reembolsos, las disputas y el calendario de los pagos. Los ingresos bancarios de Xero pueden mostrar solo el efectivo que llegó. Si el cliente registra la actividad de Stripe en neto, la línea bancaria de Xero será menor que el monto bruto de Stripe. Eso no es necesariamente un error. Significa que hay que explicar el puente del bruto al neto.

Para un flujo de trabajo más detallado a nivel de pago, aplica la misma lógica que en conciliar un CSV de pago de Stripe con un estado de cuenta bancario: parte del depósito bancario, identifica el pago y luego desglosa las transacciones que lo componen.

Arma la clave de cruce antes de correr las fórmulas

La clave de cruce es el campo que prueba que dos filas representan el mismo evento.

Para Stripe y Xero, la mejor clave suele ser el ID de transacción de Stripe si Xero lo tiene registrado. Puede aparecer en Xero como Reference, Invoice Number, Description, Payment Reference o en una nota ingresada manualmente.

Si Xero no tiene el ID de transacción de Stripe, usa una clave compuesta. Una clave compuesta combina campos que solos son débiles pero juntos son sólidos.

Combinaciones útiles:

Clave compuestaCuándo funciona
Monto + cliente/contacto + ventana de fechasConciliar pagos de clientes individuales
ID de pago + monto netoConciliar depósitos de pagos
Número de factura + monto brutoConciliar pagos de Stripe con recibos de facturas de Xero
Referencia de orden + montoConciliar pagos de e-commerce registrados en Xero
Ventana de fechas + monto + fragmento de descripciónConciliar líneas de feed bancario sin ID de transacción

La ventana de fechas importa porque las fechas de Stripe y Xero suelen diferir. Un pago capturado tarde en la noche en UTC puede aparecer al día siguiente en Xero. Un pago puede incluir transacciones de varios días. Un depósito bancario puede registrarse después de que Stripe lo marque como disponible.

No uses coincidencia exacta por fecha a menos que hayas confirmado que los dos archivos usan la misma base de fecha.

Para este flujo, crea cuatro campos auxiliares antes de comparar:

Campo auxiliarPropósito
Referencia normalizadaElimina espacios, diferencias de mayúsculas y texto adicional alrededor del ID
Ventana de fechasPermite una tolerancia de uno a tres días donde el momento del pago o la zona horaria difieren
Monto con signoHace comparables los signos de débito y crédito
Base del montoIndica si el monto es bruto, comisión, neto, reembolso o ajuste

Para el campo Referencia normalizada, la fórmula base es:

Fórmula
=ESPACIOS(SUSTITUIR(MAYUSC(A2),CARACTER(160)," "))

La columna A es el campo de referencia: el ID de transacción de Stripe, el ID del pago o el número de factura. ESPACIOS elimina los espacios comunes; CARACTER(160) cubre el espacio de no separación que Xero a veces exporta. Si el ID de Stripe aparece dentro de una descripción más larga como "Payment ch_3P9K2L for client", extráelo con EXTRAE antes de normalizar. Para el campo Monto con signo, usa ABS(VALOR(B2)) donde la columna B es el monto: VALOR convierte textos numéricos, ABS elimina la diferencia de signo.

Aquí es donde BUSCARV con ESPACIOS suele fallar. ESPACIOS maneja los espacios. No resuelve el problema más difícil: los dos archivos pueden no guardar el mismo evento en la misma columna, en la misma fecha ni con la misma base de monto.

Separa bruto, comisiones, reembolsos y neto antes de comparar totales

Una conciliación Stripe-Xero no empieza con un total y una fórmula. Necesita un puente.

Usa esta estructura:

Capa de conciliaciónFuente en StripeFuente en XeroResultado esperado
Ventas brutasCobros o pagosVentas o recibos de facturasDebe coincidir después de diferencias de fecha
ComisionesColumna de comisiones o export de comisiones de StripeCuenta de gastos por comisionesDebe coincidir o listarse como faltante
ReembolsosFilas de reembolsoReembolsos, notas de crédito o ajustesDebe coincidir por referencia o monto
DisputasFilas de disputaAsientos de contracargo o ajusteDebe registrarse por separado
Pago netoReporte de pagosCuenta bancaria de Xero o CSV bancarioDebe coincidir con el efectivo depositado

Esta estructura evita que la conciliación se colapse en una sola diferencia sin explicar.

Supón que Stripe muestra:

Categoría en StripeMonto
Cobros brutos8,000.00
Comisiones-248.00
Reembolsos-300.00
Pago neto7,452.00

Xero muestra:

Categoría en XeroMonto
Ingresos por ventas8,000.00
Comisiones de Stripe registradas-248.00
Reembolsos registrados0.00
Ingreso bancario7,452.00

El ingreso bancario es correcto. Las ventas son correctas. La comisión es correcta. Lo que falta es el asiento del reembolso.

Si partes de "Stripe no coincide con Xero", no tienes respuesta. Si separas las capas, la respuesta es precisa: hay un reembolso en Stripe que no fue registrado en Xero.

Eso es lo que el cliente puede usar.

Prepara el CSV de Xero antes de que dañe el cruce

Los exports de Xero cambian según el reporte, el rango de fechas, la cuenta y las columnas seleccionadas. Eso importa porque una fórmula construida para un export puede apuntar en silencio a la columna equivocada en el siguiente.

Antes de cruzar, revisa estos puntos:

RevisiónPor qué importa
Encabezados de columnasReference, Description e Invoice Number pueden tener distintos valores de coincidencia
Formato de fechaXero puede exportar fechas locales mientras Stripe usa campos UTC con marca de tiempo
Signos de montoLos ingresos y pagos pueden exportarse como positivos o negativos según el reporte
Filtro de cuentaUn export de cuenta bancaria no contendrá todos los asientos de comisiones o reembolsos
Estado de conciliaciónLas filas de Xero sin conciliar pueden ser pagos válidos que aún esperan la conciliación bancaria
Ediciones manualesLas referencias agregadas por el cliente pueden ser inconsistentes entre meses

Si el archivo de Xero es un export de cuenta bancaria, crúzalo con los pagos de Stripe o la actividad neta orientada al banco. Si es un export de pagos de facturas, crúzalo con los cobros o registros de pago de Stripe. Si es un export del libro mayor, separa primero los códigos de cuenta para que ventas, comisiones, reembolsos e ingresos bancarios no queden en la misma comparación.

El tipo de archivo determina la lógica del cruce.

Por eso un proceso que funcionó para el cliente del mes pasado puede fallar este mes. El export sigue siendo de Xero, pero no es el mismo reporte. Si los encabezados o las cuentas incluidas cambiaron, la fórmula de búsqueda anterior ya no es confiable.

Para más detalle sobre este problema de export específico, lee cómo los exports de estado de cuenta bancario de Xero difieren de los CSV bancarios sin procesar.

Usa un flujo de trabajo repetible para cada cliente

Para un contador freelance, la pregunta práctica no es "¿Puedo conciliar este archivo de Stripe con este CSV de Xero?"

La pregunta es si el proceso aguanta el próximo cliente.

Usa la misma secuencia siempre, aunque cambien las columnas:

  1. Identifica el tipo de export de Stripe.
  2. Identifica el tipo de export de Xero.
  3. Define la base del monto: bruto, comisión, reembolso, disputa o neto.
  4. Elige la clave de cruce más sólida disponible.
  5. Normaliza las referencias y los signos de monto.
  6. Permite una ventana de fechas donde apliquen diferencias de zona horaria o momento del pago.
  7. Haz coincidir primero las referencias exactas.
  8. Haz coincidir después las claves compuestas.
  9. Separa los desfases de fecha esperados de los registros realmente faltantes.
  10. Produce una lista de excepciones con el motivo por el que cada fila falló.

La lista de excepciones es la parte que más importa.

No debe decir:

Salida incorrectaPor qué falla
Sin conciliarNo da ningún motivo
DiferenciaNo dice si el monto, la fecha o la referencia son el problema
Revisar manualmenteLe devuelve el trabajo al contador

Debe decir:

Mejor salidaQué te dice
Reembolso de Stripe faltante en XeroRegistrar o investigar el reembolso
Ingreso de Xero sin ID de transacción de StripeVerificar si fue pagado fuera de Stripe
Misma referencia, monto diferenteRevisar el tratamiento de comisiones o pago parcial
Mismo monto, fecha fuera de toleranciaVerificar el momento del pago o la fecha de registro
Pago de Stripe coincide con banco, pero faltan comisionesRegistrar las comisiones por separado

Esa es la diferencia entre una hoja de cálculo que resalta celdas y un reporte de conciliación que cierra la pregunta.

Qué debe mostrar un reporte de conciliación correcto

El reporte final debe probar tres cosas.

Primero, el efectivo está explicado. El pago de Stripe o la actividad neta debe corresponder con la cuenta bancaria de Xero o el asiento orientado al banco.

Segundo, los ingresos están explicados. Los cobros brutos de Stripe deben corresponder con las ventas o los recibos de facturas de Xero después de las diferencias de fecha.

Tercero, las diferencias están clasificadas. Comisiones, reembolsos, disputas, desfases de fecha, asientos faltantes en Xero y referencias faltantes en Stripe no deben quedar en un solo grupo sin explicar.

Un reporte útil se ve así:

SecciónQué contiene
ResumenTotal de Stripe, total de Xero, diferencia explicada, diferencia sin explicar
Filas conciliadasRegistros que coinciden por referencia, monto y ventana de fechas aceptable
Diferencias de fechaMisma transacción, desfase de tiempo aceptable
Diferencias de montoMisma transacción, monto no coincide
Faltante en XeroRegistros de Stripe no encontrados en el CSV de Xero
Faltante en StripeRegistros de Xero no encontrados en el export de Stripe
Puente comisiones/reembolsos/disputasReducciones esperadas del bruto al neto
Lista de acciones para el clienteAsientos por registrar, corregir o confirmar

Si el reporte no puede mostrar por qué existe una diferencia, la conciliación no está terminada. El cliente no necesita una hoja de cálculo con colores. Necesita saber si los libros están mal, si el tiempo de Stripe es diferente o si falta un registro.

Dónde suele romperse el proceso

La mayoría de las conciliaciones fallidas de Stripe a Xero se rompen en uno de cinco puntos.

Se compara el total equivocado de Stripe con el total equivocado de Xero. Los cobros brutos se comparan con los ingresos bancarios, o los pagos se comparan con las ventas. Los números difieren porque representan etapas distintas del flujo de pagos.

La clave de cruce está oculta dentro de un campo de descripción. Xero puede incluir el ID de Stripe, pero no en una columna de referencia limpia. Si la fórmula solo lee Reference, coincidencias válidas fallan.

Las fechas se tratan como exactas cuando son campos de tiempo. La hora de transacción de Stripe, la fecha disponible de Stripe, la fecha del pago, la fecha bancaria y la fecha de registro en Xero no son intercambiables.

Las comisiones se registran en neto en lugar de por separado. El monto bancario puede coincidir mientras las cuentas de ventas y comisiones siguen incorrectas.

El proceso depende de la estructura de archivo de un solo cliente. Copiar la fórmula del mes anterior en el libro de un nuevo cliente asume los mismos encabezados, signos y referencias. Esa suposición falla con frecuencia.

La solución no es una mejor fórmula de búsqueda. Es un flujo de trabajo que nombra el tipo de archivo, nombra la base del monto y produce un reporte de excepciones clasificado.

La manera correcta de conciliar datos de Stripe con exports CSV de Xero es dejar de tratar los dos archivos como dos versiones de la misma tabla. No lo son. Stripe muestra los movimientos de pagos. Xero muestra los registros contables. La conciliación funciona cuando defines el puente entre ellos, cruzas con la clave correcta y explicas cada diferencia en un reporte que el cliente puede usar.