Title: Client Octopus
Author: codievolt
Published: <strong>Adoolessa 29, 2026</strong>
Last modified: Onkololeessa 1, 2026

---

Search plugins

![](https://ps.w.org/clientoctopus/assets/banner-772x250.png?rev=3709660)

![](https://ps.w.org/clientoctopus/assets/icon-256x256.png?rev=3627149)

# Client Octopus

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

[Download](https://downloads.wordpress.org/plugin/clientoctopus.1.4.1.zip)

 * [Details](https://gax.wordpress.org/plugins/clientoctopus/#description)
 * [Reviews](https://gax.wordpress.org/plugins/clientoctopus/#reviews)
 *  [Installation](https://gax.wordpress.org/plugins/clientoctopus/#installation)
 * [Development](https://gax.wordpress.org/plugins/clientoctopus/#developers)

 [Support](https://wordpress.org/support/plugin/clientoctopus/)

## Description

Client Octopus is an all-in-one client workflow plugin for WordPress freelancers
and agencies.

Capture leads from your website, let prospects book a call with your calendar synced
automatically, create professional proposals with e-signatures and flexible pricing,
send standalone or recurring invoices, collect payments through Stripe or PayPal,
and manage projects and client delivery through a branded client portal.

Instead of juggling separate tools for lead capture, scheduling, proposals, invoicing,
payments, and client delivery, Client Octopus brings the whole workflow together
inside the WordPress site you already own.

It connects the key stages in one place: lead capture, call booking with calendar
sync, proposals with e-signatures, packages and pricing tiers, standalone and recurring
invoices, Stripe and PayPal payments, a branded client portal, projects with milestones
and approvals, file sharing and messaging, automated reminders, and webhooks to 
thousands of other tools.

#### Why Client Octopus?

Most freelancers and agencies juggle several separate tools to run their client 
workflow — a lead form, a scheduling app, a proposal tool, an invoicing app, and
a payment link. Client Octopus replaces all of them with a single WordPress plugin.

Your core client data — leads, proposals, invoices, bookings, and projects — is 
stored in your own WordPress database rather than locked inside a separate SaaS 
platform. Optional integrations, like payment processing, calendar sync, or AI writing
tools, only send the specific data required for the feature you’ve chosen to use.

Every feature, broken down by plan, is listed under Features below.

### Features

Client Octopus is designed specifically for WordPress freelancers and agencies who
want to manage proposals, invoices, and client delivery without relying on external
SaaS platforms.

#### Free Features

 * Lead Capture — a form on any page via shortcode, with configurable fields, a 
   consent line, optional Cloudflare Turnstile CAPTCHA, rate limits and an auto-
   reply
 * Unlimited clients
 * Client Tags — organise and filter your client list, with a duplicate warning 
   on matching email or phone
 * Unlimited proposals
 * Proposal templates
 * Images in proposals — pick from your Media Library, at full, wide or half width
 * Package Selector pricing — offer tiers with optional add-ons; the client picks
   and sees the total update live
 * Client e-signature on acceptance — the certificate records who signed, when, 
   their IP and device, and a fingerprint of the proposal, so a later edit is reported
   rather than hidden
 * Proposal status tracking (draft, sent, viewed, accepted, declined, expired, completed)
 * Client-facing proposal signing and invoice pages
 * Client Detail — activity timeline, lifetime value, outstanding balance, and quick
   actions prefilled with that client
 * Standalone invoices — create, send, and manually mark as paid
 * Purchase Order numbers — added to a proposal at any point and carried through
   to every invoice from it
 * 20 currencies, with a Default Currency setting. Currencies without decimal places,
   such as Japanese Yen, are formatted correctly
 * VAT Registration Number — set once, filled in automatically on new invoices
 * Recurring invoices — weekly, monthly, quarterly or yearly billing profiles, created
   manually or on acceptance of a Recurring proposal
 * Payment Plans — split a proposal into equal instalments; the client sees the 
   schedule before accepting and each one is invoiced automatically
 * Automated reminders — proposals (not viewed, not accepted, expiring) and overdue
   invoices. Clients can unsubscribe from reminders without affecting invoices, 
   receipts or proposals
 * Privacy requests — works with WordPress’s own Tools  Export/Erase Personal Data.
   See Privacy below
 * Translatable emails, settings screens and public booking and lead forms, with
   a translation template included
 * Import Clients from CSV, with your own column mapping
 * Export Clients, Leads, Invoices, and a client’s full transaction history to CSV
 * Built on the WordPress REST API — standard WordPress data, not a closed black
   box

#### Pro Features

 * Everything in Free plus…
 * Call Booking — a booking form via shortcode, using your weekly availability, 
   buffer time, minimum notice and booking window. Confirmation and reminder emails
   carry a calendar invite
 * Calendar Sync — Google, Microsoft 365/Outlook or Apple iCloud. Existing events
   block your availability, and confirmed bookings are pushed out as real events
 * Stripe or PayPal collection on proposals, and a Pay Now button on invoices (auto-
   marked paid via webhook)
 * Auto-charge for recurring invoices — charge the client’s saved card each cycle
   instead of sending a link
 * Client portal — magic-link or password sign-in, no WordPress account needed; 
   proposals, invoices and payments
 * Testimonials — automatically ask once work is paid up, and collect responses 
   in one place
 * AI writing tools for proposal content — 100 requests per month on Pro, 500 on
   Agency
 * Revenue analytics, with a Reporting Currency that converts other currencies using
   daily exchange rates
 * Outbound webhooks — 18 events across the proposal, invoice and lead lifecycle(
   Zapier, Make, Slack)

#### Agency Features

 * Everything in Pro plus…
 * Projects & Milestones — accepted proposals become projects; submit milestones
   for client approval, with progress calculated automatically
 * Team Members — up to 10 seats with roles (Admin, Editor, Viewer). Your own account
   takes the first, so you can invite 9 others
 * Client Messaging — a threaded conversation per project, with read tracking and
   email notification on reply
 * File Sharing — share files through the portal, 1 GB included, every download 
   served securely
 * Approval Workflows — request sign-off on a deliverable; the client approves or
   rejects with a comment from their portal

### External Services

Client Octopus is designed to run primarily within WordPress. Some optional features
connect to third-party services, and these connections are only used when the relevant
feature is enabled or used:

**Stripe**

Used to process client payments on proposals and invoices. The plugin creates a 
Stripe Checkout Session on your account and redirects the client to Stripe’s hosted
page — card details are entered on Stripe’s servers and never stored in WordPress.
Your API keys are held in the WordPress options table and sent only to Stripe. If
auto-charge is enabled on a recurring profile, the first payment also saves a customer
ID and payment method ID (never the card number) so later invoices can be charged
without the client re-entering it.

 * Service: Stripe, Inc.
 * Data sent: payment amount, currency, project or invoice description, and client
   email when a payment session is created. If auto-charge is enabled, a Stripe 
   customer ID and payment method ID are stored after the first payment and sent
   back to Stripe to request each subsequent automatic charge. Stripe webhook events(
   payment completion) are received and verified using your webhook secret.
 * Terms of Service: https://stripe.com/legal/ssa
 * Privacy Policy: https://stripe.com/privacy

**PayPal**

An alternative to Stripe, used if you select it as your payment provider. The plugin
creates a PayPal order on your account and redirects the client to PayPal’s hosted
page — payment details are entered on PayPal’s servers and never stored in WordPress.
Your Client ID and Secret are held in the WordPress options table and sent only 
to PayPal. If auto-charge is enabled on a recurring profile, the first payment also
saves a Vault ID, customer ID and the payer’s email so later invoices can be charged
without re-approval.

 * Service: PayPal, Inc.
 * Data sent: payment amount, currency, and a proposal or invoice reference when
   an order is created. If auto-charge is enabled, a PayPal vault ID, customer ID,
   and the payer’s email address are stored after the first payment and sent back
   to PayPal to request each subsequent automatic charge. PayPal webhook events (
   order approval and payment capture) are received and verified using PayPal’s 
   own signature-verification API.
 * Terms of Service: https://www.paypal.com/us/legalhub/useragreement-full
 * Privacy Policy: https://www.paypal.com/us/legalhub/paypal/privacy-full

**Client Octopus Relay**

The AI writing tools and Google/Microsoft Calendar Sync route through a relay operated
by the plugin author. It authenticates your licence and either forwards the request
to an AI model or manages your connected calendar. A plugin on thousands of sites
cannot register its own Google/Microsoft OAuth application per install, so a single
relay-owned app is used and your calendar tokens are held on the relay rather than
in your WordPress database. Both features run only when you use an AI action, or
connect Google Calendar or Microsoft 365 in Settings.

 * Service: clientoctopus.com (operated by codievolt)
 * Data sent (AI writing requests): the text prompt you submit (proposal content
   or instructions) and your licence key, which authenticates the request and is
   used to enforce your plan’s monthly rate limit. No site URL or admin email is
   transmitted for AI requests.
 * Data sent (licence sync): separately, once per day, the plugin sends your licence
   key and account email to the same relay to keep your plan status in sync. This
   happens automatically in the background on Pro/Agency plans and is not tied to
   any explicit AI action.
 * Data sent (Calendar Sync — Google/Microsoft only): connecting Google Calendar
   or Microsoft 365 in Settings authorises the relay to store the resulting OAuth
   access/refresh tokens on your behalf. On each sync, the relay uses those tokens
   to read busy time (start/end and event title) from your connected calendar, and
   to create or delete a calendar event when a booking is made or cancelled. This
   only happens for a provider you’ve explicitly connected.
 * Privacy Policy: https://clientoctopus.com/privacy-policy/

**Apple iCloud (CalDAV)**

If you connect Apple iCloud in Settings, the plugin talks to Apple’s calendar servers
directly using the Apple ID and app-specific password you provide — unlike Google/
Microsoft, this does not go through the relay. The password is encrypted before 
being stored. Each sync reads busy time (start/end and event title) and creates 
or deletes an event when a booking is made or cancelled. Only runs if you connect
an account.

 * Service: Apple Inc.
 * Data sent: your Apple ID and app-specific password, sent only to caldav.icloud.
   com to authenticate each request, plus calendar event data (times and titles)
   read from or written to your connected iCloud calendar.
 * Terms of Service: https://www.apple.com/legal/internet-services/icloud/
 * Privacy Policy: https://www.apple.com/legal/privacy/

**Cloudflare Turnstile**

If you enable Turnstile as the CAPTCHA provider for the lead capture form ([clientoctopus_lead_form]
shortcode), Client Octopus verifies each form submission with Cloudflare before 
saving it, to block automated spam. This only runs when Turnstile is configured 
in Settings — it is off by default.

 * Service: Cloudflare, Inc.
 * Data sent: the Turnstile response token, the visitor’s IP address, and your Turnstile
   secret key, sent server-side to Cloudflare’s siteverify endpoint when a lead 
   capture form is submitted.
 * Terms of Service: https://www.cloudflare.com/website-terms/
 * Privacy Policy: https://www.cloudflare.com/privacypolicy/

**Frankfurter (Exchange Rate Data)**

If you have set a Reporting Currency in Settings that’s different from GBP, Client
Octopus fetches daily exchange rates from Frankfurter (a free, keyless exchange-
rate API backed by European Central Bank reference rates) to convert proposal, invoice,
and payment figures for display in Analytics. This only starts once you’ve actually
chosen a non-GBP Reporting Currency — it never runs on its own. No personal data,
licence key, or site information is ever sent — only a request for the current rates
between GBP and the plugin’s other supported currencies. Rates are cached locally
for up to 24 hours. This never affects Client Detail, which always shows each client’s
real billed currency unconverted.

 * Service: Frankfurter (frankfurter.app)
 * Data sent: none identifying — only a request for current exchange rates between
   GBP and the plugin’s other supported currencies.
 * Terms of Service: https://frankfurter.dev/
 * Privacy Policy: Frankfurter publishes no separate privacy policy; its documentation
   states the API “does not collect or log personal data, IP addresses, or request
   URLs” — https://frankfurter.dev/

**Freemius**

Client Octopus uses Freemius to manage plan licensing, activation, and upgrades.
When you activate a licence key, the site URL, plugin version, and licence key are
sent to Freemius to verify your plan and enable the correct feature set.

 * Service: Freemius, Inc.
 * Data sent: site URL, plugin version, licence key, and basic activation/deactivation
   events.
 * Terms of Service: https://freemius.com/terms/
 * Privacy Policy: https://freemius.com/privacy/

### Privacy

Client Octopus stores your client data in your own WordPress database. Nothing about
your clients is sent anywhere except through the optional integrations described
under External Services above, and only when you enable and use them.

**What is stored about the people you work with**

Client records (name, email, company, phone), leads submitted through the lead capture
form, booked calls (name, email, phone and any message), the typed name, IP address
and device recorded when a client e-signs a proposal, messages a client sends you
through the portal, comments they leave on approval requests, and a record of any
reminder emails they have unsubscribed from.

**Responding to a privacy request**

Client Octopus plugs into WordPress’s own Tools  Export/Erase Personal Data. Searching
there by a person’s email address covers their client record, leads, booked calls,
proposal signatures, project messages, approval comments and email preferences —
you do not need to go through the database by hand.

An export returns everything held about that person. An erasure is handled differently
depending on the record, because some of it you are legally required to keep:

 * Booked calls and messages the client sent are deleted outright.
 * Client records, accepted proposals and approval records are kept, but the personal
   details are removed from them — the name is replaced, the email and phone are
   cleared, and the IP address recorded at signing is anonymised. These are kept
   because invoices and payments are raised against them, and accounting records
   normally have to be retained for several years. What remains is a financial history
   no longer attached to an identifiable person.
 * An unsubscribe record is kept, including the email address, because deleting 
   it would start those emails again. An export reports it.

Files you upload to a project are your own deliverables rather than something the
client supplied — the portal is download-only — so they are not included in an erasure.

**Removing everything**

Settings  Advanced has an option to delete all Client Octopus data when the plugin
is deleted. It is off by default, so removing the plugin normally leaves your data
in place in case you reinstall.

This is a summary rather than legal advice. If you handle personal data in the EU
or UK, you remain the data controller for the client information you store.

## Screenshots

[⌊Send branded proposals with pricing breakdowns and e-signature acceptance⌉⌊Send
branded proposals with pricing breakdowns and e-signature acceptance⌉[

Send branded proposals with pricing breakdowns and e-signature acceptance

[⌊Give clients a branded portal with proposals, invoices, projects, and payments
at a glance⌉⌊Give clients a branded portal with proposals, invoices, projects, and
payments at a glance⌉[

Give clients a branded portal with proposals, invoices, projects, and payments at
a glance

[⌊Branded client invoices with one-click Print / Save as PDF⌉⌊Branded client invoices
with one-click Print / Save as PDF⌉[

Branded client invoices with one-click Print / Save as PDF

[⌊Create professional proposals fast with guided templates⌉⌊Create professional 
proposals fast with guided templates⌉[

Create professional proposals fast with guided templates

[⌊Let clients track every payment in one place — proposal deposits and invoice payments⌉⌊
Let clients track every payment in one place — proposal deposits and invoice payments⌉[

Let clients track every payment in one place — proposal deposits and invoice payments

[⌊Create invoices in minutes — client, line items, discounts, and VAT⌉⌊Create invoices
in minutes — client, line items, discounts, and VAT⌉[

Create invoices in minutes — client, line items, discounts, and VAT

[⌊Manage projects, milestones, approvals, and payment status together⌉⌊Manage projects,
milestones, approvals, and payment status together⌉[

Manage projects, milestones, approvals, and payment status together

[⌊Give clients simple, secure access — magic link or password sign-in⌉⌊Give clients
simple, secure access — magic link or password sign-in⌉[

Give clients simple, secure access — magic link or password sign-in

[⌊See your plan, usage and full feature access at a glance on the Plan & Usage dashboard⌉⌊
See your plan, usage and full feature access at a glance on the Plan & Usage dashboard⌉[

See your plan, usage and full feature access at a glance on the Plan & Usage dashboard

[⌊Connect Client Octopus to thousands of apps with webhooks⌉⌊Connect Client Octopus
to thousands of apps with webhooks⌉[

Connect Client Octopus to thousands of apps with webhooks

## Installation

 1. Upload the `clientoctopus` folder to `/wp-content/plugins/`
 2. Activate the plugin through the WordPress Plugins menu
 3. The setup wizard launches automatically
 4. Configure your branding and settings
 5. Upgrade to Pro or Agency at any time via Client Octopus  Account

## FAQ

### Does Client Octopus support payments?

Yes. On the Pro and Agency plans, you can accept payments on proposals and standalone
invoices via either Stripe or PayPal — choose whichever gateway you prefer in Settings.
Clients always see a single “Pay Now” button that routes to whichever gateway you’ve
configured. The exception is a proposal set to Recurring billing — it has no direct
payment option; billing happens through the recurring invoice created when the client
accepts, which can itself be set to auto-charge (see “Can I set up automatic recurring
invoices?” below) or paid manually each cycle.

### Can clients access a portal?

Yes, on the Pro and Agency plans. Clients sign in to a branded portal either with
an emailed magic link or with a password they set — no WordPress account is needed
either way.

The portal differs by plan. On Pro, clients see their proposals, invoices and payments.
On Agency it also covers projects, milestones, approvals, file downloads and messaging.

### Does Client Octopus support teams?

Yes. The Agency plan supports up to 10 team members, each assigned a role (Admin,
Editor, or Viewer).

### Can I collect leads before they become clients?

Yes, on all plans. Embed the lead capture form on any page with the [clientoctopus_lead_form]
shortcode. You choose which fields to show and require, add a consent line, and 
optionally enable Cloudflare Turnstile CAPTCHA and submission rate limits to help
prevent automated spam. Every submission lands in a dedicated Leads admin screen
where you can track status, mark as contacted, archive, or convert a lead straight
into a client record.

### Can I let clients or visitors book a call with me?

Yes, on the Pro and Agency plans. Add the [clientoctopus_booking_form] shortcode
to any page and visitors can book a call based on your configured weekly availability,
buffer time, minimum notice, and maximum booking window. Both you and the client
get a confirmation email with a calendar invite, followed by a 1-hour reminder.

### Does Client Octopus sync with my calendar?

Yes, on the Pro and Agency plans. Connect Google Calendar, Microsoft 365/Outlook,
or Apple iCloud in Settings. Once connected, existing events on that calendar automatically
block matching slots in your booking availability, shown with their real event title—
and every call booked through Client Octopus is pushed out as a real event (including
your meeting link) on every calendar you’ve connected, so you never have to add 
it yourself.

### Is multisite supported?

No. Client Octopus licences are single-site only.

### Does Client Octopus require a third-party SaaS?

No. Client Octopus runs directly inside WordPress and doesn’t require a separate
SaaS platform to work. Optional integrations — Stripe or PayPal for payments, Google
Calendar, Microsoft 365, or Apple iCloud for calendar sync, AI writing tools, Cloudflare
Turnstile for lead form spam protection, and Frankfurter for Analytics currency 
conversion — only connect when you explicitly enable and use that feature. Freemius
handles licensing for the paid plans. Every one of these is described in full under
External Services below.

### Are AI costs included?

Yes, within a monthly allowance — 100 AI requests per month on Pro, and 500 per 
month on Agency. There is no separate AI bill and you don’t supply your own API 
key; the allowance is part of the plan. Your current usage against the allowance
is shown on the Plan & Usage screen.

### Can clients e-sign proposals?

Yes. When a client accepts a proposal, they are prompted to enter their name and
confirm a checkbox in a signing modal. A signing certificate is saved to the proposal
record and shown in the admin, recording who signed, when, the IP address and device
they signed from, and a fingerprint of the proposal exactly as it stood at that 
moment — so if the proposal is edited afterwards, the certificate says so rather
than silently appearing to cover the new version.

Note this is a record of acceptance, not a qualified or notarised electronic signature
in the sense of eIDAS or the ESIGN Act. It is the same category of evidence most
proposal tools provide.

### How is this self-hosted, and how is pricing different from SaaS alternatives?

Client Octopus is a self-hosted WordPress plugin, not a SaaS platform — your proposals,
invoices, and client data are stored in your own WordPress database. Pro is $9.99/
month or $89/year, and Agency is $24.99/month or $229/year, with no per-user charges
and no limits on the number of clients or proposals you manage.

### Can I send invoices without a proposal?

Yes. Standalone invoices are available on all plans. Create an invoice, assign a
client, add line items with VAT and discount options, and send it directly. Free
plan invoices can include your own payment instructions (e.g. bank transfer details)
in the Notes field; Pro and Agency invoices can additionally show a “Pay Now” button(
Stripe or PayPal, whichever is configured) on the client’s invoice page.

### What currencies are supported?

Twenty: British Pound, US Dollar, Euro, Canadian Dollar, Australian Dollar, Japanese
Yen, Swiss Franc, New Zealand Dollar, Swedish Krona, Norwegian Krone, Danish Krone,
Singapore Dollar, Hong Kong Dollar, Indian Rupee, Polish Zloty, Czech Koruna, Brazilian
Real, Mexican Peso, South African Rand and South Korean Won. Set a Default Currency
in Settings and new proposals and invoices open in it; you can still change the 
currency on any individual record. Analytics converts all of them into one reporting
currency using daily exchange rates.

### Is Client Octopus translatable?

Partly. All emails, the settings and plan screens, and the public booking and lead
capture forms use translatable text, and a translation template (.pot) ships with
the plugin. The React-based admin screens, the client portal and the client-facing
proposal view are not yet translatable — their text is prepared for translation 
but the catalogues do not load, so they still display in English.

### Can clients stop receiving emails?

Yes. Reminder emails and testimonial requests carry an unsubscribe link, and a preference
page where the client can switch each type on or off. Essential emails are never
affected — proposals, invoices, payment receipts, booking confirmations and portal
sign-in links always send, because they concern work already agreed.

### How do I handle a GDPR or data deletion request?

Use WordPress’s own Tools  Export/Erase Personal Data and search by the person’s
email address. Client Octopus covers client records, leads, booked calls, proposal
signatures, project messages and approval comments. See the Privacy section below
for exactly what an erasure deletes and what it keeps.

### Can I set up automatic recurring invoices?

Yes, on all plans. Create a recurring invoice profile for a client, choose weekly,
monthly, quarterly, or yearly billing, and Client Octopus automatically generates
and sends a fresh invoice each cycle. By default the client pays each one manually
via the same Pay Now flow as any other invoice. You can also mark a proposal itself
as Recurring — accepting it automatically creates the recurring profile for you,
with no manual setup.

On the Pro and Agency plans, you can additionally turn on auto-charge for a profile:
the client’s first invoice is still paid manually (which securely saves their Stripe
or PayPal payment method), and every invoice after that is charged automatically
with no action needed from the client. If a charge is declined, both you and the
client are notified and it’s retried a few times before the profile pauses itself
so you can follow up.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Client Octopus” is open source software. The following people have contributed 
to this plugin.

Contributors

 *   [ codievolt ](https://profiles.wordpress.org/codievolt/)
 *   [ Freemius ](https://profiles.wordpress.org/freemius/)

[Translate “Client Octopus” into your language.](https://translate.wordpress.org/projects/wp-plugins/clientoctopus)

### Interested in development?

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

## Changelog

#### 1.4.1

 * New: Emails, the settings and plan screens, and the public booking and lead capture
   forms are now translatable, and a translation template is included for translators.
   The React-based admin screens, the client portal and the proposal view are not
   covered yet. Available on all plans.
 * New: Set a Default Currency in Settings, and during first-time setup. New proposals
   and invoices open in your currency instead of always defaulting to British Pounds.
   Existing records keep the currency they were created with. Available on all plans.
 * New: 15 more currencies, bringing the total to 20 — Japanese Yen, Swiss Franc,
   New Zealand Dollar, Swedish Krona, Norwegian Krone, Danish Krone, Singapore Dollar,
   Hong Kong Dollar, Indian Rupee, Polish Zloty, Czech Koruna, Brazilian Real, Mexican
   Peso, South African Rand and South Korean Won. All of them work everywhere the
   original five did, including Analytics currency conversion. Available on all 
   plans.
 * Fix: Currencies written without decimal places, such as Japanese Yen and South
   Korean Won, are no longer shown with a meaningless “.00” on the end.
 * Fix: Online payments in Japanese Yen or South Korean Won were sent to Stripe 
   at 100 times the correct amount, and rejected by PayPal, because the code assumed
   every currency has a sub-unit like pence. Affected proposals, invoices, recurring
   billing and payment plans.
 * Fix: Payment confirmation emails showed the currency code and two decimal places
   regardless of currency, so a yen payment read “JPY 17,088.00” instead of “¥17,088”.
 * Fix: A recurring invoice set to auto-charge tried to charge the first invoice,
   before the client had a chance to pay one and save a card — telling them their
   card was declined when they had never saved one, and eventually pausing the schedule.
   Auto-charge now starts from the second invoice. (Pro & Agency)
 * Fix: The currency dropdowns when creating an invoice, recurring invoice or proposal
   listed Canadian and Australian Dollars with a plain “$”, making them impossible
   to tell apart from US Dollars in the list you pick from.
 * New: Choose Stripe or PayPal during first-time setup and enter your details there.
   Previously setup only offered Stripe, so PayPal users had to finish in Settings
   afterwards. Available on all plans.
 * New: Pick your logo from the WordPress Media Library, in Settings and during 
   setup, instead of pasting in a direct image URL. Available on all plans.
 * New: VAT Registration Number in Settings. Once set, it is filled in automatically
   on new invoices and on invoices generated from an accepted proposal, instead 
   of being typed in by hand each time — a VAT invoice is not valid without it. 
   Leave it blank if you are not VAT registered. Available on all plans.
 * Fix: Booking cancellation links in emails could be triggered by corporate mail
   scanners, link previewers, and browser prefetching, silently cancelling a confirmed
   booking that neither you nor your client cancelled. Cancelling now requires a
   deliberate confirmation step. (Pro & Agency)
 * Fix: Team members with the Viewer role could perform destructive actions they
   should never have had — bulk-deleting and archiving leads, cancelling booked 
   calls, editing blocked time, and changing the content of automated emails sent
   to your clients under your brand. These now require the Editor or Admin role,
   and automated email content requires Admin.
 * Fix: Team members with the app’s Admin role could create brand-new WordPress 
   user accounts on your site, and have a password-reset link emailed to any address.
   Creating a new WordPress account now requires a site administrator; inviting 
   someone who already has an account is unchanged.
 * New: A view-only team member now sees a notice saying so, and the create and 
   import buttons are hidden from them. Previously a Viewer could fill in a whole
   proposal before the save was refused. Permissions themselves are unchanged — 
   they were always enforced. (Agency)
 * Fix: Team members with the Admin role could not open the Team screen, which needed
   a WordPress administrator account — so Admin behaved no differently to Editor.
   Admins can now manage the team; Editors and Viewers cannot. (Agency)
 * New: Add images to a proposal. Pick from your Media Library, choose full, wide
   or half width, and add a description for clients using a screen reader. Images
   appear in the client’s copy and when printed. Available on all plans.
 * New: Change a team member’s role from the Team screen. A role could previously
   only be set at invite time, so changing one meant removing and re-inviting them.
   The new role applies immediately, and you cannot change your own. (Agency)
 * Fix: Downgrading from Agency to Pro left Messaging, File Sharing, and Approvals
   usable on existing projects. They are now correctly restricted to the Agency 
   plan. Existing conversations and files stay readable — a downgrade no longer 
   lets you add more, rather than hiding what is already there.
 * Fix: Ticking “Delete all Client Octopus data when this plugin is deleted” left
   six database tables behind, including active portal session tokens and encrypted
   calendar credentials, along with every file your clients had uploaded. Uninstalling
   now removes all of it.
 * Fix: Public proposal and invoice links now use a cryptographically secure random
   token. The previous method was predictable in principle. Links already issued
   remain valid.
 * Fix: The payment status check did not verify the token it asked for, so payment
   amount, currency, and status could be read without it.
 * Fix: Currency symbols did not match between the admin screens and the invoice
   your client receives — a Canadian invoice showed “CA$1,000.00” in the admin but“
   $1,000.00” in the emailed copy. All screens and emails now use the same symbols.
 * Fix: The project completion email always showed the outstanding balance in pounds,
   whatever currency the proposal was in — so a client on a US Dollar proposal was
   told they owed “£450.00”. It now uses the proposal’s own currency and decimal
   places.
 * Fix: The button on the project completion email read “View Project” but opened
   the final invoice. It now reads “Pay Final Invoice” when there is a balance to
   settle, and “View in Portal” when there is nothing left to pay.
 * Fix: The client email preferences page, and the matching card on the client screen,
   offered to switch off reminders your plan cannot send in the first place. Only
   the categories your plan actually sends are now listed. Preferences a client 
   already set are unaffected.
 * Fix: When a client’s portal session expired, the portal displayed raw error text
   instead of returning them to the login screen.
 * Fix: Database updates could run too late after an automatic plugin update, so
   the first visit to a client portal page or the first incoming payment notification
   after updating could hit a database table that had not been updated yet.
 * Fix: Team members always saw “0” on the unread messages badge, regardless of 
   how many unread messages there were. (Agency)
 * Fix: AI usage records stored no token counts and no cost, so AI usage reporting
   was blank. (Pro & Agency)
 * Fix: Free-plan users opening Bookings or Analytics were shown an error message
   with no way forward. Both now explain what the feature does and link to upgrade.
 * Fix: An issue in how the free version was packaged for release could leave part
   of the client management code incomplete in the free build.
 * Improved: Webhooks are now queued and delivered in the background with automatic
   retries, so a proposal acceptance no longer waits on them and a temporary outage
   at the receiving end no longer loses the event permanently. Repeated failures
   now pause the webhook and the full response is recorded so a rejected delivery
   can be diagnosed. (Pro & Agency)
 * Improved: The plan comparison screen was missing seven features that differ between
   plans — Call Booking, Calendar Sync, Webhooks, Analytics, Testimonials, Leads,
   and Invoices — so it understated what the paid plans include.
 * Improved: Accessibility — popups now keep keyboard focus inside them, close with
   the Escape key, and return focus to where you were when they close. Form fields
   across the admin are now properly associated with their labels for screen reader
   and click-to-focus behaviour.
 * Improved: Background jobs and emails that fail now record what happened when 
   WordPress debug logging is enabled, instead of failing silently.
 * Improved: The Plan & Usage screen has been reorganised. Your plan and all four
   usage figures now sit in a single band at the top instead of being split across
   a card and a separate row of boxes, the quick actions moved up beneath it, and
   the feature list is grouped into Win Clients, Deliver Work, and Get Paid & Automate
   rather than being one long undifferentiated grid. The same information, in roughly
   half the height.
 * New: The signing certificate on an accepted proposal now records the device the
   client signed from, and a fingerprint of the proposal exactly as it stood when
   they accepted it. If the proposal is edited afterwards, the certificate reports
   that it has changed since signing instead of silently appearing to cover the 
   new version. Proposals signed before this update show “not recorded” rather than
   being reported as altered. Available on all plans.
 * New: Clients can now unsubscribe from reminder emails. Proposal reminders, invoice
   reminders, call reminders and testimonial requests each carry an unsubscribe 
   link and a page where the recipient can switch any of the four on or off. Essential
   emails are never affected — proposals, invoices, payment receipts, booking confirmations,
   portal login links and approval requests always send, because they concern work
   already agreed.
 * Improved: Emails that can be unsubscribed from now include the standard List-
   Unsubscribe headers, so Gmail and Outlook can offer their own one-click unsubscribe
   button. Mailbox providers have expected these since 2024 and their absence counts
   against sender reputation, so this helps your email reach the inbox.
 * New: Each client’s detail screen now shows which reminder emails they still receive
   and which they have unsubscribed from — previously recorded but never shown, 
   so a switched-off invoice reminder looked just like a client ignoring you. A 
   button copies their own preferences link.
 * Fix: The Unsubscribe link in reminder emails acted as soon as it was followed,
   so mail scanners and link previewers could unsubscribe a client who never clicked
   it. It now opens the preferences page instead. Gmail’s and Outlook’s own one-
   click button is unaffected.
 * Fix: Database updates were only being applied when the plugin was activated. 
   A WordPress auto-update or a manual file upload does not activate a plugin, so
   sites updated that way could be left running new code against an older database
   structure.
 * Improved: Privacy requests handled through Tools  Export/Erase Personal Data 
   now cover far more than before. Previously only client records and leads were
   included, which left a person’s booked calls, the name and IP address recorded
   when they signed a proposal, their project messages and their comments on approval
   requests untouched by an export or erasure request. All of these are now covered,
   along with unsubscribe records — which an export reports and an erasure keeps,
   since deleting one would restart those emails.
 * Improved: An erasure request now reports honestly about what was kept. Booked
   calls, project messages and approval comments are deleted outright. Invoices,
   payments and accepted proposals are kept but stripped of personal details — including
   anonymising the IP address recorded at signing — because accounting records have
   to be retained for tax purposes. The confirmation shown at the end of an erasure
   now says so, instead of reporting that nothing was retained when some records
   were.
 * Fix: The booking confirmation and reminder emails now state which timezone the
   time is in. Call times are shown to your visitor in their own timezone when they
   book, but the emails are written in your business’s timezone — so someone booking
   from another country could be told a different time to the one they picked, with
   nothing to explain the difference. The calendar invite attached to the email 
   was always correct.

#### 1.4.0

 * New: Client Detail — an Activity Timeline of proposals, invoices, and payments
   for that client, quick-create actions for a new Proposal, Invoice, or Recurring
   Invoice already prefilled with the client, Lifetime Value and Outstanding Balance
   stats, and Client Tags with a Manage Tags screen for filtering your client list.
   Available on all plans.
 * New: Duplicate client protection — creating a client with an email or phone number
   that matches an existing client now warns you before a duplicate record is created.
   Available on all plans.
 * New: Export a client’s full transaction history to CSV. Available on all plans.
 * New: Invoice Overdue Automated Reminders — automatically follow up on invoices
   that have passed their due date, alongside the existing Automated Reminders for
   proposals. Automated Reminders are available on all plans.
 * Fix: Invoices that passed their due date were never actually marked overdue in
   the background, so the overdue badge shown in the admin table and client portal
   could go stale until the invoice was next opened. Overdue status is now refreshed
   automatically every day.
 * Improved: Outstanding Balance and Lifetime Value on Client Detail now show each
   currency separately for clients billed in more than one currency, instead of 
   incorrectly adding different currencies together into one number.
 * New: Analytics Reporting Currency — choose which currency Analytics converts 
   figures into, in Settings. The Revenue KPI and revenue chart now correctly convert
   proposals, invoices, and payments made in other currencies using daily exchange
   rates, instead of adding every currency together as if it were one. (Pro & Agency)
 * Fix: Proposal currency is now validated to the same supported currencies as Invoices
   and Recurring Invoices, preventing an unrecognised currency code from being saved.
 * New: Payment Plans — split a proposal’s total into equal instalments billed on
   a schedule (e.g. 3 monthly payments), as an alternative to a single payment, 
   a deposit, or open-ended recurring billing. Choose “Payment Plan” as the billing
   type when creating a proposal, set how many payments and how often, and the rest—
   invoicing, emails, and (optionally) auto-charging the client’s saved card — happens
   automatically. Available on all plans.
 * Fix: Plan changes (upgrade, downgrade, and cancellation) now sync correctly in
   both directions — previously a downgrade or cancellation wasn’t always reflected
   locally, which could leave an account with more access than its current plan 
   allows.
 * Fix: Tightened access control on account setup and the internal usage-report 
   endpoint so both are restricted to the site administrator, not any invited team
   member.
 * Fix: Analytics revenue could be double-counted for proposals paid via a deposit
   followed by a final invoice — the Revenue KPI, chart, and CSV export now count
   each payment once.
 * Fix: A payment completed just after its invoice was cancelled, or just after 
   its proposal was declined, is no longer silently applied as if nothing had changed—
   the underlying charge is preserved for reconciliation instead.
 * Fix: The client portal’s one-time login link could, in rare cases, be used more
   than once if opened twice in quick succession.
 * Fix: A cancelled call-booking slot could become permanently unbookable instead
   of reopening.
 * Improved: Several admin screens (Proposals, Invoices, Recurring Invoices, Leads)
   no longer show an empty page after deleting the last item on it.
 * Improved: Client phone numbers are no longer truncated when longer than 20 characters.
 * Improved: Recurring invoices can no longer be saved with an incomplete “Ends”
   condition, which previously could result in a billing schedule that never stopped.
 * Fix: Various background jobs (reminders, calendar sync) are now more resilient
   to being triggered more than once in overlapping runs.
 * Improved: The Team screen’s member table now matches the styling used across 
   the rest of the admin (header background, cell spacing, row hover, and horizontal
   scrolling on narrow screens) instead of using its own inconsistent layout.

#### 1.3.2

 * New: Import Clients from CSV — upload a client list exported from Moxie, HoneyBook,
   Dubsado, or any other tool, map the columns yourself (including split First/Last
   Name columns), preview the results, and bulk-create client records. Available
   on all plans.
 * New: Export Clients to CSV — download your client list to bring into Mailchimp,
   Campaign Monitor, or any other tool. Available on all plans.
 * Fix: A daily background sync could report a blank account email to the AI relay
   service in certain non-interactive contexts, leaving some entries in the relay’s
   admin view unlabelled. Corrected to always read the actual connected licence 
   account.
 * Improved: Agency plan team seats increased from 5 to 10.
 * New: Proposal deposits now automatically generate a matching, already-paid Invoice
   record for accurate bookkeeping and CSV export, without changing how the client
   pays. When a proposal or project is marked complete, the remaining balance is
   now billed as a real payable invoice instead of a link that could point nowhere—
   fixing a case where the “project complete” email could send clients to an empty
   invoices page. (Pro & Agency)
 * New: Export Invoices to CSV — download your invoice list, including client, amount,
   status, and dates, to bring into Xero, QuickBooks, or any other accounting tool.
   Available on all plans.
 * New: Purchase Order (PO) numbers — add a client’s PO number to a proposal any
   time after it’s sent (most clients don’t have one ready until later), and it’s
   automatically applied to every invoice generated from that proposal, including
   ones already sent. Invoices can also be given a PO number directly, with suggestions
   drawn from that client’s recent PO numbers so you’re not retyping the same one.
   Available on all plans.
 * Fix: Popups (Import Clients, and the invoice/proposal quick-edit modals) could
   render clipped or fail to cover the full admin page in some layouts.

#### Earlier versions

Release notes for 1.3.1 and earlier are available in the plugin’s development history.

## Meta

 *  Version **1.4.1**
 *  Last updated **12 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/clientoctopus/)
 * Tags
 * [booking](https://gax.wordpress.org/plugins/tags/booking/)[client portal](https://gax.wordpress.org/plugins/tags/client-portal/)
   [crm](https://gax.wordpress.org/plugins/tags/crm/)[invoices](https://gax.wordpress.org/plugins/tags/invoices/)
   [proposals](https://gax.wordpress.org/plugins/tags/proposals/)
 *  [Advanced View](https://gax.wordpress.org/plugins/clientoctopus/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/clientoctopus/reviews/)

## Contributors

 *   [ codievolt ](https://profiles.wordpress.org/codievolt/)
 *   [ Freemius ](https://profiles.wordpress.org/freemius/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/clientoctopus/)