Capturas de pantalla de pagos M-Pesa: Extraigael monto y el código de transacción

Toda transacción M-Pesa termina igual: llega un mensaje de texto a su teléfono. No es una notificación push de una aplicación, ni una ventana emergente que desaparece al deslizar el dedo: es un SMS simple, de los que caben en 160 caracteres, que llega a su bandeja de entrada junto con todo lo demás. Ese SMS es el comprobante. Y en un país donde M-Pesa procesó 37.150 millones de transacciones por un valor de KSh 38,29 billones en el año fiscal 2025, según el informe anual de Safaricom, ese mensaje de 160 caracteres transporta más datos financieros que la mayoría de los extractos bancarios. El desafío es que M-Pesa no envía el mismo SMS para cada transacción: envía cinco formatos diferentes según el tipo de pago que haya realizado, y los campos que necesita se encuentran en lugares distintos en cada uno.

Deja de teclear datos — deja que la IA los lea por ti
Sube una imagen o PDF — datos estructurados en 10 segundos
Probar ahora
Sin registro · Sin tarjeta · Resultados en 10 segundos
SMS de confirmación de dinero móvil M-Pesa en la pantalla de un smartphone que muestra el monto de la transacción y el código en chelines kenianos

Puntos clave

  1. 37.150 millones de transacciones M-Pesa en el año fiscal 2025, y cada comprobante es un SMS simple — no una confirmación de aplicación — con los datos que necesita organizados en cinco patrones diferentes.
  2. Ese único SMS contiene tres cifras en KSh que parecen idénticas a simple vista — monto de la transacción, comisión y límite diario — junto con un campo de contraparte que cambia completamente de identidad entre Enviar dinero, Pagar factura y Comprar bienes.
  3. Defina las columnas de su hoja de cálculo por lo que significan los datos — Código de transacción, Monto, Contraparte — no por dónde aparecen en la pantalla, y los cinco formatos SMS se reducen a una sola exportación sin necesidad de plantillas ni reglas.

Por qué M-Pesa es diferente: el SMS es el recibo

La mayoría de las aplicaciones de pago — Venmo, PayPal, WeChat Pay — entregan su confirmación dentro de la interfaz de la aplicación. Usted toma una captura de pantalla. M-Pesa funciona de manera diferente porque fue creada para un mercado donde no todos tienen un teléfono inteligente. El servicio se lanzó en 2007 mediante códigos USSD marcados desde teléfonos básicos, y aunque la M-Pesa Super App ahora atiende a 4.7 millones de usuarios mensuales, la confirmación por SMS sigue siendo el registro universal: llega a todos los teléfonos, siempre, sin importar el dispositivo. A marzo de 2026, M-Pesa tenía 40 millones de clientes activos mensuales en Kenia, con Safaricom controlando el 89.1% del mercado de dinero móvil del país. El SMS no es una notificación de cortesía. Es el recibo.

Cada SMS de M-Pesa cierra con la línea "PIN YAKO SIRI YAKO" (suajili para "Su PIN es su secreto") — un recordatorio de seguridad de Safaricom que ha aparecido en los mensajes de confirmación durante años. También es un punto de referencia consistente: sin importar el tipo de transacción que generó el mensaje, ese pie de página le indica que el SMS es legítimo y completo. Entre el código de transacción inicial y esa línea final se encuentra toda la información que necesita — monto, contraparte, código de transacción, fecha — pero su disposición cambia según lo que usted haya hecho.

Los cinco tipos de transacción comunes — Enviar dinero, Pagar factura, Comprar bienes (Número de caja), Dinero recibido y Depósito/Retiro — cada uno produce una plantilla de SMS distinta. Entender qué formato está viendo y dónde se ubica cada campo dentro de él es la diferencia entre extraer datos en segundos y buscar a tientas en una cadena de texto el número que necesita.

Los cinco tipos de transacción y sus formatos de SMS

Cada SMS de M-Pesa comienza con un código alfanumérico de 10 caracteres seguido de "Confirmed." — esa apertura compartida es el ancla estructural más confiable en todos los tipos de mensaje. Lo que viene después se divide según el tipo de transacción.

Enviar dinero (Transferencia a cliente)

El tipo de transacción más común. Usted envía dinero a otro usuario registrado de M-Pesa. El SMS dice:

ABCDE12345 Confirmado. Ksh150.00 enviados a JOHN DOE 0722000000
el 23/6/23 a las 3:41 p. m. Su nuevo saldo de M-PESA es Ksh1,205.10.
Costo de la transacción, Ksh6.00.

Aparecen tres campos en secuencia: el monto (Ksh150.00), el nombre completo y número de teléfono del destinatario (JOHN DOE 0722000000), y la fecha y hora. El costo de la transacción se indica por separado; no forma parte del campo del monto.

