Skip to content
Build withFRANCO

Angelo Franco · NetSuite + AI automation

NetSuite that fits
the way you work.

Senior NetSuite consultant with 7+ years of implementations, managed services and SuiteScript. I also build the AI automations around it, and I work US hours.

See the work
Years in NetSuite
7+
Concurrent projects led
10+
Certifications
4
/ 01 — About

Senior NetSuite
consultant.

I've spent 7+ years inside NetSuite: implementing it, supporting it, and writing the scripts that make it fit the business.

I've delivered full-cycle implementations, run managed-services desks and led up to ten projects at once as a NetSuite project manager. Fit/gap, solution design, UAT, training and hypercare are the normal parts of my week.

On the technical side I write SuiteScript 2.1, ship changes with SDF, and build REST integrations for orders, inventory and customers. Lately I also build AI automations in n8n with Claude and GPT, and I help NetSuite teams use those tools safely.

Certified

  • SuiteFoundation
  • NetSuite ERP Consultant
  • Accounting Specialist
  • AI Foundation
/ 02 — Services

What I do

Four ways to work together. Every engagement is scoped and quoted after a short call.

NetSuite implementation

Discovery and fit/gap, solution design, configuration, CSV data migration, roles, UAT, training and go-live. I can also review a stalled implementation and write the fix plan.

  • Fit/gap
  • OneWorld
  • O2C · P2P
  • Manufacturing
  • Hypercare

Support & managed services

A monthly block of hours for admin requests, saved searches, dashboards, workflow fixes, release testing and month-end help. Tickets handled async, with a regular check-in call.

  • Admin
  • Saved searches
  • SuiteFlow
  • Release testing

NetSuite development

User Event, Client, Scheduled, Map/Reduce, Suitelet and RESTlet scripts. SuiteScript 1.0 to 2.1 upgrades, SDF projects in Git, and REST integrations with ecommerce, 3PL and banking.

  • SuiteScript 2.1
  • SDF
  • RESTlets
  • REST API

AI automation

One scoped workflow at a time in n8n, with retries, logging and alerts: order and inventory sync, document intake, reconciliation reports, FAQ and booking bots. Plus AI for NetSuite teams: practical Claude and ChatGPT enablement.

  • n8n
  • Claude
  • ChatGPT
  • AI agents
  • Chatbots
/ 03 — Selected work

NetSuite projects.

Real client work, anonymised: no names, IDs or amounts. Each card shows the result and where it stands; nothing claims a production result that wasn't verified.

A multi-subsidiary group in the Philippines

Three-book accrual clearing

Tested cases cleared to zero in all three books; 50 automated date and period tests pass.

+ How I did it

Finance had to clear accrual and balance-sheet items in all three accounting books, and cleared lines kept showing as open. I extended the clearing Suitelet so one case clears in every book, with staging, locking and reset, and added Open and Cleared Items searches for the reporting roles. In sandbox UAT the tested cases cleared to zero in each book and dropped off the open-items list; the date and period checks pass 50 automated tests.

  • SuiteScript 2.1
  • Suitelet
  • User Event
  • Custom records
  • Saved Search
  • SuiteCloud CLI

A multi-subsidiary group in the Philippines
In progress

Sandbox-to-sandbox migration

Most tracked changes moved, with a before/after record of every one.

+ How I did it

The client's customizations had to be rebuilt in a second sandbox with the same menus and role access. I inventoried and compared both accounts with SDF, moved the scripts, records, searches and navigation links, and kept a before/after tracker of every change. Most tracked changes are done; the rest are listed as open items for the client.

  • SDF
  • SuiteCloud CLI
  • Roles & permissions
  • Saved Search
  • Python

A multi-subsidiary group in the Philippines
Sandbox-tested

Journal entry CSV upload

A real-format file posted balanced; a broken file was blocked with an error report.

+ How I did it

The standard import rejected the finance team's journal files over reference keys and Excel-formatted periods. I built a native-looking Suitelet: pick the subsidiary, upload, see every line marked OK or with its error, and create the entries only when the file is clean, one journal per entry number. In sandbox a real-format file checked clean and posted balanced, and a broken copy was blocked with a downloadable error file.

  • SuiteScript 2.1
  • Suitelet
  • Client Script
  • User Event
  • SDF

A multi-subsidiary group in the Philippines
Sandbox-tested

Supervisor-chain JE approval

Approve, reject, resubmit and final approval all worked end to end in sandbox.

+ How I did it

Journal approval named roles instead of people and did not start when entries were created. I replaced it with scripted approval: each preparer's supervisor approves, and the amount decides how many levels the entry goes up. In a sandbox test run as administrator the full path worked (approve, reject with a reason, resubmit, final approval), and an entry saved as Approved on the form was sent back to Pending.

  • SuiteScript 2.1
  • User Event
  • Suitelet
  • Client Script
  • SDF

A US equipment company
Sandbox-tested

