CURIOUSRUBIK
Let’s talk about your next move ↗View complete sitemap
Back to the blog

NetSuite Custom Record Design for Operational Processes

Use a NetSuite custom record when a business needs to track a distinct entity or repeatable process that is not adequately represented by an existing standard record. Define its identity, lifecycle, relationships, permissions and retention before adding fields. A custom form can collect data quickly, but a useful operational record also needs clear rules for ownership and completion.

Start by deciding what one record represents. A supplier review, an inspection event and a checklist item have different grains. Confusing those grains leads to duplicate records, overwritten history and reports that count the wrong thing. The design should make everyday work and exception handling understandable without relying on the developer who created it.

Test the standard-record alternative first

Describe the required outcome and compare it with available standard records and features in the account. A task, support case, project record or existing transaction relationship may already provide useful ownership and lifecycle behavior.

Identify the exact gap. It might be a repeating review history linked to a supplier, several inspection results attached to one receipt, or a specialized exception queue. Add a custom record because that gap is real, not because creating a new table appears easier than understanding the existing process.

Keep financial effects in the appropriate transaction design. A custom operational record that says Approved or Paid does not by itself establish a posting, a payment or a statutory accounting result. Link it to the authoritative transaction and define which process creates that transaction.

Consider the ongoing cost: permissions, reporting, data quality, support, releases and eventual retirement. A small customization can still become business-critical if several teams depend on it.

Define identity and grain

Write a sentence beginning “One record represents…” and test it against normal and unusual cases. For example, one supplier review might represent one supplier, one review period and one policy version. A supplier undergoing two different reviews should not be forced into one row that repeatedly overwrites the latest result.

Choose a stable identifier and duplicate-prevention rule. The displayed name can be human-friendly, but integrations and reconciliation need a durable way to identify the same business event. Specify what happens when a request is resubmitted or a record is reopened.

Distinguish the record's owner from its subject. A supplier review belongs to an accountable employee or team while referring to a supplier. The supplier reference should not be used as a substitute for responsibility.

Define cardinality for each relationship. Can one transaction have several related records? Can a child move to another parent? What happens if the parent becomes inactive? These are operating decisions, not details to discover after reporting is built.

Design the lifecycle around decisions

Choose a small set of meaningful states. A review might move from Draft to Submitted, then to Accepted or Returned, and eventually to Superseded. Each state should explain what users may do and what evidence is required.

For each transition, identify the actor, prerequisites and consequential effect. Submission may require complete fields; acceptance may require an independent reviewer; supersession may preserve the earlier record while a new version becomes authoritative.

Avoid using a single checkbox for several meanings. “Complete” could mean data entered, review performed or downstream action finished. If those occur at different times, represent them clearly enough for users and reports to distinguish them.

Decide how exceptions are handled. A rejected record should have a reason and a next owner. A missing approver should create a visible hold rather than disappear from the queue. Reopening should preserve the earlier decision and the reason it changed.

Choose fields for decisions and evidence

Include a field only when someone can explain its purpose, source and use. Required fields should support a meaningful decision rather than merely make the form look comprehensive. Excessive required text encourages users to enter meaningless placeholders.

Separate current state from event history. A Latest Review Date can help navigation, but it should not replace the underlying review records if the business needs to reconstruct earlier decisions. Preserve the relationship between summary values and their supporting evidence.

Use controlled values where consistent reporting matters and free text where explanation is genuinely needed. Define how obsolete list values are handled and who can add new ones. A growing set of near-duplicate statuses makes a process difficult to manage.

Keep sensitive data out unless the purpose requires it and the approved access model supports it. Attachments also need a handling policy; moving a confidential file into a custom record does not remove its access and retention requirements.

Set permissions before inviting users

Custom record types have an explicit Access Type. Options include role-based entries permissions, a defined permission list and broad access for internal roles. The broad internal option is intended for non-sensitive data and should not be chosen merely to make testing convenient.

Owner access is a special consideration: the custom record type's owner has full access under the documented permission models. Test ordinary users separately from the owner and Administrator, or the access test may miss the restriction that matters.

Review external-role and unauthenticated-user settings where relevant. Keep them disabled unless the process has an explicitly approved external-access requirement and a tested design. Public form convenience is not a substitute for an information-sharing decision.

Where subsidiary, department or other record restrictions are required, configure the supported restriction mechanism and test it. A custom subsidiary field does not automatically establish the same access behavior as every standard NetSuite transaction.

Hypothetical example of a supplier review model

A fictional company needs quarterly reviews for 40 suppliers. It creates one review record per supplier per quarter, with separate child findings for each issue identified. Four quarters produce 160 review records if all 40 suppliers remain in scope throughout the year.

During one quarter, 12 reviews have no findings, 20 have one finding each and eight have three findings each. The result is 40 reviews and 44 findings: 20 + 8 × 3 = 44. A report that counts joined review rows without respecting grain can mistakenly report 56 review occurrences by including the 12 zero-finding reviews alongside the 44 finding rows.

The design therefore reports review completion at review-record grain and open issues at finding-record grain. Each finding has its own owner and resolution evidence. Closing the parent review does not automatically erase unresolved findings unless the approved process explicitly requires that behavior.

The example shows why parent-child design and report definitions belong in the initial specification, rather than being added after users have created months of data.

Make the record usable in daily work

Provide a clear entry point for the intended roles. Users should be able to find their assigned work, open the relevant parent record and understand what action comes next. A custom record that is technically available but buried in an unfamiliar menu will encourage parallel spreadsheets.

Create focused lists and searches around the lifecycle: drafts awaiting completion, submitted records awaiting review and overdue unresolved findings. Explain the date basis and ownership rules for each queue.

Test import and integration routes if they are part of the process. The same validation and identity requirements should be exercised through the actual channel, with clear handling of duplicate submissions and invalid references.

Use a short operating guide with one ordinary example and one exception. The guide should explain the business decision, not merely identify every field on the form.

Plan retention and change ownership

Define how long records and attachments must remain available, who can authorize deletion and how historical decisions remain interpretable. Apply the organization's retention requirements and obtain specialist advice where the content or jurisdiction requires it.

Record the maintained source, technical owner, process owner and regression cases. Changes to states, fields or relationships should include report and integration review. A new status value can alter queue completeness even when no code fails.

For a proposed custom process, CuriousRubik's NetSuite support services can help assess the standard-record alternative and the smallest maintainable extension. A good design makes the record's meaning, authority and lifecycle clear to everyone who uses its output.

Frequently asked questions

When is a custom record preferable to a custom field?

Use a separate record when the business needs multiple related events, an independent lifecycle or its own ownership and evidence. A single field is better suited to one attribute of an existing record.

Does adding a subsidiary field automatically restrict access?

No. Configure the supported permission and restriction design, then test the intended role and records. A classification field alone is not proof of an enforced access boundary.

Can the custom record type owner validate ordinary user access?

Not by testing only their own session. Owner access is special, so use representative non-owner roles for allowed and denied cases.

Why separate review records from individual findings?

They represent different units of work. Separate records preserve one review's identity while allowing several findings to have independent owners, statuses and resolution evidence.

Does an approved custom record create an accounting entry?

Not by itself. Any financial effect needs an explicitly designed, supported transaction process and verification of the authoritative posting result.

What’s on your mind?

A little context is all it takes to begin.

Please leave out passwords, payment details and confidential account data.