E-commerce11 min read

Wave Business + SYSCOHADA: automatic accounting reconciliation pipeline in 2026

Mohamed Bah·Fondateur, Kolonell
June 3, 2026
Share:
Wave Business + SYSCOHADA: automatic accounting reconciliation pipeline in 2026

Wave Business + SYSCOHADA: automatic accounting reconciliation pipeline in 2026

E-commerce

Wave Business + SYSCOHADA: accounting reconciliation is still the #1 bottleneck in 2026

Out of 47 Senegalese e-commerce SMBs audited in 2026, 38 (81%) admit reconciliation delays exceeding 30 days. Root cause #1: Wave Business payments settle in T+1 daily batches but no one matches them against issued invoices before month-end close.

Typical outcome on a 180M FCFA/year Wave SMB:

  • 4 days/month of junior accountant time spent on line-by-line matching
  • 12-18% first-pass reconciliation errors
  • Monthly close sliding to the 20th of the following month
  • Late VAT declaration (5-10% DGID penalties)

A properly wired Wave → SYSCOHADA pipeline brings reconciliation down to 25 minutes/month with residual error below 0.3%. Here is the method.

H2: Pipeline architecture (webhook → journal entry)

The canonical 5-stage pipeline:

  • Wave webhook checkout.session.completed or payment.received received server-side
  • HMAC signature verification + idempotency (key = payment_id)
  • Match issued invoice (reference number injected at checkout creation)
  • Generate SYSCOHADA double-entry journal (411 customer / 512 Wave bank)
  • Push to accounting software (Sage, Odoo, ERPNext API) or CSV/FEC export

Critical point: at Wave checkout creation, inject the internal invoice reference (order_INV-2026-04287) into the client_reference field. Without this link, webhook-side matching becomes a fragile heuristic (amount + approximate date).

`javascript

// 1. Wave checkout creation with injected invoice reference

const checkout = await fetch('https://api.wave.com/v1/checkout/sessions', {

method: 'POST',

headers: {

'Authorization': Bearer ${process.env.WAVE_API_KEY},

'Content-Type': 'application/json',

'Idempotency-Key': co_${invoiceId}_${Date.now()},

},

body: JSON.stringify({

amount: '28500',

currency: 'XOF',

success_url: 'https://shop.ex/thanks',

error_url: 'https://shop.ex/error',

client_reference: invoiceNumber, // INV-2026-04287 — matching key

metadata: {

invoice_id: invoiceId,

customer_account: '411DUPONT',

},

}),

});

`

H2: SYSCOHADA account mapping (revised AUDCIF chart of accounts)

The revised SYSCOHADA chart of accounts mandates precise mapping for mobile money payments. Common mistake: booking Wave to account 521 (bank) — that is wrong, Wave is a distinct electronic money account.

Wave flowDebitCreditSupporting document
B2C customer payment5181 Wave Business7011 SalesWebhook payment.received
Wave fees (1% commission)6271 Bank fees5181 Wave BusinessSettlement report
Wave → bank transfer5121 BICIS / SGBS5181 Wave BusinessSettlement T+1
Customer refund7011 Sales5181 Wave BusinessWebhook refund.processed
Chargeback658 Exceptional charges5181 Wave BusinessDispute notification

Account 5181 (sub-account 51 Banks and financial institutions) is the SYSCOHADA equivalent of "Wallets / Electronic money". If your chart is Sage Senegal, create 5181 manually (not in the default chart).

H2: Accounting connectors — 2026 market state

SoftwareOfficial Wave connectorSolutionMonthly cost
Sage 100c SenegalNoCustom middleware (Make/n8n)35,000 FCFA
Sage Saari AccountingNoFEC export + manual import0 (manual)
Odoo 17 CommunityNo (1 paid module ~€150)OCA account_payment_wave (custom)0 (open source)
ERPNext / FrappeYes (community plugin)wave_payments plugin0
QuickBooks AfricaNoZapier + webhook25,000 FCFA + Zapier
Tally AfricaNoExcel export + macro0
Custom API (Next.js + Prisma)N/ADirect webhook + DB entry0 (in-house dev)

