All case studies

A panel for collecting recurring fees at a law firm

A private panel for setting up monthly fees with a start and end date, connected to a payment gateway. Each fee is charged automatically, failed payments are retried and the subscription ends on its date.

Client
Law firm
In use since
February 2026
Tools
Next.js, PostgreSQL, Prisma, Docker

Client work, published without the client’s name.

The brief

An internal web tool to charge the firm's clients monthly fees that start and end on a set date, without creating each payment by hand.

What I built

It is a single screen: you create a fee on the left and see all of them, with their status, on the right.

Panel with the new subscription form on the left and the list of fees, with amount, status and dates, on the right
The panel (in Spanish), with sample data.
  • To set up a fee you only need the name, email, monthly amount, and start and end dates. The panel creates the subscription in the payment gateway and the client receives the payment link by email, SMS or WhatsApp.
  • The subscription ends by itself on the end date. If it starts later, nothing is charged until that day.
  • If a payment fails, it is retried automatically.
  • Each fee's status (pending, active or cancelled) updates itself from the gateway's notifications.

A search of its own

Type part of the name, email, phone number or ID and the client's fee appears, with its status and dates.

The panel's search box with “marc.puig” typed in and a single result: an active fee of 45 euros a month
Searching for a client by email, with sample data.

After delivery

I host it on a private server, with backups, monitoring and up-to-date certificates.