When Marketing adds a "Requested Delivery Date" picker to your WooCommerce checkout, customers love it. Fulfilment teams depend on it. And your ERP integration breaks because of it.
This is the hidden cost of WooCommerce's plugin ecosystem. Every custom checkout field, every B2B-specific input, every date picker added by a third-party plugin gets stored in WooCommerce's post_meta table under a unique, non-standard key. Standard ERP connectors are built to read the WooCommerce order schema: Name, Address, Line Items, SKU. They are completely blind to anything outside that schema.
The result is a manual data entry loop that costs real money. Customer service reads order confirmation emails, finds the requested delivery date buried in the body text, and re-types it into Dynamics 365 Business Central by hand. Every order. Every day.
The real problem is not the plugin. It is the integration layer that was never designed to handle it.
appse ai built a purpose-specific intelligent normalizer workflow to close this gap permanently. It finds hidden post_meta fields, converts messy plugin date strings into the exact format Business Central demands, and injects the data directly into the native Requested_Delivery_Date field on the BC Sales Header without any human intervention. This article explains exactly how that works and why the standard approach fails every time.
Key Takeaways
Standard WooCommerce-to-BC connectors only sync core order fields; plugin data stored in post_meta is invisible to them.
WooCommerce plugins store custom checkout data under arbitrary, undocumented meta keys that vary by plugin.
Business Central's API enforces strict date formatting and will return a 400 error for any non-compliant string.
appse ai's normalizer workflow uses a recursive JSON scan plus an AI normalization node to resolve both problems automatically.
The workflow maps cleaned data directly to the Requested_Delivery_Date field on the BC Sales Header in real time.
The Problem: Why Standard WooCommerce Integrations Are Blind to Plugin Data
WooCommerce powers over 6.6 million active online stores worldwide, according to BuiltWith's eCommerce usage data. Its strength is extensibility: thousands of plugins let merchants add checkout features without touching core code. That same extensibility is precisely what breaks ERP integrations.
How WooCommerce Plugins Store Custom Data
When a plugin like "Order Delivery Date for WooCommerce" or a custom B2B checkout extension adds a field, it saves the customer's input as order metadata using WordPress's update_post_meta() function (or its HPOS equivalent, WC_Order->update_meta_data()). The resulting key-value pair lives in the wp_postmeta database table, attached to the order ID.
The key name is entirely up to the plugin developer. Common examples include:
How Plugins Store Custom Checkout Data
| Plugin | Meta Key Stored | Example Value |
|---|---|---|
| Order Delivery Date Pro | _delivery_date_requested | October 24th, 2026 |
| WooDelivery | woo_delivery_date | 1761321600 (UNIX timestamp) |
| Flexible Checkout Fields | _wcf_delivery_date | 24/10/2026 |
| Custom B2B PO Field | _customer_po_number | PO-2026-00441 |
None of these keys appear in the standard WooCommerce REST API order object. They are invisible to any connector that reads only the documented schema.
What Standard Connectors Actually See
A standard WooCommerce-to-Business Central connector reads the order webhook payload and maps documented fields: billing name, shipping address, line items, totals, and payment method. The meta_data array is present in the webhook payload, but most out-of-the-box connectors either ignore it entirely or only surface it as a raw, unmapped blob with no logic to extract specific keys or transform values.
The practical result: the Sales Order lands in Business Central with every standard field populated correctly. The Requested_Delivery_Date field on the Sales Header is blank. Fulfilment schedulers have no visibility into customer delivery expectations, and the manual re-entry cycle begins.
The Three Failure Points
Every WooCommerce-to-BC integration that does not account for plugin metadata fails in one of three predictable ways. Expand each to see how it plays out:
These are not edge cases. They are the default outcome of any integration that was not built specifically to handle plugin metadata.
The Real Cost of Manual Data Entry in WooCommerce-ERP Workflows
Before examining the solution, it is worth quantifying what the manual workaround actually costs. Most operations teams underestimate it because the friction is distributed across hundreds of small tasks rather than one visible failure.
Where Time Gets Lost
When custom checkout data does not flow automatically into Business Central, the typical operational chain looks like this:
- Order placed — Customer selects a requested delivery date at checkout
- Order confirmation email sent — The date is embedded in the email body as plain text
- Customer service opens the email — Locates the delivery date among other order details
- Manual entry into BC — The agent opens the Sales Order in Business Central and types the date into the correct field
- Risk of error — Date format confusion (10/24 vs 24/10), typos, and missed orders during high-volume periods
For a store processing 50 B2B orders per day, even 3 minutes of manual handling per order adds up to 2.5 hours of daily administrative work. Across a month, that is approximately 50 hours of staff time dedicated entirely to copying data that should have transferred automatically.
The Hidden Cost of Manual Entry
The cost compounds further when errors occur. A mistyped delivery date in Business Central triggers late fulfilment, which triggers customer escalations, which triggers credit notes. The WooCommerce and Business Central integration guide published by ERPSoftwareBlog identifies manual order processing as the most common source of post-integration disappointment for B2B operators.
“An integration that only moves standard fields is not a complete integration. It is a partial automation with a manual step hidden in the middle.”
The appse ai normalizer workflow eliminates that hidden manual step entirely.
The appse ai Solution: An Intelligent Normalizer Workflow
appse ai's normalizer workflow is a middleware automation layer that sits between WooCommerce and Dynamics 365 Business Central. It is not a generic connector. It is a purpose-built workflow designed specifically to handle the failure modes that generic connectors cannot: hidden metadata, inconsistent formats, and dynamic field keys.
The workflow operates across three sequential stages, each resolving a distinct problem that standard integrations leave unsolved.
Stage 1: Deep Payload Scan — Finding the Hidden Data
When a WooCommerce order is placed, the store fires a webhook containing the full order JSON payload. Standard connectors read the top-level fields and stop. The appse ai workflow goes further.
The middleware performs a recursive scan of the entire JSON payload, traversing nested objects and arrays to locate specific meta keys regardless of where they appear in the payload structure. The target key, such as _delivery_date_requested, does not need to be at the top level. The scanner finds it whether it is nested inside a meta_data array, a custom order attribute object, or a plugin-specific extension block.

