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 Stripe | Campo de Xero que puede servir de coincidencia | Qué puede salir mal |
|---|---|---|
transaction_id | Reference | Xero puede guardar el ID de Stripe dentro de un campo de texto más largo |
payout_id | Description o referencia del estado de cuenta | El ID del pago puede no estar registrado en Xero |
created | Date | La marca de tiempo de Stripe puede ser UTC mientras que Xero usa la fecha de registro local |
available_on | Date o fecha bancaria | La fecha de disponibilidad del pago puede diferir de la fecha contable |
gross | Amount | Xero puede registrar el monto neto recibido en lugar del bruto de la venta |
fee | Línea de gasto por comisión | La comisión puede estar ausente o contabilizada en un lote mensual |
net | Monto recibido en banco | El 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 Stripe | Valor |
|---|---|
| transaction_id | ch_3P9K2L |
| created | 2026-05-30 23:42:11 UTC |
| gross | 400.00 |
| fee | -12.20 |
| net | 387.80 |
| payout_id | po_1AB982 |
El export de Xero puede mostrar:
| Campo de Xero | Valor |
|---|---|
| Date | 2026-05-31 |
| Reference | ch_3P9K2L |
| Description | Stripe payment - Customer A |
| Amount | 400.00 |
| Account | Sales |
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 Stripe | Uso principal | Con qué debe conciliarse |
|---|---|---|
| Export de pagos o cobros | Comprobar la actividad de ventas | Pagos de facturas o asientos de ventas en Xero |
| Export de movimientos de saldo | Explicar el movimiento bruto, comisión y neto | Ventas, comisiones, reembolsos y ajustes en Xero |
| Reporte de conciliación de pagos | Comprobar lo que llegó al banco | CSV de cuenta bancaria o estado de cuenta en Xero |
| Reporte de comisiones | Verificar las comisiones del procesador | Cuenta de gastos por comisiones en Xero |
| Export de reembolsos o disputas | Encontrar reducciones que faltan en libros | Reembolsos, 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 compuesta | Cuándo funciona |
|---|---|
| Monto + cliente/contacto + ventana de fechas | Conciliar pagos de clientes individuales |
| ID de pago + monto neto | Conciliar depósitos de pagos |
| Número de factura + monto bruto | Conciliar pagos de Stripe con recibos de facturas de Xero |
| Referencia de orden + monto | Conciliar pagos de e-commerce registrados en Xero |
| Ventana de fechas + monto + fragmento de descripción | Conciliar 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 auxiliar | Propósito |
|---|---|
| Referencia normalizada | Elimina espacios, diferencias de mayúsculas y texto adicional alrededor del ID |
| Ventana de fechas | Permite una tolerancia de uno a tres días donde el momento del pago o la zona horaria difieren |
| Monto con signo | Hace comparables los signos de débito y crédito |
| Base del monto | Indica si el monto es bruto, comisión, neto, reembolso o ajuste |
Para el campo Referencia normalizada, la fórmula base es:
=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ón | Fuente en Stripe | Fuente en Xero | Resultado esperado |
|---|---|---|---|
| Ventas brutas | Cobros o pagos | Ventas o recibos de facturas | Debe coincidir después de diferencias de fecha |
| Comisiones | Columna de comisiones o export de comisiones de Stripe | Cuenta de gastos por comisiones | Debe coincidir o listarse como faltante |
| Reembolsos | Filas de reembolso | Reembolsos, notas de crédito o ajustes | Debe coincidir por referencia o monto |
| Disputas | Filas de disputa | Asientos de contracargo o ajuste | Debe registrarse por separado |
| Pago neto | Reporte de pagos | Cuenta bancaria de Xero o CSV bancario | Debe 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 Stripe | Monto |
|---|---|
| Cobros brutos | 8,000.00 |
| Comisiones | -248.00 |
| Reembolsos | -300.00 |
| Pago neto | 7,452.00 |
Xero muestra:
| Categoría en Xero | Monto |
|---|---|
| Ingresos por ventas | 8,000.00 |
| Comisiones de Stripe registradas | -248.00 |
| Reembolsos registrados | 0.00 |
| Ingreso bancario | 7,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ón | Por qué importa |
|---|---|
| Encabezados de columnas | Reference, Description e Invoice Number pueden tener distintos valores de coincidencia |
| Formato de fecha | Xero puede exportar fechas locales mientras Stripe usa campos UTC con marca de tiempo |
| Signos de monto | Los ingresos y pagos pueden exportarse como positivos o negativos según el reporte |
| Filtro de cuenta | Un export de cuenta bancaria no contendrá todos los asientos de comisiones o reembolsos |
| Estado de conciliación | Las filas de Xero sin conciliar pueden ser pagos válidos que aún esperan la conciliación bancaria |
| Ediciones manuales | Las 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:
- Identifica el tipo de export de Stripe.
- Identifica el tipo de export de Xero.
- Define la base del monto: bruto, comisión, reembolso, disputa o neto.
- Elige la clave de cruce más sólida disponible.
- Normaliza las referencias y los signos de monto.
- Permite una ventana de fechas donde apliquen diferencias de zona horaria o momento del pago.
- Haz coincidir primero las referencias exactas.
- Haz coincidir después las claves compuestas.
- Separa los desfases de fecha esperados de los registros realmente faltantes.
- 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 incorrecta | Por qué falla |
|---|---|
| Sin conciliar | No da ningún motivo |
| Diferencia | No dice si el monto, la fecha o la referencia son el problema |
| Revisar manualmente | Le devuelve el trabajo al contador |
Debe decir:
| Mejor salida | Qué te dice |
|---|---|
| Reembolso de Stripe faltante en Xero | Registrar o investigar el reembolso |
| Ingreso de Xero sin ID de transacción de Stripe | Verificar si fue pagado fuera de Stripe |
| Misma referencia, monto diferente | Revisar el tratamiento de comisiones o pago parcial |
| Mismo monto, fecha fuera de tolerancia | Verificar el momento del pago o la fecha de registro |
| Pago de Stripe coincide con banco, pero faltan comisiones | Registrar 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ón | Qué contiene |
|---|---|
| Resumen | Total de Stripe, total de Xero, diferencia explicada, diferencia sin explicar |
| Filas conciliadas | Registros que coinciden por referencia, monto y ventana de fechas aceptable |
| Diferencias de fecha | Misma transacción, desfase de tiempo aceptable |
| Diferencias de monto | Misma transacción, monto no coincide |
| Faltante en Xero | Registros de Stripe no encontrados en el CSV de Xero |
| Faltante en Stripe | Registros de Xero no encontrados en el export de Stripe |
| Puente comisiones/reembolsos/disputas | Reducciones esperadas del bruto al neto |
| Lista de acciones para el cliente | Asientos 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.
