모든 M-Pesa SMS 형식에서 거래 코드, 금액, 거래 상대방을 추출하세요
M-Pesa SMS에서 네 가지 필드를 수동으로 입력하는 데 메시지당 90초가 걸리지만, 이 도구는 스크린샷당 5초, 템플릿 없이 다섯 가지 거래 형식 모두에서 처리합니다.
SMS 스크린샷당 5-10초 · 인쇄된 텍스트 최대 99% 정확도
M-Pesa SMS에서 추출할 수 있는 정보
M-Pesa 확인 메시지는 일반 SMS로, 앱 UI나 시각적 레이아웃이 없습니다. 맞춤 열 추출을 사용하면 필드 이름을 지정하고 AI가 찾아냅니다.
모든 SMS의 시작 부분에 있는 10자리 코드입니다. 처음 3자는 날짜를 인코딩합니다(T = 2025). 범용 조정 키입니다.
Ksh1,500.00 형식으로 표시됩니다. AI는 레이블을 읽어 거래 비용 및 새 잔액과 구분합니다.
거래 유형에 따라 다릅니다. 송금 시 전체 이름, 청구서 지불 시 계정이 포함된 업체명, 상품 구매 시 판매자명, 입금 시 송금인입니다. 의미론적 추출로 역할을 식별합니다.
모든 SMS에는 동아프리카 시간 기준 타임스탬프(on 23/6/25 at 3:41 PM)가 포함됩니다. 거래 코드에도 교차 확인을 위한 날짜가 인코딩되어 있습니다.
M-Pesa는 앱 화면이 아닌 5가지 SMS 템플릿을 사용합니다
M-Pesa는 모든 사람이 스마트폰을 소유하지 않은 시장을 위해 만들어졌습니다. 영수증은 일반 SMS이며, 동일한 4개 필드가 5가지 형식으로 재배열됩니다. 템플릿 기반 도구와 화면 OCR은 시각적 구조를 기대하기 때문에 실패합니다.
M-Pesa가 기존 추출 방식을 무너뜨리는 이유
필드를 고정할 앱 UI가 없습니다. Venmo와 PayPal에는 시각적 화면이 있습니다. 하지만 M-Pesa의 영수증은 원시 SMS입니다. 굵은 제목도, 색상도 없습니다. 앱 인터페이스용으로 설계된 OCR 도구는 시각적 구조가 없으면 제대로 작동하지 않습니다.
하나의 메시지에 세 개의 Ksh 금액 — 그중 하나만 실제 금액입니다. 송금 금액, 거래 수수료, 새 잔액 모두 Ksh 접두사를 공유합니다. "Ksh 뒤의 숫자"를 가져오는 정규식 규칙은 자주 잘못된 값을 선택합니다. 정규식으로 M-Pesa SMS를 파싱하는 개발자는 메시지 유형별로 올바른 Ksh 발생 지점을 분리해야 합니다. 이는 형식에 따라 깨지기 쉬운 방식입니다.
거래 상대방 형식이 거래 유형별로 달라집니다. "Sent to JOHN DOE 0722000000"은 개인을 지칭합니다. "Paid to Naivas Supermarket"은 판매자를 지칭합니다. "AC for account 1137238445"는 청구서 지불입니다. 하나의 정규식 규칙으로는 세 가지 모두를 처리할 수 없습니다. 각 형식의 문법 구조가 다르기 때문입니다.
의미 기반 추출이 모든 M-Pesa SMS를 읽는 방법
거래 코드는 항상 첫 번째 단어입니다. 모든 M-Pesa SMS는 10자리 코드로 시작하여 "Confirmed."가 이어지고, 일관된 푸터 "PIN YAKO SIRI YAKO"로 끝납니다. AI는 이 시작과 끝을 기준점으로 삼아 메시지를 텍스트로 읽고, 위치를 기준으로 코드를 식별한 후, 그로부터 나머지 추출을 구성합니다.
레이블이 각 Ksh 금액의 의미를 결정합니다. "Transaction cost, Ksh6.00"은 수수료로 태그됩니다. "New M-PESA balance is Ksh1,205.10"은 잔액으로 태그됩니다. "sent to" 또는 "received"가 앞에 있는 값만 금액 열에 입력됩니다. 이렇게 의미상 다른 세 가지 금액이 위치 가정 없이 해결됩니다.
거래 상대방은 의미적 역할로 식별됩니다. SMS에 "sent to JOHN DOE", "paid to Naivas Supermarket", 또는 "received from MICHAEL FEDERSEN"이라고 적혀 있든, AI는 거래 상대방에 있는 개체를 거래 상대방 열에 매핑합니다. 특정 키워드의 위치가 아닌 관계를 읽습니다.
"몇몇 비즈니스와 이야기하면서 한 가지를 느꼈습니다. 거래량이 늘어나면 조정 작업이 매우 빠르게 복잡해집니다."
— r/nairobitechies
혼합된 M-Pesa SMS 형식을 하나의 깔끔한 스프레드시트로
M-Pesa SMS 스크린샷을 한 번에 업로드
지난주 M-Pesa 확인 메시지 폴더가 있습니다: 고객의 송금 영수증, 학비 납부 청구서 지불 SMS, 슈퍼마켓 상품 구매 확인, 공급업체 입금 알림. 네 가지 다른 SMS 형식입니다. SMS 스레드의 JPG, PNG, WebP 스크린샷을 모두 한 번에 업로드하세요.
열 한 번 정의 — 거래 코드, 금액, 거래 상대방, 날짜
필요한 열을 입력하세요. AI가 각 SMS 스크린샷을 독립적으로 읽습니다: 첫 단어인 10자리 거래 코드를 찾고, 송금된 Ksh 금액을 추출하며, 동사가 "sent to", "paid to", "received from" 중 무엇이든 관계없이 역할에 따라 거래 상대방을 식별하고, 날짜와 시간을 기록합니다.
통합 테이블 생성 — 유형별 정렬 불필요
처리 시간은 스크린샷당 5~10초입니다. 출력은 하나의 XLSX 또는 CSV 파일입니다: 4개의 행, 4개의 열, 거래 유형당 하나의 행입니다. 송금, 청구서 지불, 상품 구매, 입금 형식 모두 동일한 깔끔한 구조를 생성합니다. 각 SMS를 열고 값을 수동으로 입력하는 것보다 약 18배 빠릅니다 .
5가지 M-Pesa SMS 형식 모두에서 제공되는 항목:
| 거래 코드 | 금액 (Ksh) | 거래 상대방 | 날짜 |
|---|---|---|---|
| ABCDE12345 | 1,500.00 | JOHN DOE | 23/06/25 |
| DY28XV679 | 4,000.00 | KCB Paybill | 09/09/25 |
| GH78KT901 | 500.00 | Naivas Supermarket | 15/01/26 |
가장 적합한 경우와 주의가 필요한 경우
경계를 이해하면 일관된 결과를 얻을 수 있습니다.
가장 적합한 경우
SMS 스레드 또는 Super App의 기기 직접 스크린샷. 전체 해상도 스크린샷은 최대 99% 정확도를 달성합니다. 기기에서 렌더링된 SMS 텍스트는 대비가 높습니다.
단일 배치 내 혼합된 거래 유형. 송금, 청구서 지불, 상품 구매, 출금 스크린샷을 함께 업로드할 수 있습니다. 처리 전에 유형별로 분류할 필요가 없습니다.
대량 과거 데이터 조정. 수십 개의 M-Pesa 확인 메시지가 하나의 정렬된 스프레드시트로 생성되어 QuickBooks Kenya 또는 Zoho Books로 바로 가져올 수 있습니다.
주의가 필요한 경우
WhatsApp 또는 Messenger를 통해 전달된 스크린샷. 메시징 플랫폼은 이미지를 압축합니다. 전달된 스크린샷은 해상도가 낮아 문자 수준 정확도, 특히 거래 코드에서 정확도가 떨어질 수 있습니다.
매우 오래된 M-Pesa SMS 형식. 거래 코드는 2025년에 S-접두사에서 T-접두사로 변경되었습니다. AI는 알려진 변형을 처리하지만, 훨씬 오래된 형식은 부분적인 결과를 생성할 수 있습니다.
아키텍처 경계: SMS 데이터 피드가 아닌 SMS 스크린샷. 이 접근 방식은 스크린샷으로 작동하지만, 휴대폰의 메시지 데이터베이스에서 SMS를 직접 구문 분석할 수는 없습니다. 이는 SMS 읽기 도구를 대체하기보다 보완합니다.
자주 묻는 질문
AI가 M-Pesa SMS에서 거래 금액, 수수료, 잔액을 어떻게 구분하나요?
모든 M-Pesa SMS에는 세 개의 Ksh 금액이 포함됩니다. AI는 각 값 앞에 오는 레이블을 읽습니다. Ksh1,500.00 sent to는 송금 금액, Transaction cost, Ksh6.00은 수수료, New M-PESA balance is Ksh1,205.10는 남은 잔액입니다. "sent to", "paid to", "received"와 같은 동작 동사가 앞에 오는 거래의 주체가 되는 값만 금액 열에 입력됩니다. 이렇게 하면 메시지를 수동으로 스캔할 때 발생하는 혼동을 방지할 수 있습니다.
거래 코드에 실제로 날짜가 인코딩되어 있나요? 그리고 그것이 왜 중요한가요?
네, 그렇습니다. M-Pesa 거래 코드의 첫 번째 문자는 연도, 두 번째 문자는 월, 세 번째 문자는 일을 나타냅니다. 즉, 거래 코드 필드만으로도 SMS 타임스탬프가 스크린샷에서 잘려나간 경우에도 거래 날짜를 확인할 수 있습니다. 또한 범용 조정 키 역할을 합니다. 동일한 코드를 가진 두 개의 SMS 메시지는 동일한 거래이므로, 중복 제거 및 KRA 참조를 위한 가장 신뢰할 수 있는 필드입니다.
일반 SMS 스크린샷과 M-Pesa Super App 스크린샷을 같은 배치에서 처리할 수 있나요?
네, 가능합니다. M-Pesa Super App은 거래 코드, 금액, 거래 상대방, 날짜 등 동일한 데이터를 시각적 확인 화면에 표시합니다. AI는 단일 배치에서 두 입력 형식을 모두 처리합니다. Super App 화면은 SMS보다 가맹점 이름을 더 읽기 쉽게 표시하는 반면, SMS에는 앱 화면에서 때때로 생략되는 거래 비용과 새 잔액이 포함됩니다. 열을 한 번 정의하면 AI는 각 스크린샷의 출처에 따라 적응합니다.
추출된 데이터를 KRA 세금 신고에 사용할 수 있나요?
KRA는 주로 모바일 머니를 통해 운영되는 소규모 기업의 경우 M-Pesa 명세서를 세금 신고를 위한 증빙 서류로 인정합니다. 각 거래는 거래 코드로 색인화되어 특정 지불을 KRA 기록과 연결합니다. 공식 신고를 위해서는 여전히 전체 M-Pesa PDF 명세서가 필요하지만, 추출된 SMS 데이터는 공식 명세서가 도착하기 전에 중간 조정 및 비용 추적을 위한 작업 스프레드시트를 제공합니다.
한 번에 수백 개의 M-Pesa 확인 메시지에서 데이터를 추출해야 한다면?
일괄 처리는 단일 업로드로 여러 스크린샷을 지원합니다. 모든 SMS 스크린샷을 함께 업로드하고, 거래 코드, 금액, 거래 상대방, 날짜의 네 가지 열을 정의하면 AI가 동일한 열 정의를 사용하여 모든 스크린샷을 처리합니다. 배치에 10개 또는 100개의 혼합 형식 M-Pesa 확인 메시지가 포함되어 있더라도 출력은 거래당 한 행씩 구성된 단일 Excel 파일이며, 회계 소프트웨어로 가져오거나 원장과 조정할 준비가 완료됩니다.
Venmo, PayPal, WeChat Pay, PIX 등 이 도구가 지원하는 모든 결제 스크린샷 유형 보기: 결제 스크린샷 개요
M-Pesa의 5가지 SMS 확인 형식, 거래 코드 구조 및 거래 상대방 필드 변형에 대한 심층 분석: M-Pesa 결제 스크린샷 — 금액 및 거래 코드 추출
형식 다양성 문제가 있는 또 다른 모바일 머니 기반 결제 시스템: GCash 스크린샷 추출