NetHunt Sync — CRM for WooCommerce
Автоматична передача замовлень WooCommerce у NetHunt CRM: запис створюється одразу після checkout у папці з телефоном, товарами та сумою. Автостворення папки з полями, дедуплікація, повторні спроби, метабокс статусу й журнал синхронізації.
What each licence includes
| Feature | Free |
|---|---|
| Every WooCommerce order lands as a record in a NetHunt CRM folder | ✔ |
| Phone, email, total, item list and a link to the order are sent | ✔ |
| Supports both the classic checkout and Checkout Blocks | ✔ |
| Choice of trigger statuses | ✔ |
| Record deduplication: database-level lock against parallel sends | ✔ |
| Searches for a record by "Order ID" after a timeout — no second record in the CRM | ✔ |
| Retries when the CRM is unavailable | ✔ |
| Exchange log and metabox on the order | ✔ |
| HPOS compatible | ✔ |
| Free | ✔ |
NetHunt Sync for WooCommerce is a plugin that automatically sends every new WooCommerce order to NetHunt CRM. Right after checkout, a record appears in the NetHunt folder with the phone number, email, total, item list and a link to the order — the manager works with the request in the CRM instead of copying data from the shop admin by hand.
The plugin is completely free, and the code is open. Download it from GitHub: github.com/catcodestudio/wp-nethunt-sync. No licence keys, paid versions or limits on the number of orders.
What the admin gets



How it works, step by step
- The customer places an order — both the classic checkout and Checkout Blocks are supported.
- The plugin builds the record fields: name, phone (normalised to +380 format), email, total, items, address and payment method — and sends a POST
/api/v2/folders/{folderId}/recordsto NetHunt with an Authorization: Bearer header. - NetHunt returns a record ID — it is stored in the order meta as
_cc_nethunt_record_id, so duplicates are ruled out. - If NetHunt is temporarily unavailable — WP-Cron retries the send automatically: 3 attempts with 5 min / 30 min / 2 h delays.
- The manager sees the result in the order metabox and the sync log; orders paid online get a Paid checkbox and a “✅ Paid online” note in the comment.
How much it costs
Free. The plugin is distributed under a GPLv2 licence, with open code on GitHub. All features are available right after installation — there is no paid version.
Technical requirements
- WordPress 6.2+ (tested up to 7.0)
- WooCommerce 6.0 or newer
- PHP 7.4+
- NetHunt API token — created in the account: Settings → API & MCP → Create token
Under the hood
- NetHunt’s public REST API v2 with a Bearer token; the “Test connection” button does a GET /folders and instantly shows whether the token is valid.
- Auto-provisioned folder: if no folder is set, the plugin creates “WooCommerce Orders (domain)” with all the fields in one action. If you point it to your own folder — it only adds the missing fields (Phone, Email, Total, Products, Payment method, etc.) without touching existing ones.
- Protection against double-sending at the database level: checkout, a status change and a payment callback can hit the same order at once — a lock takes exactly one request, the rest are dropped, so no second record appears in the CRM.
- The “Order ID” field in the folder: if no response came back from NetHunt (timeout), the plugin searches for a record by this field before retrying and adopts an existing one instead of creating a second. The field is added automatically to folders created in 0.1.0.
- Clean removal: the log table and settings disappear along with the plugin; record IDs on orders are deliberately kept — they’re exactly what stops old orders being pushed into the CRM again on reinstall.
- API token encrypted in the database — libsodium with an HMAC fallback; the token is never stored in plain text.
- HPOS compatibility (custom order tables) — orders are handled only through WC_Order CRUD.
- Extension points for developers: the
cc_nethunt_order_payloadfilter (change the data before sending) and thecc_nethunt_order_senthook (react to a successful sync).
How to install
- Upload
catcode-order-sync-with-nethunt-for-woocommerce-0.2.0.zipvia Plugins → Add New → Upload Plugin. - Activate the plugin in the “Plugins” menu.
- Open WooCommerce → NetHunt Sync and paste the API token from your NetHunt account (Settings → API & MCP → Create token).
- Save the settings — the plugin creates the “WooCommerce Orders” folder with fields itself, or connects the one you specified.
- Click “Test connection” — a confirmation should appear.
- Place a test order and check that a record appeared in NetHunt.
Version history
- 0.2.0 — August 2026
- The “Resend” button finally works: the metabox was drawing its own form nested inside the order form, and the browser was discarding it. Protection against double-sending moved from a transient to a database lock — parallel requests no longer create two records. Added an “Order ID” field in the folder and a search by it after a timeout, so an unanswered attempt doesn’t turn into a second record. Deleting the plugin now also removes the log table. Admin styles are enqueued via wp_add_inline_style, the interface has moved to English with a Ukrainian translation in /languages. The plugin was renamed to “CatCode Order Sync with NetHunt for WooCommerce” (settings, meta and the table are unchanged — nothing needs migrating).
- 0.1.0 — July 2026
- First public release: sends orders to a NetHunt folder via REST API v2, auto-provisioned folder with fields, retries via WP-Cron, order metabox, sync log, connection test, token encryption.
Frequently asked questions
Do I need to manually create fields in NetHunt?
No. If the "Folder for orders" field is empty, the plugin creates a folder with all the fields itself. If you specify an existing folder's ID — it adds only the missing fields, leaving your existing ones untouched.
Do duplicates appear when the status changes again?
No. The plugin stores the NetHunt record ID in the order meta and checks it before creating one. Simultaneous events are handled by a database-level lock, and an attempt with no response is checked against the "Order ID" field in the folder before retrying — no second record is created.
Does the plugin touch the checkout or the theme?
No. The plugin only works with server-side order hooks — no changes to the theme, templates or checkout page. After removal, checkout stays exactly as it was.
What happens after the plugin is deleted?
Records in NetHunt and the orders in the shop remain. Deletion (not deactivation) removes the settings and the log table; record IDs on orders are deliberately kept — they guard against duplicates on reinstall.
What does the "Resend" button do?
If the order isn't in NetHunt yet — it creates a record (POST). If it was already sent — it updates it with current data via PATCH.
What happens if NetHunt is unavailable at the moment of the order?
The plugin retries automatically via WP-Cron: 3 attempts with 5 min / 30 min / 2 h delays. The status of each attempt is visible in the log.
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
—