Yard address on every serial

Every readable address in 93 real bin rows parsed correctly; reruns change nothing.

+ How I did it

A downstream system showed a location name instead of where each unit actually sits. I extended a Map/Reduce sync so every serial gets "City, State" from its bin's free-text address, falls back to the location's address, and has a log-only mode to preview changes. In sandbox the parser read every readable address in 93 real bin rows correctly, and sample serials updated once and stayed unchanged on the next run.

  • SuiteScript 2.1
  • Map/Reduce
  • SDF
  • Custom fields

A US equipment company
Read-only audit · sandbox build

Shopify ↔ NetSuite integration audit

A clear list of which flows were really live, plus a sandbox-tested new step.

+ How I did it

Shopify orders, fulfilments, inventory and refunds move into NetSuite through an integration platform, and the client wanted to know what its sandbox was really connected to. I reviewed the NetSuite objects and every flow and connection read-only, and listed which flows were live. I also built a sandbox-tested step that copies item dimensions onto each serial for the store's freight pricing; the production backfill is waiting on data decisions.

  • Shopify
  • Integration review
  • SuiteCloud CLI
  • Map/Reduce

A NetSuite customer in Southeast Asia
Sandbox-verified · finance retest open

Consolidated income statement in SuiteQL

Regression runs matched the GL with zero differences.

+ How I did it

Finance needed the subsidiary and consolidated income statements to use the right book per entity, show eliminations that tie to the intercompany report, and split cost of performance from operating expenses. I changed the SuiteQL behind the report RESTlets in small, hash-checked batches, and wrote a separate SuiteQL validation set plus an admin validation page that rebuilds the numbers from the GL. Regression runs matched the GL with zero differences, and a variance that appeared only for one role was traced to missing permissions that made SuiteQL skip some transactions.

  • SuiteQL
  • RESTlet
  • Suitelet
  • Multi-book
  • SDF

A NetSuite customer in Southeast Asia
Sandbox · client review

Custom cash flow report

Every test run ties out; cash equals the balance sheet for the months checked.

+ How I did it

The client wanted its custom cash flow report to match the consolidated balance sheet. I reworked the report in versioned sandbox releases: revaluation goes to its own exchange-rate line, accounts follow their consolidated balance-sheet mapping, and balances now come from the consolidated balance-sheet service. Every test run ties with zero "off by", cash equals the balance sheet for the months checked, and the result was reconciled to the standard cash flow statement and the GL.

  • Suitelet
  • RESTlet
  • Client Script
  • Saved Search
  • SDF
Builds & demos

Automation, on video.

Working builds you can watch: an ERP sync, a booking system with a chat assistant, and an AI voice receptionist.

Demo build

Shopify ↔ ERP connector

A working inventory and order sync between a Shopify development store and a custom ERP. Stock edits push to Shopify automatically; new orders arrive by signed webhook, are de-duplicated and reduce stock in both systems.

  • n8n
  • Shopify webhooks
  • Supabase
  • Next.js

Learning/demo build on a development store, tested end to end.

Client build

Staycation booking site + Messenger bot

A booking site for a staycation suite: guests request dates on a calendar, the owner confirms in a private panel, and the payment link goes out by email. A Messenger assistant answers FAQs and quotes prices from the owner's rules.

  • Next.js
  • n8n
  • Messenger
  • AI agent

Built for a small hospitality business in Bulacan.

Video coming soon
Demo

Juno, an AI voice receptionist

A browser voice agent for a short-stay rental. It says it's an AI, answers house questions, checks availability, quotes prices and takes a booking request for the host. It never takes card details by voice.

  • Vapi
  • n8n
  • Node.js
  • 23 automated tests

Fictional property and data. The 46-second explainer is rendered from code: motion graphics, subtitles and local text-to-speech.

Explainer style: “Swiss Motion Graphics” from lemo-opuscar by LemoLab / Lemomo, CC BY 4.0. Story, narration and score are original.

/ 04 — Process

How I work

A small 3D office: a meeting, a whiteboard flowchart, two developers coding, a UAT checklist and a support desk with a go-live banner
  1. Discover

    Talk to the people doing the work and find where the process actually breaks.

  2. Map

    Blueprint the records, workflows and integrations before anything is built.

  3. Build

    Configure, script and automate in sandbox, in short cycles you can see and test.

  4. Test

    UAT with your team and real scenarios, then a planned move to production.

  5. Support

    Go live, train the team, and stay on for fixes and the next improvement.

Changes go through sandbox first, then UAT, then a planned move to production. You get written notes on what changed and why.

Start with a call
/ 05 — Book a call

Tell me what's
going on.

A NetSuite problem nobody owns, a backlog that keeps growing, or work your team still does by hand. Send a short note and we'll set up a call in your business hours.

  1. 01You send a short note about the problem.
  2. 02We talk for 30 minutes in your business hours.
  3. 03You get a written scope and quote before any work starts.