- Home
- Blog
- ERP Integration (EDGEBIC)
- EDGEBIC + NetSuite: The Complete Scheduling Integr…
EDGEBIC + NetSuite: The Complete Scheduling Integration Guide
Integrating NetSuite with EDGEBIC means exporting the items, work centers, routings, and open work orders NetSuite already holds to CSV or Excel, mapping those columns once with a reusable import mask, and letting EDGEBIC schedule the work against finite capacity: real shift hours, real machine counts, and sequence-dependent setups. Executable dates then go back as Excel. There is no API project, no script maintained inside the account, and no certified connector to version-match when either side updates.
EDGEBIC by User Solutions is the newest generation of a scheduling line that has integrated with ERPs this way since 1991. Across 35+ years the same file-based approach has fed schedules for the US Navy, GE, BAE Systems, and Cummins. This guide covers the NetSuite case: what to export, how the masks work, what the engine does with the result, and what a realistic first week looks like.
Why a cloud ERP still needs a floor scheduler
NetSuite runs the business well: orders, inventory, purchasing, financials, and the manufacturing records that hang off them. What most NetSuite manufacturers report is that the daily sequencing decision still happens somewhere else, usually a spreadsheet, because the questions a planner asks each morning are finite capacity questions:
- Which of these 60 open work orders fits on the two CNC cells this week?
- If this rush order jumps the queue, which promise dates move and by how much?
- Is the paint booth loaded to 80 percent or 160 percent next Thursday?
Those require modeling shifts, machine instances, changeover sequences, and operator availability against every open order at once. It is a different computational problem from recording transactions, which is why a dedicated finite capacity layer beside the ERP is the standard pattern. The general case is in finite versus infinite capacity scheduling; the ERP-specific version is the companion post on NetSuite scheduling gaps and how EDGEBIC fills them, and the wider category view including other integration approaches is in the older NetSuite scheduling limitations overview.
The integration in one table
The EDGEBIC ERP integration architecture is identical for every ERP, NetSuite included:
| Direction | Data | How it moves |
|---|---|---|
| NetSuite → EDGEBIC | Items | CSV or Excel export → Product import mask |
| NetSuite → EDGEBIC | Work centers | Export → Workcenter import mask |
| NetSuite → EDGEBIC | Routings / operations | Export → BOR (bill of routing) import mask, two-pass |
| NetSuite → EDGEBIC | Open work orders | Export → SalesOrder import mask |
| NetSuite → EDGEBIC | Labor hours (optional) | Export → Actuals import mask |
| EDGEBIC → NetSuite | Executable start and end dates, dispatch lists | Excel export from Job View and reports |
An import mask is a saved recipe. It remembers which kind of data you are importing, what format it arrives in (Excel workbook, or comma, semicolon, tab, or space delimited text), whether the first row is headings, whether text values are quoted, and how each column of your file maps onto an EDGEBIC field. You build it once by dragging your file's column headings onto EDGEBIC's target fields. Every run after that is two clicks.
Every row produces exactly one outcome: Created, Updated, Reused (matched and deliberately left alone), or Failed (rejected, with the reason recorded). A result dialog shows the counts and a per-run log file records every row individually.
The file is the interface, and that is the advantage
Cloud platforms change on the vendor's schedule, not yours. That is usually fine, and occasionally it breaks an integration built against an API surface. A file-based interface has a much smaller failure mode: the only thing that can break is a column heading, and the fix is re-mapping one row in a mask.
Three practical consequences follow for a NetSuite account:
- Nothing is installed in your account. No script, no bundle, no custom record. Your sandbox-to-production process is unaffected because there is nothing to promote.
- No integration user or credential is created. The scheduler never authenticates against the ERP, so there is no permission surface to review or rotate.
- Scheduling keeps working offline. The plan is computed locally, so a connectivity problem stops the export, not the shop's dispatch list.
Step 1: the four exports
Four exports carry a complete scheduling model.
- Items. The item identifier, description, unit of measure, and any cost or lead-time columns worth having visible. The identifier is the natural key, matched case-insensitively, so
BRK-200in a file findsbrk-200in the database. - Work centers. Identifier, how many identical machines the center really holds, default setup hours, efficiency, and an hourly rate for cost rollups. Bottleneck and shift-assignment flags ride in the same file.
- Routings. One row per operation: end product, work center, sequence number, hours per unit, setup time, queue time.
- Open work orders. Product, quantity, order reference, and dates.
Any list or report in NetSuite that saves to CSV is a valid source. You are not writing scripts and not asking for database access, which cloud platforms do not offer anyway.
Step 2: map the columns once
Build one mask per file and name it after the routine rather than the file: Weekly NetSuite Work Orders outlives wo-week29.csv. Mandatory fields are flagged, and the run refuses to start until they are mapped, so a half-built mask fails before it reads a single row.
Two mask features carry most of the weight:
Unit conversion. Set a conversion factor on any numeric column and the multiplication happens before the value is stored. Minutes to hours is 0.016667, seconds to hours 0.000278, and a standard time quoted per lot of 100 pieces becomes per piece with 0.01. Different columns in the same file can carry different factors.
Blank-cell preservation. On an update run, a blank cell keeps the existing value rather than wiping it, so a partial refresh file is safe. Watch the matching rule: a zero is a value, not a blank. Leave a column out of the export rather than filling it with zeros you do not mean.
Step 3: the routing import, and why it takes two passes
Routings are the hardest data to move between systems, because operations reference each other: step 10 feeds step 20 feeds step 30. A row-by-row import cannot wire those links, because step 20 does not exist yet when step 10 is written.
EDGEBIC's routing import runs in two passes. Pass one reads and validates every row, auto-creates any work center or product the file names that does not exist yet, and buffers the steps. Pass two groups the buffered rows by end product, sorts them by sequence number, writes them, and then wires the chain: 10 to 20, 20 to 30, and the terminal step to the finished product, so the routing renders as one connected flow in the graphical routing designer.
Conventions that pay off immediately:
- Number sequences in gaps of 10 so a later insert becomes 25 and nothing renumbers.
- Keep all of one product's steps in one file. A routing import wipes and recreates that product's steps once per run, which is what makes re-imports idempotent; splitting one product across two runs means the second run's wipe deletes the first run's steps.
- Re-importing is safe for running work orders. Every scheduled job carries a frozen snapshot of the routing it was planned with, so a routing change applies to future jobs and leaves work in progress untouched.
Step 4: work orders in, then run the scheduler
The order import maps product, quantity, reference, and dates. When your export carries an order reference, rows sharing that reference group under one sales order and their jobs auto-number as {Ref}-{line}, keeping a multi-line order together.
Imports never schedule anything. Imported work orders sit as unscheduled demand until you run the scheduler, which states its scope in plain numbers before it plans. Data movement and planning stay separate on purpose.
Once the data is in, the full engine applies: finite capacity across multiple shifts and machine instances, work center groups that re-shop the machine pool on every reschedule, a sequence-dependent setup matrix, lot streaming with transfer batches, operator skills, and mathematical optimization with a proven optimality gap. The EDGEBIC product overview maps the engine.
Step 5: sending dates back
The return trip is Excel. The Job View grid exports the job schedule as a workbook with colored cells and a legend sheet, the work center schedule exports the same way, and every report dialog exports to Excel or PDF using the column layout you saved. Revised dates then go back into NetSuite through the date-maintenance path your order process already uses. There is no automated write-back, which keeps your ERP data under your team's control. The category framing is on the ERP scheduling add-on page.
A realistic first week
The method has a documented benchmark in the User Solutions lineage: at Plastilite Corporation the ERP vendor itself recommended User Solutions scheduling, and the team went from first export to a complete optimized schedule with ERP integration in 5 days. A mid-size NetSuite manufacturer usually follows the same shape.
| Day | Work |
|---|---|
| 1 | Export items and work centers; build and run those two masks; verify counts |
| 2 | Export routings; build the routing mask with unit conversions; review the routing designer |
| 3 | Export open work orders; import; run the first full finite capacity schedule |
| 4 | Compare EDGEBIC dates to current promises; correct instance counts, shifts, and setups where reality disagrees |
| 5 | Lock the weekly rhythm: saved masks, import order, scheduler run, exports back |
The green-field setup walkthrough covers the from-empty sequence, and the NetSuite to EDGEBIC data mapping reference is the field-level lookup to keep open while building masks.
Test it with your own export
Export this week's open work orders and a routing file, then bring them to a demo. Mapping them live takes minutes, and you leave having watched your own shop scheduled against its own capacity. If you are evaluating more than one ERP, the SAP and Sage versions of this guide follow the same method, which is the point of a universal import layer.
No. EDGEBIC integrates with NetSuite through reusable import masks fed by the CSV or Excel exports NetSuite already produces. There is no API integration to build, no script to maintain inside the account, and no certified connector to version-match. You map the columns of an export once, and every later run is two clicks with a per-run log recording each row.
No, because the two systems answer different questions. NetSuite stays the cloud system of record for orders, inventory, and financials. EDGEBIC handles finite capacity sequencing against real shifts and machine counts, which is a compute problem the planner runs on demand. Nothing about the ERP moves on-premise, and the daily schedule keeps working even when the internet does not.
Four exports carry a complete scheduling model: items, work centers with capacity detail, routings with operation sequence and run and setup times, and open work orders with quantities and dates. A fifth optional export carries labor hours from the floor. Each goes through its own import mask, and every row returns as Created, Updated, Reused, or Failed.
No, and the separation is deliberate. An import changes data; the scheduler changes the plan. Imported work orders appear as unscheduled demand and stay there until you run the scheduler, which states how many jobs are new and how many are being rescheduled before it plans anything. An import can therefore never silently rearrange the floor.
Expert Q&A: Deep Dive
Q: We picked NetSuite specifically so we would not run servers. Our planner is one person. Is a file-based integration going to become her second job?
A: It becomes about twenty minutes on a Monday, and less on other days. The setup cost lands once: four masks, built by dragging column headings onto fields, typically in a single session. After that the recurring work is export, pick the mask, press Do It, read the counts. A normal weekly run reports something like Created 34, Reused 240, Failed 0 in a couple of minutes, because master data that already matches comes back Reused and untouched rather than being rewritten. The part that actually takes her time is the useful part: looking at the schedule and deciding what to do about the two work centers that are over.
Q: Our CSV exports wrap text values in quotes and our dates come out in a format that has broken other tools. Will that fail on import?
A: Both are handled at the mask level rather than by editing files. The mask has a text-enclosed-in-quotes setting for RFC-4180 style quoting, so quoted values with embedded commas parse correctly instead of splitting into phantom columns. Dates are parsed against the invariant format first and your machine's regional format second, so a locale-specific export lands correctly without a pre-processing step. If a specific row still fails, it fails alone: the default behavior marks that row Failed with the exact reason in the log and continues through the remaining rows, so one bad date never blocks 500 good ones.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
Connecting EDGEBIC to Your ERP Database With a SQL Source
How to point a scheduled EDGEBIC integration at a read-only ERP query instead of a file: testing the connection, previewing columns, checking the mask fits, and the stored-password rule that catches most teams out.
EDGEBIC ERP Integration: The Complete Guide
How EDGEBIC integrates with any ERP: eight import masks, three source options, a documented data mapping, and the weekly rhythm that keeps a finite capacity schedule current.
Closing ERP Work Orders That EDGEBIC Still Thinks Are Open
Your ERP closing a work order is invisible to EDGEBIC. There is no status column on the order mask, and a job whose every step is done is not closed automatically. Here is the closing pass that keeps your numbers honest.
