Every account, in one place
Slips become records, and the allowance is there to see
Slips arrive from the Telegram group, each account's allowance is kept, and the evidence stays searchable in one system.
System levelEvery company
Checking your session
Cannot reach the server right now. Your sign-in has not expired.
Every account, in one place
Slips arrive from the Telegram group, each account's allowance is kept, and the evidence stays searchable in one system.
Welcome back
The back office is open to the system owner and the slip auditor.
Contact your administrator to be given an account or to have a password reset.
The back office is open to the system owner and the slip auditor only.
System administration
The state of the service and the setup work
No records in this scope
Restarts are done on the VPS by the operator. This application runs as an unprivileged service and cannot act on a unit, so the control is held rather than pretending.
| Company | Queue / oldest |
|---|
Select an alert to see the details
No alerts in this category
| Company | Slips this month | Needs review | Evidence | Kept until |
|---|
Evidence images are kept under the agreed retention policy. After that the image is deleted and the recorded row stays.
| Person | Companies and roles | Actions |
|---|
No one matches these filters. Change the search, the companies or the role.
The system owner reaches every company and is set on the server only. Every other role is held on one company at a time.
A Telegram sender is identified by a Telegram user id and is not a system user. Being in the group grants access to no page at all.
This person's access was changed elsewhere. Your changes are kept; the companies that moved are checked again when you load the latest.
No company matches this search.
Only companies where you manage users are listed. Each one you tick needs its own role.
One reason for this save. Each company records it in its own audit log, with the role before and after.
| Time | User | Company | What was done | Before → after | Reason |
|---|
Every row here came from a press in the back office with the reason its user typed. Rows are never edited: a wrong value is corrected by doing it again, which writes another row.
Group membership is the boundary. Leaving the group ends the right to send. There is no second list to keep in step.
| Account ID | Bank | Account number | Limit per day | Used today | Status |
|---|
A draft account is not an allowed source account yet, and does not block slips for the others.
The reading happens outside this page and this page never contacts the provider, so there is no connection check here. The API key is set here by the owner alone, is never shown again once saved, and is never sent anywhere except to the provider that reads the slips.
A Telegram slip sender is not a system user and gets no access to this page.
The company ID is the name every address, file and audit row uses. Lower case, digits, hyphen and underscore, starting with a letter; it cannot be changed afterwards.
The company name is what the switcher, the breadcrumb and this console show instead of the ID. Optional here; it can be set or changed later from the company's own page.
Its own intake setup opens receiving at its fourth step, inside the web process that already runs every company. Nothing is installed, copied or enabled on the server for it, and the housekeeping pass already covers it too.
Nothing is received until the last step. In the new company's own intake setup, not on this page, that step is what opens receiving, right away.
Phones that forward the banks' SMS to this server. Phase 1 is a shadow run: each message is checked and kept, and none reaches a slip, a balance or the overview yet. Times are Bangkok time.
This section is for the system owner only.
A break means two messages of one account do not add up: the balance after one is not the balance before the next. A message may be missing, or a fee arrived without a message. It is flagged, never guessed.
Each line is the shape of a message no reader understood, never the message: every digit becomes 9, every Latin letter A, and every Thai word outside the bank's own words one ก. No real value is kept.