Custom Transaction Types: A Guide to Extending NetSuite

Custom Transaction Types: A Guide to Extending NetSuite

Custom Transaction Types: A Guide to Extending NetSuite

This guide provides a fact-checked and comprehensive overview of what custom transaction types are, when to use them, and how they differ from other customization tools like custom records.

This guide provides a fact-checked and comprehensive overview of what custom transaction types are, when to use them, and how they differ from other customization tools like custom records.

This guide provides a fact-checked and comprehensive overview of what custom transaction types are, when to use them, and how they differ from other customization tools like custom records.

8 min read

NetSuite provides a robust set of standard transaction types like Sales Orders, Invoices, and Vendor Bills. However, some businesses have unique processes that require a dedicated, GL-impacting transaction that doesn't fit a standard mold. For these situations, NetSuite offers Custom Transaction Types, a powerful feature that allows you to create your own posting transactions.

This guide provides a fact-checked and comprehensive overview of what custom transaction types are, when to use them, and how they differ from other customization tools like custom records.


What is a Custom Transaction Type?

A custom transaction type is a transaction that you create and define. Unlike a custom record, a custom transaction has a direct impact on the General Ledger (GL) and behaves like a standard NetSuite transaction. It can have its own numbering sequence, custom fields, and unique approval workflows.

When you create a custom transaction type, you model it after a standard transaction "style." For example, you can create a custom transaction that behaves like a Journal Entry, with a simple debit and credit structure, or one that behaves like a Vendor Bill, with a header and line items.


When to Use a Custom Transaction Type

The decision to create a custom transaction type is a significant one and should be made carefully. The key question to ask is: "Does this process need to have a direct, auditable impact on the General Ledger?"

Use a Custom Transaction Type When...

Use a Custom Record When...

You need to track financial data that must appear on financial statements.

You are tracking non-financial, operational, or logistical data.

The process has a direct debit/credit impact on GL accounts.

The process does not have a direct GL impact.

You need to link to other standard transactions (e.g., apply a payment).

You only need to link to an entity or item record.

You need to use transaction-specific features like tax codes or payment methods.

The data does not require transaction-specific features.


**Key Distinction:** Use a custom transaction type when you need a new type of *posting* entry. Use a custom record when you need a new type of *non-posting* data container.

Real-World Use Cases

  • Royalty Payments: A company that pays royalties to artists could create a "Royalty Accrual" custom transaction. This transaction could be generated monthly to debit a Royalty Expense account and credit a Royalties Payable liability account, creating a clear audit trail.

  • Intercompany Allocations: For complex intercompany accounting, a custom "Intercompany Allocation" transaction could be used to record the transfer of costs or revenues between subsidiaries, with its own approval process separate from standard journal entries.

  • Consignment Inventory: A business that deals with consignment inventory could use a custom transaction to track the movement of goods to a consignee, creating a non-posting entry that can be converted to a posting sales transaction later.


The Dynamic Power of Custom Transactions

Like standard transactions, custom transaction types are highly dynamic and can be tailored to your specific needs.

Custom Fields and Forms

You can add any number of custom body and column fields to your custom transaction type. You can also create multiple custom forms to control the user interface, making different fields visible, mandatory, or read-only for different user roles.

Workflows and Approvals

Custom transaction types can be fully integrated with SuiteFlow, NetSuite's workflow engine. This allows you to build sophisticated, multi-step approval processes, send email notifications, and automate follow-up actions, just as you would with a standard transaction.

Reporting and Search

Custom transaction types are fully searchable using NetSuite's saved search functionality. They can also be included in custom financial reports, allowing you to analyze the financial impact of your unique business processes.


How to Create a Custom Transaction Type

  1. Enable the Feature: Ensure "Custom Transactions" is enabled at Setup > Company > Enable Features > SuiteCloud.

  2. Navigate to Transaction Types: Go to Customization > Lists, Records, & Fields > Transaction Types > New.

  3. Define Primary Information: Give your transaction type a clear Name and ID, and select the Transaction Style (e.g., Journal, Basic) that best fits your needs.

  4. Configure Behavior: Use the subtabs to define numbering, permissions, and other settings.

  5. Add Custom Fields: After the type is created, you can add custom body and column fields to it just as you would with a standard transaction.

Creating a custom transaction type is a powerful way to handle unique, GL-impacting processes within NetSuite. By understanding their purpose and capabilities, you can extend the functionality of your ERP to meet even the most specific business requirements.