Pagar factura

Se usa para pagar a empresas, servicios públicos, escuelas y entidades gubernamentales a través de un número de factura registrado. El formato del SMS cambia para incluir el nombre de la empresa y la referencia de la cuenta:

DY28XV679 Confirmado. Ksh4,000.00 enviados a KCB Paybill AC
para la cuenta 1137238445 el 9/9/23 a las 11:31 p. m.
Su nuevo saldo de M-PESA es Ksh22.00.

Aquí la contraparte no es una persona, sino un nombre de empresa (KCB Paybill) acompañado de un número de cuenta. La frase «para la cuenta» distingue este mensaje de uno de Enviar dinero. Si está extrayendo el campo de la contraparte, necesita tanto el nombre de la empresa como la referencia de la cuenta; juntos identifican quién recibió el pago y bajo qué ID de cliente.

Comprar bienes (Número de caja / Pago a comercio)

Cuando paga en una tienda, supermercado o restaurante usando un Número de caja (también llamado Lipa na M-Pesa, o «Pague con M-Pesa»), el formato omite la cláusula «para la cuenta» que aparece en los mensajes de Pagar factura:

GH78KT901 Confirmado. Ksh500.00 pagados a Naivas Supermarket
el 15/1/25 a las 10:15 a. m. Su nuevo saldo de M-PESA es Ksh3,400.00.
Costo de la transacción, Ksh0.00.

Observe que el verbo cambia: «pagados a» en lugar de «enviados a». El destinatario es el nombre del comercio registrado en el Número de caja. Sin referencia de cuenta, sin número de teléfono; solo el nombre de la tienda o empresa. Para la mayoría de los pagos minoristas en Kenia —desde un duka (tienda local) hasta una cadena de supermercados— este es el formato que seguirá su SMS.

Dinero recibido

Cuando alguien le envía dinero, el SMS adopta un formato orientado al receptor:

BS49OR201 Confirmado. Ha recibido Ksh50.00 de
MICHAEL FEDERSEN 254729901555 el 15/10/24 a las 11:52 AM.
Su nuevo saldo de M-PESA es Ksh100.00.

La contraparte aquí es el remitente, mostrado como nombre completo y número de teléfono. El monto es lo que el remitente transfirió (ellos pagaron la comisión de la transacción, no usted). El mismo formato se usa para transferencias internacionales que llegan a través de socios de M-Pesa Global como Western Union o WorldRemit.

Depósito y Retiro

El ingreso de efectivo (depósito en un agente) genera un mensaje como:

DF34QR567 Confirmado. Ha recibido Ksh3,000.00 de
HENRY KAMAU 254701234567 el 12/4/26 a las 9:14 AM.
Su nuevo saldo de M-PESA es Ksh8,450.00.

El formato es similar al de Dinero recibido, pero la fuente "de" es el agente que facilitó el depósito. Los mensajes de retiro de efectivo incluyen la palabra "Retirar" y muestran el monto deducido más la comisión del agente.

La conclusión clave en los cinco formatos: el código de transacción es siempre la primera palabra del mensaje. Esa consistencia lo convierte en el campo ancla ideal para la extracción — independientemente del tipo de transacción, usted sabe exactamente dónde comienza.

El código de transacción: una clave de 10 caracteres que codifica la fecha

El código de transacción de M-Pesa — una cadena como TB17CVOCY9 — es más que un número de recibo aleatorio. Su estructura revela cuándo ocurrió la transacción. Los primeros tres caracteres codifican la fecha: la primera letra representa el año (T = 2025, S = 2024, R = 2023, Q = 2022 — recorriendo el alfabeto), el segundo carácter codifica el mes y el tercero el día. El cuarto carácter es siempre un dígito, y los seis restantes se generan aleatoriamente. El sistema puede generar aproximadamente 21.8 mil millones de códigos únicos por día, y con una capacidad anual de 8 billones de códigos, los duplicados son prácticamente imposibles.

Para las empresas kenianas, el código de transacción es la clave de conciliación universal. Cada sistema de Número de caja y Paybill de M-Pesa registra los pagos recibidos mediante este código. El servicio de atención al cliente de Safaricom lo utiliza para rastrear transacciones. La KRA (Autoridad Tributaria de Kenia) acepta los estados de cuenta de M-Pesa — que indexan cada transacción por este código — como documentación de respaldo para declaraciones fiscales. Y en términos legales, como señalaron los abogados de MMTK Law en Business Daily Africa, según la Ley de Protección de Datos de 2019, "el código de transacción es el único detalle que un comerciante necesita estrictamente" porque ya aparece en su propio sistema de confirmación.

