Import a Mobile Money statement
By the end of this page, you will know how to import Mobile Money statements from every operator (Orange Money, MTN MoMo, Wave, Moov Money) in Excel, PDF and CSV formats. The import automatically detects the direction (debit/credit) of each line and separates operation fees into a distinct accounting entry.
Choosing the statement format
Section titled “Choosing the statement format”Orange Money Cameroon has an optimized column profile; other operators go through the generic import and the OCR engine (for scanned PDFs), with the same automatic detection.
| Source | Format | Direction detection |
|---|---|---|
| Orange Money Cameroon — web export | .xlsx | Optimized profile (sender/recipient vs tenant) |
| Orange Money Cameroon — PDF wallet | .pdf | Same (automatic reading of the PDF text) |
| MTN MoMo, Wave, Moov, others | .xlsx / .csv / .pdf | Generic import + OCR, automatic detection |
Prerequisites
Section titled “Prerequisites”Before importing, configure the Mobile Money account credentials in the tenant settings:
-
Settings → Mobile Money.
-
Add an account:
- Phone number linked to the wallet (e.g.
699787694) - Merchant code if you use a merchant account (optional)
- Associated treasury accounting account (typically a
521xxxxsub-account from SYSCOHADA class 5)
- Phone number linked to the wallet (e.g.
-
Save. The parser uses these credentials to distinguish transactions where you are the sender (wallet debit) vs the recipient (wallet credit).
Import the statement
Section titled “Import the statement”-
Cash & Banking → Transactions → Imports → New.
-
Pick the Mobile Money account you created above.
-
Drag & drop the
.xlsxor.pdffile exported from your Orange Money wallet. -
SynkriaOps parses in a few seconds (depending on size — a 500-transaction statement takes ~3 s in
.xlsx, ~15 s in.pdf). -
The preview shows:
- Total parsed rows
- “Failed” status rows (automatically filtered out)
- Detected period (start/end dates)
- Total debits / credits
- Chronologically reconstructed balance variance (non-blocking warning — rule R5)
-
Confirm the import. Operations are created in
NON_TRAITEE(“to process”) status in the bank/treasury journal. You can then reconcile them against your client/supplier invoices.
Understanding the rules applied at import
Section titled “Understanding the rules applied at import”The Mobile Money parser enforces 5 business rules:
| Rule | Behaviour |
|---|---|
| R1 — Failed status | Rows with Echec status are ignored (counted as rejected rows in the preview) |
| R2 — Direction detection | DEBIT if you are the sender, CREDIT if recipient; special rules for AFRefund (operator refund → CREDIT), Afriland (bank gateway → incoming CREDIT), ROLLBACK, Cash deposit |
| R3 — Fee separation | If the Operation fees column > 0, an additional DEBIT entry (fees) is generated — always at your expense |
| R4 — Total amount column ignored | Sum already broken down into amount + fees, redundancy avoided |
| R5 — Chronological balance validation | The end-of-statement balance is reconstructed and compared to the displayed one; any variance is flagged with a non-blocking warning |
Example: a withdrawal with fees
Section titled “Example: a withdrawal with fees”A 5,000 XAF withdrawal with 79 XAF fees generates 2 accounting entries:
| Date | Label | Debit | Credit | Account |
|---|---|---|---|---|
| 2026-05-19 | Cash withdrawal - CALL BOX | 5,000 | 521xxxx (your MoMo account) | |
| 2026-05-19 | Fees - CALL BOX | 79 | 6271xxxx (bank charges) |
Total debit = 5,079 — passes the D=C balance check when combined with the
counter-entry (typically a cash account or a supplier on payment).
Fixing common errors
Section titled “Fixing common errors”| Error | Cause | Solution |
|---|---|---|
| ”Unrecognized format” | Excel file manually modified | Re-export from the wallet without altering columns |
| ”Direction indeterminable” | Non-standard sender/recipient | The row is flagged — handle it manually in the bank journal |
| ”Balance variance X XAF” | Mismatch between shown and reconstructed balance | Check no operation was deleted manually from the statement |