This recursive approach means the workflow remains resilient to plugin updates that restructure how metadata is stored. The key is found by name, not by position.
Stage 2: AI Date Normalization — Converting Messy Strings to a BC-Ready Format
This is the stage where most manual integrations and rigid connectors fail silently or loudly.
Business Central's Sales Header API enforces strict date formatting. According to Microsoft's official Sales Header table documentation, the Requested Delivery Date field is a Date type. The BC API expects dates in YYYY-MM-DD format. Any deviation, including human-readable strings, locale-specific formats, or UNIX timestamps, returns an HTTP 400 Bad Request error and the sync fails.
WooCommerce delivery date plugins output values in whatever format their UI presents to the customer. The same store can receive dates in any of these formats depending on the plugin and its configuration:
Raw Plugin Output vs. What the BC API Accepts
| Raw Plugin Output | Format Type | BC API Accepts? |
|---|---|---|
| October 24th, 2026 | Human-readable string | No — 400 error |
| 1761321600 | UNIX timestamp | No — 400 error |
| 24/10/2026 | DD/MM/YYYY | No — 400 error |
| 10-24-2026 | MM-DD-YYYY | No — 400 error |
| 2026-10-24 | ISO 8601 / YYYY-MM-DD | Yes |
The appse ai workflow intercepts the raw value immediately after extraction and passes it through an AI normalization node. This node identifies the input format, regardless of how it was written, and converts it to the precise YYYY-MM-DD string that Business Central accepts. It handles human-readable ordinal dates, UNIX epoch timestamps, locale-specific formats, and ambiguous numeric dates with contextual resolution.

The normalization step runs in milliseconds and is transparent to the end-to-end flow. No manual review. No format lookup table to maintain.
Stage 3: Direct Business Central Integration — Writing to the Right Field
With the delivery date extracted and normalized, the final stage maps the value directly into Business Central.
The workflow calls the Dynamics 365 Business Central API to create or update the Sales Order. It maps all standard WooCommerce order fields (customer, shipping address, line items, totals) alongside the explicitly injected Requested_Delivery_Date value on the Sales Header.
The result is a fully populated Sales Order in Business Central where:
- All standard fields are synced as expected
- The Requested_Delivery_Date field on the Sales Header contains the correctly formatted, customer-specified date
- No manual intervention was required at any point in the process

