
Document Generator from .docx for WooCommerce — delivery notes, acts and invoices from your own Word blank
Upload your own .docx blank with placeholders and every order gets a button for the finished document: delivery note, act, invoice, contract. No PHPWord and no external service. Pro adds own numbering, a bulk zip, the document in e-mails and any order meta field.
- Compatibility
- WordPress 6.2+ · WooCommerce 6.0+ (tested on WordPress 7.1 and WooCommerce 11.2) · PHP 7.4+ with the zip extension · HPOS and classic order storage · admin languages: Ukrainian, Russian, English
- Licence
- a site + a staging copy, annual
- Trial
- 7 days, no card, one per site
- Updated
- October 2026
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
Key points
What the buyer sees
In the base version the buyer sees nothing: the admin makes the documents. With Pro the buyer can get the .docx attached to the WooCommerce e-mail you choose, for example the processing order e-mail.
What the admin gets
The menu is under WooCommerce. Upload a blank and the placeholders the module found in the file appear next to it, so a typo shows up before the first document.
How much it costs
The base version costs 0 UAH, with no limit on time or documents: 2 templates, every placeholder except meta fields, amount in words, buttons on orders.

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — a site and a staging copy
Moving the site? Unlink the licence on the old domain and activate it on the new one yourself. A staging copy (staging., dev.) works with the same key and does not take a site slot. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
WordPress 6.2+, WooCommerce 6.0+, PHP 7.4+.
PHP zip extension: if it is missing, the module says so plainly.
Order storage: HPOS or classic, both tested.
Files: .docx only, .doc and .odt are not accepted.
Version history
Docx templates, placeholders for the order, customer, addresses and shop, the line-item row, amount in words, buttons on orders.
Frequently bought with Document Generator from .docx


Product bundles and gift with purchase for WooCommerce

One-Click Order — Quick Order for WooCommerce

Smart Product Filter for WooCommerce
Full module description
Document Generator from .docx for WooCommerce fills your own blank with the data of an order. Take the delivery note, act or invoice your accountant already uses, type placeholders such as {{order.number}} or {{customer.full_name}} into the text, upload the file, and every order gets a button. The result is still a Word file, so anything left can be finished by hand.
What the buyer sees
In the base version the buyer sees nothing: the admin makes the documents. With Pro the buyer can get the .docx attached to the WooCommerce e-mail you choose, for example the processing order e-mail.
What the admin gets
The menu is under WooCommerce. Upload a blank and the placeholders the module found in the file appear next to it, so a typo shows up before the first document. The same screen has a reference of all placeholder groups.
The order list gets a documents column with one button per template, and the order screen has the same block. Press it and the browser downloads the finished .docx.
A table row holding at least one line-item placeholder repeats for every product. The amount in words is built from the order total with the correct grammatical forms.
How it works, step by step
- In Word, LibreOffice or Google Docs type the placeholders into your blank and save it as .docx.
- Upload the file under WooCommerce and check the list of placeholders found.
- Press the template button on an order.
- The module fills a copy of the blank, repeats the line-item row and fills the headers and footers.
- The browser downloads the .docx and the temporary file is deleted from the server.
How much it costs
Pro costs 990 UAH (≈ €20) for a one-year licence. A year of updates, technical support and all Pro features: unlimited templates, numbering, a bulk zip, the document in e-mails, meta fields. You can try it free for 7 days, no card needed. After the trial the free version keeps working.
Under the hood
- No composer, no PHPWord, no external service: ZipArchive and the module’s own XML handling. Order data does not leave your server.
- A value takes the place of its placeholder with the same formatting, and the neighbouring text does not change.
- An issued number is stored in the order, so a reprint gives the same number.
- Templates sit in the uploads folder under random names. On Apache the folder is closed by .htaccess, on nginx that rule has no effect, so deny access to
uploads/ccdg-templatesin the server configuration. - The module makes no PDF and keeps no archive of finished documents.
Installation
- Plugins → Add New → Upload Plugin: choose the archive.
- Open the documents screen under WooCommerce and upload your blank.
- Check the column with the placeholders found in the file.
- Open an order and press the template button.
- For Pro: paste the key on the licence tab or start the 7-day trial.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Why was a placeholder not replaced?
Almost always a typo in the name. An unknown placeholder simply becomes empty, so check the "Placeholders in the file" column on the templates screen: it shows what the module read from the blank.
Where will a placeholder not work?
Inside a text box or a Word field (MERGEFIELD) it is no longer plain text. A placeholder spread over two paragraphs is not collected either. A table nested inside a cell of another table does not work for the line-item row.
Does the module make PDF?
No. Turning .docx into PDF on a server needs LibreOffice or a paid service. Word, LibreOffice and Google Docs export PDF themselves.
Can the same blank be used for OpenCart?
Not one to one. The placeholder sets differ: WooCommerce has order.status_name, order.payment_title, order.items_count, order.items_qty and meta.*, OpenCart has order.payment_method, order.invoice, total.CODE and item.model. Without an edit the blank will have empty spots.
A big batch does not download.
A batch is limited to 200 orders at a time, but on weak hosting it can hit the PHP time limit. Split the selection into smaller parts. Batches in the tests had 3 orders.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—
Charged in UAH; your bank converts it to your currency. EUR price is approximate.



















