NetSuite's accounts receivable module includes native dunning functionality that lets finance teams schedule payment reminders, escalate overdue notices, and maintain an audit trail without leaving the ERP. For teams managing hundreds or thousands of overdue invoices, this is table stakes. Automating dunning letters in NetSuite replaces the manual saved-search-and-send cycle that consumes collector time every week.
But dunning automation in NetSuite solves one side of the collections problem: the outbound side. It sends the emails. What it does not do, and was never built to do, is handle what happens when customers reply.
Every dunning letter is an invitation to respond. Customers reply with disputes, payment queries, requests for invoice copies, promises to pay, and questions about pricing discrepancies. Those replies land in a shared inbox like collections@company.com, unstructured and unclassified. NetSuite does not read them, categorise them, pause dunning based on them, or route them. That work falls entirely on the AR team, manually, one email at a time.
According to NetSuite's own 2025 documentation on accounts receivable best practices, the platform recommends combining automated dunning with manual follow-up processes for complex customer interactions (Oracle NetSuite, "Accounts Receivable Best Practices," 2025). This reflects a known architectural boundary: NetSuite dunning handles outbound communication, not inbound conversation management.
This article covers how to set up and automate dunning in NetSuite properly, what best practices to follow, where the dunning process falls short, what alternatives exist, and how AI agents close the gap between sending a payment reminder and actually collecting the cash.
What Is Dunning in NetSuite?
Dunning is the process of sending structured, escalating communications to customers about overdue invoices and past-due balances. In NetSuite, dunning is implemented through a combination of saved searches, email templates, and scheduled workflows that automatically send payment reminders based on invoice ageing.
NetSuite's approach to dunning is rules-based. You define the conditions (which invoices, how overdue, which customers), map them to templates, and schedule the send. The system executes predictably and logs every communication. There is no interpretation, no contextual awareness, and no response handling. It is automation in the traditional sense: if X, then send Y.
A standard NetSuite dunning procedure follows a staged escalation tied to how many days an invoice is past due:
Dunning Stage | Timing | Typical Tone | Typical Sender |
|---|
Pre-due reminder | 3 to 5 days before due date | Informational: "Your invoice is coming due" | Billing / AR |
First notice | 1 to 7 days past due | Friendly: "This may have been overlooked" | Billing / AR |
Second notice | 15 to 30 days past due | Firm: "Payment is now overdue, please action" | AR / Collections |
Third notice | 31 to 60 days past due | Escalated: "Immediate action required" | Credit Controller / Collections Lead |
Final notice | 60 to 90+ days past due | Formal: "Account action pending" | Controller / Finance Director |
NetSuite handles the outbound execution of this sequence: matching invoices to ageing buckets, selecting the correct template, sending the email, and logging the communication against the customer record.
Oracle's NetSuite SuiteAnswers documentation (2025) describes dunning as a collections communication tool, not a collections workflow tool. The distinction matters. Dunning in NetSuite is a notification mechanism. The workflow that follows, including handling replies, resolving disputes, and tracking commitments, is left to the AR team.
How to Automate Dunning Letters in NetSuite: Step-by-Step
Configuring dunning in NetSuite requires working across saved searches, email templates, dunning procedures, and scheduled scripts. Below is the configuration process as a NetSuite administrator or AR systems lead would implement it.
Step 1: Define Your Ageing Buckets with Saved Searches
Dunning starts with segmentation. You need saved searches that identify which invoices are overdue and by how many days.
Create a saved search on the Transaction record type with the following criteria:
Type is Invoice
Status is Open
Days Overdue is greater than 0 (or use formula fields for custom ageing: {daysoverdue})
Subsidiary filter if operating across multiple entities
Customer category or terms filters to exclude customers on specific payment terms or credit hold
Build separate saved searches for each ageing bucket (1 to 15 days, 16 to 30, 31 to 60, 61 to 90, 90+), or use a single search with formula-based columns that classify invoices into buckets dynamically:
WHEN {daysoverdue} BETWEEN 1 AND 15 THEN 'Bucket 1'
WHEN {daysoverdue} BETWEEN 16 AND 30 THEN 'Bucket 2'
WHEN {daysoverdue} BETWEEN 31 AND 60 THEN 'Bucket 3'
WHEN {daysoverdue} BETWEEN 61 AND 90 THEN 'Bucket 4'
WHEN {daysoverdue} > 90 THEN 'Bucket 5'
Add filters to exclude invoices that should not trigger dunning: invoices under dispute, invoices with unapplied payments pending cash application, or invoices on accounts already flagged for credit hold.
Step 2: Build Dunning Email Templates
Navigate to Documents > Templates > Email Templates and create a template for each dunning stage. Use merge fields to personalise each dunning letter:
{customer.companyname} for the customer name
{transaction.tranid} for the invoice number
{transaction.total} for the invoice amount
{transaction.duedate} for the due date
{transaction.daysoverdue} for days past due
A first-notice NetSuite dunning template might read:
Dear {customer.companyname},
Our records show that invoice {transaction.tranid} for {transaction.total}, due on {transaction.duedate}, is now {transaction.daysoverdue} days past due.
If payment has already been sent, please disregard this notice and share remittance details for our records. Otherwise, we kindly request payment at your earliest convenience.
Escalate the tone, the call to action, and the sender name with each subsequent template. Final-stage templates should reference specific consequences: credit hold, suspension of supply, or referral to external collections.
Step 3: Configure Dunning Procedures
In NetSuite, dunning procedures define which templates are sent at which intervals. Navigate to Setup > Accounting > Dunning (if using NetSuite's native Dunning Letters feature) or configure via SuiteFlow or SuiteScript if building custom logic.
Native Dunning Letters (available in certain NetSuite editions):
Define dunning levels (Level 1 through Level 5+)
Assign an email template to each level
Set the number of days overdue that triggers each level
Assign a minimum overdue amount threshold
Configure whether to send per invoice or per customer (consolidated statement)
Custom dunning via SuiteScript or SuiteFlow:
Many AR teams outgrow native dunning quickly and build custom scheduled scripts. A typical approach:
A Scheduled Script runs daily (or on your preferred cadence)
It executes the saved search to identify overdue invoices
For each result, it evaluates the ageing bucket and selects the corresponding template
It calls nlapiSendEmail() (SuiteScript 1.0) or N/email.send() (SuiteScript 2.x) to send the dunning email
It logs the communication against the customer record or creates a custom dunning log record for audit
Custom scripts give you more control over logic. For example, suppressing dunning for customers with open credits, grouping invoices into a single consolidated reminder per customer, or routing different subsidiaries through different dunning tracks.
Step 4: Assign Dunning Procedures to Customers
Dunning procedures can be assigned at the customer level or inherited from customer category defaults. On the customer record, set the Dunning Procedure field to the relevant procedure. This controls which escalation track that customer follows.
Consider assigning different procedures for:
Strategic or enterprise accounts with longer intervals, softer tone, and earlier human escalation
SMB or transactional accounts with shorter intervals and standard escalation
High-risk accounts with accelerated escalation and credit hold triggers
New customers with gentler first notices and detailed payment instructions
Step 5: Schedule and Monitor
Schedule your dunning script or workflow to run at the cadence your AR policy requires. Daily execution is standard for high-volume operations. Monitor execution through:
Script execution logs for errors or send failures
Dunning history on the customer record to confirm letters were sent
Saved searches on dunning log records to report on volume, ageing distribution, and escalation stage
Review dunning performance monthly: how many invoices were dunned at each stage, what percentage resulted in payment within 7 days of notice, and where invoices are stalling in the escalation sequence.
NetSuite Dunning Best Practices for Automated Dunning Letters
Automating dunning letters in NetSuite is straightforward. Making the dunning process effective requires discipline around segmentation, template management, and escalation logic.
Segment Before You Send
Not every overdue invoice should receive the same dunning letter on the same schedule. Segment by:
Invoice value: High-value invoices may warrant a phone call before or alongside the first dunning email
Customer relationship: Strategic accounts need different handling than transactional ones
Payment history: Habitual late payers can enter a faster escalation track
Dispute status: Never dun an invoice that is actively under dispute. It damages the relationship and is operationally wasteful
Subsidiary and region: Different entities may have different credit policies, legal requirements, or language needs
Escalate Tone, Not Just Frequency
Each dunning stage should change in substance, not just timing. The first notice is informational. The second requests action. The third introduces consequences. The final notice states them. If every dunning email reads the same way with a different date, customers learn to ignore them.
Consolidate Per Customer, Not Per Invoice
A customer with eight overdue invoices should not receive eight separate emails on the same day. Consolidate into a single statement-style dunning letter listing all outstanding items. This is more professional, easier for the customer to action, and reduces the volume of inbound replies.
Suppress Dunning for Active Disputes and Unapplied Payments
Build exclusion logic into your saved searches. If an invoice has a dispute tag, an open credit note, or an unapplied payment pending cash application, it should be excluded from the dunning run. Dunning a customer for an amount they have already paid, or are actively disputing, is the fastest way to erode trust and trigger unnecessary inbound queries.
Log Everything
Every dunning letter sent should be recorded against the customer record with a timestamp, the template used, and the invoices referenced. This audit trail is essential for credit management decisions, for handoff to external collections, and for resolving disputes about whether the customer was notified.
Review and Iterate Monthly
Dunning is not set-and-forget. Review monthly: which templates generate the highest payment response rates, where invoices are stalling in the escalation sequence, and whether your ageing bucket thresholds are correctly calibrated. Adjust intervals, wording, and escalation triggers based on actual payment behaviour.
Best Practice | Why It Matters | NetSuite Implementation |
|---|
Segment by risk and value | Prevents one-size-fits-all dunning that alienates good customers | Multiple saved searches or formula-based bucket logic |
Escalate tone at each stage | Increases urgency and payment response rates over time | Separate templates per dunning level with distinct wording |
Consolidate per customer | Reduces email volume and is easier for customers to reconcile | SuiteScript grouping logic or native consolidated dunning |
Suppress disputed invoices | Avoids damaging the customer relationship and wasting AR time | Saved search filters excluding dispute-tagged transactions |
Log all communications | Creates audit trail for credit decisions and collections referrals | Dunning log custom record or native communication logging |
Monthly performance review | Identifies stalled escalations and underperforming templates | Saved search reporting on dunning log data |
Benefits of Using NetSuite Dunning
NetSuite's native dunning capability delivers clear operational value for AR teams already running their AR ledger in NetSuite:
Benefit | Impact |
|---|
Eliminates manual reminder sending | Collectors no longer spend hours each week composing and sending payment reminders individually |
Enforces consistent AR policy | Every customer follows the same escalation procedure. No invoices fall through the cracks due to collector workload |
Creates an auditable communication trail | Every dunning letter is logged, supporting credit decisions, dispute resolution, and external collections referrals |
Scales with invoice volume | Whether you have 500 or 50,000 overdue invoices, the dunning process runs the same way |
Reduces time to first contact | Overdue invoices are flagged and actioned automatically on the day they qualify, not when a collector gets to them |
No middleware or data sync required | Dunning logic reads directly from the NetSuite AR ledger: invoice status, customer terms, and ageing data |
Supports multi-subsidiary operations | Dunning procedures can be configured per subsidiary with different templates, schedules, and escalation rules |
For any AR team running collections out of NetSuite, automating dunning letters is a foundational step. It is necessary. It is not sufficient.
Where NetSuite Dunning Falls Short
NetSuite dunning automates the send. It does not automate anything that happens after the send. For AR teams operating at scale, the post-send workload is where the real bottleneck lives.
No Inbound Reply Handling
When a customer replies to a dunning email ("We already paid this," "There's a pricing issue," "Can you resend the invoice?") that reply lands in the shared inbox. NetSuite does not read it, classify it, or take any action based on it. The dunning sequence continues regardless of what the customer said. A customer who replied with a valid dispute three days ago receives the next escalation notice as if they had said nothing.
No Invoice Query Management
Dunning letters trigger invoice queries. Customers respond asking for copies of invoices, PO number corrections, credit note confirmations, and statement reconciliations. These queries block payment: the customer cannot or will not pay until the query is resolved. NetSuite has no mechanism to handle these. Each one requires a human to read the email, look up the data, compose a response, and send it. At scale, this is a full-time job for multiple people.
No Dispute or Deduction Capture
When a customer raises a dispute or reports a short payment in response to a dunning email, that information needs to be captured, tagged, and routed to the right person for resolution. NetSuite's dunning process has no awareness of disputes. Without manual intervention, disputed invoices continue to be dunned, and dispute details are buried in email threads rather than logged in the AR ledger.
No Conversation Context
NetSuite dunning is stateless. Each email is an independent event. There is no awareness of prior conversations, previous queries on the same invoice, or commitments the customer has made. When a collector picks up a dunning thread to follow up manually, they start from scratch: reading through the email chain, checking the customer record, and trying to reconstruct what has already been discussed.
Templates, Not Personalised Communication
NetSuite dunning emails are template-driven with merge fields. They are not personalised to the customer's specific situation, payment behaviour, or relationship context. A customer who pays on time 95% of the year and has one invoice overdue by three days receives the same template as a chronically delinquent account. This is functional, but it is not effective credit control.
Oracle NetSuite's 2025 guide to improving collections effectiveness acknowledges that "automated reminders are most effective when combined with personalised follow-up and timely resolution of billing inquiries" (Oracle NetSuite, "How to Improve Collections," 2025). The platform itself recognises that dunning alone does not close the loop.
Capability | NetSuite Dunning | What AR Teams Actually Need |
|---|
Send scheduled payment reminders | Yes | Yes |
Escalate based on ageing | Yes | Yes |
Read and classify customer replies | No | Yes |
Pause dunning when customer responds | No | Yes |
Handle invoice copy, PO, and statement requests | No | Yes |
Capture disputes and deductions from replies | No | Yes |
Track promises to pay and follow up automatically | No | Yes |
Maintain conversation context across emails | No | Yes |
Personalise messaging based on customer behaviour | No | Yes |
Provide 24/7 coverage across time zones | No | Yes |
Alternatives to NetSuite Dunning: Pre-AI Payment Reminder Platforms
Before AI agents entered the AR space, a generation of SaaS platforms emerged to improve on ERP-native dunning. Platforms like Kolleno, Upflow, Chaser, and Gaviti integrate with NetSuite (and other ERPs) to provide more flexible payment reminder workflows, better dashboards, and CRM-style visibility into the collections process.
These platforms improve on NetSuite dunning in meaningful ways:
More flexible workflow builders with drag-and-drop escalation sequences rather than saved-search logic
Better templating with richer formatting, conditional content blocks, and multi-language support
CRM integration to sync with Salesforce or HubSpot and give collectors account context
Dashboards and analytics with real-time visibility into ageing, collector activity, and payment trends
Customer portals for self-serve payment pages and invoice access
For AR teams that have outgrown NetSuite's native dunning but are not yet ready for AI-native collections, these platforms are a meaningful step forward on the outbound side.
But they share the same fundamental limitation as NetSuite dunning: they automate the payment reminder. They do not automate what happens after the customer replies.
The payment reminder, whether sent by NetSuite or by a third-party platform, is only the first message in a conversation. The customer replies. They have a query. They raise a dispute. They promise to pay by Friday. They ask for a statement. That conversation is where cash actually gets collected, and none of these platforms automate it.
Capability | NetSuite Dunning | Kolleno / Upflow / Chaser / Gaviti | What AR Teams Need |
|---|
Outbound payment reminders | Yes, rules-based and template-driven | Yes, more flexible workflows and better templates | Yes |
Multi-channel outreach (email, SMS, portal) | Email only | Yes, multi-channel | Yes |
Customer payment portal | No | Yes | Yes |
Collections dashboards and analytics | Limited, via saved searches | Yes, purpose-built | Yes |
CRM integration | No | Yes (varies by platform) | Yes |
Inbound reply handling | No | No | Yes |
Invoice query resolution | No | No | Yes |
Dispute and deduction capture | No | No | Yes |
Conversation thread context | No | No | Yes |
AI-personalised messaging | No | No | Yes |
Promise-to-pay tracking and follow-up | No | Limited, manual logging | Yes |
24/7 automated response coverage | No | No | Yes |
According to Gartner's 2024 research on finance automation, organisations that automate only outbound collections communications without addressing inbound query resolution see limited improvement in DSO, because the bottleneck shifts from sending reminders to handling replies (Gartner, "Predicts 2024: Finance Transformation Accelerates With AI," 2024). EY's 2023 report on order-to-cash transformation similarly identifies invoice dispute resolution and inbound query handling as the primary drivers of DSO inflation in B2B enterprises, not a lack of outbound reminders (EY, "How CFOs Can Unlock Working Capital Through Order-to-Cash Transformation," 2023).
How Paraglide Works with NetSuite: AI Agents for the Full Collections Conversation
Paraglide is an AI-native accounts receivable platform that connects to NetSuite via a machine-to-machine (M2M) integration. It does not replace NetSuite's AR ledger or accounting controls. It operates as an automation layer on top of NetSuite, handling the two-way communications and workflow execution that NetSuite's dunning process does not cover.
Machine-to-Machine Integration with NetSuite
Paraglide connects directly to NetSuite's API to read and sync the data it needs to operate. The M2M connection means there is no manual CSV upload, no middleware platform, and no data duplication risk. Paraglide's agents always reference the current state of the AR ledger when responding to customer queries or managing collections conversations.
Data Object | Sync Direction | Purpose |
|---|
Invoices | NetSuite to Paraglide | Invoice status, amounts, due dates, ageing, line-item detail for query resolution |
Customers | NetSuite to Paraglide | Account information, billing contacts, credit terms, customer segmentation |
Contacts | NetSuite to Paraglide | Billing and AR contact details for communication routing |
Payments | NetSuite to Paraglide | Payment receipts, unapplied payments, partial payments for cash application context |
Credit notes | NetSuite to Paraglide | Open credits, applied credits, credit note queries |
NetSuite remains the system of record for all accounting data, credit management decisions, and compliance controls. Paraglide reads from it. It does not write back to the AR ledger or alter NetSuite's accounting logic.
How Paraglide's AI Agents Extend NetSuite Dunning
NetSuite handles outbound dunning. Paraglide handles everything that follows.
The Billing Support Agent operates in the finance inbox. When a customer replies to a dunning letter, or sends any billing query, the agent reads the email, identifies the query type, retrieves the relevant data from NetSuite, reads the full conversation thread, and responds. Invoice copy requests, PO number queries, payment confirmations, and statement requests are resolved automatically. Disputes, deductions, and complex multi-issue queries are routed to the AR team with full context and a draft response.
The Collections Agent manages the outbound collections conversation with AI-personalised messaging. Not templates with merge fields, but communications tailored to the customer's specific situation, payment history, and account context. When a customer promises to pay, the agent logs the commitment, monitors for payment, and follows up automatically if the promise is missed.
Dunning Stage | NetSuite's Role | Paraglide's Role |
|---|
Invoice issued and tracked | Source of truth for invoice data | Reads invoice data via M2M sync |
Payment reminder sent | Dunning letter triggered by ageing | Collections Agent sends AI-personalised follow-ups |
Customer replies with a query | No inbound handling | Billing Support Agent reads, classifies, and responds |
Customer raises a dispute | No dispute capture | Agent captures dispute, logs in workflow, routes to AR specialist |
Customer promises to pay | No PTP tracking | Agent logs PTP with date, monitors, and follows up |
Query blocks payment | Dunning continues regardless | Agent resolves query, dunning pauses or resumes based on status |
Payment received | Payment posted to AR ledger | Agent confirms receipt to customer, closes conversation |
What This Means for the AR Team
The AR team is no longer spending the majority of its time answering billing emails. Standard queries (invoice copy requests, payment confirmations, statement reconciliations) that consume hours every week are handled automatically, 24/7, across time zones. Complex cases (disputes above a value threshold, escalated customer issues, credit decisions) are routed to the right specialist with all the context already assembled: the customer's query, the account history, the conversation thread, and a draft response.
Paraglide customers reduce DSO by an average of 34%. That reduction is not driven by sending more reminders. It is driven by resolving the queries, disputes, and follow-ups that block payment: the inbound work that NetSuite dunning and pre-AI reminder platforms leave entirely to the AR team.
Conclusion
NetSuite dunning is a solid foundation for outbound collections automation. It sends payment reminders reliably, enforces escalation policy, scales with invoice volume, and creates an auditable trail. Every AR team running collections out of NetSuite should have it configured properly.
But the dunning letter is the start of the collections conversation, not the end. Customers reply. They raise queries, disputes, and documentation requests. They promise to pay and then miss the date. That inbound, conversational workload, the work that actually determines when cash arrives, is not addressed by NetSuite dunning, by pre-AI reminder platforms, or by any amount of template optimisation.
AI agents built for the finance inbox close that gap. They read the replies, access the live AR data, resolve the routine queries, and route the complex ones, continuously, across time zones, at scale. Paraglide is the only AI-native AR platform built to handle both sides of the collections conversation, working alongside NetSuite as the system of record.