Ramp · NetSuite Integration

Ramp Only Syncs Custom Line Fields from the Expenses Sublist — Not the Items Sublist

Custom transaction line fields on the Items sublist aren't imported by Ramp, can't be coded in the platform, and won't sync back to NetSuite — regardless of which transaction type they're applied to. Here's why, how to verify your configuration, and what to do about it.

SuiteCrunch June 10, 2026 5 min read
TL;DR Ramp only supports custom transaction line fields placed on the Expenses sublist in NetSuite. If your custom field lives on the Items sublist, Ramp will not import it, it won't appear for coding, and it will not sync — regardless of which transaction type it's applied to.

If you've built out custom transaction line fields in NetSuite and then connected Ramp, you may have hit a frustrating discovery: some of those fields never show up in Ramp for coding. The reason comes down to a specific boundary in Ramp's NetSuite integration — one that trips up even experienced NetSuite admins.

The Expenses Sublist vs. the Items Sublist

In NetSuite, many transaction records — including Bills, Credit Card Charges, and Vendor Bills — contain two distinct line-item sublists:

Expenses Sublist

Where users enter costs coded directly to a GL account. Each line includes Account, Amount, Department, Class, Location, Customer, and Memo. This is the standard home for operational spend: software, travel, meals, and services.

Items Sublist

Where inventory and non-inventory items are added by referencing an Item record from the NetSuite catalog. This sublist drives item-based purchasing — purchase orders, goods receipts, and product-based procurement. It has a distinct data structure and field set that is entirely separate from the Expenses sublist.

When a NetSuite administrator creates a Custom Transaction Line Field (at Customization › Lists, Records & Fields › Transaction Column Fields), they choose which transaction types and sublist contexts the field "Applies To." A field applied to expense items appears on the Expenses sublist. A field applied to purchase or sale items appears on the Items sublist. These are separate — and Ramp only reaches into one of them.

What Ramp Officially Supports

Per Ramp's own documentation, expense-level sync includes:

"Expense level fields: Account, department, class, location, customer, and Billable (Y/N) as well as any line level expense custom fields."

Ramp also states:

"Line level custom fields should be on the expense tab to be available."

That's the boundary. If your custom field doesn't appear on the expense tab — the Expenses sublist — Ramp will not detect it during sync, and it will not be available for coding or automation. This applies equally to custom transaction line fields and to custom segments configured as transaction line columns. For custom segments, Ramp additionally requires them to be visible on the Credit Card, Bill, and/or Bill Payment forms.

Why This Catches People Off Guard

PO-Backed Purchasing Fields

Teams using NetSuite purchase orders and 3-way match often build custom fields on the Items sublist to capture project codes, contract references, or approval tiers. These work perfectly in NetSuite's procurement workflow — but they fall entirely outside what Ramp can reach.

Broad "Applies To" Configurations

A custom transaction line field with a wide "Applies To" setup may appear on the Items sublist of a Bill but not have the expense context checked. Admins sometimes assume that because the field exists somewhere on the transaction, Ramp will detect it. It won't.

Migration from Middleware or CSV Workflows

If your organization previously used a third-party connector or CSV-based workflow that accessed the full transaction record, you may have relied on Items sublist data that Ramp's native integration does not support.

How to Check Which Sublist Your Custom Field Is On

  1. Go to Customization › Lists, Records & Fields › Transaction Column Fields
  2. Click into the custom field in question
  3. Navigate to the Applies To subtab
  4. Review which transaction types and sublist contexts are checked
  5. Confirm the field is applied to the expense context of Credit Card Transaction and/or Bill records, and is visible on those forms

If the field is only checked for item-based transaction types (Purchase Order, Item Receipt) and not for the expense context of bills or card transactions, Ramp will not pick it up.

What You Can Do

1. Reconfigure the field to include the Expenses sublist

Edit the field's "Applies To" configuration in NetSuite to include the expense context for Credit Card Transaction and Bill records. Once active and visible on those forms, Ramp will detect it on its next sync. The field must also meet Ramp's requirements:

  • Active in NetSuite
  • Visible on the Credit Card Transaction and/or Bill form
  • Configured to accept a single value from a custom list or record — Ramp does not support free-text or multi-select custom fields
2. Create a parallel Expenses sublist field

If the Items sublist field must remain as-is for other workflows, create a separate custom transaction line field scoped specifically to the Expenses sublist context. This gives Ramp a compatible field without disrupting existing purchasing processes.

3. Capture the data at the transaction body level

For information that doesn't need to vary line by line, a custom transaction body field on the Bill or Credit Card Charge record may be sufficient. Ramp syncs body-level custom fields and these are unaffected by the Expenses/Items sublist distinction.

4. Code directly in NetSuite after sync

For workflows where Items sublist data is inherently tied to inventory and doesn't map to Ramp's expense coding model, it may be appropriate to handle that coding in NetSuite after the transaction syncs from Ramp — rather than forcing it through Ramp's UI.

The bottom line: Ramp's NetSuite integration is scoped to the expense coding model. Custom transaction line fields on the Items sublist fall entirely outside that scope — they won't appear in Ramp, won't be available for pre-coding rules or card automation, and won't write back to NetSuite on sync. If you're configuring custom fields for use with Ramp, always verify the "Applies To" configuration in NetSuite and confirm the field is visible on the relevant Credit Card or Bill form before expecting it to appear in Ramp.

SuiteCrunch · Ramp + NetSuite

Running into a custom field sync issue between Ramp and NetSuite?

If a sync gap is creating close friction or a workaround your team has to maintain manually, it's worth a conversation. Tell us what you're dealing with and we'll follow up directly.

Goes directly to the SuiteCrunch team. We follow up personally.

Request received. We'll review the details and follow up shortly.
SuiteCrunch · Ramp + NetSuite Integration

Custom field sync issues are usually a sign the underlying setup needs a second look.

SuiteCrunch designs Ramp and NetSuite implementations where field mapping, form visibility, and sublist configuration are built correctly from the start — so you're not debugging sync gaps at close.