With Moniepoint connected, Tabs sends what an order owes to your Moniepoint POS terminal. The customer pays on the terminal by card or transfer, and the order is marked paid by itself. Nobody types the amount into the terminal, and nobody records the payment by hand.
The money goes to your own Moniepoint account, as it does for any payment on your terminal. Moniepoint takes its fee from your settlement, so there's no fee to choose. Tabs takes no cut.
Before you start, in Moniepoint
Tabs talks to your terminals through an API client you make in your own Moniepoint account. The Connect Moniepoint sheet lists the steps under "First, make an API client in Moniepoint":
- Log in to your Moniepoint business account and choose the business.
- Go to Account settings, then POS Terminal Configuration. Turn on ERP Integration and set it to Custom.
- Open POS APPS Developer and create a new API client that can make payment requests.
- Copy its client ID and secret into the fields in Tabs.
You'll also want each terminal's serial number. It's on the terminal and in your Moniepoint dashboard. The terminals need the Moniepoint app 1.7.2 or later.
Connecting it in Tabs
Open Integrations from the sidebar. On the Moniepoint card, press Connect.
API client. Paste the Client ID and Client secret. Tabs checks them with Moniepoint before saving, and never shows the secret again. Once saved, the client shows only as its last four characters.
Terminals. Each terminal has three fields:
| Field | What to enter |
|---|---|
| Serial number | Required. The terminal's serial number. Each serial can be listed once. |
| Store | The store whose till uses it, or **Any store**. Any store is the default. |
| Name | Optional. What your staff call it, such as "Front counter". Without one, Tabs shows the serial. |
Add a terminal adds another row. The cross on a row removes it.
Which stores take it. You don't tick stores for Moniepoint: they follow the terminals. A store takes Moniepoint at its till once a terminal is set to it. A terminal set to Any store makes every store take it. With no terminal at all, no store takes it yet, and Tabs says "Add a terminal to take payments on it."
Press Connect. Tabs says "Moniepoint connected", and the sheet stays open on the webhook.
The webhook
The webhook is optional. With it, a payment lands in Tabs the moment the customer pays. Without it, Tabs asks Moniepoint every few seconds, so payments land a little later.
- In your Moniepoint account, open POS APPS Developer, then Webhooks, and add the address the sheet shows. Copy puts it on your clipboard.
- Paste the secret Moniepoint gives you into Webhook secret, and save.
Once it's set, the sheet says Webhook secret · set. Replace or remove changes it. Saved empty, the secret is removed and Tabs goes back to asking Moniepoint.
Taking a payment on a terminal
Taking a payment needs the orders permission Take payments. The order must be in naira, for at least ₦1.
At the till. Under How is it paid?, pick the Moniepoint tile. With more than one way to pay in that store, the tile is the one last used at this store on this device, and Change lists the others, each terminal by its name. The button becomes Create and send to the terminal, such as Create and send to Front counter. Press it, and the order is made and sent.
On an order. Press Record payment and pick the Moniepoint tile under Paid by. On a phone it's a full row under Cash, Transfer, POS and Other. The button says Send with the balance and the terminal, such as "Send ₦18,500 to Front counter".
While the customer pays. Tabs shows "Waiting for the customer" with the amount and the terminal. The customer pays by card or transfer on the terminal, and the window updates by itself. You can close it: the payment shows on the order. Check again asks Moniepoint now. To stop a payment, cancel it on the terminal. Tabs can't cancel it for you.
When it's paid, Tabs says "Payment received". The till's slip says the sale was paid by Moniepoint, and a sale handed over at the counter is completed once it's paid.
If it doesn't go through, Tabs says why, such as "The card or transfer was declined." or "It was cancelled on the terminal.", and offers Send again. Pressing send twice for the same order, terminal and amount within two minutes gives back the first request, so the terminal isn't asked twice.
A worked example
These figures are an example. You have two shops, Ikeja and Yaba. Ikeja has two terminals, named "Front counter" and "Back office", both set to Ikeja. Yaba has none.
A customer in Ikeja buys a ₦18,500 pressing iron. At the till, the cashier picks the Moniepoint tile, presses Change and picks Front counter, then presses Create and send to Front counter. The terminal on the front counter asks for ₦18,500. The customer taps their card, and Tabs shows "Payment received". The order is paid, and the ₦18,500, less Moniepoint's fee, settles to your Moniepoint account as usual. The next sale at that till offers Front counter first.
In Yaba, the till has no Moniepoint tile, because no terminal is set to it. Set one of the terminals to Any store, and both shops take it.
When the money has to go back
Moniepoint has no refund that Tabs can call. So:
- Paid for an order that no longer owes it. If the customer pays on the terminal after the order was cancelled or already paid in full, nothing is added to the order. The payment says "Nothing was added to it: give the money back yourself.", and the owner is told in the bell: "Give back" the amount "paid on order" and its number. Give it back yourself, the way you'd return any money.
- Not paid within a day. A payment nobody pays on the terminal within 24 hours fails: "Nobody paid on the terminal within a day."
- A different amount. If the terminal took a different amount from the one sent, it isn't counted on the order.
- Voiding. Voiding a Moniepoint payment corrects the record only, as for cash. It doesn't move any money. See payments, receipts and returns.
Once it's connected
The card shows Connected and the date, how many terminals there are, the client's last four characters, how many stores take it, and whether the webhook is on ("webhook on", or "no webhook, so payments land a little later").
Its menu has:
- Client, terminals and stores (or Manage on the card). Change the terminals or the webhook here. Replace client takes a new client ID and secret, checked the same way. Keep the current client goes back.
- Open Moniepoint, which opens Moniepoint's website.
- Disconnect. No store offers Moniepoint until you turn it on again. The client and terminals are kept, and payments already started through it still finish.
A disconnected card is marked Off and says Disconnected. Turn on brings it back.
A terminal you remove stops being offered. A payment already sent to it still settles.
If Moniepoint stops accepting the client
If Moniepoint stops accepting your API client, the card is marked Reconnect and says "Moniepoint stopped accepting it". Payments can't go to your terminals until it's fixed. The owner is told in the bell: "Moniepoint stopped accepting your connection".
Press Reconnect. Make a new API client under POS APPS Developer in Moniepoint, enter its client ID and secret, and press Reconnect at the foot of the sheet. Tabs says "Moniepoint is connected again".
Limits
- Naira only, and at least ₦1 a payment.
- No refunds from Tabs. Money that has to go back is given back by the shop.
- No fee choice. Moniepoint takes its fee from your settlement.
- A store added later isn't covered by an Any store terminal until you open Client, terminals and stores and save again.
- One business, one client. A business connects one Moniepoint account, with as many terminals as it lists.
Who can do what
| Who | What they can do |
|---|---|
| The owner | Everything below, and the bell's notices about Moniepoint, which only the owner gets and which can't be turned off. |
| A role with **Connect payments and marketplaces** | Connect Moniepoint, change its client, terminals and webhook, disconnect it, turn it back on and reconnect it. This also needs someone who works in every store: the owner, or a role with **Work in every store**. |
| A role with **Take payments** | Send an order's balance to a terminal, at the till or on the order. |
| A role with **See integrations** | See the Moniepoint card. The built-in Staff role has it. |
See members and roles.
If something goes wrong
"Moniepoint didn't accept this client ID and secret." Check them under POS APPS Developer in your Moniepoint account, and that ERP Integration is on and set to Custom.
"Moniepoint was connected before. Turn it back on from its card." It's disconnected, not gone. Press Turn on.
"Moniepoint couldn't be reached. Try again in a moment." Moniepoint didn't answer. Nothing was sent.
"This store has no Moniepoint terminal. Add one under Integrations." Set a terminal to the store, or to Any store.
"Moniepoint terminals take naira only." The order's store uses another currency.
"The terminal refused it", with Moniepoint's reason. Often the serial number is wrong. Check it on the terminal.
"Moniepoint stopped accepting this business's connection. The owner can reconnect it under Integrations." See if Moniepoint stops accepting the client.
There's no Moniepoint tile at the till. No terminal is set to that store, Moniepoint is off, or your role can't take payments.
