Get in touch
CRM and integrations · WordPress

NetHunt Sync — CRM for WooCommerce

Автоматична передача замовлень WooCommerce у NetHunt CRM: запис створюється одразу після checkout у папці з телефоном, товарами та сумою. Автостворення папки з полями, дедуплікація, повторні спроби, метабокс статусу й журнал синхронізації.

Version
v0.2.0
Compatibility
WordPress 6.2+, WooCommerce 6.0+
Platform
WordPress
NetHunt Sync — CRM for WooCommerce

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

NetHunt Sync settings for WooCommerce — token, folder, trigger statuses
One settings page in WooCommerce: API token, the folder for orders, the send trigger — right after checkout or when moving to one of the chosen statuses. There’s also a “Test connection” button and a “Log” tab with the latest sync events.
NetHunt metabox on a WooCommerce order with sync status
On every order page — a NetHunt metabox: sync status, the CRM record ID and a “Resend” button (since 0.2.0 it works as a nonce-protected link — previously a form nested inside the order form stopped it from firing). For orders already sent, resending updates the existing record via PATCH rather than creating a duplicate.
WooCommerce Orders folder in NetHunt CRM with order records
This is what orders look like inside NetHunt: a “WooCommerce Orders” folder with records, each order carrying a phone number, email, total, item list and payment method. The plugin creates the folder with all the fields itself.

How it works, step by step

  1. The customer places an order — both the classic checkout and Checkout Blocks are supported.
  2. 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}/records to NetHunt with an Authorization: Bearer header.
  3. NetHunt returns a record ID — it is stored in the order meta as _cc_nethunt_record_id, so duplicates are ruled out.
  4. If NetHunt is temporarily unavailable — WP-Cron retries the send automatically: 3 attempts with 5 min / 30 min / 2 h delays.
  5. 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_payload filter (change the data before sending) and the cc_nethunt_order_sent hook (react to a successful sync).

How to install

  1. Upload catcode-order-sync-with-nethunt-for-woocommerce-0.2.0.zip via Plugins → Add New → Upload Plugin.
  2. Activate the plugin in the “Plugins” menu.
  3. Open WooCommerce → NetHunt Sync and paste the API token from your NetHunt account (Settings → API & MCP → Create token).
  4. Save the settings — the plugin creates the “WooCommerce Orders” folder with fields itself, or connects the one you specified.
  5. Click “Test connection” — a confirmation should appear.
  6. 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.

@catcode_support

Not quite what you are looking for?

We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about your task and we will prepare an estimate.

Order a custom module