Si está creando una hoja de cálculo a partir de mensajes SMS de M-Pesa — ya sea de transacciones de Enviar dinero, Pagar factura o Comprar bienes — el código de transacción es la única columna que se completará en todas las filas. Todos los demás campos (contraparte, monto, fecha) también están presentes en cada formato, pero el código de transacción es el campo que le permite deduplicar: dos mensajes SMS con el mismo código corresponden a la misma transacción, incluso si alguien le reenvió la misma captura de pantalla dos veces.

Montos en KES: Lo que realmente muestra el SMS

Cada monto de M-Pesa va precedido de Ksh (chelines kenianos), formateado con coma como separador de miles y dos decimales: Ksh1,500.00, Ksh38,290.50, Ksh4,000.00. Esa parte es consistente. Pero el SMS incluye tres campos de cantidad diferentes que son fáciles de confundir si se escanea el mensaje rápidamente:

  • Monto de la transacción — el valor transferido. En un SMS de Enviar dinero, aparece como "Ksh150.00 sent to". En Pagar factura, "Ksh4,000.00 sent to". En Dinero recibido, "You have received Ksh50.00". Este es el campo que necesita para su hoja de cálculo.
  • Costo de la transacción — la tarifa deducida por la transferencia. Se indica en una línea o frase aparte: "Transaction cost, Ksh6.00". No forma parte del monto transferido. En Enviar dinero por encima de KSh 500, la tarifa oscila entre KSh 6 y KSh 110 según el tramo.
  • Límite diario disponible — "Amount you can transact within the day is 289,950.00". Es un tope, no un saldo. Fácil de confundir con un saldo de cuenta si solo se leen los primeros caracteres del número.

El SMS de M-Pesa también muestra su nuevo saldo después de cada transacción ("New M-PESA balance is Ksh1,205.10."). Esto es útil para el seguimiento personal, pero contiene datos financieros protegidos por la Ley de Protección de Datos de 2019. Si comparte o reenvía el SMS para verificación empresarial, el saldo puede revelar más de lo que la contraparte necesita saber.

Nombres, Números de Caja y Cuentas Comerciales

El campo de la contraparte es donde la diversidad de formatos de M-Pesa es más visible. Cambia de identidad por completo según el tipo de transacción:

Tipo de TransacciónCómo aparece la contraparte en el SMSEjemplo
Enviar dineroNombre completo + número de teléfonoJOHN DOE 0722000000
Pagar facturaNombre comercial + "AC for account [número]"KCB Paybill AC for account 1137238445
Comprar bienes (Caja)Solo nombre del comercianteNaivas Supermarket
Dinero recibidoNombre del remitente + número de teléfonoMICHAEL FEDERSEN 254729901555

Para una hoja de cálculo que capture todas las transacciones de M-Pesa de un negocio, la columna de contraparte debe admitir cuatro formatos diferentes: un nombre de persona con número de teléfono, un nombre comercial con referencia de cuenta, un nombre de comerciante independiente o un nombre de remitente. Una regla de extracción basada en posición —como "tomar el texto después de 'sent to' y antes de 'on'"— funciona para Enviar dinero, pero falla en Pagar factura (donde el texto incluye "AC for account") y en Dinero recibido (donde la estructura es "received from" y no "sent to"). La extracción semántica —definir la columna como "la persona o entidad al otro lado de esta transacción"— maneja los cuatro formatos porque identifica a la contraparte por su significado, no por su posición relativa a palabras clave fijas.

De SMS y capturas de pantalla a una hoja de cálculo

La diversidad de formatos de M-Pesa —cinco plantillas de SMS en cinco tipos de transacción— lo convierte en un caso de prueba particularmente bueno para ver cómo debería funcionar la extracción de datos de pagos. Un sistema que requiera crear una plantilla separada para Enviar dinero, Pagar factura, Comprar bienes y Dinero recibido se romperá en cuanto se introduzca un nuevo tipo de transacción o el formato del SMS evolucione (como ocurrió en 2025, cuando los códigos de transacción pasaron del prefijo "S" al "T").

Extracción de Columnas Personalizadas —donde usted define las columnas que desea (Código de transacción, Monto, Contraparte, Fecha) y la IA localiza cada valor entendiendo lo que significa en lugar de dónde está en la página— resuelve esto tratando la variación de formato como irrelevante. Ya sea que el SMS diga "sent to", "paid to", "received from" o "AC for account", el motor lee el rol semántico de cada fragmento de texto y lo asigna a la columna correcta. No necesita indicarle qué tipo de transacción está viendo.