The workflow also handles the broader order context. B2B-specific fields such as custom purchase order numbers, account reference codes, or project identifiers stored in post_meta can be mapped to corresponding fields in Business Central using the same recursive scan and normalization pipeline.
Why This Matters: The Strategic Case for Handling Plugin Metadata Properly
The technical fix is straightforward once you have the right middleware. The strategic implication is larger.
Marketing Velocity vs. IT Stability
The fundamental tension in most WooCommerce + ERP environments is this: Marketing needs the freedom to add checkout features, run A/B tests on the order flow, and install plugins that improve conversion. IT needs every data point that enters the storefront to appear correctly in Business Central without creating support tickets or manual processes.
Standard integrations force a choice. Either Marketing is constrained to only use fields the connector supports, or IT absorbs the manual work every time a new plugin adds a custom field.
appse ai's approach removes that trade-off. Because the recursive payload scanner dynamically finds metadata keys rather than relying on hardcoded mappings, Marketing can add new checkout plugins without IT needing to update the integration. The AI normalization node handles format variations automatically. The mapping to Business Central fields is configured once and applies to all future orders. Both teams get what they need, without compromising each other.
The Fulfilment Timeline Impact
Accurate Requested_Delivery_Date data in Business Central is not just an administrative nicety. It directly affects:
- Warehouse scheduling — Pick-and-pack operations can be sequenced by delivery date rather than order date
- Carrier selection — Fulfilment software can automatically select the appropriate shipping service based on the customer's requested date
- Inventory reservation — Stock can be committed against specific delivery windows, reducing overselling
- Customer communication — Automated BC workflows can trigger delivery confirmation emails using the actual requested date
When this field is blank because the integration could not read the plugin data, every one of these downstream processes degrades. The order still ships, but the precision that B2B customers expect is lost.
Beyond Delivery Dates: The Broader Plugin Data Problem
The delivery date use case is the most visible, but it is not the only one. B2B WooCommerce stores routinely use plugins that add fields including:
- Customer purchase order numbers (_customer_po_number)
- Project codes or cost centre references
- Custom shipping instructions
- B2B account tier or contract pricing flags
- Preferred carrier codes
All of these are stored in post_meta. All of them are invisible to standard connectors. The appse ai normalizer workflow is designed to handle any of these fields using the same recursive extraction and mapping architecture, not just delivery dates.
How the Workflow Compares to Alternative Approaches
IT teams evaluating this problem typically consider three approaches before landing on a dedicated middleware solution. Each has meaningful limitations — toggle between where they break and how appse ai resolves it:
Where they break
The custom PHP approach is the most common initial response from development teams. It works until it breaks, and it will break: WooCommerce's move to High-Performance Order Storage (HPOS) already invalidated update_post_meta() calls on stores with the new storage engine enabled, requiring code rewrites. Every WooCommerce major version introduces similar migration risks.
The appse ai workflow is maintained and updated as an automation layer, separate from both the WooCommerce codebase and the Business Central environment. Plugin changes affect the data format, not the integration architecture.
Conclusion
Integrating custom eCommerce plugin data with a strict ERP like Dynamics 365 Business Central sounds like a niche technical problem. In practice, it is one of the most common sources of operational friction for B2B WooCommerce operators, and one of the least visible because the failure is silent. The Sales Order appears in Business Central. The delivery date field is just empty.
The appse ai intelligent normalizer workflow addresses every layer of this failure:
- Visibility — The recursive payload scan finds post_meta keys that standard connectors never see
- Format compliance — The AI normalization node converts any date string or timestamp into the exact YYYY-MM-DD format Business Central requires
- Accurate field mapping — The normalized value is written directly to the Requested_Delivery_Date field on the Sales Header, not dropped into a notes field or lost in transit
The downstream benefit extends beyond the IT team. Marketing retains the freedom to add and iterate on checkout plugins. Fulfilment teams get accurate delivery date data in Business Central from the moment an order is placed. Customer service stops reading order emails to manually re-type dates. And the integration holds when plugins update, because it was built to handle dynamic metadata from the start.
That is the difference between a connected business and one that is still manually reading order confirmation emails. Explore appse ai's automation workflows to see what your first automated WooCommerce-to-Business Central handoff could look like.
See How AI Automation Works along with SAP Business One
Book a 20-minute demo and we'll walk through your specific process.
Book a Demo


