SuiteTax
NetSuite Unknown
2026-07-25

SuiteTax Now Auto-Generates Adjustment Transactions for Term Discounts

SuiteTax can now automatically create credit memos or bill credits when a payment qualifies for a term discount, including tax adjustments at the nexus level. Requires enabling two accounting preferences and keeping a system-generated Other Charge item active.

Affects:SuiteTaxAccounting PreferencesCredit MemoBill CreditOther Charge ItemPayment Terms

What changed

SuiteTax introduces automatic handling of term discounts and their associated tax adjustments on both sales and purchase transactions. Two new preferences control the behavior:

  • Create Adjustment Transactions for Term Discounts — an accounting preference under Setup > Accounting > Accounting Preferences > Items/Transactions > Other Transaction Preferences. Enabling this causes the system to generate a hidden Other Charge item named Term Discount and to create adjustment transactions automatically when payments qualify for term discounts.
  • Include Tax When Calculating Term Discount — a nexus-level preference. When enabled, the discount percentage applies to the tax-inclusive total (subtotal + tax) rather than the subtotal alone.

Adjustment transaction behavior

  • Sales transactions: the system creates a credit memo linked to the original invoice and payment.
  • Purchase transactions: the system creates a bill credit linked to the original vendor bill and payment.

These adjustment transactions are system-generated and immutable — they cannot be edited or deleted manually. They are linked to both the original transaction and the payment record.

Example

Invoice subtotal: $1,000. Tax: $50. Term discount: 10%.

  • With nexus preference enabled: discount = 10% of $1,050 = $105. Payment due = $945.
  • Without nexus preference: discount = 10% of $1,000 = $100. Payment due = $950.

The Term Discount item

Enabling the accounting preference auto-creates an Other Charge item called Term Discount. Key caveats:

  • This item must remain active. If it is deleted or inactivated, adjustment transactions will silently stop being created.
  • If deleted, the recovery procedure is: disable the accounting preference, then re-enable it. The item will be recreated.
  • Changing Default Expense Account or Default Income Account at the accounting-preferences level does not retroactively update existing transactions or the Term Discount item. You must update the item's accounts manually.

What to do

  1. Navigate to Setup > Accounting > Accounting Preferences > Items/Transactions and enable Create Adjustment Transactions for Term Discounts.
  2. Before enabling, set the Default Expense Account and Default Income Account so the Term Discount item is created with the correct GL mapping.
  3. If you want discounts calculated on the tax-inclusive amount, enable Include Tax When Calculating Term Discount at the nexus level.
  4. Verify that any custom roles involved in recording payments have edit-level access to the Tax Details tab and permission to create adjustment transactions.
  5. After enabling, confirm the Term Discount Other Charge item was created. If it was not, disable and re-enable the preference.
  6. Do not delete or inactivate the Term Discount item. If integrations or scripts manage item lists, add a safeguard to skip this system item.
  7. If you later change default accounts at the preference level, manually update the accounts on the Term Discount item record and review any previously posted adjustment transactions.

Integration and scripting notes

The source does not specify SuiteScript module behavior, REST/SOAP endpoint changes, or whether the system-generated adjustment transactions fire standard beforeSubmit/afterSubmit User Event triggers. If you have User Event scripts deployed on credit memos or bill credits, test whether they fire on these system-generated records — unexpected script execution (or lack thereof) could affect downstream workflows. Oracle's documentation is silent on this point, so verify in a sandbox.

Similarly, the immutability constraint (no edit/delete) likely means that record.delete and record.submitFields calls against these adjustment records will throw errors. Integrations that sync credit memos or bill credits to external systems should account for these new system-generated records appearing automatically.