PayGO Token Service

——

Choose your own password

The password you signed in with was chosen by whoever set up your account, so they know it. Replace it before going any further — nothing else is available until you do.

Set up two-factor authentication

Your role requires a second factor before you can use the service. Add this account to an authenticator app — Google Authenticator, Authy, 1Password, or similar — then enter the 6-digit code it shows.

On this phone, if the app is already installed: Open in authenticator app

Or type this key into the app by hand:

Enter your code

Open your authenticator app and type the current 6-digit code for this account.

Period

Narrows every "in the period" figure below. Stock and register totals are always as of right now.

Households

Where everybody on the register stands.

Kit

What exists, and what is free to give out today.

Devices issued tokens

Every kit that received a token in the period chosen above, newest first.

Payment progress

Who has paid how much of what they owe. Written-off, cancelled and repossessed accounts are left out — this is for finding debt still worth collecting.

Where they are

Every household with a position recorded.

By place

The same register read as geography: which places are paying, where leads went nowhere, and what kit is on the ground.

On the shelf

Kit nobody holds. A device is in stock until its first token, so this is what can go out today.

What you may issue today

Limits are per person, per day.

Issue a token

The counter lives on the server. Every token is recorded against you.

Locked after issuing, so a stray tap can't send the next token to the wrong kit.

Many devices at once

A month to a whole village is one job, not two hundred. Paste the serials, or load a file of them, and every kit gets the same token type and amount. Each one is checked, charged and counted exactly as if it had been issued on its own.

A whole device CSV works too: if the text has a Serial Number column, that column is used and everything else ignored.

Your devices

Where the fleet stands. To find one device, search on Devices file — a list of every kit is not something anybody reads.

People

Who may use the system, what each may do, and how much they may give away.

How long a signed-in device is remembered

When somebody ticks "remember this device" after entering a code, this is how many days pass before they are asked for one again on that same device. Applies to every role at this business that has to enter a code at all.

Add someone

They sign in with these details. You can change what they may do at any time — it takes effect on their next request, not at their next sign-in.

Who they are

Required for a new account — this is how they are reached by SMS or email, and what a password recovery checks against.

What they may issue

Starts as everything the role allows. Unticking narrows this person only — it can never grant more than the role, and never more than the plan.

Their limits

Leave blank to use the role default. These are per person, per day, and reset at midnight UTC.

Load devices from a file

The manufacturer's sheet, with a serial, a starting code and a key on each row. Column names are matched loosely, so "Serial Number", "serial_number" and "SERIAL" all work.

The file is read in this browser and sent over the same connection as everything else. Keys are stored, never shown again, and never returned by any part of this service.

Or paste the rows
Which columns are read
ColumnIf it is missing
serial_numberrequired
keyrequired — 32 hex characters
starting_coderequired
token_count1
last_confirmed_count0
starting_code_sourcemanufacturer_file
token_prefixnone
token_suffixnone
Time Divider1 — one unit is one whole day
time_divider_seconds86400 — one day
is_lockednot locked
device_typenone

The three required ones have no default because guessing any of them produces a device record that looks correct and cannot be tokenised. Everything else is either cosmetic or the safe end of its range. Unrecognised columns are ignored, and Serial Number, serial_number and SERIALNUMBER are all the same column.

The two divider columns are different numbers and are read differently. A manufacturer's Time Divider counts units in a day — 1 means one unit is a whole day, and 24 would make it an hour. This platform's own export writes time_divider_seconds, which is seconds in a unit. Give the seconds column and it is taken as written; otherwise it is worked out from Time Divider.

Find and correct a device

Search by serial, model, starting code or the customer holding it. A starting code is shown as nine digits — spreadsheets drop leading zeros, so 1234567 is stored and displayed as 001234567. Correcting the code or the counter decides whether the hardware accepts anything this device is given, so this is an administrator's screen.

Places

Where this business works. Every registration form offers this list, so a ward written down once here is a ward spelled the same way on every record afterwards. A place that is not on the list is never refused — it is just not offered.

Load a list of places

One row is one whole path — the village, and the ward, district and region it sits in. Every place on the row that is not already listed is added, so a single row can add four. A short row is fine: regions alone, or regions and districts. Loading the same file twice adds nothing.

A gap in the middle is refused rather than half-loaded: a village with no ward could be listed and never found again, because every picker narrows by the level above.

Every place listed

What the pickers offer. Retiring one stops it being offered and leaves every record that names it untouched.

Device types

