Back to Portfolio
Custom WordPress Application

Custom Payroll Management App

A Vue SPA + WordPress Payroll System for a Behavioral Health Clinic

Client Anonymous Client
Year 2024
My Role Full-Stack WordPress Developer
Tech Stack
AJAX Custom Plugin MySQL OOP PDF Generation PHP Vue.js WordPress
WooCommerce Store Audit & Optimization
Custom WordPress Plugin Development
WooCommerce API Integrations
WooCommerce Performance Troubleshooting
E-commerce Automation Workflows

Designed and built a custom payroll management application for a behavioral health clinic — a Vue.js single-page app embedded in WordPress that manages patients, workers, and role-based rates, and generates detailed PDF pay stubs and payroll reports.

What was the problem?

A clinic serving children with autism pays technicians (RBTs), intermediates (BCaBAs), and analysts (BCBAs) based on hours worked with each patient — at rates that vary by role, by patient, and by activity (assessments, supervision), plus one-off bonuses and deductions. Payroll was a slow, error-prone spreadsheet process, and every mistake directly affected staff pay.

How I solved it

I built a custom WordPress plugin with a Vue.js single-page-app frontend and an object-oriented PHP backend (PSR-4, MVC controllers and models, a custom database schema with versioned upgrades). Administrators manage patients, workers, roles, and general / per-patient / special rates, enter hours, and apply extra payments or deductions. The app calculates each worker's pay by category across a payroll cycle — handling edge cases like fixed-rate activities and workers who skip a cycle — then generates individual PDF pay stubs via mPDF plus a global payroll report for reconciliation with accounting. Every action runs through an AJAX API gated by nonces and capabilities, behind a custom role-based login so staff can use it securely from anywhere.

A manual, error-prone spreadsheet process became a few-clicks workflow. Pay calculations are consistent and auditable, PDF pay stubs are produced automatically with per-category breakdowns, and the global report lets the clinic reconcile payroll against accounting quickly — cutting manual work and the payroll mistakes that hit staff pay directly.

  • Manual spreadsheet payroll replaced with a few-clicks web app
  • Per-worker pay calculated automatically across roles, patients, and activity rates
  • Individual PDF pay stubs generated with detailed per-category breakdowns
  • Global payroll report for fast reconciliation with accounting
  • Handles edge cases: fixed-rate activities, per-patient rates, skipped cycles, bonuses and deductions
  • Role-based access with a custom login for secure remote use
  • Vue.js single-page app embedded in WordPress via shortcodes (Vite build)
  • Object-oriented PHP backend — PSR-4 autoloading, MVC controllers/models, custom DB schema with versioned upgrades
  • AJAX API with nonce and capability checks on every action
  • Payroll engine: role / patient / special rates, extra payments, deductions, and payroll segments
  • PDF pay-stub and report generation with mPDF (UTF-8, logos, signatures)
  • Role-based access control and a custom WordPress login flow
  1. Diagnose

    Understand the real business problem, user flow, and technical constraints before touching code.

  2. Plan

    Choose the cleanest technical approach, identify dependencies, and define what success looks like.

  3. Build

    Create custom WordPress/PHP solutions, plugins, integrations, or automations using best practices.

  4. Test

    Validate edge cases, staging behavior, logs, checkout flows, order statuses, and user roles.

  5. Deploy

    Release carefully with rollback awareness, staging verification, and clear documentation.

  6. Improve

    Monitor, optimize, and refine based on real usage, client feedback, and production behavior.

AJAX Custom Plugin MySQL OOP PDF Generation PHP Vue.js WordPress

How AI accelerated this work

Faster diagnosis

AI tools helped me review error logs, trace query patterns, and generate diagnostic hypotheses in minutes rather than hours — so I could focus on fixing, not searching.

Code review & edge-case validation

I used AI to audit integration logic, catch silent failure paths, and validate that custom hooks would hold up under different WooCommerce states before going live.

Documentation & handoff

AI-assisted documentation made the final plugin handoff clear and actionable for the client's internal team — reducing support questions after delivery.

Have a similar challenge?

I help e-commerce teams solve the technical problems that cost them time and revenue. Let's talk about yours.