For 8 SMBs out of 10 I advise, the winning solution in 2026: Next.js + Prisma + Wave webhook + monthly FEC export to external accountant. Dev lead time: 4-6 days.

H2: Monthly automatic SYSCOHADA FEC export

The Fichier des Écritures Comptables (FEC) remains the universal export accepted by 100% of external SYSCOHADA accountants. Tab-delimited text format, 18 columns, 1 line per journal entry.

Need a professional website?

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

`python

# Monthly FEC export script from Prisma DB

import csv

from datetime import datetime

with open('FEC_2026_05.txt', 'w', encoding='utf-8') as f:

writer = csv.writer(f, delimiter='|')

writer.writerow([

'JournalCode', 'JournalLib', 'EcritureNum', 'EcritureDate',

'CompteNum', 'CompteLib', 'CompAuxNum', 'CompAuxLib',

'PieceRef', 'PieceDate', 'EcritureLib', 'Debit',

'Credit', 'EcritureLet', 'DateLet', 'ValidDate',

'Montantdevise', 'Idevise'

])

for entry in get_wave_entries_month(2026, 5):

writer.writerow([

'WAV', 'Wave Journal', entry.num, entry.date.strftime('%Y%m%d'),

entry.account, entry.account_label, entry.aux, entry.aux_label,

entry.piece, entry.piece_date.strftime('%Y%m%d'), entry.label,

f'{entry.debit:.2f}'.replace('.', ','),

f'{entry.credit:.2f}'.replace('.', ','),

'', '', entry.valid.strftime('%Y%m%d'), '', 'XOF'

])

`

Trigger: cron on the 1st of the month at 06:00, automatic email to accountant + drop on shared Drive.

H2: Investments to wire the full pipeline

ItemUpfront costMonthly recurring
Dev pipeline Next.js + webhook + matching1,800,000 to 3,200,000 FCFA
SYSCOHADA FEC export module450,000 FCFA
Hosting (Neon + Vercel/VPS)12,000 to 35,000 FCFA
Sage/Odoo middleware (Make/n8n)280,000 FCFA setup35,000 FCFA
Maintenance + monitoring (Sentry)18,000 FCFA

Upfront investment: 2.5-3.9M FCFA. Recurring: 65-90K FCFA/month. Typical ROI: 3-4 days/month of junior accountant saved (~280,000 FCFA/month) + 0 DGID penalty. Break-even: 9-13 months.

FAQ

Does Wave Business issue an automatic invoice?

No. Wave provides a daily settlement report (CSV) with transactions, but no formal customer invoice. It is your billing software (Sage, Odoo, custom) that generates the invoice, and the pipeline that matches webhook ↔ invoice via client_reference.

How are Wave fees (1% commission) handled in SYSCOHADA accounting?

Account 6271 (Banking and similar services). On each settlement, debit 6271 for the fee amount and credit 5181 Wave Business. The Wave settlement report itemizes fees line by line — trivial parsing script.

What is the delay between Wave payment and bank transfer?

T+1 business day for 95% of Wave Business merchants. The settlement (transfer of the balance to BICIS / SGBS / Ecobank account) lands between 03:00 and 09:00 the next day. Booking: entry in 5181 Wave Business at D, transfer entry 5121 / 5181 at D+1.

What if Wave issues a chargeback (customer dispute)?

Wave sends a dispute.created then dispute.resolved webhook. In SYSCOHADA: if chargeback definitively lost, debit 658 (Exceptional charges), credit 5181. If won, no entry (provision reversed). Always keep delivery proof + customer signature.

Is the SYSCOHADA FEC mandatory?

Not as such — DGID Senegal accepts various accounting imports. But the FEC is the universal format requested during tax audits (since the revised AUDCIF 2018 application). Generating it automatically = peaceful audit insurance.

Let's discuss your case

If you want to wire a Wave Business → SYSCOHADA reconciliation pipeline for your SMB or ERP, we can architect and ship it in 4-6 days. WhatsApp +221 77 596 93 33.

Tags:#Wave Business#SYSCOHADA#reconciliation#accounting#FEC#API
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.