WooCommerce registra la venta como un pedido. Stripe liquida el dinero como un lote. Por eso el pedido #1842 parece desaparecer en el momento en que abres el registro de transferencias: la referencia del pedido vive en el lado de la tienda, mientras que las filas de la transferencia se organizan en torno a cargos, reembolsos, comisiones e IDs de transferencia.
La conciliación de referencias de pedidos WooCommerce con registros de transferencias Stripe se vuelve fiable cuando dejas de buscar una columna común y construyes el puente en la secuencia correcta: referencia de pedido WooCommerce → identificador de pago Stripe → fila de transferencia Stripe. Una vez que ese puente existe, las discrepancias dejan de parecer aleatorias.
Por qué la referencia del pedido no aparece donde la esperas
El primer error es asumir que el número de pedido WooCommerce debería aparecer directamente en el resumen de la transferencia. En la mayoría de los casos no es así. El registro de transferencias no es un libro de pedidos. Es un libro de liquidación.
| Lo que ves en WooCommerce | Lo que ves en Stripe | Lo que representa cada campo | Por qué una coincidencia directa falla |
|---|---|---|---|
Pedido #1842 | po_1Q8... | Un pedido frente a un lote de transferencia | Una sola transferencia puede contener muchos pedidos |
ID de transacción ch_3Nk... | Source ID ch_3Nk... | El mismo cargo con tarjeta | Suele ser la clave puente real, no el número de pedido |
Reembolso en pedido #1842 | re_1AB... | Una reversión posterior del pago original | Las filas de reembolso no reutilizan el número de pedido |
Fecha de pago 2026-05-06 | Fecha de transferencia 2026-05-08 | Fecha de venta frente a fecha de liquidación | El movimiento bancario ocurrió después |
Total del pedido 124.00 | Impacto neto 119.82 | Pago bruto del cliente frente al neto tras comisiones | La fila de transferencia es menor a propósito |
Esa tabla explica la mayoría de las conciliaciones fallidas.
La referencia del pedido WooCommerce te dice qué venta estás tratando. El registro de transferencias Stripe te dice cómo Stripe movió el dinero hasta la transferencia. Están relacionados, pero no están almacenados en el mismo nivel.
No hagas coincidir el pedido directamente con el ID de transferencia
El ID de transferencia está demasiado al final del proceso para ser tu primera clave de coincidencia.
Una sola transferencia puede incluir:
- docenas de pedidos WooCommerce
- uno o más reembolsos de días anteriores
- filas de comisiones de Stripe
- filas de disputas o ajustes
- transacciones liquidadas juntas aunque los pedidos se crearon en fechas distintas
El ID de transferencia responde a una pregunta bancaria: ¿qué grupo de actividad de Stripe se convirtió en un solo depósito? No responde a la pregunta del pedido: ¿qué pedido WooCommerce generó este cargo?
Para conciliar las referencias WooCommerce de forma fiable, separa el export de Stripe por tipo de fila antes de intentar unirlas:
| Tipo de fila Stripe | ¿Debe vincularse a un pedido WooCommerce? | Cómo usarla |
|---|---|---|
charge | Sí | Concílala con el registro de pago de WooCommerce |
refund | Sí, pero indirectamente | Vincúlala al pedido original como reembolso posterior |
stripe_fee | No | Úsala para explicar la diferencia bruto-neto |
dispute o ajuste | A veces | Trátala como excepción o reducción en el proceso |
payout | No | Úsala solo para la conciliación al nivel del lote y el banco |
Este es el paso que la mayoría de las guías omite. Explican qué es una transferencia Stripe, o dónde viven los IDs de Stripe dentro de WooCommerce, pero no dicen que algunas filas de la transferencia nunca deben forzarse a coincidir con un pedido.
Construye la tabla puente antes de conciliar
Si intentas resolver esto en una sola pestaña de hoja de cálculo, la lógica se vuelve confusa rápidamente. Una tabla puente es más limpia.
Extrae primero estos campos de WooCommerce:
| Campo WooCommerce | Por qué lo necesitas |
|---|---|
| Número o nombre del pedido | La referencia de negocio que te importa |
| Fecha y hora de pago | Estrecha la ventana de búsqueda en Stripe |
| Total del pedido | Evidencia de apoyo útil, nunca la única clave |
| Estado del reembolso | Explica las filas negativas posteriores |
| Método de pago | Confirma que el pedido pertenece al conjunto Stripe |
| ID de transacción si está presente | Suele ser el puente más sólido hacia Stripe |
| Email del cliente | Evidencia de apoyo de último recurso |
Luego extrae estos campos del detalle de transacciones o transferencias Stripe:
| Campo Stripe | Por qué lo necesitas |
|---|---|
| Payout ID | Indica a qué lote de liquidación pertenece la fila |
| Tipo de transacción contable | Separa cargos, reembolsos, comisiones y ajustes |
| Source ID | La referencia al nivel del objeto, como ch_ o re_ |
| Fecha de creación | Muestra cuándo ocurrió el evento Stripe subyacente |
| Fecha disponible o de transferencia | Muestra cuándo los fondos avanzaron hacia la liquidación |
| Bruto, comisión y neto | Explica por qué el efectivo difiere del total del pedido |
| Moneda | Detecta discrepancias falsas en configuraciones multidivisa |
| Campos de descripción o metadatos | Útiles cuando la referencia del pedido fue transmitida |
Tu tabla puente de trabajo debería parecerse a esto:
| Referencia pedido Woo | ID transacción Woo | Source ID Stripe | Tipo de fila Stripe | Payout ID | Estado |
|---|---|---|---|---|---|
#1842 | ch_3Nk... | ch_3Nk... | charge | po_1Q8... | Coincide |
#1843 | ch_3Nl... | ch_3Nl... | charge | po_1Q8... | Coincide |
#1842 | ch_3Nk... | re_1AB... | refund | po_1Q9... | Reembolsado después |
| — | — | fee_... o fila de comisión | stripe_fee | po_1Q8... | Solo explicación |
Esa tabla hace dos cosas importantes. Prueba qué objeto Stripe pertenece a qué pedido WooCommerce. También deja claro qué filas Stripe no deben apuntar a una referencia de pedido WooCommerce.
Cómo encontrar el identificador de Stripe cuando WooCommerce no lo exporta
Este es el punto que normalmente decide si el trabajo toma veinte minutos o dos horas.
Si el export de WooCommerce ya incluye el ID de transacción de Stripe, úsalo. Es la ruta más limpia. Pero muchos exports no lo muestran en una columna conveniente, así que necesitas fuentes alternativas.
Usa estas fuentes en este orden:
| Fuente | Lo que puedes recuperar | Fiabilidad |
|---|---|---|
| Pantalla de detalle del pedido | Identificador de transacción o pago vinculado a Stripe | Alta |
| Notas del pedido | IDs de cargo, reembolso o ciclo de vida del pago escritos durante el proceso | Alta cuando están presentes |
| Registros Stripe de WooCommerce | Número de pedido junto a valores ch_, pi_, cus_ o src_ | Alta |
| Email del cliente + importe exacto + ventana de tiempo | Cargo Stripe probable | Media |
| Total del pedido solo | Candidato posible únicamente | Baja |
Si las notas del pedido están vacías, no asumas que el pago nunca existió. El pedido puede ser real aunque los metadatos devueltos por Stripe estén incompletos. Por eso importan los registros. En la práctica, el registro suele darte el par clave que necesitas: el número de pedido WooCommerce de un lado, el cargo o PaymentIntent de Stripe del otro.
Una vez que recuperas ese identificador del lado Stripe, el resto de la conciliación se vuelve mucho más estable. Busca el valor ch_ o pi_ en el export de Stripe, confirma el importe y la fecha, y luego captura el Payout ID asociado a esa fila.
El proceso que funciona cuando la transferencia contiene ruido real
Esta es la secuencia que evita la mayoría de las discrepancias falsas.
- Concilia primero el lote de transferencia con el banco. El registro de transferencias pertenece a un flujo de liquidación, así que confirma qué transferencia llegó realmente antes de empezar a rastrear pedidos individuales. Si ese nivel todavía no está claro, empieza por cómo conciliar un CSV de transferencias Stripe con tu extracto bancario.
- Abre las filas Stripe de esa única transferencia. Separa las filas
charge,refund,stripe_feey cualquier fila de ajuste antes de intentar unirlas con WooCommerce. - Concilia las filas
chargecon WooCommerce usando el ID de transacción Stripe o el PaymentIntent. Este es el puente real pedido-Stripe. - Concilia las filas
refundcon el pedido WooCommerce original como reembolso posterior. No trates las filas de transferencia negativas como ventas faltantes. - Excluye las filas de comisiones de la conciliación de pedidos. Pertenecen a la explicación de la transferencia, no al puente de pedido.
- Escribe el resultado como una clasificación, no como una lista grande sin conciliar.
Ese último punto importa. Una conciliación que funciona no debe terminar con cuarenta celdas rojas y una suposición. Debe terminar con categorías que expliquen qué significa cada diferencia.
Los errores que hacen que buenas coincidencias parezcan rotas
Incluso con la clave puente correcta, algunos patrones siguen generando ruido.
El mismo importe aparece más de una vez.
Dos pedidos WooCommerce pueden ser ambos 89.00. Si haces coincidir solo por importe, puedes asociar el cargo Stripe equivocado al pedido equivocado. Usa el importe solo como apoyo, nunca como clave principal.
La fecha del pedido y la fecha de transferencia pertenecen a períodos distintos.
Los pedidos de última hora de la noche, los fines de semana y los calendarios de transferencia desplazan la liquidación al día siguiente o incluso al mes siguiente. Es normal. La fecha de venta y la fecha bancaria responden a preguntas distintas.
Un reembolso llega en una transferencia diferente a la del pedido original.
Es una de las razones más comunes por las que los operadores creen que el puente está mal. El charge original coincidió correctamente. El refund posterior redujo un lote de transferencia diferente. Ambas filas son correctas, pero pertenecen a momentos distintos del flujo de caja.
Las filas de comisiones se fuerzan dentro de la conciliación de pedidos.
Las comisiones de Stripe explican por qué el efectivo neto es menor. No representan pedidos WooCommerce separados. Si las fuerzas en la misma búsqueda, creas excepciones falsas de pedidos faltantes.
Un export muestra el ID de cargo y el otro muestra el PaymentIntent.
Sigue siendo manejable, pero no es una coincidencia textual directa. Puede que tengas que recuperar el ID faltante de las notas del pedido o los registros antes de que el puente sea confiable.
Es la misma demora estructural descrita en por qué conciliar pedidos Shopify contra transferencias Stripe es lento. La tienda cambia. El patrón de discrepancia es el mismo: datos al nivel del pedido de un lado, datos al nivel de liquidación del otro.
Lo que debe mostrar una conciliación terminada
Un resultado útil prueba el camino desde la referencia del pedido hasta el pago Stripe y hasta el lote de transferencia. No se detiene en «coincide» o «no coincide».
| Categoría | Qué significa |
|---|---|
| Cargo coincidente | El pedido WooCommerce y el cargo Stripe coinciden |
| Reembolsado después | Pedido original conciliado; el reembolso posterior redujo una transferencia más tarde |
| Explicación de comisión | El efectivo es menor porque Stripe dedujo comisiones |
| Desfase temporal | La venta y la transferencia pertenecen a fechas o períodos distintos |
| Ajuste o disputa | La liquidación cambió por una razón ajena a la fila del pedido original |
| Sin resolver | ID faltante, importe contradictorio o evidencia insuficiente |
Cuando presentas el resultado así, la siguiente persona no necesita volver a abrir WooCommerce y Stripe desde cero. Puede seguir la cadena:
- qué referencia de pedido WooCommerce se verificó
- qué objeto Stripe confirmó el pago
- qué transferencia absorbió ese pago
- qué filas redujeron el efectivo antes de llegar al banco
- qué excepciones aún requieren acción
Ese es el estándar al que apuntar. No un libro de trabajo que cuadra este mes por casualidad. Un camino de conciliación que puedas defender el mes siguiente.
Cuándo dejar de reconstruir la tabla puente cada mes
El método manual funciona cuando el volumen de transferencias es bajo y la estructura de los exports se mantiene estable. Deja de funcionar bien cuando cada cierre repite los mismos pasos de recuperación:
- encontrar IDs Stripe faltantes en los exports de pedidos
- buscar valores
ch_opi_en los registros - separar las filas de transferencia en cargos, reembolsos y comisiones
- reconstruir la misma tabla puente
- volver a escribir las mismas explicaciones de desfase temporal y liquidación neta
En ese punto, el trabajo real ya no es criterio contable. Es traducción de archivos.
La solución real no es encontrar un BUSCARV más inteligente. Es aceptar que las referencias de pedidos WooCommerce y los registros de transferencias Stripe describen distintas capas del mismo flujo de dinero, y luego enlazar esas capas en el orden correcto.