El flujo de trabajo práctico es el siguiente: guarde o reenvíe sus confirmaciones SMS de M-Pesa —o tome capturas de pantalla del hilo de SMS o del detalle de transacción de la M-Pesa Super App— y súbalas juntas. Asigne nombre a sus columnas Código de transacción, Monto, Contraparte y Fecha. El resultado es una fila por transacción, con los valores de cada fila extraídos del formato SMS que realmente se usó para esa transacción. Un lote de 50 pagos de M-Pesa que mezcle mensajes de Enviar dinero, Pagar factura y Comprar bienes produce una única tabla unificada —sin necesidad de clasificarlos primero por tipo.

Para las empresas kenianas, el uso posterior es sencillo. Los datos extraídos pueden alimentar directamente Zoho Books, que ofrece integración nativa con M-Pesa para cuentas kenianas, o QuickBooks Kenya para las empresas que lo usan. Muchas pymes y contadores también mantienen un libro de Google Sheets —a veces junto con otros métodos de pago móvil— y la misma estructura de columnas funciona en todos ellos. Si su negocio también recibe pagos a través de GCash o PayNow, por ejemplo, el patrón monto-códigodetransacción-contraparte-fecha es idéntico. Las diferencias de formato que parecen confusas —cinco plantillas de SMS, cuatro tipos de contraparte, una línea de comisión que parece un segundo monto— desaparecen una vez que la extracción se realiza por significado y no por posición.

Preguntas frecuentes

¿Qué información contiene una confirmación por SMS de M-Pesa?

Cada SMS de M-Pesa incluye un código de transacción de 10 caracteres, el monto en chelines kenianos (KSh), el nombre de la contraparte y/o la cuenta comercial, la fecha y hora, su nuevo saldo de M-Pesa y el costo de la transacción (comisión). En algunos tipos de mensaje aparecen campos adicionales, como el límite restante de transacciones diarias. El código de transacción es siempre la primera palabra del mensaje, seguida de "Confirmed." — este formato es consistente en todos los tipos de transacción.

¿Puedo extraer datos de una captura de pantalla de la M-Pesa Super App en lugar del SMS?

Sí. La M-Pesa Super App muestra los mismos campos — código de transacción, monto, contraparte, fecha — en una pantalla de confirmación visual. El número de teléfono y el nombre del comercio pueden ser más legibles en la pantalla de la aplicación que en el SMS (la aplicación no trunca los nombres como a veces lo hace el SMS). Para fines de conciliación, considere extraer el código de transacción de la pantalla de la Super App, donde se muestra como un campo claramente etiquetado, y cotejarlo con el SMS para su verificación.

¿Qué sucede si el SMS fue eliminado? ¿Aún puedo acceder a los datos de la transacción?

Marque *234# y seleccione "Mi cuenta", luego "Estado de cuenta M-Pesa" y después "Mini estado de cuenta" para recibir sus últimas cinco transacciones por SMS. Para un estado de cuenta completo de hasta 12 meses, use el mismo menú para solicitar un estado de cuenta en PDF enviado por correo electrónico a su dirección de correo registrada. El estado de cuenta está protegido con contraseña, usando su número de identificación nacional como contraseña predeterminada. Safaricom también proporciona el historial de transacciones a través de la M-Pesa Super App en la sección "Transacciones" o "Estado de cuenta".

¿M-Pesa funciona con software de contabilidad como QuickBooks o Zoho Books?

Sí. Zoho Books tiene una integración nativa con M-Pesa para cuentas kenianas, lo que le permite conciliar automáticamente los pagos de facturas de M-Pesa Paybill con las facturas. QuickBooks Kenya es ampliamente utilizado, aunque no ofrece integración nativa con M-Pesa; los datos extraídos de SMS o capturas de pantalla se pueden importar como CSV. Plataformas locales kenianas como ZYNO Books y ERPNext ofrecen flujos de trabajo de conciliación de M-Pesa integrados, que muchos contadores kenianos consideran más adecuados para el panorama de cumplimiento local, incluidos los requisitos de eTIMS de la KRA (Autoridad Tributaria de Kenia).

¿Es suficiente el código de transacción de M-Pesa para la declaración de impuestos ante la KRA?

La KRA acepta los estados de cuenta de M-Pesa como documentación de respaldo para la declaración de impuestos, particularmente para pequeñas empresas que operan principalmente a través de dinero móvil. Cada transacción se indexa mediante su código de transacción, y el estado de cuenta proporciona un rastro de auditoría completo. Para la declaración de impuestos formal, la KRA generalmente requiere el estado de cuenta completo de M-Pesa (que se puede solicitar como PDF a Safaricom marcando *234#) en lugar de códigos SMS individuales. Sin embargo, el código de transacción en sí es lo que vincula un pago específico con un registro específico en el estado de cuenta, lo que lo convierte en la referencia crítica para cualquier auditoría o consulta posterior.

📮 contact email: [email protected]