AI Powered integration with expert operators

Microsoft Dynamics 365 and ZigZag

Integration Agency & Consultants

Manual returns processing often becomes a source of financial reconciliation debt as soon as daily volumes exceed a team's ability to cross-reference spreadsheets. When ZigZag manages the logistics, the return data must flow accurately into Microsoft Dynamics 365 to maintain inventory integrity and correct stock valuation. We focus on ensuring that Receive events and disposition details translate into reliable financial records, so your finance team stops chasing discrepancies and your ops team can trust the inventory levels shown in the ERP.

Castore
Lounge
Oliver Bonas
Green People
Tatty Devine
Cult
Audit returns workflows and ERP gaps

We swiftly connect Microsoft Dynamics 365 and ZigZag, ensuring your ERP and Returns processes work together efficiently. Our consulting services are invaluable, with our system audit uncovering integration gaps and inefficiencies between Microsoft Dynamics 365, ZigZag, and your wider ERP and Returns ecosystem. This empowers both our consultants and your team to take decisive action, keeping your technology running smoothly and efficiently. The result: a robust, well-aligned tech stack that helps you deliver an outstanding customer experience.

Solution Design

This architecture establishes Microsoft Dynamics 365 as the system of record for inventory valuation and ledger integrity. We configure ZigZag to own the physical return event and disposition logic, while D365 handles the resulting credit notes and stock adjustments. A primary design decision involves the timing of financial postings. In many setups, we recommend batching return journals in D365 rather than processing individual API updates. This choice balances the need for accurate reporting with the risk of reconciliation debt. While real-time updates provide immediate visibility, they can lead to fragmented ledger entries that are difficult for finance to audit at scale. By batching, we ensure that the ERP data remains validated and structured. This allows the operations team to move quickly in ZigZag while finance closes the month based on high-integrity data in Dynamics 365.

Mapping return dispositions to financial records

The integration synchronises returns data from ZigZag to Microsoft Dynamics 365 to maintain physical and financial accuracy. When a return is processed in ZigZag, it captures the disposition and condition, which then informs the creation of the appropriate return order or credit note in D365. We anchor the flow on unique identifiers to prevent duplicate credits. Monitoring is built into the process, surfacing exceptions where a product in ZigZag does not match the D365 item master or where a tax adjustment requires review. This ensures that the integration layer is policing the integrity of the inventory and financial records as returns flow back into the business.

Orchestrating secure flows via compliant middleware

Leveraging IPaaS with ISO 27001 and SOC 2 and above security accreditations, Microsoft Dynamics 365 and ZigZag are integrated efficiently and securely, supporting ERP and Returns processes. IPaaS enables Microsoft Dynamics 365 to connect with ZigZag, automating ERP and Returns data flows. This approach reduces manual effort, increases reliability, and ensures compliance, while maintaining robust security standards for all integrations. ZigZag and Microsoft Dynamics 365 benefit from simplified, secure connectivity.

Detecting inventory and tax reconciliation errors

Dashboards show that data is moving, but visibility requires knowing where it has failed to reconcile. We prioritise exception monitoring that flags discrepancies between ZigZag return notifications and D365 stock adjustments. If a return is processed but fails to post to the ledger, the system surfaces the error before it causes a month-end reconciliation gap. This proactive detection prevents hidden issues, such as mismatched tax rates or orphaned return records, from compounding over time. Our approach ensures that management can trust the inventory valuation in Dynamics 365 without having to verify every individual transaction in ZigZag.

Enable staff to resolve data exceptions

Handover focuses on the operational teams running the business. Finance, warehouse ops, and customer service teams learn to own the logic within the return process and the resulting D365 updates. We provide operational documentation that explains what to check at the end of each day to ensure stock levels match and how to interpret alerts from the integration layer. CX teams learn to identify refund status exceptions, while finance takes ownership of the reconciliation journals. This approach ensures your team identifies and resolves data mismatches before they compound. Documentation is written as a clear operational manual for human work, ensuring the team knows who owns each exception type.

Maintaining the financial and inventory link

Support is focused on maintaining the integrity of the financial and inventory link between ZigZag and D365. We provide ongoing monitoring to detect and resolve sync errors, such as blocked credit notes or failed inventory updates, before they impact the ledger. Our team handles the technical escalation and diagnostic work, allowing your finance and ops teams to focus on running the business. This ensures that the integration remains stable through peak periods and that any changes to your D365 configuration do not disrupt the returns workflow.

Integration operating model

In this model, ZigZag acts as the operational front-end for returns, while Microsoft Dynamics 365 serves as the single source of truth for stock value and availability. Customers initiate returns through the ZigZag portal, which orchestrates the carrier logistics. Once a return is processed, data flows into D365 to update inventory levels and adjust the general ledger. This removes the need for manual entries and ensures that the ecommerce team sees the same stock availability as the warehouse. The operating model is designed so that every return is traceable from the customer's portal request to the final credit memo in D365.

