BACK TO DIRECTORY

Sync for Dynamics 365 Business Central

by Niraj Gupta

0.0
(0 ratings)

Sync for Dynamics 365 Business Central provides seamless synchronization between your WooCommerce store and Dynamics 365 Business Central ERP system. This powerful plugin helps you manage your business operations efficiently by keeping your e-commerce and ERP data in perfect sync.

Key Features

  • OAuth 2.0 Authentication: Secure authentication using Microsoft Azure AD
  • API Integration: Connect to Dynamics 365 Business Central API
  • Comprehensive Logging: Detailed logs with status tracking
  • HPOS Compatible: Fully compatible with WooCommerce High-Performance Order Storage

Authentication

The plugin uses the OAuth 2.0 client credentials flow to authenticate with Dynamics 365 Business Central, following Microsoft’s documented service-to-service authentication approach.

OAuth2 Implementation:
– Implemented with the WordPress HTTP API; no third-party HTTP libraries are bundled
– Client credentials flow for server-to-server authentication
– Automatic token caching and refresh
– Token expiration handling with 5-minute safety buffer
– Secure token storage in WordPress options
– Automatic retry on 401 Unauthorized errors

Required Azure AD Configuration:
– Azure AD Tenant ID
– Azure AD Application (Client) ID
– Azure AD Application Client Secret
– Proper API permissions for Dynamics 365 Business Central

References:
– https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/automation-apis-using-s2s-authentication
– https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/

Requirements

  • WordPress 6.2+
  • WooCommerce 5.0+ (HPOS supported); tested up to WooCommerce 10.9.4
  • PHP 7.4+ (tested up to PHP 8.3)
  • Dynamics 365 Business Central instance with API access
  • Azure AD App Registration with appropriate permissions

HPOS Compatibility

This plugin is fully compatible with WooCommerce’s High-Performance Order Storage (HPOS) feature.

HPOS Support:
* ✅ Fully compatible with HPOS-enabled stores
* ✅ Works with traditional post-based order storage
* ✅ Automatic detection of HPOS status
* ✅ Seamless migration support
* ✅ No data loss during HPOS migration

Pricing

The plugin itself is free and open source. It comes with a free plan: 10 new
orders, 10 new products and 10 new customers can be sent to Business Central
each month, as open sales orders, with no account needed.

The paid plan from Techmarbles (USD 20 per month, billed by Stripe) removes the
monthly limits and adds posting orders in Business Central (invoice and
shipment), stock and price sync, item attributes, variants of every variable
product, order notes, and booking shipping and tax to a G/L account or item.
Upgrade, manage billing or cancel from WooCommerce > D365 Integration > Plans.

The subscription also covers the Techmarbles API-setup extension for Business
Central. You also need your own Microsoft
Dynamics 365 Business Central tenant, which is licensed separately by Microsoft
and is not included.

Details and sign-up: https://techmarbles.com/products/
Terms and conditions: https://techmarbles.com/terms-conditions/
Privacy policy: https://techmarbles.com/privacy-policy/

External services

This plugin connects your WooCommerce store to Microsoft Dynamics 365 Business Central so that
products, customers, orders and inventory can be kept in sync with your own Business Central
tenant. The plugin is not usable without such a tenant, which you provide, and an ERP7
subscription from Techmarbles (see the Pricing section above).

Nothing is transmitted until you enter your own Azure AD and Business Central credentials and
switch on the sync options you want. Each category below is sent only if you enable that sync.

Microsoft Azure AD (Microsoft Entra ID)

Used to obtain and refresh the OAuth 2.0 access token that authorises every request to Business
Central. The plugin sends your Azure AD tenant ID, client ID and client secret to
login.microsoftonline.com to request a token. This happens the first time the plugin contacts
Business Central, and again each time the token expires.

This service is provided by Microsoft: terms of use https://www.microsoft.com/licensing/terms/ ,
privacy policy https://privacy.microsoft.com/privacystatement .

Microsoft Dynamics 365 Business Central

Your store data is sent to api.businesscentral.dynamics.com so it can be created and updated in
your Business Central company. The plugin sends:

  • Products – item number, product name, price, stock quantity and unit of measure. Sent when a
    product is published, edited, ordered, or included in a bulk or automatic sync, depending on
    which triggers you enable.
  • Customers – name, email address, billing address (address lines, city, state, postal code,
    country), phone number and company. Sent when an order is synced or a customer account is
    created or updated. Shipping details are used as a fallback when billing details are absent.
  • Orders – order number, line items (item reference, quantity, unit price), shipping cost, tax
    totals, currency, payment terms and any order notes you choose to sync. Sent when an order
    reaches a status you have configured for syncing.
  • Inventory – stock quantities per product and per variation.

The plugin also reads product, price, inventory and sales order records back from Business
Central when the corresponding import options are enabled.

This service is provided by Microsoft: terms of use https://www.microsoft.com/licensing/terms/ ,
privacy policy https://privacy.microsoft.com/privacystatement .

Techmarbles subscription service

Used for the paid plan. Nothing is sent to it from a store that is not linked to a plan, except
when an administrator opens the Plans tab (to show the current plans and prices) or clicks a
button there.

  • When you click Upgrade: the store’s address, to start a Stripe checkout. After paying, the
    store links itself once, sending its address, the site admin email, the plugin version and a
    secret it generated (used to sign every later request).
  • While linked: every 12 hours, a request for what the plan includes; every 5 minutes, the
    plugin’s sync-log lines (with customer email addresses and phone numbers removed) and counts
    of its background jobs, so support can see problems; and, when an administrator opens the
    plugin’s screens, a request for the current announcement.
  • Manage billing, cancel, resume and re-link requests only when you click those buttons.

Unlinking the store from the Plans tab stops all of these. The service is provided by Techmarbles:
terms https://techmarbles.com/terms-conditions/ , privacy policy https://techmarbles.com/privacy-policy/ .
Payments are processed by Stripe: https://stripe.com/legal and https://stripe.com/privacy .

Configuration

API Settings

  1. Enter your Dynamics 365 Business Central API URL
  2. Enter your Azure AD Tenant ID
  3. Enter your Azure AD Application (Client) ID
  4. Enter your Azure AD Application Client Secret
  5. Select your environment (Production or Sandbox)
  6. Test the connection

Azure AD Setup

To use this plugin, you need to register an application in Azure AD:

  1. Go to Azure Portal > Azure Active Directory > App registrations
  2. Create a new registration
  3. Note the Application (client) ID and Directory (tenant) ID
  4. Create a client secret in Certificates & secrets
  5. Grant API permissions for Dynamics 365 Business Central

Support

For support, feature requests, or bug reports, please contact Techmarbles via the website.

Documentation

Detailed documentation: https://techmarbles.com/products/

Contributing

This plugin is open source. Contributions are welcome.

License

This plugin is free software, licensed under the GPL-2.0-or-later. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. See the License URI above for details. © Techmarbles.

Plugin Details

Active Installs
0
Total Downloads
237
Version
1.0.1
Requires WP
6.2
Requires PHP
7.4
Tested Up To
7.1.4
Added
2026-08-31
Last Updated
2026-10-15 1:51pm GMT

Ratings

5
0
4
0
3
0
2
0
1
0