Axonaut Connector for WooCommerce — Documentation
Install, connect and configure the Axonaut Connector for WooCommerce: invoices or quotations, companies and contacts, credit notes, historical import.
The Axonaut Connector for WooCommerce links your WooCommerce store to the French ERP/CRM Axonaut. It automatically pushes your orders to Axonaut as invoices or quotations, creates the matching companies and contacts, generates credit notes on refunds, and lets you import your history. All processing runs in the background via Action Scheduler, with no impact on checkout, and stays idempotent: an order is never synchronized twice.
Requirements
- WordPress 6.0 or higher
- WooCommerce 7.0 or higher
- PHP 7.4 or higher
- An active Axonaut account and its API key
The plugin requires no Composer dependency on your server and is compatible with High-Performance Order Storage (HPOS) as well as legacy storage.
Installation
- In the WordPress admin, go to Plugins > Add New > Upload Plugin.
- Select the plugin ZIP file, then click Install Now.
- Activate the plugin.
- A new WooCommerce > Axonaut menu appears in the admin.
Connecting to Axonaut
Go to WooCommerce > Axonaut, Settings tab.
Get your API key
In your Axonaut account, open the Settings then Developers section. Copy your personal API key.
Enter and test the key
Paste the key into the Axonaut API key field, then click Test connection. A green message confirms the connection is established; a red message indicates an invalid key or a network issue.
The key is stored securely and is never shown in clear once saved. The connection test uses the key typed in the field, even before saving.
Configuration
Document type
Choose the document created in Axonaut from an order: Invoice or Quotation. This choice applies to all synchronized orders.
Trigger statuses
Check the order statuses that trigger the push to Axonaut (for example Completed). As soon as an order reaches one of these statuses, it is queued for synchronization. Each order is sent only once, even if it changes status several times.
Contacts
Enable this option so the buyer is created as a contact (employee) attached to the company in Axonaut. The company itself is always created: Axonaut requires it to attach invoices and quotations.
Refunds
Enable this option so a WooCommerce refund automatically generates a credit note in Axonaut. This applies only to orders already synchronized as invoices.
Payment date
When enabled, the payment date is forwarded to Axonaut for orders that are already paid.
Products
Optional: synchronizes your WooCommerce products to the Axonaut catalog on create or update.
Maintenance
Set the log retention period (in days) and enable debug mode to log full API responses for diagnostics.
Order synchronization
When an order reaches a trigger status, the connector:
- resolves or creates the matching Axonaut company;
- builds the document line by line, with the VAT rate computed for each line;
- adds shipping and any fees as dedicated lines;
- forwards the payment date if the order is already paid;
- creates the invoice or quotation in Axonaut and stores its ID on the order.
Processing is asynchronous (Action Scheduler): it does not lengthen checkout time. On a transient API error (429 or 5xx), the push is automatically retried with an increasing delay, up to five times.
Companies, contacts and EU VAT
The Axonaut company is created from the billing data. The connector automatically distinguishes business customers (company field filled in) from individuals, and maps the EU VAT number detected from the main EU VAT plugins.
Deduplication
Before any API call, the connector looks for an already-resolved company: first on the order itself, then on the customer account (if any), then on a previous order with the same billing email. Repeat buyers, even at guest checkout, are recognized without creating a duplicate.
Credit notes and refunds
A WooCommerce refund, full or partial, on an order already synchronized as an invoice, automatically generates a credit note in Axonaut, linked to the original invoice.
- Line-item refunds are mapped line by line, with VAT recomputed.
- Amount-only refunds produce a single global credit note line.
- Refunded shipping is added as a dedicated line.
Each credit note is idempotent: the same refund never generates two credit notes.
Historical import
The Import tab lets you push your existing orders to Axonaut.
- Choose a date range (optional) and the order statuses to include.
- Click Start import.
- Orders are scanned in batches in the background via Action Scheduler; already-synchronized orders are automatically skipped.
Track progress in the Logs tab.
Bulk action on the orders list
From the orders list (HPOS screen or legacy screen), select one or more orders, then choose the Sync to Axonaut bulk action. A message shows how many orders were queued and how many were skipped as already synchronized.
Meta box and manual resync
On an order’s edit screen, the Axonaut box shows the sync status: type and number of the created document, linked company and date. If the order is not synchronized yet, a Sync now button allows an immediate push, showing the last error if any.
Activity log and debug mode
The Logs tab shows the latest operations (company, invoice and credit note creations, errors), with a direct link to the related order. The retention period is configurable. Debug mode adds the full API response details to the log, useful to diagnose an issue.
Product synchronization (optional)
When the option is enabled, every WooCommerce product create or update is mirrored to the Axonaut catalog (name, SKU, price excluding tax, VAT rate). The mapping is stored to update the right Axonaut product on subsequent changes.
HPOS compatibility
The plugin declares compatibility with High-Performance Order Storage. All sync metadata is saved through the WooCommerce order API, which guarantees identical behavior with legacy storage and with HPOS.
Developer hooks
The connector exposes several extension points to adapt the data sent to Axonaut:
df_axonaut_company_payload— filters the company data before creation.df_axonaut_employee_payload— filters the contact data before creation.df_axonaut_document_payload— filters the invoice or quotation data.df_axonaut_credit_note_payload— filters the credit note data.df_axonaut_product_payload— filters the synchronized product data.df_axonaut_vat_meta_keys— customizes the meta keys where the VAT number is looked up.df_axonaut_order_synced— action fired after an order is successfully synchronized.df_axonaut_refund_synced— action fired after a credit note is created.
Troubleshooting
The connection test fails
Check that the API key is correct and active in your Axonaut account, and that your server can reach the Axonaut API over outbound HTTPS.
An order is not synchronized
Make sure its status is among the trigger statuses and that it has not already been synchronized. Check the log and the order’s Axonaut box for the last error. Also verify that the Action Scheduler queue is running (WooCommerce > Status > Scheduled Actions).
A credit note was not created
Credit notes are only generated for orders already synchronized as an invoice (not a quotation) and when the refunds option is enabled.
Do not manually edit the Axonaut document ID stored on an order: it is what guarantees an order is never sent twice.