Skip to main content
← The work
DGTCP · Directorate General of the Treasury and Public Accounting · 2026

DGTCP · Client Listening platform

Complaint and claim management for users of the Beninese public Treasury: account-free submission, reference-code tracking, user portal, five-role staff back office, and a per-department map of services.

DGTCP — plateforme Écoute Client
The problem

The DGTCP receives complaints and claims from users about its services: payments, pensions, public accounting. Without a system, a claim gets lost between the desk that receives it, the department that should handle it, and the user waiting for an answer. Nobody knows where a file stands, how long it took, or what was answered, so the administration has no basis on which to measure its own service quality.

Our approach

Three surfaces over a Django 5 API. A user files a complaint with no account, around the clock: they pick the service concerned, attach supporting documents, and leave with a ticket number and a reference code. They then track the file either publicly with that code or in a portal, signing in with a one-time code sent by email. On the administration side, a back office maps departments and their services, routes each ticket to the right agent, and follows the Submitted → Assigned → In progress → Resolved → Closed cycle, with status-change history and processing-time calculation. Five roles share the permission matrix: administrator, CEC supervisor, CEC agent, processing agent, user. Postgres, Redis and Celery carry the scheduled work (auto-closing resolved tickets, reminders) and notifications go out through SendGrid or Brevo, on editable templates.

The structural decision was to make filing and tracking possible without an account. Requiring registration on a public complaints service filters out the least-equipped users, precisely the ones who most need recourse. The reference code gives read-only tracking with no authentication; the portal, with a one-time code, adds full history and the conversation with the agent.

The project shipped with its documentation: three separate manuals for users, staff and technical operations, totalling 43 published sections as a browsable site. On an administrative platform where agents rotate through posts, documentation is part of the deliverable, not an afterthought.

Outcomes
Roles
5
Django modules
12
Ticket statuses
5
Manual sections
43
Technologies
  • Celery
  • Vite
  • S3
  • Redis
  • Docker
  • Postgres
  • Django
  • Python
  • React
  • Next.js
  • TypeScript
Contact

Let's talk.