Documentation Coverage
As of WP Sell Services 1.7.0 and WP Sell Services Pro 1.7.0. Last full source-to-docs resync: 2026-08-26, when all 107 pages were checked against the code rather than against each other.
1.8.0 update (2026-10-07): the pages affected by the 1.8.0 fixes were updated against the code, and two pages were added (Member Reports, What’s New in 1.8.0), for 111 pages. This was a targeted update, not a second full resync.
This page exists so you never have to guess whether something is missing or you just cannot find it. It states what is documented, and – more usefully – what is not.
Both plugins’ documentation lives in one place, the free plugin’s
docs/website/ tree, in the GitHub repository. Pro features are marked
[PRO] inline rather than split into a second manual, because almost every
Pro feature is an extension of a free one and splitting them meant a reader had
to hold two documents open. The Pro plugin’s own docs folder is retired and
publishes nothing.
What is documented
Section titled “What is documented”Every page below exists, is listed in docs_config.json, and is checked on each
run of bin/docs-audit.py.
| Area | Covered |
|---|---|
| Getting started | Introduction, installation and requirements, quick setup, free vs Pro comparison, Pro overview, dashboard tour, license activation [PRO], launch checklist, What’s New |
| Buying | Browsing and purchasing, choosing a package, order tracking, buyer dashboard, favorites, buyer FAQ, buyer tips |
| Selling | Service wizard, pricing and packages, add-ons, media, requirements and FAQs, editing and pausing, publishing and moderation |
| Buyer requests | Posting a request, submitting proposals, managing requests, fixed vs milestone proposal contracts |
| Orders | The 11-status lifecycle, requirements collection, messaging, deliveries and revisions, milestone contracts, paid extensions, tipping, recurring services, order settings |
| Payments and checkout | Standalone mode, Stripe, WooCommerce (including the pay-order handoff) [PRO], alternative platforms (EDD / FluentCart) [PRO], other gateways, Stripe Connect [PRO], currency and tax, display currency |
| Earnings and payouts | Wallet, earnings dashboard, commission system, tiered commission [PRO], withdrawals, vendor payouts, automated payouts [PRO], the ledger and CSV export |
| Vendors | Becoming a vendor, vendor dashboard, profile and portfolio, seller levels, vacation mode, vendor settings, vendor subscription plans [PRO] |
| Reviews | Review system, reputation and moderation |
| Disputes | Opening a dispute, the dispute process, admin mediation |
| Notifications | Email configuration, email types, in-app notifications, realtime (WebSocket) updates |
| Display and SEO | Shortcodes, Gutenberg blocks, search and filters, template overrides, JSON-LD schema |
| Analytics | Vendor analytics, admin analytics [PRO], data export [PRO] |
| Cloud storage [PRO] | Overview and setup (S3, Google Cloud Storage, DigitalOcean Spaces) |
| Admin tools | Service moderation, vendor management, withdrawal approvals, manual orders, member reports, the guided tour |
| Platform settings | General, Pages, Payment Gateways, Commission & Tax, Payouts, White Label [PRO], Advanced |
| Developer guide | REST API overview, REST controller reference, hooks and filters, capabilities, database schema, template and theme integration, email customization, Action Scheduler, WP-CLI, Abilities API, Pro extension points, custom integrations |
Recently closed gaps
Section titled “Recently closed gaps”| Was missing | Now at |
|---|---|
| The three money settings tabs created by the July 2026 regroup | Payment Gateways, Commission & Tax, Payouts |
| The WooCommerce pay-order handoff | WooCommerce Checkout |
wpss_pay_order_url_lookup + wpss_ensure_pay_order, the payment-handoff seam |
Hooks and Filters |
| Milestone failure paths, the 48-hour abandon sweep, and where lock-step is not enforced | Milestone Contracts |
| Six live REST routes, the two-namespace split, and the real error codes | REST Controllers, REST Overview |
What is NOT documented
Section titled “What is NOT documented”Stated plainly, because a gap you know about costs less than one you discover.
Deliberately not documented
Section titled “Deliberately not documented”| Not covered | Why |
|---|---|
| Recurring billing end to end | The feature sits behind a default-off flag and is deferred. Recurring Services describes what exists; it does not walk a full subscription lifecycle, because that lifecycle is not finished. Do not plan a launch around it. |
| Per-jurisdiction tax | The plugin has one tax rate, full stop. There is no VAT MOSS, no per-country table, no digital-services handling, so there is nothing to document. Run checkout on WooCommerce and use its tax tables if you need this. |
| Third-party gateway configuration | We document what to paste where, not how to obtain a Stripe restricted key or a PayPal live app. Those belong to the gateway and change on their schedule, not ours. |
What the 2026-08-26 resync changed
Section titled “What the 2026-08-26 resync changed”All 107 pages were read against the code. Roughly three quarters carried at least one claim the source contradicted. The corrections that matter most to a site owner:
- Refunds settle automatically. Two dispute pages told admins to refund again in their payment gateway, which pays the buyer twice.
- The plugin does not add marketplace data to the WordPress privacy tools – it does now, but the docs had claimed it for some time before it was true.
- Uploaded order files are not private. The claim is gone; the honest limit is stated.
- Menu Visibility instructions were inverted – a ticked box means visible.
- Cloud storage is not connected to deliveries, despite four pages describing an automatic transfer.
- Four Pro features that do not ship were being advertised.
Known gaps, not yet written
Section titled “Known gaps, not yet written”| Not covered | Status |
|---|---|
| What’s New pages for 1.4.0 and 1.5.x | 1.3.0 and 1.6.0 have narrative pages. The releases between them are covered by both plugins’ readme.txt changelogs and by the pages they affect, but have no single narrative page. |
| A dedicated Audit Log page | Sell Services > Audit Log is mentioned where it is relevant, and GET /audit-log is in the REST reference, but there is no page explaining what is recorded, retention, or how to read an entry. |
| The Vendors, Orders & Disputes, and Emails settings tabs | These are documented by feature, not by tab: see Vendor Settings, Order Settings and Email Configuration. The Platform Settings section does not yet have a page per tab for these three, so a reader looking tab-by-tab will not find them where they expect. |
| Migration between e-commerce rails | Switching rails is safe (past orders are never rewritten, old gateway webhooks keep working) and that is stated in the REST and WooCommerce pages, but there is no step-by-step migration guide. |
| Scale and performance guidance | No page on running the marketplace at thousands of services, vendors or orders: no indexing notes, no caching guidance, no benchmark figures. |
| Multisite | Neither documented nor claimed. Assume it is unsupported until it is tested. |
Known product gaps that ARE documented
Section titled “Known product gaps that ARE documented”These are limitations of the software, not of the writing. They are called out where a reader will hit them:
- Milestone, tip and extension payments work on Standalone, WooCommerce and FluentCart only. EDD has no pay-order flow, so no Pay button is offered there at all. See Pay-order support by rail for the one table that says which rail can do what.
- Lock-step milestone payment is a workflow rail, not a security control. It is enforced on the standalone checkout and the REST pay endpoints, but not on the WooCommerce or FluentCart pay URLs. See Milestone Contracts.
- Tips, milestone phases and paid extensions are not escrowed. They credit the vendor at payment, not at delivery. See Money Flow.
- Stripe Connect bypasses the clearance window by paying at charge time. See Payouts Settings.
How this stays true
Section titled “How this stays true”bin/docs-audit.py runs as a gate and fails the build on any of:
- a page on disk that is not published, or published but missing
- a broken image, a broken internal link, or a link that escapes the published tree
- a hook documented in a reference table but never fired in the source
- a
Settings > Xtab orSell Services > Xmenu path that does not exist, acrossdocs/website/,docs/architecture/,docs/qa/anddocs/decisions/ - a UI label the plugin does not render
It does not, and cannot, check whether prose is true. That is what code citations and the per-release resync pass are for. If you find a page that contradicts the plugin, that is a bug worth reporting – the last full source-to-docs resync was 2026-08-26, against 1.7.0 - every page checked against source, not against another page.

