An End of Month (EOM) term is a type of payment term that sets the due date of a transaction to the last day of the month in which the payment is due—regardless of the invoice date. 

Examples of End of Month Terms 

Term 
Description 
Invoice Date 
Due Date 
EOM 
Payment is due on the last day of the same month 
10-Apr-2025 
30-Apr-2025 
EOM + 1 Month / Net 30 EOM 
Payment is due on the last day of the following month 
10-Apr-2025 
31-May-2025 
15th of Next Month / Net 15 
Payment due on the 15th of the following month 
10-Apr-2025 
15-May-2025 
15th of Second Month / Net 45 
Payment due on the 15th of the second month after invoice date 
10-Apr-2025 
15-Jun-2025 

In NetSuite 

Out of the box, NetSuite includes standard terms like Net 30, Net 60, etc. But true EOM logic (especially EOM + 1 or EOM + fixed day like 15th) often requires: 
- A custom payment term, and 
- A workflow or script to calculate and set the correct due date. 
 
This blog post focuses on how to achieve EOM-style terms using Workflows only—no scripting needed! 

Why Use Workflows? 

Using workflows to set due dates based on these terms means you can: 
- Automate due date logic without SuiteScript 
- Maintain consistent rules across transactions 
- Easily maintain or update formulas 

Step-by-Step: Setting EOM Terms in NetSuite Workflows 

Step 1: Create a Dummy Payment Term 

1. Go to Setup > Accounting > Accounting Lists > New 
2. Select Payment Term 
3. Create a name like "EOM + 1 Month" or "Net 45 EOM" 
4. Save 

Step 2: Build the Workflow 

1. Go to Customization > Workflow > Workflows > New 
2. Configure: 
- Name: Custom Due Date: EOM Terms 
- Record Type: Transaction 
- Sub-Type: Invoice 
- Initiation: Event Based 
- Trigger Type: Before Record Submit or After Record Submit 
- Event Type: Create and Edit 

Step 3: Add a State and Action 

1. Create a state in the workflow diagram 
2. Add a Set Field Value action: 
- Field to Set: Due Date 
- Value Type: Formula 
For EOM + 1 Month: 
LAST_DAY(ADD_MONTHS({trandate}, 1)) 
For Net 45 EOM (15th of 2nd Month): 
TO_DATE(TO_CHAR(ADD_MONTHS(LAST_DAY({trandate}), 1), 'YYYY-MM') || '-15', 'YYYY-MM-DD') 

Step 4: Add a Condition 

Use a formula condition so the workflow only sets the due date if the dummy payment term is selected: 
{terms} = 'EOM + 1 Month' 
(Replace with the exact name of your dummy payment term) 

Example 

Invoice Date 
Term 
Due Date 
10-Apr-2025 
EOM + 1 Month 
31-May-2025 
05-Mar-2025 
Net 45 EOM 
15-May-2025 

Benefits of This Approach 

- No code required 
- Easily maintainable by admins 
- Highly adaptable to different business rules 

Pro Tips 

- Add logging via workflow actions if you're testing new formulas 
- Use different states for each custom term if you're managing multiple in one workflow 
- Don’t forget to set the workflow to Released and Applies To relevant forms 

Final Thoughts 

If your business requires EOM-style terms but you want to avoid SuiteScript complexity, workflows are a clean, scalable solution. With just a few formula tweaks and smart conditions, NetSuite can calculate your due dates automatically. 
 
Need help with more complex logic or multi-condition workflows? Feel free to reach out or connect on LinkedIn
Share this post:

Leave a comment: