E-commerce15 min read

Reconciling and Accounting for Mobile Money Collections in Senegal in 2026

Mohamed Bah·Fondateur, Kolonell
June 9, 2026
Share:
Reconciling and Accounting for Mobile Money Collections in Senegal in 2026

Reconciling and Accounting for Mobile Money Collections in Senegal in 2026

E-commerce

Many Senegalese merchants discover an accounting problem the day they want their first clean balance sheet, or the day an investor asks for a cash-flow statement. The Wave and Orange Money collections are there, the money is in the account, but no one can precisely link each franc collected to an order, nor separate revenue from the fees charged. This is what we call a cash discrepancy: the unexplained difference between what the orders say and what the wallet balance says.

Reconciliation is the art of matching three sources that are never identical out of the box: your orders (store side), the actual transactions (operator or aggregator side), and your accounting (SYSCOHADA books side). Until these three sources reconcile to zero, you do not really know how much you earn, and you are exposed to errors, internal fraud and tax reassessments.

This article describes an operational method to reconcile and account for mobile money collections in Senegal: pull the right exports, match line by line, handle fees cleanly, manage VAT and the SYSCOHADA framework, choose tools, and eliminate cash discrepancies sustainably.

The three sources to reconcile

Let us set the vocabulary clearly, because confusion often comes from there.

  • Orders source: what your site/CRM records. An order of 25,000 FCFA, status "paid".
  • Collections source: what the operator or aggregator (Wave Business, Orange Money merchant, PayDunya, CinetPay) actually received. The same order may appear there as 25,000 FCFA gross, minus 250 FCFA fees, net 24,750 FCFA.
  • Accounting source: the entries in your books, which must record gross revenue, fees as an expense, and collected VAT separately.

Reconciling means verifying that each line of the orders source has its counterpart in the collections source, and that the total lands in the accounting source with no hole.

Pulling the right operator exports

The first step is to have usable exports, ideally daily.

  • Wave Business: export the merchant transaction statement (CSV) with date, amount, fees, reference and transaction ID. The reference is crucial: it is what links to the order number if you injected it at payment time.
  • Orange Money merchant: statement via the merchant portal or via your aggregator. Check the presence of the gross amount and fees.
  • Aggregator (PayDunya, CinetPay, Hub2): this is often the cleanest source, because the aggregator provides a unique transaction ID and the status. Prefer the aggregator export when you go through one.

Structuring tip: always inject your order number as the reference at payment initiation. Without this shared reference, matching becomes a manual headache where you must guess which order matches which amount at which time.

Line-by-line matching

The principle: for each collected transaction, find the corresponding order by the reference, then verify the amount.

  • Import the operator export into a spreadsheet or a tool.
  • Join on the order reference (or, failing that, on amount + timestamp + payer number, a degraded method).
  • Categorize each line: "matched" (order found, amount consistent), "collection without order" (money received but no order: duplicate, test, or manual payment), "order without collection" (order marked paid but no collection: fake payment, missed webhook, or wrong status).

The "order without collection" lines are the most dangerous: these are often deliveries made without a real payment. The "collection without order" lines sometimes hide customer payments to reconcile or errors to refund.

Handling fees cleanly

Classic mistake: recording the net received as revenue. That is wrong, both in accounting and tax terms. The rule:

  • Revenue is the gross amount paid by the customer.
  • Operator/aggregator fees are an expense (collection commission).
  • Net credited = gross minus fees.

Example: order 25,000 FCFA, fees 250 FCFA, net 24,750 FCFA. In accounting, you record 25,000 as income, 250 as a commission expense, and 24,750 in cash. If you book 24,750 as revenue, you under-declare your turnover and distort your margins.

VAT: what to separate

In Senegal, the standard VAT rate is 18 percent. If you are liable for it, the price paid by the customer includes VAT, which must be isolated.

  • On a sale of 25,000 FCFA incl. tax, the pre-tax base is 25,000 / 1.18 = 21,186 FCFA and the collected VAT is 3,814 FCFA.
  • You remit collected VAT minus deductible VAT on your purchases.
  • Collected VAT is never income: it is a debt to the State until remitted.

Caution: do not confuse operator fees (an expense) with VAT (a tax liability). And check your regime: depending on your turnover, you may fall under the actual or a simplified regime. A local accountant settles this point once and for all.

Need a professional website?

Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.

SYSCOHADA: the structure of entries

The applicable accounting framework is the revised SYSCOHADA (OHADA zone). Without going into account-number detail, the logic for a mobile money collection is:

  • Income: a sales account (class 7) for the pre-tax amount.
  • Collected VAT: a VAT account (class 4) for the tax portion.
  • Cash: a cash account dedicated to the mobile money wallet (class 5), distinct from the bank account, for the net received.
  • Expense: a banking-services/commissions account (class 6) for the fees.

Strong recommendation: open a distinct cash account per wallet (one for Wave, one for Orange Money) so the accounting balance of each wallet can be directly reconciled with the operator statement. Mixing everything into a single account makes discrepancies undetectable.

Tools and frequency

  • Low volume (under 50 transactions/day): a structured spreadsheet is enough, with a daily import and a join on the reference. Discipline above all.
  • Medium volume: a management tool (or a module of your e-commerce platform) that automatically matches orders and collections via the aggregator API. This is where a single aggregator (PayDunya, CinetPay) simplifies everything, since it centralizes Wave, OM and card in one statement.
  • High volume / multi-channel: an automated connector to the accounting software, with generated entries and discrepancy flagging for human review.

Frequency: reconcile daily. A discrepancy spotted at D+1 is resolved in minutes; the same one spotted at D+30 requires hours of investigation and sometimes stays unresolved.

Mini case: an online grocery brings its discrepancy from 380,000 to 0 FCFA

An online grocery in Dakar did about 6 million FCFA in monthly sales, split across Wave and Orange Money plus a bit of card via an aggregator. When closing its quarter, it found a cash discrepancy of 380,000 FCFA: impossible to link wallet balances to orders. Diagnosed causes:

  • No order reference injected into payments: automatic matching impossible.
  • Operator fees booked as a reduction of revenue (net taken for gross), so under-declared revenue and distorted margins.
  • A single catch-all cash account for both wallets.
  • Three internal refunds to an employee's number, never linked to an order (internal fraud).

Plan applied in one month: systematic injection of the order number as the reference, separation of cash accounts per wallet, recording gross with fees as an expense and VAT isolated, daily import and automatic join. The three suspicious refunds were identified and triggered role separation (the person who refunds is no longer the one who validates). The following quarter, the cash discrepancy was 0 FCFA and the actual revenue, correctly booked, was 4 percent higher than what had been declared before.

FAQ

Should I record the gross amount or the net received?

Always the gross as revenue, and fees separately as an expense. Recording the net as revenue under-declares your activity and distorts your margins and VAT.

How do I link a Wave payment to the right order?

By injecting your order number as the reference at payment time, then joining on that reference in the export. Without a reference, you are stuck with unreliable manual matching by amount and timestamp.

How often should I reconcile?

Daily. A discrepancy seen at D+1 is fixed fast; seen at D+30, it becomes a costly and often partial investigation.

Do I need a separate cash account per wallet?

Yes. A distinct account for Wave and one for Orange Money lets you reconcile each accounting balance with the corresponding operator statement. Mixing everything makes discrepancies undetectable.

Is VAT included in the price paid by the customer?

If you are liable, yes, the displayed price is incl. tax. You must isolate the VAT portion (price / 1.18 for the pre-tax base at 18 percent) and treat it as a debt to the State, not as income.

Let's talk about your project. If you want to automate the reconciliation of your mobile money collections and make your SYSCOHADA accounting reliable, we set up the exports, references and entries. Write to us on WhatsApp +221 77 596 93 33.

Tags:#reconciliation#accounting#mobile money#SYSCOHADA#VAT#Wave#Orange Money#cash discrepancy
Share:

Mohamed Bah

Fondateur, Kolonell

Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.