← Hub NetSuite Custom Records
v10.0
NetSuite Custom Records
Brand System v10.0 — Custom Record Types
NetSuite
Custom
Records
10 GFS-specific record types for food operations.
Complete custom record type definitions for Global Food Solutions NetSuite implementation. Temperature logs, vendor scorecards, rebate programs, USDA allocations, lot tracing, production runs, compliance documents, delivery routes, price brackets, and program enrollments.
Quality Procurement Compliance Logistics Pricing
Document ID GFS-NS-CUSTREC
Region Edgewood / Hermitage
Status Active
Version 9.0
Date 05 / 19 / 2026
Classification Record Design
Platform NetSuite ERP
Records 10 Custom Types
Owner Global Food Solutions, Inc.
02 Custom Record Types 10 GFS-Specific Records — Field Definitions, Relationships, Sample Data
1. Temperature Log
custrecord_gfs_temp_log
Records temperature readings across facility zones for FSMA and HACCP compliance. Automatically flags excursions outside safe ranges and triggers corrective action workflows.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Facilitycustrecord_tl_facilityList/Record (Location)YesWarehouse or plant location
Zonecustrecord_tl_zoneList (Temp Zones)YesCooler, freezer, dock, dry storage, etc.
Reading (°F)custrecord_tl_readingDecimal NumberYesTemperature in Fahrenheit
Timestampcustrecord_tl_timestampDate/TimeYesCurrentDate and time of reading
Sensor IDcustrecord_tl_sensorFree-Form TextNoHardware sensor identifier
Compliance Statuscustrecord_tl_statusList (Pass/Fail/Warning)YesPassAuto-calculated from zone thresholds
Corrective Actioncustrecord_tl_actionText AreaNoNotes when status is Fail or Warning
Recorded Bycustrecord_tl_employeeList/Record (Employee)NoCurrent UserEmployee who took the reading
Relationships
Location (facility)
Employee (recorded by)
Item Receipt (sublist link)
Use Cases
FSMA preventive controls: log cooler and freezer temps every 4 hours per facility SOP.
Dock receiving: capture ambient temp at time of inbound delivery to validate cold chain.
Excursion alerts: trigger email to QA manager when reading exceeds zone threshold.
Audit trail: generate compliance report showing 30-day temp history for inspectors.
Sample Data
Facility
Edgewood, NY
Zone
Cooler A
Reading
36.2°F
Timestamp
05/19/26 06:00
Sensor
SNS-EDG-C01
Status
Pass
2. Vendor Scorecard
custrecord_gfs_vendor_score
Tracks vendor performance metrics across procurement cycles. Aggregated monthly and quarterly for supplier review meetings and preferred vendor tier placement.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Vendorcustrecord_vs_vendorList/Record (Vendor)YesSupplier entity record
Periodcustrecord_vs_periodList/Record (Acct Period)YesAccounting period for evaluation
On-Time %custrecord_vs_ontimePercentYesDeliveries received within promised window
Quality %custrecord_vs_qualityPercentYesLots accepted without quality holds
Fill Rate %custrecord_vs_fillratePercentYesUnits shipped vs. units ordered
Price Competitivenesscustrecord_vs_pricecompInteger Number (1–10)No5Rating vs. market benchmarks
Overall Scorecustrecord_vs_overallDecimal NumberYesWeighted composite (0–100)
Evaluatorcustrecord_vs_evaluatorList/Record (Employee)NoCurrent UserPerson performing review
Notescustrecord_vs_notesText AreaNoQualitative commentary
Relationships
Vendor (entity)
Accounting Period
Purchase Order (derived)
Use Cases
Quarterly vendor reviews: present scorecard trends in supplier performance meetings.
Preferred vendor tier: auto-classify vendors into Gold/Silver/Bronze based on overall score thresholds.
Contract negotiation: use historical performance data to support pricing discussions.
Risk management: flag vendors with declining quality or fill rate for sourcing diversification.
Sample Data
Vendor
Bongards
Period
Apr 2026
On-Time
94.2%
Quality
98.7%
Fill Rate
97.1%
Price Comp
8
Overall
91.4
3. Rebate Program
custrecord_gfs_rebate
Manages customer rebate programs with tiered qualifying volumes, accrual tracking, and scheduled payout dates. Supports programs like Good Eats with multiple tiers and bracket-based rates.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Customercustrecord_rb_customerList/Record (Customer)YesCustomer entity
Programcustrecord_rb_programList (Program Types)YesRebate program name / code
Tiercustrecord_rb_tierFree-Form TextYesProgram tier level (Bronze, Silver, Gold, etc.)
Qualifying Volume (lbs)custrecord_rb_qualvolDecimal NumberYesMinimum purchase volume to qualify
Rate ($/lb)custrecord_rb_rateCurrencyYesRebate rate per qualifying pound
Accrued Amountcustrecord_rb_accruedCurrencyYes0.00Running total of earned rebate
Payout Datecustrecord_rb_payoutDateYesScheduled rebate disbursement date
Program Startcustrecord_rb_startDateYesProgram effective start date
Program Endcustrecord_rb_endDateYesProgram expiration date
Relationships
Customer (entity)
Sales Order (volume calc)
Vendor Bill (payout JE)
Use Cases
Good Eats program: track tiered rebate accruals across cheese and frozen categories.
Quarter-end reconciliation: generate accrual reports for finance team before payout.
Customer portal: display earned rebate status and projected payout to enrolled customers.
Tier promotion: auto-notify sales rep when customer approaches next volume tier threshold.
Sample Data
Customer
Good Eats Co
Program
Volume Rebate
Tier
Gold
Qual Vol
50,000 lbs
Rate
$0.035/lb
Accrued
$1,842.50
Payout
06/30/2026
4. USDA Commodity Allocation
custrecord_gfs_usda_alloc
Tracks USDA commodity program allocations with FIFO drawdown logic. Manages allocated vs. drawn pounds, remaining balances, and bracket-based pricing for government commodity programs.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Material Codecustrecord_ua_materialFree-Form TextYesUSDA material number (e.g., 110393)
Programcustrecord_ua_programList (Program Types)YesUSDA program (TEFAP, CSFP, NSLP, etc.)
Allocated Lbscustrecord_ua_allocatedDecimal NumberYesTotal pounds allocated to GFS
Drawn Lbscustrecord_ua_drawnDecimal NumberYes0Pounds drawn down via shipments
Remaining Lbscustrecord_ua_remainingDecimal Number (Formula)YesAllocated minus drawn (auto-calc)
Bracket Ratecustrecord_ua_bracketCurrencyYesPrice per lb for current bracket
Allocation Datecustrecord_ua_dateDateYesDate allocation was received
Expiry Datecustrecord_ua_expiryDateNoAllocation expiration if applicable
Relationships
Item (material code)
Sales Order (drawdown)
Journal Entry (bracket split)
Use Cases
FIFO drawdown: automatically reduce allocation as shipments process, oldest allocation first.
Bracket boundary JEs: split journal entries when a shipment crosses price bracket thresholds.
Bid planning: view remaining allocations to inform USDA solicitation bid quantities.
Expiry alerts: notify procurement 30 days before allocation expiration to accelerate drawdown.
Sample Data
Material
110393
Program
TEFAP
Allocated
80,000 lbs
Drawn
52,400 lbs
Remaining
27,600 lbs
Bracket Rate
$2.1847/lb
5. Lot Trace
custrecord_gfs_lot_trace
Full lot traceability from vendor receipt through customer shipment. Links internal lot numbers to vendor lot numbers, expiry dates, and all transactions that touched the lot.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Itemcustrecord_lt_itemList/Record (Item)YesInventory item
Lot Numbercustrecord_lt_lotFree-Form TextYesGFS internal lot number
Vendor Lotcustrecord_lt_vendorlotFree-Form TextYesSupplier's lot identification
Receive Datecustrecord_lt_receivedDateYesDate received into GFS inventory
Expiry Datecustrecord_lt_expiryDateYesProduct expiration / best-by date
Statuscustrecord_lt_statusList (Active/Hold/Released/Expired/Recalled)YesActiveCurrent disposition of the lot
Linked Transactionscustrecord_lt_txnsMulti-Select (Transaction)NoItem receipts, fulfillments, transfers
COA Attachedcustrecord_lt_coaCheckboxNoNoCertificate of Analysis on file
Relationships
Item (product)
Item Receipt (inbound)
Item Fulfillment (outbound)
Use Cases
Recall response: identify all customers who received a specific vendor lot within minutes.
FIFO enforcement: ensure oldest lots ship first by sorting on receive date.
Expiry management: flag lots within 14 days of expiry for markdown or donation.
Audit compliance: provide complete chain-of-custody documentation for FDA inspections.
Sample Data
Item
BC-040-001
Lot #
GFS-260514-A
Vendor Lot
BNG-4821
Received
05/14/2026
Expiry
11/14/2026
Status
Active
Txns
IR-4821, IF-3102
6. Production Run
custrecord_gfs_prod_run
Captures production line activity linked to work orders. Tracks start/end times, units produced, yield percentages, waste, and operator assignments for manufacturing at the Hermitage facility.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Work Ordercustrecord_pr_woList/Record (Work Order)YesParent work order transaction
Linecustrecord_pr_lineFree-Form TextYesProduction line identifier (Line 1, Line 2, etc.)
Start Timecustrecord_pr_startDate/TimeYesRun start timestamp
End Timecustrecord_pr_endDate/TimeNoRun end timestamp (blank if in progress)
Units Producedcustrecord_pr_unitsInteger NumberYes0Total units completed this run
Yield %custrecord_pr_yieldPercentNoGood units / total input
Waste (lbs)custrecord_pr_wasteDecimal NumberNo0Material waste in pounds
Operatorcustrecord_pr_operatorList/Record (Employee)YesPrimary line operator
Downtime (min)custrecord_pr_downtimeInteger NumberNo0Total unplanned downtime minutes
Relationships
Work Order (parent)
Employee (operator)
Assembly Build (completion)
Use Cases
OEE tracking: calculate Overall Equipment Effectiveness from run times, yield, and downtime.
Waste reduction: identify lines and shifts with above-average waste for corrective action.
Operator performance: compare yield and throughput by operator for training prioritization.
Capacity planning: aggregate run data to forecast available production hours per line.
Sample Data
Work Order
WO-26-0482
Line
Line 2
Start
06:00 AM
End
02:15 PM
Units
4,280
Yield
96.8%
Waste
142 lbs
Operator
J. Martinez
7. Compliance Document
custrecord_gfs_comp_doc
Centralized repository for compliance documents linked to vendors, customers, facilities, and items. Tracks issue dates, expiry dates, and renewal status for licenses, certifications, and regulatory filings.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Entity Typecustrecord_cd_entitytypeList (Vendor/Customer/Facility/Item)YesType of entity this document belongs to
Entitycustrecord_cd_entityFree-Form TextYesEntity name or internal ID reference
Document Typecustrecord_cd_doctypeList (Compliance Doc Types)YesCOI, HACCP Plan, SQF Cert, FDA Registration, etc.
Issue Datecustrecord_cd_issuedDateYesDate document was issued
Expiry Datecustrecord_cd_expiryDateYesDate document expires
Statuscustrecord_cd_statusList (Current/Expiring/Expired/Pending)YesCurrentAuto-calculated from expiry date
File Attachmentcustrecord_cd_fileDocumentNoUploaded PDF/image of the document
Certification Bodycustrecord_cd_certbodyList (Certification Bodies)NoIssuing authority or certifier
Relationships
Vendor (entity sublist)
Customer (entity sublist)
Location (facility)
Use Cases
Vendor onboarding: require COI and SQF cert uploads before vendor is approved for POs.
Facility licensing: track NYSDAM, FDA, and state dairy licenses for both Edgewood and Hermitage.
Expiry dashboard: 30/60/90 day expiry alerts sent to compliance team for renewal action.
Audit readiness: one-click export of all current compliance docs for regulatory inspections.
Sample Data
Entity Type
Facility
Entity
131 Heartland
Doc Type
NYSDAM 20-C
Issued
01/15/2026
Expiry
01/15/2027
Status
Current
Cert Body
NYSDAM
8. Delivery Route
custrecord_gfs_delivery_route
Logs daily delivery route details for the GFS fleet. Captures truck assignments, driver info, stop counts, mileage, fuel usage, and temperature readings from refrigerated trailers during transit.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Datecustrecord_dr_dateDateYesTodayRoute date
Truckcustrecord_dr_truckFree-Form TextYesVehicle ID or license plate
Drivercustrecord_dr_driverList/Record (Employee)YesAssigned driver
Stopscustrecord_dr_stopsInteger NumberYesTotal delivery stops on route
Departure Timecustrecord_dr_departDate/TimeYesTime truck left the facility
Return Timecustrecord_dr_returnDate/TimeNoTime truck returned (blank if en route)
Milescustrecord_dr_milesDecimal NumberNoTotal route miles driven
Fuel (gal)custrecord_dr_fuelDecimal NumberNoFuel consumed in gallons
Temp Readingscustrecord_dr_tempsText AreaNoJSON array of trailer temp readings at each stop
Relationships
Employee (driver)
Item Fulfillment (deliveries)
Temperature Log (transit temps)
Use Cases
Fleet utilization: calculate average stops-per-route and miles-per-stop for route optimization.
Cold chain compliance: verify trailer temps stayed within range at every delivery stop.
Cost allocation: compute fuel cost per delivery for customer profitability analysis.
Driver performance: track on-time completion rates and fuel efficiency by driver.
Sample Data
Date
05/19/2026
Truck
GFS-T07
Driver
R. Santos
Stops
8
Depart
04:30 AM
Return
01:45 PM
Miles
147.3
Fuel
18.4 gal
9. Price Bracket
custrecord_gfs_price_bracket
Defines volume-based pricing brackets per vendor and item. Supports CME-referenced pricing for commodity cheese and other market-linked products with effective date ranges.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Vendorcustrecord_pb_vendorList/Record (Vendor)YesSupplier providing this pricing
Itemcustrecord_pb_itemList/Record (Item)YesProduct this bracket applies to
Bracket #custrecord_pb_numInteger NumberYesSequential bracket number (1, 2, 3...)
Min Lbscustrecord_pb_minlbsDecimal NumberYesMinimum pounds for this bracket
Max Lbscustrecord_pb_maxlbsDecimal NumberYesMaximum pounds for this bracket
Rate ($/lb)custrecord_pb_rateCurrencyYesPrice per pound at this volume tier
Effective Datecustrecord_pb_effectiveDateYesDate bracket pricing takes effect
CME Referencecustrecord_pb_cmeFree-Form TextNoCME block/barrel reference if market-linked
Moisture Premiumcustrecord_pb_moisturePercentNoMoisture premium bracket (e.g., 35%)
Relationships
Vendor (supplier)
Item (product)
Purchase Order (pricing lookup)
Use Cases
CME-linked pricing: auto-update barrel cheddar brackets weekly from CME trailing week average.
PO pricing validation: SuiteScript validates PO line rates against active bracket for the ordered quantity.
Margin analysis: compare bracket rates across vendors for the same item to optimize sourcing.
Historical pricing: maintain date-effective bracket history for cost analysis and audit trail.
Sample Data
Vendor
Bongards
Item
BC-040-001
Bracket
2
Min Lbs
20,001
Max Lbs
40,000
Rate
$2.1420/lb
Effective
05/12/2026
CME Ref
Wk 05/05 Barrel
10. Program Enrollment
custrecord_gfs_enrollment
Tracks customer enrollment in GFS programs including rebate programs, marketing co-ops, and loyalty tiers. Links volume commitments to actual year-to-date purchases for progress tracking.
Field Definitions
Field NameInternal IDTypeReqDefaultDescription
Customercustrecord_pe_customerList/Record (Customer)YesEnrolled customer entity
Programcustrecord_pe_programList (Program Types)YesProgram name/type
Enrolled Datecustrecord_pe_enrolledDateYesDate customer was enrolled
Tiercustrecord_pe_tierFree-Form TextYesCurrent program tier
Volume Commitment (lbs)custrecord_pe_commitDecimal NumberYesAnnual volume commitment in pounds
YTD Actual (lbs)custrecord_pe_ytdDecimal NumberYes0Year-to-date actual purchases
Statuscustrecord_pe_statusList (Active/Suspended/Completed/Cancelled)YesActiveCurrent enrollment status
Renewal Datecustrecord_pe_renewalDateNoNext enrollment renewal date
Sales Repcustrecord_pe_repList/Record (Employee)NoManaging sales representative
Relationships
Customer (entity)
Rebate Program (linked)
Employee (sales rep)
Use Cases
Progress tracking: sales reps see YTD vs. commitment with progress bar on customer record.
Renewal management: auto-generate renewal tasks 60 days before enrollment expiry.
Tier upgrade: trigger tier promotion workflow when YTD actual reaches next tier threshold.
At-risk alerts: flag enrollments where YTD pace is below 80% of prorated commitment.
Sample Data
Customer
FreshMart Dist
Program
Volume Rebate
Enrolled
01/01/2026
Tier
Silver
Commitment
120,000 lbs
YTD Actual
48,200 lbs
Status
Active
■ All custom record IDs use the custrecord_gfs_ prefix. Field IDs follow the two-letter record abbreviation pattern (e.g., _tl_ for Temperature Log).
03 Custom Lists 7 Reusable Value Lists for Custom Record Fields
Temperature Zones
customlist_gfs_temp_zones
Cooler (33–40°F)
Freezer (≤0°F)
Dock Receiving
Dry Storage
Production Floor
Trailer (Transit)
Blast Chiller
Ambient Exterior
Compliance Document Types
customlist_gfs_comp_doctypes
Certificate of Insurance (COI)
HACCP Plan
SQF Certificate
FDA Registration
State Dairy License
NYSDAM 20-C
NYSDAM 28-D
Organic Certification
Kosher Certificate
Halal Certificate
Certificate of Analysis (COA)
Product Specification Sheet
Letter of Guarantee
W-9
Program Types
customlist_gfs_program_types
Volume Rebate
Marketing Co-op
Loyalty Tier
USDA TEFAP
USDA CSFP
USDA NSLP
USDA Brown Box
Seasonal Promotion
New Customer Incentive
Delivery Statuses
customlist_gfs_delivery_status
Scheduled
Loading
In Transit
Delivered
Partial Delivery
Refused
Returned
Cancelled
Quality Scores
customlist_gfs_quality_scores
A+ (Exceptional)
A (Excellent)
B+ (Very Good)
B (Good)
C (Acceptable)
D (Below Standard)
F (Reject)
Allergen Types
customlist_gfs_allergens
Milk
Eggs
Fish
Shellfish
Tree Nuts
Peanuts
Wheat
Soybeans
Sesame
None
Certification Bodies
customlist_gfs_cert_bodies
NYSDAM
FDA
USDA AMS
SQF Institute
BRC Global Standards
OU Kosher
IFANCA Halal
CCOF Organic
Oregon Tilth
PA Dept of Agriculture
■ Custom lists use the customlist_gfs_ prefix. All values are editable by Administrator role. New values require approval from the compliance team.
04 Sublists & Related Records How Custom Records Link to Standard NetSuite Transactions

