UA Legal Pack — terms, cookie banner and checkout consent for WooCommerce
Чотири українські юридичні документи з однієї анкети, cookie-банер, який реально блокує лічильники до згоди, і згода в чекауті з доказовим записом на замовленні.
What each licence includes
| Feature | Free | Pro |
|---|---|---|
| Four documents: public offer, returns terms, privacy policy, delivery and payment | ✔ | ✔ |
| Seller questionnaire: legal form, name, EDRPOU/RNOKPP, address, contacts, signatory, bank details, VAT | ✔ | ✔ |
| Pages are created as ordinary WordPress pages and stay editable | ✔ | ✔ |
| Document versioning: any edit bumps the version and archives the previous revision | ✔ | ✔ |
| Cookie banner: three categories, "Accept all" / "Reject" / "Customise", bar or block, your own colours and text | ✔ | ✔ |
| Real script blocking: GA4, GTM, Meta Pixel, TikTok, Hotjar, Clarity, Matomo don't run before consent | ✔ | ✔ |
| Consent checkbox in both classic and block checkout (Store API), "mandatory" mode can be switched off | ✔ | ✔ |
| An evidentiary record on the order: who, when, from which IP, and with which revision of each document | ✔ | ✔ |
| Consent log with filters and search, unlimited rows and CSV export in Pro | ✔ | ✔ |
| 18+ age confirmation in the classic and block checkout, for the whole catalogue or categories; an age gate on pages | — | ✔ |
| Revision archive: open the exact text the buyer agreed to | — | ✔ |
UA Legal Pack for WooCommerce is the legal minimum for a Ukrainian online store, from a single questionnaire: four documents, a cookie banner that genuinely blocks trackers, and checkout consent with an evidentiary record. No third-party services, no external requests at all.

An important caveat. The plugin generates drafts of documents with your company’s details inserted. This is not legal advice and not a guarantee of compliance: before publishing, have the text checked by a lawyer and fill in the gaps highlighted in yellow — they’re deliberately visible so an unfinished document never looks finished.
Documents
A public offer (public contract), returns and exchange terms, a privacy and personal data processing policy, and delivery and payment terms. The texts are written in Ukrainian, based on the laws “On Consumer Rights Protection”, “On Electronic Commerce”, “On Personal Data Protection” and the Civil Code’s articles on public contracts. Pages are created as ordinary WordPress pages and stay fully editable; “overwrite existing text” is off by default. Any change — from the generator or by hand in the editor — bumps the document’s version and archives the previous revision.
A cookie banner that actually blocks
Three categories (necessary / analytics / marketing), “Accept all”, “Reject” and “Customise” buttons, a bar or block layout, four positions, your own colours and text in Ukrainian and English. The key part: GA4, GTM, Meta Pixel, TikTok, Hotjar, Clarity, Matomo and others are rewritten to type="text/plain" and don’t execute until the visitor gives consent; after consent they start without a page reload.


Checkout consent with proof
A checkbox in both classic and block checkout (Store API) with links to the generated documents; “mandatory” mode can be switched off — the checkout then behaves as if the plugin weren’t there. An evidentiary record stays on the order: who consented, when, from which IP, with which revision of each document, and under which entry number.
18+ age confirmation
For alcohol, tobacco, vapes, chemicals and other goods sold only to adults. When the cart holds such a product, the classic and block checkout show a required “I confirm that I am 18 or older” checkbox, and the order can’t be placed without it. Restrict the whole catalogue or chosen categories with their subcategories, with your own minimum age and wording. The confirmation, its text and time are saved on the order.

In Pro, before an 18+ product or category page the shopper sees “Are you 18 or older?”. The answer is remembered for 30 days, “No” can lead to another page, and the page text stays in the HTML, so search engines index the shop as before.

What’s free and what’s Pro
A fresh install is just the free version: generating all four documents, versioning and archiving revisions, a cookie banner with real script blocking, consent in both classic and block checkout, an evidentiary record on the order, a consent log with filters (the last 100 entries), and an 18+ age confirmation in the checkout. Nothing Pro switches itself on, and nothing goes dark after a week.
The evidentiary layer stays free forever. When Pro is switched off, no log entry is deleted — the log is evidence, and locking it away would make the pack useless exactly when it’s needed. What goes dark is only the display of entries older than a hundred, CSV export, and opening archived revisions.


The trial only starts on your click
The “Try Pro for 7 days” button only asks for an e-mail and issues a genuine 7-day key — the same path as a purchased licence, just with an expiry date a week out. No card is needed, nothing is charged, and the trial never starts on its own.

The key is verified at catcode.com.ua on activation and again once a day. If our server is unreachable, Pro keeps working for another 14 days — an outage on our side shouldn’t shut down your store. The licence runs for a year (1–5 years) and includes updates and support for that period.
Technical requirements
WordPress 6.2+, WooCommerce 6.0+, PHP 7.4+. HPOS (its own order tables) and block checkout (Store API) are supported. The admin interface is in Ukrainian and English; the documents are Ukrainian only, since consumer text in English carries no legal weight for a Ukrainian buyer.
Version history
1.2.0 — 18+ age confirmation in the classic and block checkout (the whole catalogue or categories with subcategories, saved on the order); in Pro, an age gate on 18+ product and category pages.
1.1.0 — new Free/Pro model: a fresh install no longer switches anything on by itself, the trial only starts on a click and issues a genuine 7-day key, Pro features stay visible with a badge and explanation, one unobtrusive notice instead of a banner. A licence server client with a daily check and a 14-day offline allowance.
1.0.0 — first release: four documents from the questionnaire, versioning and a revision archive, a cookie banner with script blocking, consent in both classic and block checkout, a consent log.
Frequently asked questions
Are these ready-to-publish documents?
They are drafts with your details inserted, not legal advice and not a guarantee of compliance. Before publishing, a lawyer should review the text, and gaps are deliberately highlighted in yellow so an unfinished document never looks finished.
Why are the documents only in Ukrainian?
Consumer text in English carries no legal weight for a Ukrainian buyer. The plugin's interface is bilingual, the documents aren't.
Does the cookie banner really block trackers?
Yes. Scripts are rewritten to type="text/plain" and don't execute until the visitor gives consent; after consent they start without a page reload. Custom domains are added as a comma-separated list.
What happens to my edits if I generate the documents again?
"Overwrite existing text" is off by default, so manual edits survive a repeat generation. Any change to the text bumps the version and archives the previous revision.
What happens to consent records after the trial ends?
Nothing. Document generation, the cookie banner and checkout consent keep working, and no consent record is ever deleted — the log is evidence.
Can I sell alcohol or vapes with an age check?
Yes. Enable "Age confirmation (18+)" and choose the whole catalogue or categories. When such a product is in the cart, the order can't be placed without the "I am 18 or older" checkbox, and the confirmation is saved on the order. The age gate on pages is in Pro.
Questions about the module?
Message us on Telegram — we reply within the working day. We will help with setup, compatibility and key activation.
No reviews yet. Be the first — right below.
Leave a review
Reviews are moderated before publication, which usually takes up to 24 hours.
No questions yet. Ask one — we answer within 24 hours.
Ask a question
We usually reply within 24 hours during working hours.
Buying the module
—