DTC Fashion & Apparel Brand

eCommerce Reconciliation Dashboard

Built a real-time reconciliation dashboard inside NetSuite that monitors Celigo-powered integrations across Shopify, a returns management platform, and multiple 3PL fulfillment providers - surfacing missing orders, incomplete returns, and sync failures in one place.

Gave the operations team instant visibility into sync gaps that previously went undetected for days, dramatically reducing missing orders and fulfillment delays.

SuiteScript 2.1ReactTypeScriptTailwind CSSSupabaseCeligoGoogle Sheets API
Reconciliation Dashboard

Challenge

The client runs a high-volume DTC eCommerce operation with orders flowing through Shopify, returns processed through a dedicated returns platform, and fulfillment handled by multiple domestic and international 3PLs. All of these systems sync into NetSuite through Celigo iPaaS as the central integration layer.

The problem: even with Celigo managing the integrations, the sheer volume and complexity of data flowing between systems meant orders and returns were regularly falling through the cracks. A Shopify order might fail to sync to NetSuite. A Celigo flow might partially complete - creating the return but missing the replacement sales order on an exchange. A 3PL might never receive the fulfillment request. These gaps were invisible until someone noticed downstream - often days later - causing fulfillment delays, inventory discrepancies, and accounting headaches.

There was no single place to see what was missing or how long it had been missing.

Solution

Built a reconciliation dashboard that lives inside NetSuite, giving the operations team a single view of every sync gap across their entire ecosystem.

What it monitors

  • Shopify → NetSuite: Compares every Shopify order against NetSuite records and flags any that haven’t synced, categorizing them as actionable, cancelled, or expired so the team knows what actually needs attention
  • Returns → NetSuite: Matches return records against both NetSuite returns and sales orders, catching cases where an exchange created the return but missed the replacement order
  • 3PL Sync: Tracks orders that haven’t been sent to each fulfillment provider and surfaces flagged sync errors
  • Historical Tracking: Persists missing records to a database with first-detected and last-detected timestamps, so the team can see how long a gap has existed and whether it’s a new issue or a recurring one

How it works

The dashboard pulls data from multiple sources. It runs the reconciliation logic client-side and displays results through an interactive UI with summary metric cards, filterable tables, and collapsible sections.

The app is built with React and Tailwind CSS, rendered inside NetSuite using Shadow DOM isolation to prevent style conflicts with NetSuite’s native UI. It supports both a local development mode (for building and testing without NetSuite access) and a production mode where the Suitelet serves everything server-side.

Result

The operations team now has real-time visibility into every sync gap across their entire Celigo-integrated order lifecycle. Missing orders that used to go undetected for days are now flagged within hours, with clear categorization of what needs action versus what can be ignored. The historical tracking layer helps identify patterns - if the same type of record keeps going missing, it points to a deeper Celigo flow or integration issue that needs to be addressed at the source.