Custom records connect to standard NetSuite transactions through sublists, record references, and scripted lookups. Below are the primary linkage patterns used across all 10 custom record types.

TEMP LOGS ON ITEM RECEIPTS
Item Receipt
sublist tab
Temperature Log

Every inbound delivery captures dock temperature at time of receipt. Temperature Log records appear as a custom sublist tab on the Item Receipt form, pre-populated with facility, zone (Dock Receiving), and current timestamp. Receiving clerk enters the reading from the infrared thermometer.

COMPLIANCE DOCS ON VENDOR RECORDS
Vendor Record
related records
Compliance Document

Vendor records display all linked Compliance Documents in a custom subtab. The Entity Type field is auto-set to "Vendor" and the Entity field is auto-populated. A saved search portlet on the vendor form highlights documents expiring within 90 days.

LOT TRACE ON ITEM FULFILLMENTS
Item Fulfillment
lot lookup
Lot Trace

When an Item Fulfillment is created, SuiteScript queries the Lot Trace record to validate lot status (must be Active), check expiry (must be > 14 days out), and automatically append the fulfillment transaction to the lot's Linked Transactions field.

VENDOR SCORECARD ON PURCHASE ORDERS
Purchase Order
inline display
Vendor Scorecard

Purchase Order form includes a custom field group showing the vendor's most recent scorecard metrics (overall score, on-time %, quality %). A User Event script fetches the latest Vendor Scorecard record on PO page load and populates the inline display fields.

