Karks CRM releases
A CRM with multi-company support for WordPress.
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/karks88/karks-crm/releases/download/v0.9.10.4/karks-crm.zipReadme
=== Karks CRM === Contributors: karks88 Tags: crm, invoicing, customers, invoices, billing Requires at least: 6.2 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 0.9.10.4 License: GPLv3 or later License URI: https://www.gnu.org/licenses/gpl-3.0.html
A simple customer relationship management and invoicing plugin for tracking customers, services, and invoices across multiple companies.
== Description ==
Karks CRM is an internal customer relationship and invoicing tool for managing multiple companies from a single WordPress install. It tracks customers (including "Jobs" nested under a parent customer), billable services, invoices with line items, and payments, and can generate PDF invoices.
Video Tour https://www.youtube.com/watch?v=yVpaxDGSW_8
Features:
- Multi-company support with a company switcher in the admin and on the front end
- A front-end interface (a
/crm/page) so a dedicated "CRM Manager" role can manage everything without wp-admin access - Customer records with optional parent/Job relationships
- Hourly and project-based services, optionally marked Taxable
- Invoices with line items, per-line tax, and automatic status tracking (Open/Partially Paid/Paid) based on recorded payments
- Receive Payment: split one payment across several open invoices for a customer and its Jobs in a single entry, from the customer profile
- User-managed invoice types
- CSV import for customers, services, invoices, and payments (e.g. from QuickBooks exports), including automatic service creation from imported invoices
- PDF invoice generation, download, an HTML preview, and emailing, with CC/BCC support and one-click CC suggestions from the customer's other email addresses on file
- Customer Open Balance PDF/CSV export (a customer + its Jobs, oldest open invoice first), plus a company-wide Open Balance total on the Customers list
- Reports (front-end): Revenue with a 12-month chart, per-customer revenue, and an Aging (accounts receivable) report, each with CSV export
- Export/import a full company as a JSON file, for migrating between sites or duplicating a company as a template
- Customizable front-end colors with automatic WCAG 2.1 contrast correction
Helpful Links
- Official Website - karks-crm.com
- GitHub Wiki - Contains a complete user and developer guide.
== Installation ==
- Upload the plugin files to the
/wp-content/plugins/karks-crmdirectory, or install the plugin through the WordPress plugins screen. - Activate the plugin. The Dompdf library used for PDF invoice generation ships bundled in
vendor/-- nocomposer installstep needed. - Go to Karks CRM → Companies and add your first company.
== Frequently Asked Questions ==
= Who is Karks CRM for? =
Karks CRM is a great fit for any small business looking for a simple way to manage customers and send invoices.
= How do email invoices work? =
With Karks CRM, you can email customer invoices directly within WordPress. You can customize the email to meet your needs, and there are merge tags for further personalization. Your message and a copy of the PDF will be sent to your customer. The plugin also uses the contact information already in a customer’s profile, saving you from repeatedly filling out the same address.
The plugin uses the built-in WordPress email functionality. However, we recommend using a mail delivery service or sending via a separate SMTP server to avoid spam issues.
= What customer data does Karks CRM store? =
The plugin stores any customer contact and invoice data you input. That could include (but is not limited to) physical addresses, email addresses, contact names, phone numbers, and invoice details (pricing, services rendered, etc.)
Karks CRM DOES NOT collect payment information by default. It doesn’t connect to any third-party payment gateways. Please do not use this plugin to store sensitive data!
= Who can access the CRM? =
By default, only site Administrators and users with the included custom CRM Manager roles can access customer data. Other users won’t be able to access the CRM.
= What are the server requirements for Karks CRM? =
You can use Karks CRM on any WordPress installation, whether locally or through a traditional web host. The plugin will work on any existing site. However, you could create a separate site just for your invoicing needs.
As Karks CRM stores customer data, we recommend using the most secure hosting environment possible.
= Why doesn’t the plugin work with payment gateways or other third-party services? =
It’s all about security and ease of maintenance. Building connections to payment gateways or other services requires constant vigilance. That clashes with the simple approach of this plugin.
Note: The plugin allows you to add custom payment links, which will appear as buttons on your invoices. You can also add payment instructions to your emails.
== Screenshots ==
- The front-end company dashboard provides quick access to common tasks.
- Use the Customers screen to find and manage your customers.
- Create a custom invoice for your customers with hourly or project-based line items.
- Keep track of invoices via a searchable listing.
- Customer profiles let you view invoice status, payments received, and more.
- Download your invoice as a custom PDF or email it directly within WordPress.
- Custom reports let you know where you stand.
- Your company profile includes your contact info, a custom logo, invoice footer, email message, and more. You can manage most aspects of your company on the front or back end.
- Edit your color scheme or disable all CSS styles for total control of the CRM’s look.
- Custom Invoice Types add flexibility to invoicing.
- Add your services and choose from hourly or project-based billing. Services can be imported as a CSV file.
- Custom PDF invoices include your logo, a custom accent color, and custom payment links.
== Changelog ==
= 0.9.10.4 =
- The Customers screen's "Company Name" field now reads "Company/Job Name" when the record is a Job (i.e. "This is a Job of" has a parent selected), on the front end and in wp-admin, since that field holds the Job's own name rather than a separate company.
- Added a video tour and Helpful Links (official website, GitHub wiki) to this file's description, and added "billing" to the plugin's Tags.
= 0.9.10.3 =
- Fixed: saving a customer, receiving a payment, or any other action that redirects back to a front-end record-edit screen (
KCRM_Controller_Base::redirect(), used by every controller's save/delete/payment/import handler) could land on "This link has expired" -- the redirect itself never carried the nav nonce that 0.9.10.2 started requiring.redirect()now always includes it. - Hardening:
KCRM_Company_Transfer::import()now runs every imported customer, service, invoice, line-item, and payment field through the same sanitizers as the normal save screens (previously only the company profile was sanitized) -- so a hand-edited export file can't store unescaped markup, an invalid country, or a malformed date. Imported line-item amounts are recomputed from quantity x rate rather than trusted from the file. Per WordPress.org Plugin Review Team feedback. - Hardening:
GETparameters read throughsanitize_key()are now unslashed first, and three admin-post download handlers gained the standard nonce-verification comment, for Plugin Check compliance. No behavior change.
= 0.9.10.2 =
- Fixed: the front-end customer profile's
idquery arg now fails closed instead of open when its nav nonce is missing or invalid -- previously it silently fell back to "Customer not found," which is what add-ons linking into that screen without the nonce (e.g. Karks CRM Packages' "Log Usage" flow) hit after this plugin's nonce hardening. Now shows an explicit "link has expired" message instead, andKCRM_Front::nav_nonce()/nav_nonce_args()are available for add-ons to build valid links. - Corrected "Tested up to" (7.0 -> 7.1).
= 0.9.10.1 =
- Hardening: replaced inline `
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v0.9.10.4 | Sep 8, 2026 | karks-crm.zip | 0 |
| v0.9.10.3 | Sep 7, 2026 | karks-crm.zip | 0 |
| v0.9.10.2 | Aug 26, 2026 | karks-crm.zip | 1 |
| v0.9.10.1 | Aug 18, 2026 | karks-crm.zip | 1 |
| v0.9.10.0 | Aug 17, 2026 | karks-crm.zip | 1 |
| v0.9.9.7 | Aug 14, 2026 | karks-crm.zip | 1 |
| v0.9.9.5 | Aug 14, 2026 | karks-crm.zip | 0 |
| v0.9.9.4 | Aug 13, 2026 | karks-crm.zip | 0 |
| v0.9.9.2 | Aug 13, 2026 | karks-crm.zip | 0 |
| v0.9.9.1 | Aug 13, 2026 | karks-crm.zip | 1 |
| v0.9.8 | Aug 12, 2026 | karks-crm.zip | 0 |
| v0.9.7 | Aug 11, 2026 | karks-crm.zip | 0 |
| v0.9.6 | Aug 7, 2026 | karks-crm.zip | 2 |
| v0.9.5 | Aug 5, 2026 | karks-crm.zip | 0 |
| v0.9.4 | Aug 4, 2026 | karks-crm.zip | 0 |
| v0.9.3 | Aug 3, 2026 | karks-crm.zip | 0 |
| v0.9.2 | Aug 2, 2026 | karks-crm.zip | 0 |
| v0.9.1 | Jul 31, 2026 | karks-crm.zip | 0 |
| v.0.9.0 | Jul 30, 2026 | karks-crm.zip | 0 |
| v0.8.0 | Jul 29, 2026 | karks-crm.zip | 0 |
| v0.7.3 | Jul 28, 2026 | karks-crm.zip | 0 |
| v0.7.2 | Jul 27, 2026 | karks-crm.zip | 0 |
| v0.7.1 | Jul 27, 2026 | karks-crm.zip | 0 |
| v0.7.0 | Jul 27, 2026 | karks-crm.zip | 0 |
| v0.6.2 | Jul 27, 2026 | karks-crm.zip | 0 |