Skip to content
Case studies
Case studyOctober 2026

Client project · CRM / ERP

Agency CRM & Billing

Manage student cases, invoices and payments together, with balances and statuses derived from the records.

The problem
Every student brought an application, documents to collect and money to track. Staff needed one reliable view of the case and its outstanding balance.
What I built
I designed and built the agency's CRM and billing platform, linking customer records, staff access, invoices and payments so the portal and matching system could share them.
3 min read
Role
Product Engineer
Platform evolution
Ongoing development
Status
Delivered

I delivered the initial CRM and billing platform, then extended it with features requested by the client. I led the work from discovery through product design, implementation and deployment, including customer management, academic data, billing rules, staff permissions and the staff interface.

Keep One Student Record Across The Workflow

I made the customer record the common reference for identity details, documents, grades, the assigned advisor and selected programs.

The student portal writes application details and extracted grades into it. The matching system reads those grades and saves program assignments back to the same student. Each interface extends a record staff already know.

That choice also set a constraint for new work: each addition had to respect the fields, permissions and business rules already used by the agency.

Derive Invoice Balances From Payments

An invoice's status needs to agree with its payments. I tied invoices to their service items, discounts and payment entries, then calculated the paid and remaining amounts from those records. The same logic derives whether an invoice is unpaid, partially paid, paid or overdue, while preserving cancellations.

Receipts use the related invoice, customer and company details. Expense records and staff workflows sit alongside the billing work.

Staff can follow a payment back to its invoice and customer, with the displayed balance grounded in the entries behind it.

Keep Access Tied To Responsibility

Consultants see their assigned customers; managers see the records they manage. I applied those scopes to the queries that return customer data as well as to the interface, keeping access tied to responsibility.

Staff also maintain the universities, programs, scholarships and accommodations used by the matching system. The catalog and the customer workflow share the same operations platform.

Extend The Platform Without Splitting The Records

Delivered as Clearway ERP, this platform handles the agency's customer and financial operations. Phoenix adds program discovery and matching; the student portal adds guided intake and document collection.

Those later products inherit the customer relationships and access rules already in place. The same student can move from document collection to program selection and billing without being recreated for each tool.

This text-led case describes the delivered platform and its integration choices. It does not present public payment records or measured financial outcomes.

Clearway is an anonymized client identity. The ERP, student portal and program-matching system were built for the same agency.

Related work: University Program Matching shows the program catalog and shortlist workflow built on this foundation.

  • Laravel
  • Cash Plus
  • MySQL
  • PHP
  • Livewire
  • Alpine.js
  • Redis
  • MeiliSearch
Laravel
Cash Plus
MySQL
PHPLivewireAlpine.jsRedisMeiliSearch
LivewireAlpine.jsRedisMeiliSearchPHP

Building something similar?

Discuss a projectDiscuss a projectDiscuss a projectDiscuss a project
© 2026 Yassine Chettouchhello@yaschet.com
LinkedInGitHubX