The physical components a kit is built from, named once — any device whose model string matches a type's name or one of its aliases reports the same specs, so getting one right fixes every device built from it at once.

Payments

Every payment received, who paid, and which token it funded. A payment with no token is unspent: money taken and not yet turned into days. Download CSV exports exactly the rows the filters leave.

Payments awaiting claim

Payments forwarded from the field that have not yet been linked to a device. Pick a row, confirm which serial it belongs to, and press Claim & Issue — no token is generated until you do.

Payments to split

Money received for more than one device. It is held — it buys no days and issues no token — until a commercial officer says how much belongs to each device. Most payments are for one device and never come here: record those on the device's account as usual.

Connect apps

Bring households in from a form, or send installed devices out to another system. Choose the system below and follow the steps — nothing here needs any technical knowledge, and nothing is sent out until you press Send.

Connected

Connect something new

Get ready for Prospect

Every device holding a household, whether it carries everything Prospect's own submission needs, and what is still missing if not. Nothing here calls Prospect — queuing marks a device so it is never offered twice, for whenever that call is switched on.

Type a serial, an identification number, a name or anything else into the filter above — it searches every column shown, and the "Queue" button above acts on whatever the filter currently narrows to.

Fill in what's missing, in bulk

A household's identification or GPS position, filled in from a file rather than one at a time — matched by device serial. Only a cell that is genuinely missing is filled; a value already on file is never overwritten, however the file re-states it.

RBF Submissions

All devices loaded for the REA TREEP RBF programme — review field-by-field, fix what is flagged, and push to Prospect. Devices already sent via the web form can be marked "already in Prospect" so they are never sent again.

Edit submission —

Your plan

What this business has bought, what it has used this month, and what that comes to.

Customer codes

The letters your households are numbered under, and how much room is left in them.

Connected phones & apps

Each phone or app gets its own keys, shown once. Lose a phone? Revoke its keys here and nothing else is affected.

Organisation information

Who this business is, and where reports, notices and any change to a device record are sent. Yours to keep correct — blank a box to leave it as it is. The plan and the billing dates are not here: those are asked for below.

What a household sees at the top of an automatic payment text — for example a token arriving, or a kit settling. Left blank, messages go out unsigned rather than under "PayGO".

Every automatic payment text to every household of this business goes out in this language. Which items each message includes — a balance, a name — is the commercial officer's own setting, below.

Your logo and colour

What your staff see when they sign in. Both are optional — leave them and the platform's own look is used, which is what everyone gets today. Included on every plan.

No logo

PNG, JPEG, GIF, WebP or SVG, up to about 90KB. A wide wordmark works better than a square badge — it sits beside your name, not on top of it.

Buttons, links and headings only. Warnings stay amber and refusals stay red on every installation, whatever colour you choose — a button that suspends a customer must never look like one that saves.

Where the map draws from

Left alone, the map uses OpenStreetMap's shared server. It is run on donations and asks that applications not lean on it, so once a field team is large enough to be noticeable, point this at a provider you pay for or at your own cache. Nothing else about the map changes.

Must be https, and must contain {z}, {x} and {y} — the zoom and the position, which the map fills in. Anything in this address is visible to anyone using the app, so a key that must stay secret does not belong here.

Shown in the corner of the map. Every tile source has a licence and nearly all of them require the credit — and leaving OpenStreetMap's there while using somebody else's tiles credits the wrong people.

Ask to change plan

The plan is what this business has bought, so moving it is the platform administrator's decision — in either direction. Nothing changes until it is approved, and you are emailed either way.

Stop using PayGO

Two ways, and both are requests — customers are holding kits that need tokens, so switching that off is not something to do by accident.

Your devices, token history and bills stay readable either way. Nothing is deleted.

Subscription

How long this arrangement has left, and what happens when it runs out. Issuing stops after the grace period; reading never does, so this bill stays visible to whoever has to pay it.

Bill for a month

Any month, itemised, beside the work that produced it — a charge you cannot trace to your own people's issuing is a charge you have to take on trust. Derived from the counters, so it reads the same however often you ask.

Limits by role

How much of your allowance one person in each role may spend. This is yours to set. It cannot raise your monthly allowance or add a token type — those are on the plan.

User manual

Everything this screen can do, in plain language.

Unlocks waiting

Accounts that have reached zero. The balance authorises the unlock — nobody has to judge that — so what is left is to satisfy yourself the money is real. The whole history is here; you should not have to go anywhere else.

Approvals

Customer detail changes

Tokens for kit nobody holds

Tokens with no payment behind them

