mosman.ai Case study · 01 / 04 All projects

Case 01 · WorkHours

The team records the hours.
Management gets reliable figures.

A Telegram bot and back office for field teams: working time, receipts and approvals reach accounting reliably, even with a poor connection.

Live in daily operations Human review Works offline
12.298,5recorded and reviewed hours
18 monthsreconciled retrospectively
0discrepancies in time accounts
PyPython FFastAPI Telegram DBSQLite NNocoDB LxLexoffice Docker Vision OCR
WorkHours · Owner dashboardLive
OWNER DASHBOARDToday, 23 July
All systems online
TIME TODAY64,5 h8 employees
OPEN REVIEW32 time entries · 1 receipt
BELEGE1210 approved
MONAT1.024 h100% reconciled
Working hours todayAll teams⌄
EmployeeSiteTimeStatus
TNTeam NorthBerlin Mitte8:00 hReviewed
TSTeam SouthPankow7:30 hReviewed
TWTeam WestKreuzbergOpen
To do today3 open
!

Time exceptionTeam West · review

Receipt recognisedOCR · Approval missing

8 recordsready for payroll

WorkHoursGood morning, Team North● synced
TODAY'S ASSIGNMENTBerlin Mitte08:00–16:30 · 30 min break
Active

7:42 hof 8:00 h planned

Confirm timeException
ReceiptBreakCorrection
TodayHoursReceiptsProfile
Transaction secured locally Approved for accounting

Built by us for a real Berlin service business and used every day.

Field teamBack officeAccounting

The starting point

Three small gaps became one major monthly problem.

The actual work happened in the field, but its data lived in messages, notes, photos and several spreadsheets.

Reconstruct hours

Hours arrived late or incomplete and had to be reconstructed at the end of the month.

Find receipts

A receipt photo in chat was not yet a correctly classified and approved accounting record.

Reconcile data

Working time, payroll and accounting had to be reconciled manually.

The new workflow

A simple interface in front.
A robust system behind it.

As you scroll, the same flow is shown from three perspectives: employee, office and system data.

01 · Field team

One question. One tap. Done for the day.

The bot already knows the planned job. Standard time is one button, while deviations remain possible.

02 · Back office

Review instead of collecting.

Hours, receipts and open cases are in one place. Every correction leaves an audit trail.

03 · Reliability

Poor reception loses no work.

A local transaction comes first. Delivery follows in the background with retries and deduplication.

Telegram Mini App · Field team
WorkHoursGood evening, Team North● synced
TODAY'S ASSIGNMENTBerlin Mitte08:00–16:30 · 30 min break
Active

7:42 hof 8:00 h planned

Planned time is pre-filledYou can confirm or adjust it.
Confirm timeException
ReceiptBreakCorrection
TodayHoursReceiptsProfile
LAST ENTRYYesterday · 8:00 hReviewed ✓
BELEGETake photoOCR ready
THIS WEEK31:30 h4 assignments
Back office · Owner cockpit
WorkHours · Owner dashboardPrivate access
ARBEITSZEITENJuly 2026
All teams⌄CSV ↓+ Add entry
GESAMT1.024 h+3.8% vs June
REVIEWED98%2 cases open
AUSZAHLUNGReadyhistorical records
ABWEICHUNG0after correction
Time tracking1–31 July⌄
EmployeeDate / SiteTimeStatus
TNTeam North23 Jul · Mitte8:00 hReviewed
TWTeam West23 Jul · South7:15 hReview
TSTeam South22 Jul · Pankow8:30 hReviewed
Audit trailLive

7:15 → 7:30 hCorrection logged

Receipt #0421OCR · Approval pending

Payroll run8 records ready

Data flow · Reliable delivery
01Input8:00 h confirmed
02Local outboxsaved atomically
03WorkerRetry 2 / 5
04Shared data setdeduplicated
SYNC-PROTOKOLLlive

Local transaction wh_1842 savedOK

Network unavailable · retryingRETRY

Delivery confirmed · Key recognisedSYNC

Duplicate record preventedSAFE

System views

Four touchpoints.
One set of data.

All examples are deliberately anonymised and show the real scope of the product without personal data.

Behind the scenes

More than automation.
Built to keep working when something fails.

Every connection is isolated. An external service can fail without taking the field team’s end-of-day workflow down with it.

TelegramSimple input
Local outboxSave atomically
AdaptersRetries & timeouts
Data storeOne data set
AccountingAfter approval
AuditBefore / after

Control remains human

Automation handles the routine.
Approvals remain deliberate.

The model never decides alone, especially for bookings and corrections.

OCR suggests. A person approves.

A recognised receipt is booked only after explicit confirmation. Any change automatically removes the approval.

Every change is explainable.

Corrections and deletions write their audit entry before the actual change. History remains history.

Next project · 02 / 04

From the first request to a paid invoice.

View scheduling case