El total de comisiones probablemente no está mal. Tu CSV de comisiones de Stripe y tu reporte de ventas interno miden capas distintas del mismo flujo de pago. Una comparación en bruto convierte costos de procesamiento ordinarios en diferencias que no existen.
Un reporte de ventas rastrea pedidos y la lógica de ingresos interna. El archivo de comisiones de Stripe rastrea eventos de comisión asociados a cargos, reembolsos, disputas u otra actividad de saldo. Hasta que el período, la clave de referencia y la base de cálculo de los montos coincidan, es imposible determinar si faltan comisiones o si los archivos simplemente nunca fueron comparables.
Diagnostica la diferencia antes de sumar cualquier cosa
La mayoría de las malas comparaciones de comisiones se pueden clasificar antes de escribir una sola fórmula. Los dos archivos casi siempre difieren porque el mismo evento comercial está almacenado de formas distintas.
| Lo que ves en pantalla | Cómo lo almacena el reporte de ventas interno | Cómo lo almacena el CSV de comisiones de Stripe | Qué pasa al comparar en bruto |
|---|---|---|---|
Pedido #10428 por 120.00 | Una fila identificada por número de pedido, con fecha en hora local | Una fila de comisión identificada por ch_... u otra referencia de Stripe | No hay coincidencia directa aunque la comisión corresponda a esa venta |
Venta del 2026-05-31 | Fecha local de venta dentro del reporte de fin de mes | Comisión generada justo después de la medianoche UTC del 2026-06-01 | La misma venta queda fuera del filtro y parece una comisión faltante |
El reporte muestra 97.00 de ingreso neto por producto | Impuestos y envío excluidos del monto interno | Comisión de Stripe calculada sobre el cargo total al cliente | La tasa efectiva parece demasiado alta porque el denominador cambió |
| El pedido reembolsado ya no aparece en las ventas del período actual | La venta original fue eliminada o deducida en el reporte | La comisión de procesamiento original sigue registrada en el historial del cargo | La comisión parece huérfana o sobreestimada frente a las ventas actuales |
| Aparece una línea de comisión adicional sin venta evidente | El reporte interno no tiene categoría para costos transfronterizos, de cambio de divisas o relacionados con disputas | Stripe exporta la comisión como un evento independiente | El total de comisiones de Stripe parece inflado si sumas todas las líneas |
| Los montos parecen idénticos pero no coinciden | El monto o la clave está almacenado como texto | El monto o la clave está almacenado como número o texto limpio | Las búsquedas exactas fallan antes de que la conciliación siquiera comience |
Cada fila necesita una solución distinta. Clasifica la diferencia primero; después corrige la comparación.
Define qué mide realmente cada archivo
| Archivo | Columnas habituales | Qué te dice realmente el archivo |
|---|---|---|
| Reporte de ventas interno | ID de pedido, fecha de pedido, ventas brutas, descuentos, impuestos, envío, ventas netas, comisión de procesamiento registrada en su caso | Lo que la empresa vendió, facturó o reconoció internamente |
| CSV de comisiones de Stripe | incurred_by, incurred_by_type, fee_description, amount, currency, fecha de la comisión, referencia de transacción de saldo | Qué cobró Stripe como comisión, cuándo lo cobró y qué objeto lo generó |
Una sola venta puede crear más de un evento en Stripe. El cargo original genera una comisión de procesamiento. Un reembolso posterior puede cambiar la rentabilidad del pedido sin anular la comisión original. Una disputa puede generar un costo adicional más adelante.
Por eso este artículo no es el mismo flujo de trabajo que vincular un CSV de transferencia de Stripe con tu extracto bancario. Conciliar transferencias con el banco prueba el efectivo. Comparar comisiones con ventas prueba si los costos de procesamiento se registraron correctamente para las ventas que estás revisando.
La pregunta práctica es: de las comisiones de Stripe dentro del alcance, ¿cuáles ya están reflejadas internamente y cuáles faltan o están subestimadas? Si los archivos no pueden responder eso, el problema es estructural, no matemático.
Define el alcance de la comparación antes de tocar las fórmulas
No sumes nada hasta que los dos archivos usen la misma ventana temporal y la misma base de cálculo de montos.
| Verificación del alcance | Por qué importa | Qué necesitas uniformar |
|---|---|---|
| Base del período | Los reportes de ventas suelen usar la fecha local del pedido. Las exportaciones de comisiones de Stripe pueden usar UTC o la fecha en que se generó la comisión | Elige una base de reporte común a ambos archivos antes de filtrar |
| Zona horaria | Un cargo de altas horas de la noche puede desplazarse al día siguiente en UTC | Convierte las fechas de Stripe a la misma zona horaria que tu reporte de ventas |
| Moneda | Un lado puede estar en moneda local mientras que las filas de comisiones de Stripe quedan en moneda de liquidación | Compara solo las filas en la misma moneda, o divide el reporte primero |
| Base de monto | El reporte interno puede excluir impuestos, envío o descuentos mientras que la comisión de Stripe se calcula sobre el cargo total al cliente | Decide si el denominador es el monto cobrado al cliente o el ingreso neto interno |
| Alcance de estados | Pedidos anulados, facturas sin cobrar o cargos no capturados pueden aparecer en un reporte de ventas sin una comisión de Stripe finalizada | Limita la comparación a los cargos completados |
Si todas las diferencias son de un día, revisa primero la lógica de fechas. Eso casi siempre indica un problema de corte o zona horaria, no una comisión faltante. El artículo Por qué las marcas de tiempo UTC de Stripe no coinciden con las fechas del CSV del extracto bancario describe el mismo problema desde el lado de las transferencias — la regla es la misma aquí: compara fechas de reporte local con fechas de reporte local, no valores UTC en bruto con resúmenes locales.
Verifica los tipos importados antes de confiar en las celdas. Usa TIPO(): la función te dice directamente si Excel ve texto o un número.
=TIPO(A2)aplicado a una fecha o un monto debe devolver1si es un valor numérico de Excel.=TIPO(A2)devolviendo2significa que el valor es texto y todavía no se puede comparar de forma segura.
Si un monto se importó como texto con comas, conviértelo a número directamente en la fórmula:
=VALOR(SUSTITUIR(A2,",",""))Si una referencia está almacenada como número en un lado y como texto en el otro, normalízala antes de la búsqueda:
=TEXTO(A2,"0")Si una fecha llegó como texto y el formato es ambiguo, extrae las partes explícitamente en lugar de esperar que Excel lo adivine. Para texto con formato MM/DD/AAAA:
=FECHA(DERECHA(B2,4),IZQUIERDA(B2,2),EXTRAE(B2,4,2))Para texto con formato DD/MM/AAAA, invierte las posiciones del mes y el día:
=FECHA(DERECHA(B2,4),EXTRAE(B2,4,2),IZQUIERDA(B2,2))Estas verificaciones no resuelven toda la comparación. Solo evitan que los problemas de importación se disfracen de diferencias en comisiones.
Construye una clave de enlace, o reconoce que todavía no tienes una
Las comparaciones de comisiones fallan por la referencia antes que por la aritmética. El reporte de ventas interno y el CSV de comisiones de Stripe suelen usar identificadores distintos para la misma transacción.
Usa el enlace más sólido disponible:
| Opción de coincidencia | Confiabilidad | Cuándo usarla |
|---|---|---|
| ID de cargo de Stripe o referencia de pago en ambos archivos | Máxima | Lo ideal. La fila de comisión se puede vincular directamente a la venta |
| ID de pedido incluido en los metadatos de Stripe y presente en la exportación | Alta | Recomendable si tu plataforma envía la misma referencia de pedido a Stripe |
| Monto exacto + fecha local normalizada + moneda | Media | Solo como respaldo cuando no existe una referencia duradera |
| Correo del cliente, nombre del cliente o totales redondeados | Baja | Solo para revisión manual, nunca como lógica principal de coincidencia |
Si tu reporte de ventas interno tiene solo números de pedido y tu exportación de comisiones de Stripe tiene solo IDs de cargo de Stripe, esos dos archivos solos no permiten una conciliación confiable comisión por comisión. Obtén una exportación de enlace que mapee el pedido con el cargo de Stripe. Sin ese enlace, la revisión solo es defendible a nivel de totales agrupados.
Cuando la clave existe pero los tipos no coinciden, corrige la incompatibilidad dentro de la búsqueda antes de crear columnas auxiliares. Si la referencia interna en A2 es texto y la columna clave del lado de Stripe es numérica:
=BUSCARX(VALOR(A2),Stripe!$F:$F,Stripe!$G:$G,"Sin coincidencia")Si la referencia interna es numérica y la clave del lado de Stripe es texto:
=BUSCARX(TEXTO(A2,"0"),Stripe!$F:$F,Stripe!$G:$G,"Sin coincidencia")No compares solo por monto bruto a menos que el archivo sea pequeño y vayas a verificar cada fila manualmente.
Separa los tipos de comisión antes de concluir que faltan comisiones
Un CSV de comisiones de Stripe no es una serie de líneas de "comisión de procesamiento" repetidas todo el mes. Si sumas todas las filas de comisiones y las comparas con una sola columna de comisiones de procesamiento en el reporte de ventas, casi siempre sobreestimarás la diferencia.
Agrupa las filas de comisiones primero.
| Línea de comisión de Stripe | ¿Comparar directamente con las ventas actuales dentro del alcance? | Por qué |
|---|---|---|
| Comisión de procesamiento sobre un cargo capturado | Sí | Esta es la comisión principal que la mayoría de los equipos espera ver frente a las ventas actuales |
| Impacto de comisión asociado a un reembolso posterior | Seguir por separado del total de ventas actuales | La venta puede haber salido del reporte actual mientras la economía de la comisión original sigue siendo relevante |
| Costo transfronterizo o de conversión de divisas | Categoría separada | Cambia la tasa efectiva y suele ser invisible en los resúmenes de ventas internos |
| Costo relacionado con una disputa o contracargo | Categoría de excepción separada | Es real, pero no es lo mismo que un costo estándar de procesamiento |
| Comisiones de producto no relacionadas con pagos o cargos de cuenta | Excluir de la comparación comisiones-ventas | Corresponden a otro análisis de costos, no a una prueba de comisión por venta |
Divide el archivo según qué generó la comisión antes de calcular cualquier cosa.
Los reportes internos suelen registrar una columna de comisiones de procesamiento basada en una tasa estimada, mientras que la exportación de Stripe muestra componentes adicionales que nunca entraron en ese estimado. El caso inverso también ocurre cuando los archivos usan distintas bases de período. En ambos casos, es un problema de alcance antes de ser un problema contable.
Ejecuta la comparación que realmente identifica comisiones faltantes o subestimadas
Una vez que el período, la zona horaria, la base de montos y la clave de enlace están definidos, la comparación se vuelve mecánica.
- Filtra el CSV de comisiones de Stripe a la ventana de reporte usando la fecha local normalizada, no el texto en bruto importado.
- Elimina las filas de comisiones que no pertenecen a la comparación actual de comisiones con ventas.
- Mapea cada fila de comisión restante a la clave de enlace más sólida disponible.
- Agrega las filas de comisiones de Stripe al mismo nivel de granularidad que el reporte de ventas interno.
- Compara la comisión registrada internamente con el total de Stripe en ese mismo nivel.
- Clasifica cada diferencia antes de corregir cualquier cosa.
Un resultado útil se ve así:
| Clave de conciliación | Venta bruta en el reporte | Comisión en el reporte interno | Comisión en el CSV de Stripe | Diferencia | Qué suele significar |
|---|---|---|---|---|---|
ORD-10428 | 120.00 | 3.78 | 3.78 | 0.00 | Registrado correctamente |
ORD-10429 | 240.00 | 5.20 | 6.10 | 0.90 | El reporte interno subestimó la comisión real |
ORD-10430 | 88.00 | 2.55 | 0.00 | 2.55 | Período incorrecto, clave incorrecta, o fila de Stripe ausente del alcance |
ORD-09871 | 0.00 en el reporte actual | 0.00 | 3.40 | 3.40 | Comisión ligada a una venta que desapareció del reporte o fue reembolsada |
| Sin clave de enlace | 150.00 | 4.35 | 4.35 en dos filas de Stripe | 0.00 total, pero sin prueba fila por fila | El total del período puede ser correcto aunque la prueba por transacción sea débil |
Aquí puedes distinguir las fallas reales de las diferencias esperadas:
- Una comisión faltante es una comisión que existe en Stripe, está dentro del alcance y no tiene monto correspondiente en el reporte interno ni en la contabilidad.
- Una comisión subestimada es una comisión que aparece en ambos lados, pero el monto interno es menor porque ignoró parte del costo real de Stripe.
- Una diferencia de timing es una comisión que pertenece a la actividad comercial que te interesa pero cae en una ventana de reporte distinta según la base elegida.
- Una comisión no comprobada es una comisión cuyo total parece correcto pero no puede vincularse a una venta porque no existe la clave de enlace.
Si tu reporte de ventas interno no tiene columna de comisiones, usa los datos reales de comisiones de Stripe para identificar lo que debería haberse registrado y mide la brecha frente a cualquier gasto o acumulación que exista en tus registros.
No uses el porcentaje solo como prueba. Usa la tasa mixta únicamente como verificación de razonabilidad después de clasificar la comparación fila por fila o por grupo.
Qué debe probar una revisión completa
Al terminar la revisión, debes poder responder algo más que "los totales se acercan."
| Pregunta | Qué debe decirte la comparación completa |
|---|---|
| ¿Qué ventas están dentro del alcance? | Período exacto, zona horaria y límite de moneda usados |
| ¿Qué filas de comisiones de Stripe corresponden a esas ventas? | Conjunto de comisiones de procesamiento una vez separadas las líneas no comparables |
| ¿Qué comisiones ya existen en el reporte interno? | Monto conciliado y conteo de filas conciliadas o total agrupado |
| ¿Qué comisiones faltan o están subestimadas? | Lista de excepciones clara con monto y razón probable |
| ¿Qué filas todavía no se pueden comprobar? | Transacciones que necesitan una exportación de enlace o una corrección de alcance |
Si los archivos no comparten una clave utilizable, filtrar más no lo va a resolver. Obtén la exportación de enlace o acepta que la comparación solo es defendible a nivel de totales agrupados.
Cuándo el proceso archivo por archivo se convierte en el verdadero costo
Esto se vuelve costoso cuando cada cierre requiere la misma rutina: normalizar fechas, reparar tipos, separar categorías de comisiones, reconstruir la clave de enlace, agregar las filas de Stripe y explicar las mismas excepciones una vez más.