Days waiting to be approved

Ask for tokens

For kit going somewhere with no signal. A token cannot be made on a phone — the key is inside the device — so the digits have to leave the office with whoever is driving. Paste the serials, say what every one of them should get; a commercial officer decides, a token officer generates, and the tokens come back on this screen for the person who asked. One run is one kind of token — there is nowhere to put a second, so the officer approves exactly what they read. The kit does not need a household yet.

Token runs

What has been issued

Every token this business has given out — for which product, by whom, and whether the hardware ever took it. Days are what was granted; a token count alone hides the difference between a week and a year.

—
tokens
—
days granted
—
devices
—
confirmed
—
not confirmed
—
superseded

By product

Which products the runtime went to.

By person

Who issued it. Every token is attributed — that attribution is what makes an uncapped seat safe to hold.

Tokens

Notifications

What an automatic payment tried to tell a household — a token arriving, a kit settling, or money recorded with nothing to send yet. Never the message itself: it can carry a live token, so only what kind of message it was and whether it went is kept.

Reports

What happened, for any period — always readable here, whatever you're subscribed to receive automatically below.


        

Reports you receive

Which reports arrive by email or SMS, and how often. A report is always readable above regardless of what's ticked here.

Devices nearing end of runtime

When a device has this many days of power or fewer left, the household gets an SMS warning and commercial/sales/technician staff get an email naming which devices newly need attention. A device is warned once per top-up — paying again resets it, so nobody is warned twice for the same shortfall.

Accounts

One agreement per kit. What was owed, what has been paid, and what it would cost to close it today.

Sell a kit

Opens the agreement at today's price for that product. The figure is frozen the moment you do this — a later price change cannot reach an account that is already open.

Account

The ledger

It opens with what was owed and works down. Every entry stays; a correction stands beside the thing it corrects.

Release a kit that has not been paid for

A kit that failed, a household that has gone, a payment that never reached us. Somebody senior decides, and they see what is still owed beside your reason.

Record a payment

Money that has already arrived. This does not take payment — it writes down that one happened.

A reference is what stops the same mobile-money notification being credited twice. Give one whenever there is one — it is recorded against . Who paid and their phone are required for a payment — a cash handover has no SMS or gateway callback behind it, so the officer's own note of who handed over the money is the only evidence this entry will ever have.

Prices

One price per product. How it is paid does not change what it costs — a household earns a discount by settling early, and earns nothing by promising to.

Products

What this business sells. Taking one off the list stops it being sold; it is never deleted, because its name is frozen into every account sold at its price and copied onto every token issued for a device of that model.

Add a device type

Load several device types from a file

One row is one device type: a model, what to call it, and what it costs — a plain amount, such as 500 or 500.50, never a count of cents. A model already on the list is updated rather than duplicated.

Publish a price

Publishing supersedes the live version and never overwrites it. Accounts already open keep the figure they were sold under.

Ways to pay

A term says how long and what deposit. It carries no price of its own.

Rebates a household can earn

Quoted at the door, and applied only when the condition is actually met.

Automatic message content

What a household is told when a payment lands — which extra items appear (a greeting, the balance remaining), or the whole wording, rewritten. Tenant_admin sets which language these go out in, on Business.

Send a message to many people

Type numbers, pick households, or load a file — then see exactly who will get it and what it will say before anything sends.

Who

A "phone" column is required. A "name" column, or separate "first_name"/"middle_name"/"last_name" columns, are optional — whichever is there is used for {{name}}, {{first_name}}, {{middle_name}} and {{last_name}} below.

Message

Available: {{first_name}}, {{middle_name}}, {{last_name}}, {{name}}. Up to 480 characters.

Consent

Recorded with the send. Bulk messages are regulated and cannot be recalled — at least a short sentence is required.

Around you

Households within walking distance, nearest first — so a day's visits can be planned from where you are standing rather than from a list sorted by name.

Register a household

A name is enough to start. The rest can be filled in on a second visit.

Identification, where they are, and a note

Optional. A record says what it is still short of.

Identification
Agreement to keep their details
Where the household is

What they asked about, not what they have agreed to buy. The payment decides that, and can differ. Up to five.

Potential customers

How far the list has travelled. Counted from the register below, so the two always say the same thing.

Money taken

What you are holding, and what the office has confirmed.

The books

What arrived from operators, what could not be placed, and whether last night's check found anything.

Agents and their float

What each agent is carrying, and how many sales are waiting on you. Somebody at their limit stops selling until the money is banked and you have checked it.

