ml-connector
Microsoft Dynamics GPWooCommerce

Microsoft Dynamics GP and WooCommerce integration

WooCommerce runs your online store. Microsoft Dynamics GP runs your financials and inventory. Connecting the two keeps your sales ledger in sync with your e-commerce orders without re-keying. Each WooCommerce order becomes a receivables invoice in Microsoft Dynamics GP with the customer, items, and amounts aligned to your chart of accounts and inventory items. ml-connector bridges the very different authentication models (Windows domain account for GP, API keys for WooCommerce) and moves the order data on a schedule you control.

How Microsoft Dynamics GP works

WooCommerce exposes orders, refunds, customers, products, and coupons through REST API over HTTPS at https://<customer-domain>/wp-json/wc/v3/, authenticated with an API Key pair (Consumer Key and Consumer Secret) via HTTP Basic Auth. WooCommerce can push order, customer, and product events via webhooks to a registered endpoint, with HMAC-SHA256 signature verification. Each customer deployment is self-hosted on their own WordPress instance with no shared cloud service.

How WooCommerce works

Microsoft Dynamics GP runs on premises on Windows Server with a SQL Server backend and exposes vendors, customers, receivables invoices, GL accounts, purchase orders, and inventory items through REST Service Based Architecture (SBA) or SOAP Web Services. Authentication uses Windows Authentication (Negotiate or NTLM) tied to Active Directory, so a dedicated Windows domain account must exist in the customer's directory. GP does not support webhooks, so connectors poll the SBA or SOAP endpoint using modified date filters at customer-defined intervals. Write operations only succeed on unposted (Work) transactions; once posted they become read-only.

What moves between them

Orders and customers flow from WooCommerce into Microsoft Dynamics GP. Each WooCommerce order arrives as a receivables invoice with line items mapped to GP inventory items, the customer name and address mapped to the GP customer record, and the order total allocated to the correct GL accounts. Order status changes in WooCommerce are reflected as invoice status updates in GP. Product names, quantities, and prices sync bidirectionally so a price change in WooCommerce reflects in GP and vice versa. Refunds flow from WooCommerce as credit memos in the GP receivables module.

How ml-connector handles it

ml-connector stores the WooCommerce API key encrypted and presents it on every REST call. On the GP side it accepts the customer's Windows domain credentials and routes calls through either the SBA REST endpoint or SOAP Web Services, depending on what the customer has enabled. WooCommerce publishes order and customer events via webhooks when enabled, so ml-connector listens for those events and maps them immediately; if webhooks are not available, it polls WooCommerce on a schedule. Each order is checked for a duplicate document number in GP before posting, since GP has no built-in deduplication. Customer records are created or updated first so the invoice references a valid customer. Product line items are mapped to existing GP inventory items by SKU; items not found are flagged in the audit trail for manual review. The Windows domain account must have GP user credentials with receivables and inventory roles. GL account mapping is configured per customer so order revenue lands on the correct chart-of-accounts line. Every order carry a full audit trail and can be replayed if a downstream GP call fails.

A real-world example

A small retail business sells clothing and home goods via WooCommerce on their own WordPress site and manages inventory and receivables in Microsoft Dynamics GP running on a server in their office. Before the integration, the accounting team entered each day's WooCommerce orders by hand into GP as receivables invoices, matching customers and products, a process that took 1-2 hours daily and was error-prone. With WooCommerce and GP connected, new orders flow into GP automatically as invoices with customers and items already populated from the e-commerce system. Refunds appear as credit memos without re-entry. The receivables aging report now reflects actual sales the same day they occur, and month-end close no longer requires a full reconciliation of the e-commerce order log to the ledger.

What you can do

  • Sync WooCommerce orders into Microsoft Dynamics GP as receivables invoices with customer and line-item detail.
  • Map WooCommerce customer records into GP customer master files with billing and shipping addresses.
  • Detect order refunds and post them as credit memos in the GP receivables module.
  • Authenticate WooCommerce via API keys and Microsoft Dynamics GP via Windows domain account without storing plaintext credentials.
  • Listen for WooCommerce webhooks when available, or poll on a schedule, with duplicate detection and a full audit trail on every transaction.

Questions

How does ml-connector handle the Windows Authentication requirement for Microsoft Dynamics GP?
ml-connector stores the Windows domain account credentials encrypted and presents them on every REST or SOAP call to GP using Negotiate or NTLM authentication. The customer must create a dedicated domain account with GP user credentials that have receivables and inventory roles. No Active Directory integration is required from WooCommerce; the bridge happens entirely in ml-connector.
What happens if a WooCommerce order contains a product that doesn't exist in Microsoft Dynamics GP?
ml-connector maps WooCommerce product SKUs to GP inventory items by exact match. If a product is not found in GP, the order is flagged in the audit trail with the missing item details and held from posting until the product is added to GP or the mapping is corrected. The order can then be replayed to complete the posting.
Does WooCommerce's webhook model work with Microsoft Dynamics GP's poll-only API?
Yes. WooCommerce publishes events via webhooks, which ml-connector receives and processes immediately. On the GP side, ml-connector then polls the SBA or SOAP endpoint to verify the record was created or confirm the invoice status. If webhooks are not available in WooCommerce, ml-connector falls back to polling both systems on a schedule tied to your business hours or order volume.

Related integrations

Connect Microsoft Dynamics GP and WooCommerce

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started