DEV Community

Cover image for Payments were never the hard part: what we are building at FinoQ
James Ngandu
James Ngandu

Posted on

Payments were never the hard part: what we are building at FinoQ

A shopkeeper in Nairobi closes up on Sunday night. By Monday morning she has three M-Pesa messages for the till, a paybill statement from the bank, one supplier paid in cash, and a notebook with two columns. Her accountant wants statements by Wednesday.

Nothing on that list is a payment problem. The money moved. It moved fine.

The problem is that the story of the money now lives in five places, and somebody has to sit down and put it back together before the week starts again.

That is the work we are building for.

Two colleagues looking at a laptop together

The part nobody sells you

Payments get all the attention. New wallets, new gateways, new checkout buttons, another QR code on the counter. Every one of them asks a business to move something: move your customers, move your float, move your till number, move your books.

Most businesses we talk to do not want to move anything. Their paybill works. Their till works. Their bank works. Their accountant has a Zoho Books file that has been tidy for four years. What they want is for all of it to stop being five separate jobs.

So we built the opposite of another wallet. FinoQ connects the channels a business already uses and puts one readable record underneath them.

Connect, do not replace. That sentence is the whole product.

What FinoQ actually is

Four pieces, one account.

Before the payment. We check who you are dealing with. National ID, passport, KRA PIN, company lookups. Then we match a phone number or a bank account to the person who owns it. If the name on the account is not the name you expected, you find out before the money leaves, not after.

Getting paid and paying out. Payment links, an M-Pesa prompt on the customer's phone, and the paybill, till or bank you already run. On the way out you get single, bulk and scheduled payouts, with the registered name on the screen first.

After the payment. Collections and payouts land on one double-entry ledger. Sales are fiscalised with KRA eTIMS as they happen. Invoices, payments and expenses mirror into Zoho Books. Revenue, outgoing and net are worked out per channel, not per spreadsheet.

Where you use it. The dashboard if you want no code. The API if you want all of it. Same checks, same limits, same events.

FinoQ Business home screen showing balances, collections and connected channels

The screenshot we are proudest of

It is not the dashboard. It is the confirm screen.

You type a phone number, and before you press anything, the app shows you the name registered to that number. Wanjiku Kamau. Not a masked account, not a reference code, not a prayer.

We built it because sending money to the wrong person is a quiet, expensive, very common kind of pain. The kind you only talk about after it happens. Getting the name in front of someone for two seconds prevents a whole category of support tickets, and a whole category of arguments.

It also changes how a business pays suppliers. When the name is on screen, an approval means something.

Send money screen with the recipient name and channel check

One wallet, many countries

On the personal side, the same idea for people rather than businesses. Your wallet is opened with a licensed partner bank through FinoQ, and you use it from one app. Deposit with an M-Pesa prompt, request money with a link that already has the other person's details filled in, then send to mobile money or a bank account across more than thirty African countries.

Your money is not sitting with us. FinoQ is not a bank and does not hold funds. The accounts are opened and held by licensed partners, and you can see that in the app instead of having to read the terms.

FinoQ Personal home screen with balance and quick actions

For the people who will integrate it

The developer story is simple to say and hard to build: one integration, the whole ecosystem.

One API key. One sandbox. One webhook pipeline with a signing secret you can rotate, and a log that shows every payload and every provider response. A discovery endpoint tells you which channels are available for a country and an amount before you write the request.

The part we care about most is that you keep your own provider relationships. If you already went through the work of getting M-Pesa credentials, you can attach them. Transactions run under your own merchant account. A payment provider sells you its account. We would rather you kept yours.

curl -X POST https://api.finoq.africa/v1/payments \
  -u "$FINOQ_KEY:$FINOQ_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 1500,
    "currency": "KES",
    "channel": "mpesa",
    "phone": "+254700000000",
    "reference": "INV-1042",
    "callback_url": "https://yourapp.example/webhooks/finoq"
  }'
Enter fullscreen mode Exit fullscreen mode

And parity: if a feature exists in the dashboard, it exists on the API. No feature that only a sales call can unlock. That rule costs us discipline every sprint, and it is the reason developers stay.

What we are not

We are not your new wallet. Keep the one you have.

We are not your new accounting software. Keep the books you have, and we will post into them.

We are not your new eTIMS software. Your sales just get fiscalised as they happen.

We are not a bank. We do not hold your money, and we are not trying to.

Where we are

A small team in Nairobi, building in public enough that you can kick the tyres. The product is live. The API is live. The parts that are still rough are rough in ways we can name, which is more than most.

If you run a shop, a school, a clinic or a team with three branches and one M-Pesa statement, we would like to hear what your Monday morning actually looks like. If you are building a product on top of payments, we would like to hear what you wish one integration could do.

The best version of FinoQ is the one where nobody has to think about it.

FinoQ Business channel analytics

If any of this is the problem you are sitting with, the door is open at finoq.africa. For the business side, start at business.finoq.africa, and the integration guide is at docs.finoq.africa. You can also just message us on WhatsApp at +254 785 077 143. A person answers.

Top comments (0)