| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Facility | custrecord_tl_facility | List/Record (Location) | Yes | — | Warehouse or plant location |
| Zone | custrecord_tl_zone | List (Temp Zones) | Yes | — | Cooler, freezer, dock, dry storage, etc. |
| Reading (°F) | custrecord_tl_reading | Decimal Number | Yes | — | Temperature in Fahrenheit |
| Timestamp | custrecord_tl_timestamp | Date/Time | Yes | Current | Date and time of reading |
| Sensor ID | custrecord_tl_sensor | Free-Form Text | No | — | Hardware sensor identifier |
| Compliance Status | custrecord_tl_status | List (Pass/Fail/Warning) | Yes | Pass | Auto-calculated from zone thresholds |
| Corrective Action | custrecord_tl_action | Text Area | No | — | Notes when status is Fail or Warning |
| Recorded By | custrecord_tl_employee | List/Record (Employee) | No | Current User | Employee who took the reading |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Vendor | custrecord_vs_vendor | List/Record (Vendor) | Yes | — | Supplier entity record |
| Period | custrecord_vs_period | List/Record (Acct Period) | Yes | — | Accounting period for evaluation |
| On-Time % | custrecord_vs_ontime | Percent | Yes | — | Deliveries received within promised window |
| Quality % | custrecord_vs_quality | Percent | Yes | — | Lots accepted without quality holds |
| Fill Rate % | custrecord_vs_fillrate | Percent | Yes | — | Units shipped vs. units ordered |
| Price Competitiveness | custrecord_vs_pricecomp | Integer Number (1–10) | No | 5 | Rating vs. market benchmarks |
| Overall Score | custrecord_vs_overall | Decimal Number | Yes | — | Weighted composite (0–100) |
| Evaluator | custrecord_vs_evaluator | List/Record (Employee) | No | Current User | Person performing review |
| Notes | custrecord_vs_notes | Text Area | No | — | Qualitative commentary |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Customer | custrecord_rb_customer | List/Record (Customer) | Yes | — | Customer entity |
| Program | custrecord_rb_program | List (Program Types) | Yes | — | Rebate program name / code |
| Tier | custrecord_rb_tier | Free-Form Text | Yes | — | Program tier level (Bronze, Silver, Gold, etc.) |
| Qualifying Volume (lbs) | custrecord_rb_qualvol | Decimal Number | Yes | — | Minimum purchase volume to qualify |
| Rate ($/lb) | custrecord_rb_rate | Currency | Yes | — | Rebate rate per qualifying pound |
| Accrued Amount | custrecord_rb_accrued | Currency | Yes | 0.00 | Running total of earned rebate |
| Payout Date | custrecord_rb_payout | Date | Yes | — | Scheduled rebate disbursement date |
| Program Start | custrecord_rb_start | Date | Yes | — | Program effective start date |
| Program End | custrecord_rb_end | Date | Yes | — | Program expiration date |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Material Code | custrecord_ua_material | Free-Form Text | Yes | — | USDA material number (e.g., 110393) |
| Program | custrecord_ua_program | List (Program Types) | Yes | — | USDA program (TEFAP, CSFP, NSLP, etc.) |
| Allocated Lbs | custrecord_ua_allocated | Decimal Number | Yes | — | Total pounds allocated to GFS |
| Drawn Lbs | custrecord_ua_drawn | Decimal Number | Yes | 0 | Pounds drawn down via shipments |
| Remaining Lbs | custrecord_ua_remaining | Decimal Number (Formula) | Yes | — | Allocated minus drawn (auto-calc) |
| Bracket Rate | custrecord_ua_bracket | Currency | Yes | — | Price per lb for current bracket |
| Allocation Date | custrecord_ua_date | Date | Yes | — | Date allocation was received |
| Expiry Date | custrecord_ua_expiry | Date | No | — | Allocation expiration if applicable |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Item | custrecord_lt_item | List/Record (Item) | Yes | — | Inventory item |
| Lot Number | custrecord_lt_lot | Free-Form Text | Yes | — | GFS internal lot number |
| Vendor Lot | custrecord_lt_vendorlot | Free-Form Text | Yes | — | Supplier's lot identification |
| Receive Date | custrecord_lt_received | Date | Yes | — | Date received into GFS inventory |
| Expiry Date | custrecord_lt_expiry | Date | Yes | — | Product expiration / best-by date |
| Status | custrecord_lt_status | List (Active/Hold/Released/Expired/Recalled) | Yes | Active | Current disposition of the lot |
| Linked Transactions | custrecord_lt_txns | Multi-Select (Transaction) | No | — | Item receipts, fulfillments, transfers |
| COA Attached | custrecord_lt_coa | Checkbox | No | No | Certificate of Analysis on file |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Work Order | custrecord_pr_wo | List/Record (Work Order) | Yes | — | Parent work order transaction |
| Line | custrecord_pr_line | Free-Form Text | Yes | — | Production line identifier (Line 1, Line 2, etc.) |
| Start Time | custrecord_pr_start | Date/Time | Yes | — | Run start timestamp |
| End Time | custrecord_pr_end | Date/Time | No | — | Run end timestamp (blank if in progress) |
| Units Produced | custrecord_pr_units | Integer Number | Yes | 0 | Total units completed this run |
| Yield % | custrecord_pr_yield | Percent | No | — | Good units / total input |
| Waste (lbs) | custrecord_pr_waste | Decimal Number | No | 0 | Material waste in pounds |
| Operator | custrecord_pr_operator | List/Record (Employee) | Yes | — | Primary line operator |
| Downtime (min) | custrecord_pr_downtime | Integer Number | No | 0 | Total unplanned downtime minutes |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Entity Type | custrecord_cd_entitytype | List (Vendor/Customer/Facility/Item) | Yes | — | Type of entity this document belongs to |
| Entity | custrecord_cd_entity | Free-Form Text | Yes | — | Entity name or internal ID reference |
| Document Type | custrecord_cd_doctype | List (Compliance Doc Types) | Yes | — | COI, HACCP Plan, SQF Cert, FDA Registration, etc. |
| Issue Date | custrecord_cd_issued | Date | Yes | — | Date document was issued |
| Expiry Date | custrecord_cd_expiry | Date | Yes | — | Date document expires |
| Status | custrecord_cd_status | List (Current/Expiring/Expired/Pending) | Yes | Current | Auto-calculated from expiry date |
| File Attachment | custrecord_cd_file | Document | No | — | Uploaded PDF/image of the document |
| Certification Body | custrecord_cd_certbody | List (Certification Bodies) | No | — | Issuing authority or certifier |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Date | custrecord_dr_date | Date | Yes | Today | Route date |
| Truck | custrecord_dr_truck | Free-Form Text | Yes | — | Vehicle ID or license plate |
| Driver | custrecord_dr_driver | List/Record (Employee) | Yes | — | Assigned driver |
| Stops | custrecord_dr_stops | Integer Number | Yes | — | Total delivery stops on route |
| Departure Time | custrecord_dr_depart | Date/Time | Yes | — | Time truck left the facility |
| Return Time | custrecord_dr_return | Date/Time | No | — | Time truck returned (blank if en route) |
| Miles | custrecord_dr_miles | Decimal Number | No | — | Total route miles driven |
| Fuel (gal) | custrecord_dr_fuel | Decimal Number | No | — | Fuel consumed in gallons |
| Temp Readings | custrecord_dr_temps | Text Area | No | — | JSON array of trailer temp readings at each stop |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Vendor | custrecord_pb_vendor | List/Record (Vendor) | Yes | — | Supplier providing this pricing |
| Item | custrecord_pb_item | List/Record (Item) | Yes | — | Product this bracket applies to |
| Bracket # | custrecord_pb_num | Integer Number | Yes | — | Sequential bracket number (1, 2, 3...) |
| Min Lbs | custrecord_pb_minlbs | Decimal Number | Yes | — | Minimum pounds for this bracket |
| Max Lbs | custrecord_pb_maxlbs | Decimal Number | Yes | — | Maximum pounds for this bracket |
| Rate ($/lb) | custrecord_pb_rate | Currency | Yes | — | Price per pound at this volume tier |
| Effective Date | custrecord_pb_effective | Date | Yes | — | Date bracket pricing takes effect |
| CME Reference | custrecord_pb_cme | Free-Form Text | No | — | CME block/barrel reference if market-linked |
| Moisture Premium | custrecord_pb_moisture | Percent | No | — | Moisture premium bracket (e.g., 35%) |
| Field Name | Internal ID | Type | Req | Default | Description |
|---|---|---|---|---|---|
| Customer | custrecord_pe_customer | List/Record (Customer) | Yes | — | Enrolled customer entity |
| Program | custrecord_pe_program | List (Program Types) | Yes | — | Program name/type |
| Enrolled Date | custrecord_pe_enrolled | Date | Yes | — | Date customer was enrolled |
| Tier | custrecord_pe_tier | Free-Form Text | Yes | — | Current program tier |
| Volume Commitment (lbs) | custrecord_pe_commit | Decimal Number | Yes | — | Annual volume commitment in pounds |
| YTD Actual (lbs) | custrecord_pe_ytd | Decimal Number | Yes | 0 | Year-to-date actual purchases |
| Status | custrecord_pe_status | List (Active/Suspended/Completed/Cancelled) | Yes | Active | Current enrollment status |
| Renewal Date | custrecord_pe_renewal | Date | No | — | Next enrollment renewal date |
| Sales Rep | custrecord_pe_rep | List/Record (Employee) | No | — | Managing sales representative |
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.
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.
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.
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.
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.
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.
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.
custrecord_gfs_temp_log (record type)
custrecord_tl_facility (field)
custrecord_tl_zone (field)
customlist_gfs_temp_zones (list)
_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
INDEX: custrecord_tl_timestamp + custrecord_tl_facility
INDEX: custrecord_lt_item + custrecord_lt_lot
INDEX: custrecord_pb_vendor + custrecord_pb_item + custrecord_pb_effective
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)
// 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']
]
});
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)