Title: Legal Services Management
Author: Mati Ullah
Published: <strong>May 4, 2025</strong>
Last modified: March 4, 2026

---

Search plugins

![](https://ps.w.org/legal-services-management/assets/banner-772x250.png?rev=3287262)

![](https://ps.w.org/legal-services-management/assets/icon-256x256.png?rev=3287262)

# Legal Services Management

 By [Mati Ullah](https://profiles.wordpress.org/matiullahpro/)

[Download](https://downloads.wordpress.org/plugin/legal-services-management.2.0.0.zip)

 * [Details](https://wordpress.org/plugins/legal-services-management/#description)
 * [Reviews](https://wordpress.org/plugins/legal-services-management/#reviews)
 *  [Installation](https://wordpress.org/plugins/legal-services-management/#installation)
 * [Development](https://wordpress.org/plugins/legal-services-management/#developers)

 [Support](https://wordpress.org/support/plugin/legal-services-management/)

## Description

**Legal Services Management** is a powerful, all-in-one WordPress plugin designed
specifically for law firms, solo attorneys, and legal service providers. Manage 
your entire practice workflow without leaving your WordPress dashboard.

Whether you’re a solo practitioner or managing a multi-attorney firm, this plugin
gives you everything you need: client records, case tracking, appointment scheduling,
document templates, invoicing, and frontend portals for both clients and attorneys.

### Core Features

**Client Management**
 * Complete client database with contact details, status tracking,
and activity history * Auto-link WordPress user accounts to client records * Supports
guest and logged-in client bookings

**Case Management**
 * Track cases with case numbers, types (civil, criminal, family,
corporate, immigration, real estate), priorities, and statuses * Assign lawyers 
and link clients to each case * Store court info and full case descriptions with
the WordPress editor

**Appointment Scheduling**
 * Book in-person, video call, and phone appointments*
Interactive monthly calendar view in the admin dashboard * Automated email reminders
via WP-Cron * Frontend booking form via shortcode

**Invoice & Billing**
 * Create professional invoices with subtotals, tax rates,
and balance tracking * Track invoice status: Draft, Sent, Paid, Overdue, and Cancelled*
Link invoices to specific cases and clients * Stripe payment integration (configurable
via settings)

**Document Templates**
 * Create reusable document templates with placeholders (`{
client_name}`, `{case_number}`, `{date}`) * Manage uploaded files linked to cases
and clients

**Client Portal (Frontend)**
 * Logged-in clients can view their cases, appointments,
and invoices * Accessible via `[lsm_client_portal]` shortcode on any page or post

**Attorney/Lawyer Dashboard (Frontend)**
 * Attorneys can view their assigned cases,
appointment calendar, and invoices * Accessible via `[lsm_lawyer_dashboard]` shortcode

**REST API**
 * Full RESTful API (`/wp-json/lsm/v1/`) for integration with external
tools * Permission-controlled endpoints for clients, cases, and appointments

**Cron Automation**
 * Hourly appointment reminder emails * Daily cleanup of old
activity logs and expired sessions

**Activity Logging**
 * Records all create/update operations for audit trail purposes

### Available Shortcodes

 Shortcode
 Description

 `[lsm_booking_form]`
 Frontend appointment booking form

 `[lsm_client_portal]`
 Client self-service portal

 `[lsm_lawyer_dashboard]`
 Lawyer/attorney frontend dashboard

 `[lsm_lawyer_list]`
 Display all active lawyers

 `[lsm_service_list]`
 Display all available services

 `[lsm_appointment_calendar]`
 Client appointment calendar view

### Custom Roles & Capabilities

The plugin registers the following custom WordPress roles and capabilities:

 * **LSM Lawyer** – Can manage cases, appointments, and view clients
 * **LSM Client** – Can access the client portal

Custom capabilities: `manage_clients`, `manage_cases`, `manage_appointments`, `manage_invoices`

### Security

 * All form submissions protected with nonces (CSRF protection)
 * All input sanitized with appropriate WordPress functions (`sanitize_text_field`,`
   sanitize_email`, `wp_kses_post`, etc.)
 * All output escaped before rendering (`esc_html`, `esc_attr`, `esc_url`)
 * Database queries use `$wpdb->prepare()` with placeholders to prevent SQL injection
 * Direct file access protection on all PHP files
 * Safe redirects via `wp_safe_redirect()`

## Screenshots

[⌊Admin Dashboard – Overview with stats cards and monthly appointment calendar.⌉⌊
Admin Dashboard – Overview with stats cards and monthly appointment calendar.⌉[

**Admin Dashboard** – Overview with stats cards and monthly appointment calendar.

[⌊Client Management – Full client database with add/edit/delete support.⌉⌊Client
Management – Full client database with add/edit/delete support.⌉[

**Client Management** – Full client database with add/edit/delete support.

[⌊Case Management – Track cases with types, priorities, and statuses.⌉⌊Case Management–
Track cases with types, priorities, and statuses.⌉[

**Case Management** – Track cases with types, priorities, and statuses.

[⌊Appointment Scheduling – Schedule appointments with calendar integration.⌉⌊Appointment
Scheduling – Schedule appointments with calendar integration.⌉[

**Appointment Scheduling** – Schedule appointments with calendar integration.

[⌊Invoice System – Create and manage invoices with tax calculations.⌉⌊Invoice System–
Create and manage invoices with tax calculations.⌉[

**Invoice System** – Create and manage invoices with tax calculations.

[⌊Frontend Booking Form – Clean booking form rendered via shortcode.⌉⌊Frontend Booking
Form – Clean booking form rendered via shortcode.⌉[

**Frontend Booking Form** – Clean booking form rendered via shortcode.

[⌊Client Portal – Self-service portal for logged-in clients.⌉⌊Client Portal – Self-
service portal for logged-in clients.⌉[

**Client Portal** – Self-service portal for logged-in clients.

[⌊Settings Page – Configure company info, Stripe, and Twilio integrations.⌉⌊Settings
Page – Configure company info, Stripe, and Twilio integrations.⌉[

**Settings Page** – Configure company info, Stripe, and Twilio integrations.

## Installation

#### Automatic Installation

 1. Log in to your WordPress admin panel.
 2. Go to **Plugins  Add New**.
 3. Search for **Legal Services Management**.
 4. Click **Install Now**, then **Activate**.

#### Manual Installation

 1. Download the plugin ZIP file.
 2. Go to **Plugins  Add New  Upload Plugin**.
 3. Upload the ZIP file and click **Install Now**.
 4. After installation, click **Activate Plugin**.

#### After Activation

 1. Navigate to **LSM  Settings** to configure your company name, Stripe keys, and 
    Twilio SMS integration.
 2. Create your first service under **LSM  Services**.
 3. Add client records under **LSM  Clients**.
 4. Add the `[lsm_booking_form]` shortcode to any page to enable online bookings.
 5. Add the `[lsm_client_portal]` shortcode to a members-only page for client self-
    service.

## FAQ

### Does this plugin require WooCommerce?

No. Legal Services Management is a standalone plugin and does not depend on WooCommerce
or any other plugin.

### Can clients book appointments without creating a WordPress account?

Yes. The `[lsm_booking_form]` shortcode supports guest bookings. Guest clients are
automatically added to your client database.

### How do I set up the client portal?

 1. Create a new page (e.g., “My Portal”).
 2. Add the shortcode `[lsm_client_portal]` to the page content.
 3. Make the page accessible only to logged-in users (use a membership plugin or WordPress
    login redirect if needed).
 4. In the LSM admin, link each client record to their WordPress user account.

### How do I display my services on the frontend?

Add `[lsm_service_list]` to any page or post. Services are pulled from **LSM  Services**
where `is_active = 1`.

### Does the plugin send appointment reminder emails?

Yes. The plugin uses WordPress WP-Cron to send automated email reminders for upcoming
appointments (within the next 24 hours). This requires your server’s cron to be 
running.

### Can I integrate Stripe for payments?

Stripe API keys can be configured in **LSM  Settings  Stripe Integration**. Full
Stripe payment processing requires additional customization using the stored API
keys.

### Is the plugin translation-ready?

Yes. All strings are wrapped in WordPress internationalization functions and the
plugin includes a `/languages` directory for `.po`/`.mo` translation files. The 
text domain is `legal-services-management`.

### What database tables does the plugin create?

The plugin creates the following tables:
 – `{prefix}lsm_clients` – `{prefix}lsm_cases`–`{
prefix}lsm_services` – `{prefix}lsm_appointments` – `{prefix}lsm_invoices` – `{prefix}
lsm_documents` – `{prefix}lsm_notifications` – `{prefix}lsm_activity_logs` – `{prefix}
lsm_sessions`

All tables are removed on plugin uninstall.

### Will it work with my theme?

Yes. The plugin renders standard HTML with minimal inline styles and enqueues its
own frontend CSS. It is compatible with all standard WordPress themes.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Legal Services Management” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Mati Ullah ](https://profiles.wordpress.org/matiullahpro/)

[Translate “Legal Services Management” into your language.](https://translate.wordpress.org/projects/wp-plugins/legal-services-management)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/legal-services-management/),
check out the [SVN repository](https://plugins.svn.wordpress.org/legal-services-management/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/legal-services-management/)
by [RSS](https://plugins.trac.wordpress.org/log/legal-services-management/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.0.0

 * Major release: Complete rewrite with improved architecture and security hardening
 * Added custom capabilities and role management (`manage_clients`, `manage_cases`,`
   manage_appointments`, `manage_invoices`)
 * Added interactive monthly calendar view in admin dashboard
 * Added lawyer frontend dashboard (`[lsm_lawyer_dashboard]` shortcode)
 * Added appointment calendar shortcode (`[lsm_appointment_calendar]`)
 * Added service list shortcode (`[lsm_service_list]`)
 * Added lawyer list shortcode (`[lsm_lawyer_list]`)
 * Added full REST API with permission callbacks
 * Added WP-Cron for automated appointment reminders and log cleanup
 * Added activity logging for audit trails
 * Added Stripe and Twilio settings fields
 * Replaced all `wp_redirect()` with `wp_safe_redirect()`
 * Added nonce verification to all form submissions
 * Added `wp_unslash()` + sanitization to all `$_POST`/`$_GET` inputs
 * Added `$wpdb->prepare()` for all dynamic database queries
 * Added `wp_cache_get/set` for all list-view database queries
 * Replaced `date()` with `gmdate()` throughout for timezone safety
 * Added ABSPATH direct file access protection to all PHP files
 * Added `sanitize_callback` to `register_setting()`
 * Removed discouraged `load_plugin_textdomain()` call (translations auto-load for
   WP.org plugins)

#### 1.0.0

 * Initial release

## Meta

 *  Version **2.0.0**
 *  Last updated **4 months ago**
 *  Active installations **10+**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [appointments](https://wordpress.org/plugins/tags/appointments/)[case-management](https://wordpress.org/plugins/tags/case-management/)
   [client portal](https://wordpress.org/plugins/tags/client-portal/)[law firm](https://wordpress.org/plugins/tags/law-firm/)
   [legal](https://wordpress.org/plugins/tags/legal/)
 *  [Advanced View](https://wordpress.org/plugins/legal-services-management/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/legal-services-management/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/legal-services-management/reviews/)

## Contributors

 *   [ Mati Ullah ](https://profiles.wordpress.org/matiullahpro/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/legal-services-management/)