Common failures

Mismatched refund and stock receipt timing

Operational impact: ZigZag can trigger a customer refund at the first carrier scan, but the physical goods may not be processed and received into Microsoft Dynamics 365 for days or weeks. This creates a timing gap where a Credit Memo is posted long before the corresponding inventory adjustment. The finance team then struggles to reconcile the value of goods in transit during month-end close, as inventory journals do not align with payout records.

Prevention / Action: Decouple the refund action from the initial return acknowledgement. The integration logic should be configured to create the Credit Memo in Dynamics 365 only after receiving a definitive 'goods accepted' status from the warehouse via ZigZag. This ensures financial and inventory events post closely together, simplifying reconciliation. A clear exception process is needed for returns that are subsequently rejected at inspection.

Returned SKU not recognised by Dynamics 365

Operational impact: A return is processed by ZigZag for an SKU that is inactive, discontinued, or mismatched in Dynamics 365. The integration cannot post the inventory adjustment, leaving the return in a stuck state and the stock unaccounted for. This forces the CX or operations team to investigate the SKU, manually correct data in one of the systems, and re-process the return, delaying both the stock update and financial reporting.

Prevention / Action: Establish Dynamics 365 as the single source of truth for item master data, including the SKU and inventory status. The integration should validate every returned SKU from ZigZag against the active item list in D365 before attempting to process the record. Build a clear operational process for handling exceptions, such as returns for delisted items, and use monitoring to route these failures to the correct team.

Incorrect stock valuation from return disposition

Operational impact: The integration fails to correctly map ZigZag’s return disposition codes (e.g. 'Resellable', 'Damaged') to the correct inventory locations or valuation accounts in Dynamics 365. Consequently, damaged stock might be added back to the sellable stock pool, or written-off items are not correctly journalled. This corrupts inventory valuation data for the finance team and leads to fulfilment errors when unsellable items are picked for new Sales Orders.

Prevention / Action: During implementation, precisely define and test the mapping between every ZigZag disposition code and the corresponding inventory posting logic in Dynamics 365 (covering warehouse, location, and journal type). The integration must strictly enforce this routing. Regularly audit the mappings and create exception reports for any unmapped dispositions to prevent them from posting to a default, and likely incorrect, location.

Incomplete or failed return order creation

Operational impact: The integration fails to create the Return Order in Dynamics 365 because a key field is missing or invalid, such as the original Sales Order reference. The return exists in ZigZag but not in the ERP, meaning inventory is never updated and the financial value of the return is not credited. The fulfilment and finance teams operate with inaccurate stock levels and financial records until a manual audit discovers the discrepancy.

Prevention / Action: Design the integration to perform data validation before attempting to create the Return Order. Essential fields like the original Sales Order ID must be present and in the correct format. The integration should place any records that fail this validation into a separate error queue for review, rather than attempting repeated failed posts. This isolates problems and allows an operator to correct the source data without halting the entire sync process.

Frequently asked questions

How does the integration ensure returned stock is correctly valued in Microsoft Dynamics 365?

The integration uses return reasons and item condition data from ZigZag to automatically create credit notes and inventory adjustments in Microsoft Dynamics 365. This ensures the balance sheet reflects the true worth of returned stock. By automating this data flow, we remove the need for finance teams to perform manual journal entries to correct valuation gaps during the month-end close.

What happens if our warehouse locations in Dynamics 365 do not match the locations used in ZigZag?

Exact alignment between D365 Warehouse codes and ZigZag location identifiers is mandatory. If these do not match, the integration will fail to post stock adjustments for processed returns. This creates a data mismatch where inventory levels in Dynamics 365 become inaccurate, leading to a risk of overselling or showing restocked items as unavailable.

My team processes returns manually and it's causing stock discrepancies. How does this fix it?

We automate the creation of Return Orders in Dynamics 365 triggered by Receive events in ZigZag. This removes the manual data entry that usually causes delays between the physical arrival of goods and the update of inventory levels. Your ERP record stays accurate, ensuring available-to-sell stock levels are trustworthy for downstream channels.

Can we process a return for a SKU marked as discontinued in Dynamics 365?

This is a common failure point in reverse logistics. If ZigZag attempts to process a return for a SKU that is inactive or discontinued in the Dynamics 365 item master, the ERP will reject the transaction. The integration cannot automatically create the credit note or update stock, meaning your team must handle these instances as manual exceptions.

How are non-physical charges like return fees handled in our financial records?

To avoid reconciliation debt, return fees from ZigZag must be mapped to specific non-stock Service Item records in Microsoft Dynamics 365. Without this explicit mapping, D365 will not recognise the charge, causing the credit note posting to fail. We ensure these fees are categorised correctly so that net refund amounts match your bank settlements.

Get Started

We would love to hear about your brand and project