The funding window is 20 minutes.
Approval in chat takes three days.

Payment requests with approval, routing to the right finance desk, and mandatory proof of payment. Time-critical ones clear automatically — within a limit and under post-approval.

Web app and Slack bot. One process, one payment history.

PR-2026-0148
Adsflow account top-up
1,500 ₮
Crypto Affiliate Auto-approved 20 min window
04:12 left in the payment window
Approval
Automatic
Payment
Desk 1
Next
Proof + post-approval
draft — where you are today

Payments live in chat threads,
and memory is the audit trail.

Three things break before anything else does.

01
"Who signed off on this?"
The approval is a screenshot in a direct message. A month later there is no decision, no reason, and no name attached to either.
02
"Has it been paid or not?"
The requester asks finance, finance searches their chats. The proof of payment sits in someone's downloads folder.
03
"Too late, the window closed"
An urgent top-up waits in the same queue as a quarterly vendor invoice. The rate moved, the slot went, the ad account stopped.
pending_head — approval

Approval follows a route,
not a relationship.

The requester picks who signs off. From there the system carries the request and will not let a step be skipped.

Head

Head of the function

The standard path for recurring payments inside a business unit's own budget.

CEO

Straight to the top

For group-level spend and anything not tied to a specific business unit.

Head + CEO

In sequence

The request reaches the second approver only after the first decides. Both decisions stay in the history.

Rejection requires a reason. The reason goes to the requester and stays in the log — a rejected request is never quietly reopened.

fin_desk — execution

Payment type decides everything:
fields, documents, desk.

One choice in the form determines what has to be attached and which finance desk handles the payment.

Bank
  • Invoice — required
  • Contract — required
  • IBAN, SWIFT, beneficiary
Desk 2Desk 1
Crypto
  • Network and wallet — required
  • Invoice and contract — if any
  • Proof — transaction ID
Desk 1
Other
  • Payment description
  • Or local bank details
  • Invoice — if any
Desk 1

Finance works from a queue, not from direct messages. A claimed request is marked as claimed — no one pays the same invoice twice.

urgent — limited window

Speed without losing control.

Some payments only work inside a window: an ad account top-up, a rate-sensitive transfer, a reserved slot. They get their own mode.

04:12
left of a 20-minute window

The window is set at submission

Twenty minutes, an hour, three, or end of day. The deadline is never extended — not by an approval, not by a return to the requester. The finance queue sorts by time remaining, most urgent first.

Auto-approval within a limit

The request skips sign-off and lands with finance directly. The limit is set per business unit and category, and enforced on the server rather than in the interface.

Post-approval closes the gap

Once paid, the request is flagged as uncovered and stays with the approver until they confirm or escalate. The uncovered count is visible at all times.

Auto-approval does not remove accountability, it moves it later in time. Without post-approval the mode does not turn on.
paid — closing

No proof,
no paid status.

Finance closes a request only together with proof: a statement, a SWIFT confirmation, or a transaction ID. The requester is notified and the history assembles itself.

Web app

Filterable register, finance queue, request card with the full chronology, and CSV export.

  • Who submitted it, and when
  • Who approved it, with their comment
  • Who paid it, and what they attached

Slack bot

The same process without leaving the working chat. The bot holds no state of its own — it is a second interface to one system.

Afina APP
PR-2026-0146 · Northline Media Lda · €4,850
SEO · Orbit · period 07.2026 · invoice and contract attached
ApproveRejectOpen
features — what's inside

Core features

Everything listed is included in the licence. There are no add-on modules and no upsells.

Form

Fields conditional on payment type

Bank, crypto, or other — the choice changes which fields and attachments are mandatory. A request missing them cannot be submitted.

Approval

Head, CEO, or both

Sequential sign-off with a mandatory comment on rejection. The reason reaches the requester and stays in the log.

Routing

Automatic handover to finance

Bank payments run through Desk 2 into Desk 1; crypto and other go straight to Desk 1. The route is fixed at submission.

Urgency

Payment window with a live timer

Twenty minutes, an hour, three, or end of day. The finance queue sorts by time remaining, so the burning ones sit on top.

Auto-approval

Limits per unit and category

An urgent request under the threshold clears without waiting for an approver. The threshold is enforced server-side and cannot be bypassed from the client.

Oversight

Post-approval and uncovered count

An automatically cleared request stays with the approver until confirmed or escalated. The count sits in the header.

Proof

Mandatory payment confirmation

Statement, SWIFT, or transaction ID. Without an attachment the paid status cannot be set — that is a system constraint, not a policy.

History

Event log on every request

Who submitted, who approved, who claimed it, who paid and what they attached — each with an exact timestamp.

Register

Filters, search, and export

Filter by status, type, category, business unit, and period. CSV export for reconciliation with accounting.

Notifications

Reminders and escalation

A request stuck in approval or in the finance queue chases itself and escalates upward on configurable thresholds.

Slack

Submit and approve from chat

Slash command, request modal, approval buttons, finance channel. The bot is a second interface, not a separate system.

Admin

Directories, roles, and limits

Business units, departments, categories, approver assignments, and auto-approval thresholds change without a developer.

security — data protection

Payment details are the most
sensitive data you hold.

The system stores bank accounts, wallets, contracts, and amounts. How they are treated is built into the architecture, not written into a policy document.

Access

SSO and roles

Sign-in through Google Workspace or any OIDC provider. Permissions are enforced on the server, not by hiding buttons in the interface.

Files

Private storage

Invoices, contracts, and proofs live in a closed bucket. Downloads run through short-lived signed links issued only after a permission check.

Account details

Kept out of logs

Account numbers and wallet addresses are excluded from logs and error messages, so they cannot leak through debug output.

Audit log

Append-only

History records are never edited or deleted — not by a user, not by an administrator. A payment's history is immutable by design.

In transit

Encrypted channel and storage

TLS on every connection and encryption at rest. Slack is not a storage location: files sent in chat are moved into your own bucket.

Deployment

Your own perimeter on request

Cloud-hosted, or installed on your infrastructure — including a fully isolated environment with no external dependencies.

Retention periods, backup policy, and the data deletion procedure are fixed in the contract and configured to your requirements.

scope — boundaries

What the product does not do.

Better said now than discovered during rollout.

Does not send payments to your bank
Does not keep accounting records or ledgers
Does not convert currencies at market rates
Does not issue invoices
Does not batch multiple payouts into one request
Does not replace treasury

The product is responsible for one thing: that no payment is executed without approval and without proof, and that the chain of decisions behind each one can be reconstructed.

price — licences

One price. No tiers, no per-module fees.

A licence per user. Web and Slack are both included — it is one product, not two plans.

$50 per licence
per month
  • Web app and Slack bot
  • All payment types and finance routing
  • Urgent requests, auto-approval, post-approval
  • Attachment storage and a full event log
  • Directories, roles, and limits in the admin panel
users25
Per month $1,250
$15,000 per year
Book a demo

Licences are counted by active users per month. Finance, approvers, and requesters all count the same.

See it on your own payments

We will walk through your current approval route, show how it maps onto the system, and point out where proof of payment goes missing today. Thirty minutes.