Case 05 / 06 · Business workflow automation · 2026

ERP Workflow Automation

Sinister Diesel · private production system

The manufacturing team needed to see which parts were sitting at outside finishing vendors. That view existed only as a NetSuite saved report — not reachable through the API, and not actionable outside NetSuite.

Source
NetSuite · read-only
Destination
monday.com board
Schedule
Hourly
Output
Board + PDF / XLSX
Simplified system view · read, reconcile, write one group

Why it exists

A report someone re-typed by hand

Before this, someone manually re-ran the NetSuite report and re-typed changes onto a board — a recurring, error-prone task that only reflected reality at the moment it was last done by hand.

I reverse-engineered the report’s logic, then designed and built the automation that replaces it.

Architecture

Reconstruct, reconcile, snapshot

A SuiteQL query reconstructs the saved report’s exact filter logic. A sync reconciles it against a dedicated board group — updating existing items in place by a hidden key, creating new ones, and marking dropped-off lines Done — without ever touching the rest of the board.

A companion script generates a timestamped PDF/XLSX snapshot on the same schedule, for the people who want the numbers in a file rather than a board.

Engineering decisions

Reconstructed filter logic

NetSuite’s saved reports aren’t reachable through its API, so the filter criteria had to be rebuilt in SuiteQL and tuned until the two matched row for row.

Blast radius of one group

The sync only ever touches its own board group, matched by a hidden key, so a bad run cannot corrupt the rest of the board.

Dry run first

A dry-run mode previews every change before anything is written — the difference between an automation you can trust and one you have to watch.

Read-only upstream

NetSuite is never written to by this system. It is a reporting consumer, so the worst case is a stale board, not a corrupted ERP.

Deployment

Runs on an hourly schedule alongside the other NetSuite integrations, plus a standalone report command that generates the PDF/XLSX snapshot without touching the board.

Result

Hourly Live board · replaces a manual re-run

The manufacturing team gets a live, always-current board instead of manually re-running and re-reading a NetSuite report.

Node.js NetSuite SuiteQL monday.com GraphQL node-cron

Next system · 06 / 06

Commerce Operations & Infrastructure

The rail turns on its side and becomes the runtime everything above has been standing on.