Title: The Solo Software Group Works
Author: thesolosoftwaregroup
Published: <strong>October 30, 2026</strong>
Last modified: October 30, 2026

---

Search plugins

![](https://ps.w.org/the-solo-software-group-works/assets/banner-772x250.png?rev
=3776013)

![](https://ps.w.org/the-solo-software-group-works/assets/icon-256x256.png?rev=3776013)

# The Solo Software Group Works

 By [thesolosoftwaregroup](https://profiles.wordpress.org/leifingson/)

[Download](https://downloads.wordpress.org/plugin/the-solo-software-group-works.2.0.0.zip)

 * [Details](https://wordpress.org/plugins/the-solo-software-group-works/#description)
 * [Reviews](https://wordpress.org/plugins/the-solo-software-group-works/#reviews)
 *  [Installation](https://wordpress.org/plugins/the-solo-software-group-works/#installation)
 * [Development](https://wordpress.org/plugins/the-solo-software-group-works/#developers)

 [Support](https://wordpress.org/support/plugin/the-solo-software-group-works/)

## Description

Works, from The Solo Software Group, is a CRM that runs entirely on
 your own WordPress
install. Your client records live in your database on your host. Nothing is uploaded
to us, there is no account to create, and no usage data is sent anywhere.

It is built for the person who runs a small service business and
 does their own
paperwork: the client calls, you send a quote, they sign it on their phone, you 
do the work, you send the invoice, they pay it by card, and the whole trail stays
in one place.

**Clients**

 * Residential and business clients, each with contacts, addresses,
    files, and 
   a full activity history
 * Company relationships: which contact works for which business
 * Import from CSV, XLSX, ODS, or vCard, and export back out

**Quotes and estimates**

 * Line items, taxes, discounts, deposits, optional items, and terms
 * Custom proposals: free-form documents beyond quote and estimate
 * A public link the client opens on any device
 * E-signature on the page, or signed in person on your own device
 * Change orders against an accepted quote, with a redline showing
    what moved
 * Presets: save any quote, job, or invoice and apply it to the next
    one in one
   tap

**Invoices**

 * One-off invoices, created from a quote or from scratch
 * Card payment through Stripe Checkout on the client’s link
 * Receipts, partial payments, adjustments, and refunds
 * Receipt and refund records the client can open any time

**Jobs and tasks**

 * Projects with tasks, cost tracking, files, and notes
 * Meetings proposed to the client, accepted or rescheduled on their
    link, with
   calendar files

**Calendar**

 * Your meetings, project dates, and task due dates in one calendar,
    as an agenda,
   a day, a week, or a month
 * Today and the week ahead on the dashboard
 * A private feed you can subscribe to in Google, Apple, or Outlook
    calendar, and
   an .ics download

**Notifications**

 * Email templates for every step: proposal sent, viewed, accepted,
    invoice sent,
   paid, receipt, meeting booked, and more
 * Merge tags, your own wording, your own sign-off
 * A queue you can see, with a log of everything that went out

**Reminders and follow-ups**

 * Proposal expiry reminders and follow-ups
 * Project and task reminders
 * Overdue invoice reminders and late fees
 * All on your site’s own schedule; nothing is sent to an outside
    service

**Everything else**

 * A dashboard that opens every module, with a setup checklist that
    tracks what
   is left to configure
 * A setup wizard; company name is the only required field
 * Activity log, message log, and an append-only consent ledger
 * Branded sign-in at /tssg on your own site

#### The Solo Software Group Works Pro

The Solo Software Group Works Pro is a separate plugin, sold from
 thesolosoftwaregroup.
com. It adds recurring invoices, credit notes, text messaging through your own Twilio
account, campaigns and promo codes, surveys and testimonials, recurring services
with visit schedules, service plans, bulk sending, team seats, and an assistant.

Both editions share the same database tables, so upgrading keeps
 every client, 
quote, invoice, and file you already have: upload the Pro plugin and activate it,
and this plugin steps aside on its own (it deactivates itself, never the other one).
Nothing in this free plugin is locked, trial-limited, or waiting on a purchase; 
a card on the dashboard and a link on the Plugins screen point to the paid plugin.

### Third-Party Services

This plugin connects to one outside service, and only after you
 configure it. Until
then it contacts nothing, apart from the one reachability check described below.

**Stripe** processes card payments through Stripe Checkout. You
 supply your own
Stripe account credentials. When a client pays, the invoice amount, currency, and
reference are sent to Stripe, and the client completes payment on a page hosted 
by Stripe. When they return, the plugin asks Stripe whether that checkout was paid
and records the answer; a Stripe webhook can deliver the same confirmation if you
set one up. No card details ever pass through this plugin or your server. Your Stripe
account is your own relationship with them. Service: https://stripe.com Terms: https://
stripe.com/legal/ssa Privacy: https://stripe.com/privacy

The setup wizard’s environment check makes one request to
 api.stripe.com to confirm
your server can reach the internet over HTTPS. It sends no data.

#### Fonts

The plugin’s typefaces (Outfit and Cormorant Garamond) are bundled
 with the plugin
under the SIL Open Font License. Nothing is loaded from a font service.

#### Bundled libraries and data

 * Cropper.js 2.2.0 (image cropping), MIT License,
    https://github.com/fengyuanchen/
   cropperjs
 * illuminate/view, illuminate/container and illuminate/events (the
    Blade template
   engine), MIT License, with the packages they depend on, all MIT License: illuminate/
   bus, collections, conditionable, contracts, filesystem, macroable, pipeline, 
   reflection and support; symfony/clock, finder, translation, translation-contracts,
   deprecation-contracts, polyfill-mbstring and polyfill-php83 through polyfill-
   php86; psr/clock, container and simple-cache; doctrine/inflector; voku/portable-
   ascii; carbonphp/carbon-doctrine-types
 * openspout/openspout (spreadsheet import and export), MIT License;
    one component
   under the Apache License 2.0, whose licence text ships with it
 * nesbot/carbon (dates), MIT License
 * Outfit and Cormorant Garamond typefaces, SIL Open Font License
 * The US ZIP code table, from SimpleMaps US Zips, CC BY 4.0,
    https://creativecommons.
   org/licenses/by/4.0/

Each ships with its licence text, and the unminified source sits
 next to any minified
file.

#### Privacy

Client records stay in your WordPress database. Public links carry
 an unguessable
token and are marked noindex. A personal calendar feed is off until you turn it 
on in My Profile; its address is a private, unguessable link, and its events carry
titles only unless you switch on client names and addresses. Regenerate or turn 
off the feed and the old address stops working. The plugin sends nothing to The 
Solo Software Group: no telemetry, no usage statistics, and no error reports.

Terms of Service: https://thesolosoftwaregroup.com/terms-of-service/
 Privacy Policy:
https://thesolosoftwaregroup.com/privacy-policy/

## Screenshots

[⌊The client list: every client, residential and business, with
status and search
in one place.⌉⌊The client list: every client, residential and business, with
status
and search in one place.⌉[

The client list: every client, residential and business, with status and search 
in one place.

[⌊The client record, with contacts, addresses, files, and
activity in one place.⌉⌊
The client record, with contacts, addresses, files, and
activity in one place.⌉[

The client record, with contacts, addresses, files, and activity in one place.

[⌊A quote as the client sees it on the public link, ready to
sign.⌉⌊A quote as the
client sees it on the public link, ready to
sign.⌉[

A quote as the client sees it on the public link, ready to sign.

[⌊An invoice as the client sees it, with the pay button that
opens Stripe Checkout.⌉⌊
An invoice as the client sees it, with the pay button that
opens Stripe Checkout
.⌉[

An invoice as the client sees it, with the pay button that opens Stripe Checkout.

## Installation

 1. Install through Plugins > Add New Plugin, search for “The Solo Software Group Works”,
    and click Install Now. Or upload the zip, or copy the plugin folder into /wp-content/
    plugins/.
 2. Activate it on the Plugins screen. Activation creates the plugin’s own database
    tables and seeds its stock notification templates.
 3. The first admin page load opens the setup wizard. Company name is the only required
    field, and it starts as your site title; everything else can be skipped and changed
    later under The Solo Software Group Works > Settings.
 4. Optional: add Stripe keys under Settings > Integrations to take card payments on
    invoices.

WordPress 6.4 or newer and PHP 8.3 or newer are required. Permalinks must not be
set to Plain: the public proposal, invoice, and meeting links are rewrite rules.

## FAQ

### Does my client data leave my server?

Not unless you set up card payments. Then the invoice amount,
 currency, and reference
go to Stripe when a client pays. A calendar feed you turn on sends the schedule 
your calendar shows you to the calendar app you subscribe it in. Everything else
stays in your own database.

### Do I need a Stripe account?

Only to take card payments on invoices. Without one, invoices still
 send and you
record payments by hand.

### Can clients sign a quote on their phone?

Yes. The public link carries a signature field: the client types
 their name to 
sign, and the signature, the time, and the address it came from are stored with 
the quote.

### Can I text clients?

Text messaging is a feature of The Solo Software Group Works Pro.
 The free plugin
sends email when you act (send a quote, send an invoice, book a meeting), and it
also sends the follow-up, expiry and overdue reminders and the project and task 
reminders you configure, on your site’s own schedule.

### Will I lose anything if I upgrade to The Solo Software Group Works Pro?

No. Pro is a separate plugin that uses the same tables. Download
 the zip from thesolosoftwaregroup.
com/download/, upload it under Plugins > Add New Plugin and activate it; this plugin
sees Pro is active and deactivates itself, and every record is where you left it.
A notice then points you to the license box. Deleting the retired free plugin afterwards
removes nothing while Pro is active.

### What happens if I uninstall?

Nothing is deleted by default. Deleting the plugin from the Plugins
 screen leaves
your tables, settings, and uploaded files in place, so a reinstall picks up where
it left off. Settings > System > Data has a checkbox to delete everything on uninstall
if that is what you want.

### Where do I get help?

Ask in this plugin’s support forum on WordPress.org. The plugin has
 no built-in
support form and sends nothing to its maker.

### Does it work on multisite?

Each site gets its own tables and settings. Uninstall cleans up per
 site when the
delete option is on.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“The Solo Software Group Works” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ thesolosoftwaregroup ](https://profiles.wordpress.org/leifingson/)

[Translate “The Solo Software Group Works” into your language.](https://translate.wordpress.org/projects/wp-plugins/the-solo-software-group-works)

### Interested in development?

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

## Changelog

#### 2.0.0

 * Works is now a suite of apps, and the CRM is its first app. The
    brand tile in
   the header opens an app grid; with one app installed the grid has one tile, and
   every page opens where it always did.
 * Role names: CRM User, CRM Manager and CRM Admin are now Works User,
    Works Manager
   and Works Admin. Servicer is unchanged. What each role may do does not change.
 * Each person’s access to an app is set on the Team tab; everyone who
    had access
   to the CRM keeps it.
 * Under the hood the CRM’s code moved into its own namespace, and
    stored references
   to it are rewritten once on update. No table changes; your data is untouched.

#### 1.1.11

 * Payment notices from Stripe are checked field by field before a
    payment or refund
   is recorded.
 * Refunds made in the Stripe dashboard are recorded on every Stripe
    API version.
 * The Back link on an activity entry only returns to a page of this
    plugin.
 * The plugin no longer ships an unused translation template; your
    language comes
   from WordPress.org’s language packs.
 * Housekeeping for the WordPress.org review: the security checks are
    written in
   the form its scanner reads, and the edition guard asks WordPress which plugins
   are active. Nothing changes in use.

#### 1.1.10

 * The setup wizard’s environment checks and the dashboard checklist
    say when the
   server’s PHP is missing the October 2026 security fixes, with the release to 
   ask your host for. Advisory only; the plugin keeps running.
 * The Pro page points at the download page for the Pro zip.

#### 1.1.9

 * The setup wizard no longer places your stored Stripe secret key and
    webhook 
   secret in the page; it shows the masked form the Settings tabs use. Otherwise
   keeps this edition’s version in step with Pro.

#### 1.1.8

 * Keeps this edition’s version in step with Pro; nothing in the free
    edition changes.

#### 1.1.7

 * After each update, the dashboard shows what’s new, once for each
    person, until
   they dismiss it.

#### 1.1.6

 * Groundwork so a later switch to the Pro edition keeps every record
    in place;
   the Pro page now lists AI app connections.

#### 1.1.5

 * A message sent “now” goes out on the next page load on every
    site; on sites 
   ahead of UTC it could wait for the next scheduled run.

#### 1.1.4

 * “Last saved” in a record’s header counts from your site’s time
    zone, rather 
   than reading hours off right after a save.

#### 1.1.3

 * Going Back to the Calendar from a visit or a log now shows what
    you changed 
   there, instead of the calendar as you left it.
 * Unfinished drafts are kept for the full time set in Settings,
    rather than a 
   few hours less depending on your time zone.

#### 1.1.2

 * Calendar items are raised cards with a soft shadow, and an empty
    day lies flat
   beside them.
 * An item booked over another one for the same person shows a grey
    “Overlaps” 
   tag instead of a red outline.

#### 1.1.1

 * A Week view on the Calendar: the seven days side by side on a
    computer, with
   multi-day projects as bars across the top; on a phone, the week as a row of days
   with the picked day’s list below.
 * The Calendar sits in a panel like the other screens, its dates are
    in the same
   type as the rest of the app, and an empty day looks like a busy one: the same
   heading, then a “Nothing scheduled” row.
 * The “+” on a day is the gold add button, always at the end of the
    day’s heading.
 * Rounded buttons and links keep their shape when tapped on a phone,
    and the month
   no longer leaves the last-tapped day highlighted.
 * Clients are named the same way everywhere on the calendar, as the
    client list
   names them.
 * Calendar items are plain cards with a coloured dot for their kind,
    and an empty
   day’s card matches them.

#### 1.1.0

 * A calendar. The dashboard opens on today’s schedule, and the new
    Calendar page
   shows your tasks, projects and meetings by agenda, day or month. Tap an item 
   to see it and open its record.
 * A personal calendar feed in My Profile adds your schedule to
    Google, Outlook
   or Apple Calendar. It is off until you turn it on, shows titles only unless you
   include client names and addresses, and stops working when you regenerate or 
   turn it off. You can also download it once as an .ics file.
 * Meetings remember who sent them, and a meeting with no time is an
    all-day event
   in calendar files. Accepted meetings now stay as history instead of being moved
   to the trash once their day passes.
 * Fixed: a task with only a title disappeared from its job.
 * Fixed: restoring a trashed record brings back its scheduled
    reminders.
 * Fixed: a project that starts on its start date is started, and
    noted in its 
   activity, once instead of twice.
 * Fixed: a name with an ampersand, such as “Pat & Lee”, showed a
    stray “amp;” 
   after the “&” on the calendar, lists and messages, and in the email sender name,
   and a site title like “Smith & Sons” reached the setup wizard’s company name 
   the same way. Names now show as typed.
 * Pale grey hints, captions, labels and counts, and amber warnings,
    are now dark
   enough to read comfortably (WCAG AA). Gold badge text, the outlines of checkboxes,
   and the edges of text boxes, search boxes and dropdowns (on the pages your clients
   open too) are a shade darker for the same reason; other borders, icons and placeholders
   keep their lighter look.
 * Invoice, quote and job pages open faster with a large client list.
 * The setup wizard, Settings and the invoice page no longer mention
    recurring 
   invoices, which this plugin does not include.
 * Fixed: the email you get when a client declines a meeting showed
    the reason’s
   formatting as code. It now shows the reason, and a test email shows a decline
   reason and notes as the real email does.
 * Fixed: searching jobs, proposals and invoices by a team member’s
    name now finds
   names with &, < or > in them, such as “B&B Hauling”.
 * Fixed: copying a client’s address onto a job showed “Done”
    instead of saying
   so.
 * Fixed: on a phone, the file viewer’s title and description ran
    past the edge
   of the screen and hid the edit pencil.
 * Links you send clients (invoices, quotes, receipts, files, opt-in
    and unsubscribe
   pages) now open directly instead of passing through a redirect first; links already
   sent keep working.
 * Private files are kept out of the WordPress media library and
    its REST endpoint.
 * If an update cannot finish, Settings > System and the setup
    checklist say so,
   and it is retried a few minutes later.

#### 1.0.12

 * The plugin opens straight onto its setup wizard, inside WordPress’s
    own toolbar
   and admin menu. The terms screen that stood in front of it is gone; the Terms
   and Privacy Policy stay linked under Settings > System.
 * Fixed: the setup wizard showed without its styles, and offered to
    turn on pretty
   permalinks when they were already on.
 * Skip setup keeps your site title as the company name and names you
    as the owner,
   so a first quote can go out straight away.
 * The Report a Bug button is gone; ask in the support forum instead.
 * The sign-in page at /tssg no longer links to The Solo Software
    Group, and the
   dashboard no longer shows its logo.
 * Settings, preset fields, and list filters for recurring invoices,
    services, 
   and service plans no longer appear, since this plugin does not include those 
   features.

#### 1.0.11

 * Translations come from WordPress.org language packs, which
    WordPress loads by
   itself; the plugin no longer loads its own translation files.
 * Admin requests check their security token with WordPress’s own
    nonce check wherever
   a value is read. Nothing changes in use.

#### 1.0.10

 * Presets fill a new record’s terms, tax rate, follow-up, and
    reminder even where
   the site defaults were already filled in, and undo puts those defaults back.
 * Saving a record as a preset no longer captures the site’s default
    terms or a
   zero tax rate, so applying it later keeps the record’s own.
 * The apply-preset list shows every preset instead of the first 20.

#### 1.0.9

 * Fixed: a sent quote or proposal could stop accepting a signature
    after its edit
   page was merely opened or a line’s price field was tapped, because those saves
   marked it revised. Saves that change nothing no longer revise it.
 * A proposal edited after sending now tells the client it is being
    updated, instead
   of showing the document with nowhere to sign, and the change is recorded in its
   activity.
 * Send now refuses a proposal whose expiry date has passed, with a
    note to choose
   a new one first.
 * Fixed: accepting a quote with a deposit due immediately, without
    Stripe connected,
   showed a bare page; it now links to the deposit invoice.

#### 1.0.8

 * Fixed: on a brand-new install, one database link between
    proposals and jobs 
   was skipped. Updating adds it.

#### 1.0.7

 * Every link and form that creates or changes a record now carries
    its own security
   token: the Add New menu, the pickers’ Add New links, and the background requests
   on the client-facing pages. A page left open for more than a day asks for a reload
   instead of failing quietly.
 * When the Pro edition is activated over this plugin, this plugin
    deactivates 
   itself and leaves a notice; it never touches the other one. Every record is kept.
 * Scheduled maintenance (reminders, the message queue, the
    external cron endpoint)
   works within the host’s own time limit instead of asking for more.
 * Exports, reports and attachments are written straight to the
    download; the email
   previews load their styling from a stylesheet.
 * Fixed: filtering survey responses by status, score, source or
    question failed
   with an error; the import clean-up task had been matching nothing since the rename;
   a soft-deleted client’s verification link still worked; the licence text of one
   bundled component now ships with a .txt extension.

#### 1.0.6

 * The bundled libraries now ship under this plugin’s own namespace,
    so another
   plugin or theme carrying a different version of the same library can no longer
   change which copy this plugin runs. Nothing about how the plugin works changed.

#### 1.0.5

 * Renamed to The Solo Software Group Works; the paid edition is
    The Solo Software
   Group Works Pro. Menus, the setup wizard, the sign-in page, and the Plugins screen
   use the new name. The CRM is the first module of Works; nothing about how it 
   works changed

#### 1.0.4

 * Changes from the WordPress.org plugin review: every request value
    is sanitized
   where it is read and every printed value is escaped where it is printed, every
   public form carries a nonce, and the client-facing pages load their styles and
   scripts through WordPress
 * Reminders, follow-ups, proposal expiry, overdue sequences and late
    fees are 
   part of the free edition
 * The free edition carries no locked pages or padlocks; one Pro page
    describes
   what The Solo Software Group Works Pro adds
 * The crop tool for the profile photo and the company logo runs on
    Cropper.js 
   2.2.0; the bundled Blade and OpenSpout libraries are updated
 * Requires WordPress 6.4 or newer
 * Every request input is unslashed before it is sanitized

#### 1.0.3

 * The plugin header no longer repeats the author’s site as the
    Author URI, which
   the WordPress.org upload check refuses

#### 1.0.2

 * The return from Stripe Checkout no longer trips host firewalls
    that block a 
   parameter named session_id

#### 1.0.1

 * Card payments are recorded the moment the client returns from
    Stripe, with or
   without a webhook

#### 1.0.0

 * First release on WordPress.org
 * Presets and custom proposals are included
 * The Solo Software Group Works Pro replaces this plugin on activation and keeps
   every
    record; one Pro page in the menu describes what it adds
 * Typefaces are bundled with the plugin instead of loaded from a
    font service
 * Settings > System has a Data section with an opt-in delete on
    uninstall

#### 0.1.13

 * The About panel’s Check for updates button no longer changes
    size while it works,
   and the maker link sits on its own row, pointing at the plain-language page about
   the plugin

#### 0.1.12

 * Settings > System has an About panel showing the version you are
    running, a 
   link to The Solo Software Group, and an Update button when a newer version is
   available
 * Check for updates from that panel instead of waiting for the next
    scheduled 
   check

#### 0.1.11

 * The dashboard shows only the modules your role can open
 * An unverified email address no longer hides a client’s email
    notifiers or drops
   them from a bulk send; both warn instead
 * Converting a proposal to an invoice no longer copies the
    proposal’s personal
   note through its preset
 * The toolbar’s WordPress menu handle is drawn from the standard
    WordPress icon
   font rather than a bundled copy of the logo

#### 0.1.10

 * Meetings can be cancelled
 * The update runner clears compiled templates again
 * Scheduled jobs start on their start date again
 * The setup check reports the real PHP floor, 8.3

#### 0.1.9

 * Schema version bumped so new tables install on update, not only
    on a fresh activation

#### 0.1.8

 * Proposal type conversion between quote and contract
 * Notification templates no longer send with nothing to report

#### 0.1.7

 * Tested against WordPress 7.1

#### 0.1.6

 * Plugin icon on the updates screen and in the version details
    modal

#### 0.1.5

 * Requires PHP 8.3, matching the dependency tree the plugin has
    always shipped

#### 0.1.3

 * Security pass: merge tag escaping, sandboxed log previews,
    export tokens gated
   at mint, import ownership checks, and one source for visitor IP
 * Branded sign-in at /tssg, carrying the site’s own identity
 * Header navigation, account menu, and list pills reworked
 * WordPress account details stay off client-facing documents and
    invites
 * Invoices: a corrected refundable ceiling and a past due filter

#### 0.1.2

 * Append-only consent ledger
 * Third-party service disclosure

## Meta

 *  Version **2.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.3 or higher **
 * Tags
 * [contractors](https://wordpress.org/plugins/tags/contractors/)[crm](https://wordpress.org/plugins/tags/crm/)
   [estimates](https://wordpress.org/plugins/tags/estimates/)[freelancers](https://wordpress.org/plugins/tags/freelancers/)
   [invoicing](https://wordpress.org/plugins/tags/invoicing/)
 *  [Advanced View](https://wordpress.org/plugins/the-solo-software-group-works/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/the-solo-software-group-works/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/the-solo-software-group-works/reviews/)

## Contributors

 *   [ thesolosoftwaregroup ](https://profiles.wordpress.org/leifingson/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/the-solo-software-group-works/)