NetSuite provides a robust set of standard transaction types like Sales Orders, Invoices, and Vendor Bills. However, some businesses have unique processes that require a dedicated, GL-impacting transaction that doesn't fit a standard mold. For these situations, NetSuite offers Custom Transaction Types, a powerful feature that allows you to create your own posting transactions.

This guide provides a fact-checked and comprehensive overview of what custom transaction types are, when to use them, and how they differ from other customization tools like custom records.


What is a Custom Transaction Type?

A custom transaction type is a transaction that you create and define. Unlike a custom record, a custom transaction has a direct impact on the General Ledger (GL) and behaves like a standard NetSuite transaction. It can have its own numbering sequence, custom fields, and unique approval workflows.

When you create a custom transaction type, you model it after a standard transaction "style." For example, you can create a custom transaction that behaves like a Journal Entry, with a simple debit and credit structure, or one that behaves like a Vendor Bill, with a header and line items.


When to Use a Custom Transaction Type

The decision to create a custom transaction type is a significant one and should be made carefully. The key question to ask is: "Does this process need to have a direct, auditable impact on the General Ledger?"

Use a Custom Transaction Type When...

Use a Custom Record When...

You need to track financial data that must appear on financial statements.

You are tracking non-financial, operational, or logistical data.

The process has a direct debit/credit impact on GL accounts.

The process does not have a direct GL impact.

You need to link to other standard transactions (e.g., apply a payment).

You only need to link to an entity or item record.

You need to use transaction-specific features like tax codes or payment methods.

The data does not require transaction-specific features.


**Key Distinction:** Use a custom transaction type when you need a new type of *posting* entry. Use a custom record when you need a new type of *non-posting* data container.

Real-World Use Cases

  • Royalty Payments: A company that pays royalties to artists could create a "Royalty Accrual" custom transaction. This transaction could be generated monthly to debit a Royalty Expense account and credit a Royalties Payable liability account, creating a clear audit trail.

  • Intercompany Allocations: For complex intercompany accounting, a custom "Intercompany Allocation" transaction could be used to record the transfer of costs or revenues between subsidiaries, with its own approval process separate from standard journal entries.

  • Consignment Inventory: A business that deals with consignment inventory could use a custom transaction to track the movement of goods to a consignee, creating a non-posting entry that can be converted to a posting sales transaction later.


The Dynamic Power of Custom Transactions

Like standard transactions, custom transaction types are highly dynamic and can be tailored to your specific needs.

Custom Fields and Forms

You can add any number of custom body and column fields to your custom transaction type. You can also create multiple custom forms to control the user interface, making different fields visible, mandatory, or read-only for different user roles.

Workflows and Approvals

Custom transaction types can be fully integrated with SuiteFlow, NetSuite's workflow engine. This allows you to build sophisticated, multi-step approval processes, send email notifications, and automate follow-up actions, just as you would with a standard transaction.

Reporting and Search

Custom transaction types are fully searchable using NetSuite's saved search functionality. They can also be included in custom financial reports, allowing you to analyze the financial impact of your unique business processes.


How to Create a Custom Transaction Type

  1. Enable the Feature: Ensure "Custom Transactions" is enabled at Setup > Company > Enable Features > SuiteCloud.

  2. Navigate to Transaction Types: Go to Customization > Lists, Records, & Fields > Transaction Types > New.

  3. Define Primary Information: Give your transaction type a clear Name and ID, and select the Transaction Style (e.g., Journal, Basic) that best fits your needs.

  4. Configure Behavior: Use the subtabs to define numbering, permissions, and other settings.

  5. Add Custom Fields: After the type is created, you can add custom body and column fields to it just as you would with a standard transaction.

Creating a custom transaction type is a powerful way to handle unique, GL-impacting processes within NetSuite. By understanding their purpose and capabilities, you can extend the functionality of your ERP to meet even the most specific business requirements.

Ready to Work Together?

Ready to Work Together?

Ready to Work Together?

Let us talk about your NetSuite challenges and how we can help. No pressure, no sales pitch. Just a straightforward conversation.

Let us talk about your NetSuite challenges and how we can help. No pressure, no sales pitch. Just a straightforward conversation.

Author

Michael Strong

Michael Strong

Founder & Principal Architect

Founder & Principal Architect

Tags

Read More

Read More