=== OrderReady – Collect Customer Files & Order Details After Checkout for WooCommerce ===
Contributors: jordennabbe
Tags: woocommerce, file upload, artwork, customer portal, print shop
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Requires Plugins: woocommerce
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Stop chasing customers for artwork and order details. Give every paid WooCommerce order a private checklist and review it before production.

== Description ==

**Stop chasing customers for artwork and order details after checkout.**

A paid order can still be missing the logo, the personalization text or the instructions you need to make it. OrderReady turns every paid WooCommerce order into a simple customer checklist: collect artwork, text, choices and production instructions after payment, review each item individually, request corrections and know exactly when an order is ready for production.

Built for print shops, personalized products, engraving, signage, embroidery and other made-to-order WooCommerce stores.

See the whole flow in 90 seconds:

https://www.youtube.com/watch?v=-gRo61n8jO0

**How it works**

1. Set per product which files, texts, choices and confirmations you need after payment.
2. When an order is paid, the customer receives a private link to their checklist. No account needed.
3. The customer uploads files and fills in details, in stages if they want, and sends them for review.
4. You approve each item or explain exactly what needs to change. Approved items stay locked.
5. When everything is approved, the order shows as ready for production.

**Included in this free plugin**

* Configure up to 20 requirements per product: file, short text, instructions, selection and confirmation.
* Unlimited products and orders; no trial period or artificial order quota.
* Requirements are captured per order line. All units on that line share the same checklist. Variations inherit the parent product's requirements.
* Invite the customer after a paid order enters Processing. Customers do not need an account.
* Customers can save a draft and submit their details in stages.
* Review each supplied requirement, approve it or explain what needs to change.
* Preserve approved details when another requirement needs correction.
* Send manual reminders listing only missing or rejected requirements.
* See collection status alongside WooCommerce orders.
* Encrypt uploaded files on your hosting and serve downloads through authorized requests.
* Validate real file type, file size and optional minimum pixel dimensions.
* Replace private links, export personal data through WordPress and erase collected data.
* Automatically remove collected data after the configured closed-order retention period.
* English and Dutch interface and customer messages.
* Support WooCommerce HPOS and Cart/Checkout Blocks through server-side paid-order hooks.

**OrderReady Pro** is a separate paid add-on. It adds automatic selective reminders, production queue filters, production ZIP packages, CSV export, starter checklists and an optional AI message-writing assistant. None of the features included in this free plugin requires payment.

**What it does not do**

OrderReady does not perform print preflight, virus scanning, vector conversion, automatic artwork approval, parcel fulfilment or legal compliance certification. Minimum image dimensions are a pixel check, not a guarantee of print quality. Email acceptance by WordPress is not proof of inbox delivery.

**Storage and privacy**

Files remain on your WordPress hosting, encrypted using AES-256-GCM. Downloads require an authenticated shop manager or a valid private customer link. Private pages use no third-party scripts and send no-referrer and noindex headers. Back up the WordPress database and the orderready-private uploads folder together: the database stores the encryption key.

This free plugin makes no external service requests. Transactional mail is sent through your site's existing WordPress mail configuration. WordPress or other installed plugins may use their own services. AI and commerce functionality are not included in this free package.

== Installation ==

1. Install and activate WooCommerce, then install this ZIP under Plugins → Add New → Upload Plugin.
2. Open WooCommerce → OrderReady → Settings & health. Check file limits, retention and staff email.
3. Edit a product and open Product data → OrderReady. Add the requirements you need after payment.
4. Place a test order. Move it through your normal payment process to Processing.
5. Open the private link in the customer email, submit details and review them in WooCommerce → OrderReady.

Use HTTPS on production sites. PHP 8.1+, OpenSSL, Fileinfo and a writable uploads directory are required. Pro production ZIPs also require PHP ZIP. Configure a real server cron and reliable transactional mail for timely automatic reminders.

== Frequently Asked Questions ==

= Does the customer need an account? =
No. A signed private link grants access to one order. Treat it like a password. A shop manager can replace it, invalidating previous links. Logged-in customers can also open the current link from their order page.

= Does this block checkout? =
No. It collects information after payment while the order has Processing status. Pending-payment and On hold orders are not invited until payment is confirmed. Completed, Cancelled, Failed and Refunded orders are closed for changes. Custom order statuses are not supported in version 1.0.

= Can customers submit only part of the checklist? =
Yes. They can save drafts and submit supplied requirements for review while the rest remain outstanding. Submitted and approved requirements are read-only; the shop can request a change to reopen them.

= Which file types are supported? =
JPG, JPEG, PNG, WebP and PDF. You can restrict these further per requirement. SVG, EPS, AI, ZIP and executable files are not accepted. One current file per requirement is retained. Replacing it removes the previous stored file.

= What happens when I edit product requirements? =
Existing orders retain their original checklist. Changes apply to future orders. Requirements apply per order line rather than separately to each unit in that line.

= Does Ready for production change the WooCommerce order status? =
No. It is a separate collection status. You remain in control of fulfilment and the WooCommerce order status.

= Are emails guaranteed to arrive? =
No. OrderReady records whether WordPress accepted the message. Your mail provider, DNS and recipient mail system determine delivery. The settings page and activity log help diagnose failures.

= What are the limits? =
Up to 20 requirements per product, 5,000 characters per text answer, a configurable 1–20 MB file cap and 10–200 MB current-file storage cap per order. Your hosting may impose lower upload/request/memory limits. Start with the defaults of 10 MB per file and 100 MB per order. There is no imposed number-of-orders quota.

= What happens on deactivation or uninstall? =
Scheduled tasks stop and collected data is retained. Use OrderReady's order erasure or WordPress privacy tools before uninstalling if you want to remove that data. Keep the encryption key in your database backup.

= Is multisite supported? =
Network activation is not supported in this release. Install and configure separately on ordinary single-site WordPress installations.

== Screenshots ==

1. A private customer checklist with file uploads and clear progress.
2. Review supplied details and request changes to individual requirements.
3. Configure product requirements in WooCommerce.
4. A customer checklist on a phone.

== Changelog ==

= 1.0.1 =
* Add an optional link to the separate OrderReady Pro add-on and the support address on the settings page. No functional changes.

= 1.0.0 =
* Initial release: private post-payment collection, per-requirement reviews, encrypted files, manual reminders and privacy tools.
