M-Pesa-Zahlungs-Screenshots: Extrahieren
von Betrag und Transaktionscode
Jede M-Pesa-Transaktion endet auf die gleiche Weise: Eine Textnachricht trifft auf Ihrem Telefon ein. Keine Push-Benachrichtigung einer App, kein Pop-up, das beim Wegwischen verschwindet – eine einfache SMS, wie sie in 160 Zeichen passt, die in Ihrem Nachrichteneingang neben allem anderen landet. Diese SMS ist die Quittung. Und in einem Land, in dem M-Pesa im Geschäftsjahr 2025 laut Safaricoms Jahresbericht 37,15 Milliarden Transaktionen im Wert von 38,29 Billionen KSh abgewickelt hat, transportiert diese 160-Zeichen-Nachricht mehr Finanzdaten als die meisten Kontoauszüge. Die Herausforderung besteht darin, dass M-Pesa nicht für jede Transaktion dieselbe SMS sendet – es gibt fünf verschiedene Formate, je nachdem, welche Art von Zahlung Sie getätigt haben, und die benötigten Felder befinden sich in jedem Format an unterschiedlichen Stellen.
Die wichtigsten Erkenntnisse
- 37,15 Milliarden M-Pesa-Transaktionen im Geschäftsjahr 2025, und jede Quittung ist eine einfache SMS – keine App-Bestätigung – mit den benötigten Daten in fünf verschiedenen Mustern.
- Diese eine SMS enthält drei KSh-Beträge, die auf den ersten Blick identisch aussehen – Transaktionsbetrag, Gebühr und Tageslimit – sowie ein Feld für die Gegenpartei, das sich zwischen „Geld senden“, „Rechnung bezahlen“ und „Waren kaufen“ völlig verändert.
- Definieren Sie Ihre Tabellenspalten nach der Bedeutung der Daten – Transaktionscode, Betrag, Gegenpartei – und nicht nach ihrer Position auf dem Bildschirm. Dann lassen sich die fünf SMS-Formate in einem einzigen Export zusammenfassen, ganz ohne Vorlage oder Regel.
Warum M-Pesa anders ist: Die SMS ist die Quittung
Die meisten Zahlungs-Apps – Venmo, PayPal, WeChat Pay – zeigen Ihre Bestätigung innerhalb der App-Oberfläche an. Sie machen einen Screenshot des Bildschirms. M-Pesa funktioniert anders, weil es für einen Markt entwickelt wurde, in dem nicht jeder ein Smartphone besitzt. Der Dienst startete 2007 über USSD-Codes, die von einfachen Feature-Phones gewählt wurden, und während die M-Pesa Super App heute 4,7 Millionen monatliche Nutzer bedient, bleibt die SMS-Bestätigung der universelle Beleg – sie erreicht jedes Telefon, jedes Mal, unabhängig vom Gerät. Stand März 2026 hatte M-Pesa 40 Millionen monatlich aktive Kunden in Kenia, wobei Safaricom 89,1 % des landesweiten Mobile-Money-Marktes kontrolliert. Die SMS ist keine Höflichkeitsmitteilung. Sie ist die Quittung.
Jede M-Pesa-SMS endet mit dem Satz "PIN YAKO SIRI YAKO" (Kiswahili für „Ihre PIN ist Ihr Geheimnis") – eine Sicherheitserinnerung von Safaricom, die seit Jahren auf Bestätigungsnachrichten erscheint. Es ist auch ein konsistenter Orientierungspunkt: Unabhängig davon, welcher Transaktionstyp die Nachricht erzeugt hat, zeigt dieser Footer, dass die SMS legitim und vollständig ist. Zwischen dem einleitenden Transaktionscode und dieser Schlusszeile befinden sich alle Informationen, die Sie benötigen – Betrag, Gegenpartei, Transaktionscode, Datum –, aber ihre Anordnung variiert je nachdem, was Sie getan haben.
Die fünf gängigen Transaktionstypen – Geld senden, Rechnung bezahlen, Waren kaufen (Till-Nummer), Geldeingang und Einzahlung/Auszahlung – erzeugen jeweils eine eigene SMS-Vorlage. Zu verstehen, welches Format Sie vor sich haben und wo jedes Feld darin platziert ist, macht den Unterschied aus, ob Sie Daten in Sekunden extrahieren oder in einer Textzeichenfolge nach der benötigten Nummer suchen müssen.
Die fünf Transaktionstypen und ihre SMS-Formate
Jede M-Pesa-SMS beginnt mit einem 10-stelligen alphanumerischen Code, gefolgt von „Confirmed." – dieser gemeinsame Anfang ist der zuverlässigste strukturelle Ankerpunkt über alle Nachrichtentypen hinweg. Was danach kommt, unterscheidet sich je nach Transaktionstyp.
Geld senden (Kundenüberweisung)
Die häufigste Transaktionsart. Sie senden Geld an einen anderen registrierten M-Pesa-Nutzer. Die SMS lautet:
ABCDE12345 Bestätigt. Ksh150,00 gesendet an JOHN DOE 0722000000
am 23.06.23 um 15:41 Uhr. Neuer M-PESA-Kontostand: Ksh1.205,10.
Transaktionsgebühr: Ksh6,00.Drei Felder erscheinen nacheinander: der Betrag (Ksh150,00), der vollständige Name und die Telefonnummer des Empfängers (JOHN DOE 0722000000) sowie Datum und Uhrzeit. Die Transaktionsgebühr wird separat aufgeführt – sie ist nicht Teil des Betragsfeldes.
Rechnung bezahlen
Wird verwendet, um Unternehmen, Versorgungsbetriebe, Schulen und Regierungsbehörden über eine registrierte Paybill-Nummer zu bezahlen. Das SMS-Format ändert sich und enthält nun den Firmennamen und die Kontoreferenz:
DY28XV679 Bestätigt. Ksh4.000,00 gesendet an KCB Paybill AC
für Konto 1137238445 am 09.09.23 um 23:31 Uhr.
Neuer M-PESA-Kontostand: Ksh22,00.Hierbei ist die Gegenpartei keine Person, sondern ein Firmenname (KCB Paybill) in Verbindung mit einer Kontonummer. Die Zeichenfolge „für Konto“ unterscheidet diese Nachricht von einer „Geld senden“-Nachricht. Wenn Sie das Feld „Gegenpartei“ extrahieren, benötigen Sie sowohl den Firmennamen als auch die Kontoreferenz – zusammen identifizieren sie, wer die Zahlung erhalten hat und unter welcher Kunden-ID.
Waren kaufen (Till-Nummer / Händlerzahlung)
Wenn Sie in einem Geschäft, Supermarkt oder Restaurant mit einer Till-Nummer (auch Lipa na M-Pesa oder „Bezahlen mit M-Pesa“ genannt) bezahlen, fehlt im Format die Klausel „für Konto“, die bei Pay-Bill-Nachrichten erscheint:
GH78KT901 Bestätigt. Ksh500,00 bezahlt an Naivas Supermarket
am 15.01.25 um 10:15 Uhr. Neuer M-PESA-Kontostand: Ksh3.400,00.
Transaktionsgebühr: Ksh0,00.Beachten Sie die Änderung des Verbs: „bezahlt an“ statt „gesendet an“. Der Empfänger ist der Händlername, der unter der Till-Nummer registriert ist. Keine Kontoreferenz, keine Telefonnummer – nur der Name des Geschäfts oder Unternehmens. Für die meisten Einzelhandelszahlungen in Kenia – vom Duka (Tante-Emma-Laden) bis zur Supermarktkette – folgt Ihre SMS diesem Format.
Geldeingang
Wenn Ihnen jemand Geld sendet, nimmt die SMS ein empfängerorientiertes Format an:
BS49OR201 Bestätigt. Sie haben Ksh50,00 erhalten von
MICHAEL FEDERSEN 254729901555 am 15.10.24 um 11:52 Uhr.
Neuer M-PESA-Kontostand: Ksh100,00.Die Gegenpartei ist hier der Sender, angezeigt als vollständiger Name und Telefonnummer. Der Betrag ist das, was der Sender überwiesen hat (er hat die Transaktionsgebühr bezahlt, nicht Sie). Das gleiche Format wird für internationale Geldtransfers verwendet, die über M-Pesa Global-Partner wie Western Union oder WorldRemit eingehen.
Einzahlung und Auszahlung
Eine Bareinzahlung (Einzahlung bei einem Agenten) erzeugt eine Nachricht wie:
DF34QR567 Bestätigt. Sie haben Ksh3.000,00 erhalten von
HENRY KAMAU 254701234567 am 12.04.26 um 9:14 Uhr.
Neuer M-PESA-Kontostand: Ksh8.450,00.Das Format ähnelt dem Geldeingang, aber die Quelle „von“ ist der Agent, der die Einzahlung durchgeführt hat. Abhebungsnachrichten enthalten das Wort „Withdraw“ und zeigen den abgebuchten Betrag sowie die Agentengebühr an.
Die wichtigste Erkenntnis aus allen fünf Formaten: Der Transaktionscode ist immer das erste Wort in der Nachricht. Diese Konsistenz macht ihn zum idealen Ankerfeld für die Extraktion – unabhängig vom Transaktionstyp wissen Sie genau, wo er beginnt.
Der Transaktionscode: Ein 10-stelliger Schlüssel, der das Datum kodiert
Der M-Pesa-Transaktionscode – eine Zeichenfolge wie TB17CVOCY9 – ist mehr als eine zufällige Quittungsnummer. Seine Struktur verrät, wann die Transaktion stattfand. Die ersten drei Zeichen kodieren das Datum: Der erste Buchstabe steht für das Jahr (T = 2025, S = 2024, R = 2023, Q = 2022 – das Alphabet durchlaufend), das zweite Zeichen kodiert den Monat und das dritte den Tag. Das vierte Zeichen ist immer eine Ziffer, die restlichen sechs werden zufällig generiert. Das System kann etwa 21,8 Milliarden eindeutige Codes pro Tag generieren, und bei einer jährlichen Kapazität von 8 Billionen Codes sind Duplikate praktisch unmöglich.
Für kenianische Unternehmen ist der Transaktionscode der universelle Abstimmungsschlüssel. Jede M-Pesa Till-Nummer und jedes Paybill-System zeichnet erhaltene Zahlungen mit diesem Code auf. Der Kundendienst von Safaricom verwendet ihn, um Transaktionen nachzuverfolgen. Die KRA (kenianische Steuerbehörde) akzeptiert M-Pesa-Kontoauszüge – die jede Transaktion mit diesem Code indexieren – als Belege für Steuererklärungen. Und rechtlich gesehen, wie Anwälte von MMTK Law im Business Daily Africa feststellten, ist „der Transaktionscode gemäß dem Datenschutzgesetz 2019 das einzige Detail, das ein Händler strikt benötigt“, da er bereits im eigenen Bestätigungssystem des Händlers erscheint.
Wenn Sie eine Tabelle aus M-Pesa-SMS-Nachrichten erstellen – sei es von „Geld senden“, „Rechnung bezahlen“ oder „Waren kaufen“-Transaktionen – ist der Transaktionscode die eine Spalte, die für jede Zeile ausgefüllt wird. Jedes andere Feld (Gegenpartei, Betrag, Datum) ist ebenfalls in jedem Format vorhanden, aber der Transaktionscode ist das Feld, mit dem Sie Duplikate entfernen können: Zwei SMS-Nachrichten mit demselben Code sind dieselbe Transaktion, selbst wenn Ihnen jemand denselben Screenshot zweimal weitergeleitet hat.
KES-Beträge: Was die SMS tatsächlich anzeigt
Jeder M-Pesa-Betrag wird mit Ksh (Kenianische Shilling) eingeleitet, mit einem Komma als Tausendertrennzeichen und zwei Dezimalstellen formatiert: Ksh1.500,00, Ksh38.290,50, Ksh4.000,00. Dieser Teil ist konsistent. Die SMS enthält jedoch drei verschiedene Mengenfelder, die bei schnellem Überfliegen leicht verwechselt werden können:
- Transaktionsbetrag – der überwiesene Wert. Bei einer „Geld senden“-SMS erscheint dies als „Ksh150,00 gesendet an“. Bei „Rechnung bezahlen“ als „Ksh4.000,00 gesendet an“. Bei „Geldeingang“ als „Sie haben Ksh50,00 erhalten“. Dies ist das Feld, das Sie für Ihre Tabelle benötigen.
- Transaktionskosten – die für die Überweisung abgezogene Gebühr. Aufgeführt in einer separaten Zeile oder Phrase: „Transaktionskosten, Ksh6,00.“ Nicht Teil des überwiesenen Betrags. Bei „Geld senden“ über KSh 500 liegen die Gebühren je nach Stufe zwischen KSh 6 und KSh 110.
- Verfügbares Tageslimit – „Der Betrag, den Sie innerhalb des Tages umsetzen können, beträgt 289.950,00.“ Dies ist eine Obergrenze, kein Kontostand. Leicht mit einem Kontostand zu verwechseln, wenn Sie nur die ersten Zeichen der Zahl lesen.
Die M-Pesa-SMS zeigt auch Ihren neuen Kontostand nach jeder Transaktion an („Neuer M-PESA-Kontostand ist Ksh1.205,10.“). Dies ist nützlich für die persönliche Nachverfolgung, enthält jedoch Finanzdaten, die gemäß dem Datenschutzgesetz 2019 geschützt sind – wenn Sie die SMS zur Geschäftsverifizierung teilen oder weiterleiten, kann der Kontostand mehr preisgeben, als die Gegenpartei wissen muss.
Namen, Till-Nummern und Geschäftskonten
Das Feld der Gegenpartei zeigt die Formatvielfalt von M-Pesa am deutlichsten. Es ändert seine Identität je nach Transaktionsart vollständig:
| Transaktionsart | Darstellung der Gegenpartei in der SMS | Beispiel |
|---|---|---|
| Geld senden | Vollständiger Name + Telefonnummer | JOHN DOE 0722000000 |
| Rechnung bezahlen | Geschäftsname + „AC for account [Nummer]“ | KCB Paybill AC for account 1137238445 |
| Waren kaufen (Till) | Nur Händlername | Naivas Supermarket |
| Geldeingang | Name des Absenders + Telefonnummer | MICHAEL FEDERSEN 254729901555 |
Für eine Tabelle, die alle M-Pesa-Transaktionen eines Unternehmens erfasst, müsste die Spalte „Gegenpartei“ vier verschiedene Formate aufnehmen können: den Namen einer Person mit Telefonnummer, einen Geschäftsnamen mit einer Kontoreferenz, einen eigenständigen Händlernamen oder den Namen eines Absenders. Eine positionsbasierte Extraktionsregel – wie „den Text nach 'gesendet an' und vor 'am' nehmen“ – funktioniert bei „Geld senden“, versagt jedoch bei „Rechnung bezahlen“ (wo der Text „AC for account“ enthält) und bei „Geldeingang“ (wo die Struktur „erhalten von“ und nicht „gesendet an“ lautet). Die semantische Extraktion – die Definition der Spalte als „die Person oder Einheit auf der anderen Seite dieser Transaktion“ – verarbeitet alle vier Formate, da sie die Gegenpartei anhand ihrer Bedeutung identifiziert, nicht anhand ihrer Position relativ zu festen Schlüsselwörtern.
Von SMS und Screenshots zur Tabelle
Die Formatvielfalt von M-Pesa – fünf SMS-Vorlagen für fünf Transaktionsarten – macht es zu einem besonders guten Testfall dafür, wie die Extraktion von Zahlungsdaten funktionieren sollte. Ein System, das für Geld senden, Rechnung bezahlen, Waren kaufen und Geldeingang jeweils eine separate Vorlage erfordert, wird scheitern, sobald eine neue Transaktionsart eingeführt wird oder sich das SMS-Format ändert (wie 2025, als die Transaktionscodes vom Präfix „S“ auf „T“ umgestellt wurden).
Benutzerdefinierte Spaltenextraktion – bei der Sie die gewünschten Spalten definieren (Transaktionscode, Betrag, Gegenpartei, Datum) und die KI jeden Wert dadurch lokalisiert, dass sie seine Bedeutung versteht, statt seine Position auf der Seite – löst dieses Problem, indem sie die Formatvariation als irrelevant behandelt. Ob die SMS „gesendet an“, „bezahlt an“, „erhalten von“ oder „AC für Konto“ sagt, die Engine liest die semantische Rolle jedes Textteils und ordnet ihn der richtigen Spalte zu. Sie müssen ihr nicht mitteilen, um welche Transaktionsart es sich handelt.
Der praktische Arbeitsablauf sieht so aus: Speichern oder leiten Sie Ihre M-Pesa-SMS-Bestätigungen weiter – oder machen Sie Screenshots des SMS-Verlaufs oder der Transaktionsdetails der M-Pesa Super App – und laden Sie sie gemeinsam hoch. Benennen Sie Ihre Spalten Transaktionscode, Betrag, Gegenpartei und Datum. Die Ausgabe ist eine Zeile pro Transaktion, wobei die Werte jeder Zeile aus dem SMS-Format stammen, das für diese Transaktion tatsächlich verwendet wurde. Ein Batch von 50 M-Pesa-Zahlungen, der Nachrichten zu Geld senden, Rechnung bezahlen und Waren kaufen mischt, erzeugt eine einzige einheitliche Tabelle – kein Vorsortieren nach Typ erforderlich.
Für kenianische Unternehmen ist die Weiterverwendung unkompliziert. Die extrahierten Daten können direkt in Zoho Books eingespeist werden, das eine native M-Pesa-Integration für kenianische Konten bietet, oder in QuickBooks Kenya für Unternehmen, die es nutzen. Viele KMU und Buchhalter führen außerdem ein Google Sheets-Hauptbuch – manchmal neben anderen mobilen Zahlungsmethoden – und dieselbe Spaltenstruktur funktioniert für alle. Wenn Ihr Unternehmen beispielsweise auch Zahlungen über GCash oder PayNow erhält, ist das Muster Betrag-Transaktionscode-Gegenpartei-Datum identisch. Die Formatunterschiede, die verwirrend erscheinen – fünf SMS-Vorlagen, vier Gegenpartei-Typen, eine Gebührenzeile, die wie ein zweiter Betrag aussieht – verschwinden, sobald die Extraktion nach Bedeutung und nicht nach Position erfolgt.
FAQ
Welche Informationen enthält eine M-Pesa-SMS-Bestätigung?
Jede M-Pesa-SMS enthält einen 10-stelligen Transaktionscode, den Betrag in Kenia-Schilling (KSh), den Namen der Gegenpartei und/oder das Geschäftskonto, Datum und Uhrzeit, Ihren neuen M-Pesa-Kontostand sowie die Transaktionsgebühr. Zusätzliche Felder wie das verbleibende tägliche Transaktionslimit erscheinen bei bestimmten Nachrichtentypen. Der Transaktionscode ist stets das erste Wort in der Nachricht, gefolgt von „Bestätigt.“ – dieses Format ist bei allen Transaktionsarten einheitlich.
Kann ich Daten aus einem Screenshot der M-Pesa Super App anstelle der SMS extrahieren?
Ja. Die M-Pesa Super App zeigt dieselben Felder an – Transaktionscode, Betrag, Gegenpartei, Datum – auf einem visuellen Bestätigungsbildschirm. Telefonnummer und Händlername sind auf dem App-Bildschirm oft besser lesbar als in der SMS (die App kürzt Namen nicht ab, wie es die SMS manchmal tut). Für Abstimmungszwecke empfiehlt es sich, den Transaktionscode aus dem Super-App-Bildschirm zu übernehmen, wo er als klar beschriftetes Feld angezeigt wird, und ihn zur Überprüfung mit der SMS abzugleichen.
Was ist, wenn die SMS gelöscht wurde – kann ich trotzdem auf die Transaktionsdaten zugreifen?
Wählen Sie *234# und wählen Sie „Mein Konto“, dann „M-Pesa-Kontoauszug“ und dann „Mini-Kontoauszug“, um Ihre letzten fünf Transaktionen per SMS zu erhalten. Für einen vollständigen Kontoauszug über bis zu 12 Monate können Sie über dasselbe Menü einen PDF-Kontoauszug anfordern, der an Ihre registrierte E-Mail-Adresse gesendet wird. Der Kontoauszug ist passwortgeschützt; das Standardpasswort ist Ihre nationale ID-Nummer. Safaricom stellt den Transaktionsverlauf auch über die M-Pesa Super App im Bereich „Transaktionen“ oder „Kontoauszug“ bereit.
Funktioniert M-Pesa mit Buchhaltungssoftware wie QuickBooks oder Zoho Books?
Ja. Zoho Books bietet eine native M-Pesa-Integration für kenianische Konten, mit der Sie M-Pesa-Paybill-Zahlungen automatisch mit Rechnungen abgleichen können. QuickBooks Kenya ist weit verbreitet, bietet jedoch keine native M-Pesa-Integration – extrahierte Daten aus SMS oder Screenshots können als CSV importiert werden. Lokale kenianische Plattformen wie ZYNO Books und ERPNext bieten integrierte M-Pesa-Abstimmungs-Workflows, die viele kenianische Buchhalter als besser geeignet für die lokale Compliance-Landschaft, einschließlich der KRA-eTIMS-Anforderungen, empfinden.
Reicht der M-Pesa-Transaktionscode für die Steuererklärung bei der KRA (kenianische Steuerbehörde)?
Die KRA akzeptiert M-Pesa-Kontoauszüge als Belege für die Steuererklärung, insbesondere für kleine Unternehmen, die hauptsächlich über Mobile Money abwickeln. Jede Transaktion wird durch ihren Transaktionscode indexiert, und der Kontoauszug bietet eine vollständige Prüfspur. Für die formelle Steuererklärung verlangt die KRA in der Regel den vollständigen M-Pesa-Kontoauszug (der als PDF von Safaricom durch Wählen von *234# angefordert werden kann) anstelle einzelner SMS-Codes. Der Transaktionscode selbst ist jedoch das, was eine bestimmte Zahlung mit einem bestimmten Eintrag im Kontoauszug verknüpft, was ihn zur entscheidenden Referenz für jede spätere Prüfung oder Rückfrage macht.