PRICE BRACKETS ON SALES ORDERS
Sales Order
pricing lookup
Price Bracket

Client Script on Sales Order line items queries active Price Bracket records to auto-populate rate based on ordered quantity. If the quantity falls at a bracket boundary, the script notifies the sales rep of potential savings at the next tier.

PROGRAM ENROLLMENT ON CUSTOMER RECORDS
Customer Record
subtab list
Program Enrollment

Customer records show all active and historical Program Enrollments in a custom subtab. Each row displays program name, tier, commitment, YTD actual, and a visual progress bar. Sales reps can create new enrollments directly from the customer form.

■ All sublist integrations are implemented via SuiteScript 2.1 User Event and Client scripts deployed to the relevant transaction forms.
05 Record Design Best Practices Naming Conventions, Indexing, Permissions, Scripted Access
Naming Conventions
All custom record type IDs use the custrecord_gfs_ prefix. Field IDs follow a two-letter abbreviation for the parent record, e.g., custrecord_tl_ for Temperature Log fields, custrecord_vs_ for Vendor Scorecard fields. Custom lists use customlist_gfs_. custrecord_gfs_temp_log (record type) custrecord_tl_facility (field) custrecord_tl_zone (field) customlist_gfs_temp_zones (list)
Field Prefixes by Record
Consistent two-letter prefixes prevent field ID collisions across record types and make SuiteScript code self-documenting. _tl_ Temperature Log _vs_ Vendor Scorecard _rb_ Rebate Program _ua_ USDA Allocation _lt_ Lot Trace _pr_ Production Run _cd_ Compliance Document _dr_ Delivery Route _pb_ Price Bracket _pe_ Program Enrollment
Indexing Strategy
Mark high-frequency search fields as Store Value = T and Show in List = T. For records with heavy query volumes (Temperature Log, Lot Trace), create saved searches indexed on date + facility or item + lot number. Avoid searching on Text Area fields. INDEX: custrecord_tl_timestamp + custrecord_tl_facility INDEX: custrecord_lt_item + custrecord_lt_lot INDEX: custrecord_pb_vendor + custrecord_pb_item + custrecord_pb_effective
Permissions Model
Custom records use NetSuite's role-based access. Recommended permission levels per role: Administrator Full (all records) Controller Edit (Scorecard, Rebate, Bracket) Sales Rep View (Enrollment, Bracket) Edit (own Enrollment only) Warehouse Mgr Edit (Temp Log, Lot Trace, Delivery Route) QA Manager Full (Temp Log, Compliance Doc, Lot Trace) Production Mgr Edit (Production Run)
Scripted Access Patterns
All programmatic access to custom records uses SuiteScript 2.1. Use record.load() for single-record operations and search.create() for batch lookups. RESTlets expose custom records to external systems via TBA-authenticated JSON endpoints. // Load a Temperature Log const tempLog = record.load({ type: 'customrecord_gfs_temp_log', id: recId }); // Search active Lot Traces for an item const lots = search.create({ type: 'customrecord_gfs_lot_trace', filters: [ ['custrecord_lt_item', 'is', itemId], 'AND', ['custrecord_lt_status', 'is', 'Active'] ] });
Record Lifecycle & Archival
Temperature Logs and Delivery Routes generate high record volumes. Implement a scheduled script that archives records older than 24 months to a flat-file CSV in the File Cabinet. Keep a summary record in NetSuite linking to the archived file. Never delete compliance-related records. Archive schedule: Temperature Log 24 months Delivery Route 18 months Production Run 24 months Never archive: Compliance Document (regulatory retention) Lot Trace (recall readiness, 7+ years) USDA Allocation (audit trail)
■ All naming and design patterns follow the GFS NetSuite Governance Policy. Changes to custom record structures require approval from the system administrator.
← Back to Hub · GFS Design System v10.0 · Global Food Solutions, Inc. · Edgewood, NY