Payments to confirm

A sales officer says a household paid. Confirming it is what clears them for a kit, so it is worth doing against the bank statement rather than the sheet.

Load many households

A row with a serial number is a customer — the kit is fitted, and loading it attaches the household and, if that kit has never been tokenised, opens it with 30 days. A row without one is a lead — written down now, given a kit when they pay. Required on every row: a name, and region, district, ward and village.

Any money on a row becomes a payment waiting for a commercial officer. Nothing is credited by loading a file — the seat that takes money does not also get to say it arrived, and a spreadsheet is the weakest evidence of payment there is.

Customer register

Who the households are. A name is enough to start — the rest can be filled in on a second visit, and a record says what it is still short of.

Kits in customers' hands

One row per device in service: who has it, which product it is, what that product sells for, and how much runtime it has been given. This is not a statement of account — nothing here knows what anyone has actually paid.

Load customers from a file

The kits already in customers' hands were recorded offline. Paste that list here rather than typing it. Columns: serial_number, customer_name, location, and phone if you have it — headings are matched loosely, so "Serial Number" and "serial" both work.

From Excel: File → Save As → CSV, then open it in Notepad and paste. A location containing a comma is fine as long as the file is a real CSV.

Or paste the rows

Connections

Payment gateways (apigw), SMS gateways and the mail server PayGO talks to. Adding, changing, rotating or re-enabling one asks for a fresh code from your authenticator app. Keys and passwords are stored encrypted and never shown again; PayGO only calls the domains listed on each connection.

Report

A snapshot across every tenant on the platform — never one business's own report.

Reports you receive

Whether this snapshot arrives by email or SMS, and how often. Always readable above regardless of what's ticked here.

User manual

Everything this screen can do, in plain language.

Download full manual (PDF)

Tenants

Every business on the platform, what it is on, and what it owes this month.

People at a business

Who can sign in, and as what. Use this when somebody rings to say they cannot get in — the username is here, and an administrator's password can be reset from the row.

End the relationship

Stops this business issuing tokens. Nothing is deleted — every device, token, payment and customer record is kept and stays readable, and the account can be reopened.

Change a plan

Only this seat can. A business that could raise its own allowance would not have one.

What this business charges its customers in

Not what they pay us — what they sell kits in. It applies to every price, agreement and receipt they write from here on, and touches nothing they have already written: each of those carries the currency it was made in.

Negotiated terms (optional)

Leave blank to use the plan as listed. Anything set here overrides that one term only. The currency below is what this business pays us in.

Price per token type

Per token, charged once the included tokens are used up. Set a type to 0 to include it free — recovery is normally free, so a stuck device is never a bill. Unticking a type in the plan removes it entirely, for every role.

Paid connections

Not every business gets every integration — switch one on only once it has been sold. No price or invoicing happens here yet; this only turns the connection on and keeps count of how often it is used.

Security

The last 24 hours across every business. One failed login is a typo; forty against one account overnight is somebody working through a list.

Recent events

Shared email addresses

Every address on file for more than one account, across every business and the vendor's own seats. Nothing here is changed automatically — decide which account keeps the address, then set the other's from that account's own People screen.

Plan requests

What businesses have asked for. Nothing moves until you decide, and both you and they are emailed either way.

Edit a business

Changes the business you pick. Nothing here creates anything — the form below is for a business that does not exist yet. Blank a field to leave it as it is.

Their branding

Set this for a customer who would rather you did it. They can change it themselves at any time — this is the same field, not a separate one.

No logo

PNG, JPEG, GIF, WebP or SVG, up to about 90KB.

Payment arrangement

Setting a paid-through date starts the countdown, and after the grace period this business stops being able to issue tokens. Leave it empty and nothing is ever locked.

Add a business

The tenant and its first administrator are created together. A tenant nobody can sign into cannot be handed over.

The id appears in API keys and cannot be changed later.

Who this business is

A business nobody can be reached about cannot be warned before it locks, chased for payment, or handed over when the person who set it up leaves. The first four are required.

The first period starts today, so a business that has just signed up is not locked on its first day.

Two letters. Households are numbered GL0000001 — the letters are what keep a customer code from being mistaken for a device serial, which is nine digits and nothing else. A business moving off an older system can carry on from the number it reached. Leave the letters empty for GL; the business can open a new run of letters later without touching the codes already given out.

Record a payment

This service does not take money — payment arrives by transfer, mobile money or a settled invoice, and this is writing down that it did. Recording it moves the period forward and unlocks issuing immediately.