Manufacturing & Workshops2026MDF workshop client (Algeria)Client work

MDF Workshop — an Arabic ERP for board workshops in Algeria

A workshop management system for Algerian MDF board workshops: clients, sequentially numbered orders, payments, categorized expenses, date-range reports with XLSX and PDF export, and JSON backups — in Arabic RTL, installed as a PWA.

Next.js 16React 19TypeScriptTailwind CSS v4Supabase (Postgres + Auth + RLS)PWAjsPDFxlsx

Related service:ERP systemsWeb applications

The problem

A workshop orders boards, cuts them to measure, delivers, and gets paid in instalments. The records for all four steps lived in a notebook and a spreadsheet: no single figure for the month, no list of what is still owed, and no way to answer "which order is late" without rereading every page.

What we built

  • A dashboard that totals income, expenses and net profit from the recorded payments and expenses, then plots 30 days of both — bucketed by the date the money moved, not the date the row was typed.
  • Orders with automatic sequential numbers (T-001, T-002 …), a client, a description, an amount, a delivery date and a status of in progress, completed or cancelled.
  • Payments recorded against a source and a method — cash, CCP or bank transfer — optionally linked to the order they settle, so an instalment has a home.
  • Expenses filed under categories the workshop controls — raw materials, bills, wages, maintenance, transport — and a category can be created inline while the expense is being entered.
  • Reports for orders, payments or expenses over any date range, exported to XLSX and PDF, with statuses and payment methods written in Arabic in the file, not as database values.
  • A full-workshop backup as JSON and a restore, plus operator accounts with an admin role for creating accounts and resetting passwords.
  • Arabic RTL as the only direction, in a neobrutalist skin — bold yellow on warm surface, thick ink borders, hard shadows — installable as a PWA and sized for a counter tablet.

What changed

Every order, payment and expense now lands in one Arabic interface, so the month's profit is a number on the first screen instead of an evening with a calculator. The reports leave as the two files an accountant accepts, and the JSON backup means the workshop's history is not tied to one machine.

Screenshots

Orders: a new-order form beside the order table showing number, client, description, amount, status and delivery date.
01Orders: a new-order form beside the order table showing number, client, description, amount, status and delivery date.
Clients: quick-add form and the workshop's client list with phone numbers and the date each was added.
02Clients: quick-add form and the workshop's client list with phone numbers and the date each was added.
Payments: a payment-recording form above the list of received payments with source, method and date.
03Payments: a payment-recording form above the list of received payments with source, method and date.
Expenses: recording form with category selection, above the expense log grouped by material, bills, wages, maintenance and transport.
04Expenses: recording form with category selection, above the expense log grouped by material, bills, wages, maintenance and transport.
Reports: order report over a date range, with PDF and XLSX export buttons and Arabic status labels.
05Reports: order report over a date range, with PDF and XLSX export buttons and Arabic status labels.