Shopify App Development

Shopify-NetSuite Sales & Refund Report Connector

Built a Shopify app that automates daily sales and refund report generation per SKU for NetSuite import, integrating ShipHero API to decompose bundle products into individual component SKUs with a merchant-friendly date-range report UI.

Client Firebrand Digital
Delivered Oct 2025
Type Shopify App Development
Technologies 10 tools
Shopify-NetSuite Sales & Refund Report Connector

Project Overview

The client's finance team was manually exporting Shopify order data each morning and reformatting it for import into NetSuite — a time-consuming, error-prone process. I built a dedicated connector app that fully automates this workflow, pulling data from the Shopify Orders API, transforming it to NetSuite's required format, and handling the complexity of bundle product decomposition via ShipHero.

Key Features Built

Automated Daily Report Generation

  • Sales Reports: Pulls all orders from the Shopify Orders API for a given date range and aggregates sales data per SKU, including quantities sold, revenue, discounts, and refunds.
  • Refund Reports: Separately processes refund transactions to generate accurate per-SKU refund reports compatible with NetSuite's import structure.
  • Scheduled Automation: Configured nightly cron jobs to auto-generate and store reports, ready for download by the finance team each morning.

ShipHero Bundle Decomposition

  • Bundle Product Handling: Shopify sells pre-made bundle products as single SKUs, but NetSuite tracks individual component inventory. Integrated ShipHero API to decompose bundle SKUs into their component items, accurately reflecting per-item sales in all reports.
  • Mapping Layer: Built a SKU mapping layer to translate Shopify bundle SKUs to ShipHero component lists dynamically, supporting future bundle changes without code updates.

Merchant-Facing Report UI

  • Date Range Selector: Intuitive date range picker allowing finance staff to generate ad-hoc reports for any period beyond the daily automation.
  • Report View Toggle: Toggle between detailed (per-order line) and combined (per-SKU aggregate) views — each suitable for different NetSuite import workflows.
  • CSV Export: One-click CSV export in NetSuite-ready format, eliminating all manual reformatting.

Results

  • Eliminated daily manual export/reformatting task for the finance team — saving 1–2 hours per day.
  • Reduced reporting errors caused by manual data handling to zero.
  • Accurate bundle decomposition improved inventory accuracy in NetSuite by correctly attributing component-level sales.

Technology Stack

Remix TypeScript Prisma ORM Shopify Orders API Shopify GraphQL API ShipHero API CSV Generation NetSuite Integration Shopify CLI Node.js

Project Info

  • Client Firebrand Digital
  • Delivered October 2025
  • Type Shopify App Development

Stack

Remix TypeScript Prisma ORM Shopify Orders API Shopify GraphQL API ShipHero API CSV Generation NetSuite Integration Shopify CLI Node.js

Available for new projects

Let's build something great together

Open to freelance, contract, and full-time opportunities. Let's discuss your next project.