Payments

Payment Sync to NetSuite MonetizeNow Docs
NetSuite Integration

Syncing Payments to NetSuite

Three things have to be true before a payment reaches NetSuite. Miss any one and the sync either skips or lands incomplete.

Layer 1
Status must be SUCCESS
Layer 2
Payment must be applied to an invoice
Layer 3
NetSuite customer + invoice must already exist

Payment Status Controls What Syncs

StatusWhat it meansNetSuite
SUCCESSCollected and finalEligible if application and dependencies are met
PROCESSINGInitiated, not settledNot synced. Not an error, just not final
FAILEDCollection attempt failedNo sync. Invoice application is also reversed in MN
CANCELEDVoided before settlementNo sync. Any invoice application is unwound
REFUNDEDCollected then returnedSeparate refund event, not an active payment sync
Common Misconception

Payment visible in MN + nothing in NetSuite does not equal sync failure. If status is PROCESSING, the system is working correctly.

Application Is What Creates the Accounting Record

Status gets a payment to the door. Application is what it attaches to. A SUCCESS payment with no invoice application gives NetSuite nothing to allocate against.

// MN clean state
Payment $1,000 SUCCESS
Applied to INV-2041 $1,000
Unapplied $0
 
// NetSuite
Payment synced + allocated to INV-2041

MN auto-applies FIFO, oldest unpaid invoice first. The payment is correctly applied, just not necessarily to the invoice you were looking at.

// 3 open invoices, $1,000 payment
INV-1038 $300 fully closed
INV-1041 $400 fully closed
INV-1044 $500 $300 applied, $200 open
Before You Escalate

Check the payment's allocation detail in MN, not the invoice. NetSuite reflects exactly what MN applied.

// Payment exists, nothing to attach to
Payment $1,000 SUCCESS
Applied to none
Unapplied $1,000
 
// NetSuite
Invoice balance unchanged

Why It's Not in NetSuite

SituationWhat's happening
Status is PROCESSINGNot final yet. Wait, don't retry.
Status moved to FAILED or CANCELEDInvoice application was unwound. Nothing to sync.
SUCCESS but no invoice applicationPayment is real. It just has nowhere to land in NetSuite.
Missing dependencyEffect
Account not linked to a NetSuite customerSync can't build the payment header. Nothing goes through.
Invoice not yet in NetSuiteMost common root cause. MN needs a NetSuite invoice ID to allocate against. Not just that the invoice synced, but that the association record was written.
Note

If the invoice association was written after the payment sync already ran, the payment won't auto-retry. Re-trigger it once the association exists.

ScenarioWhat to do
Payment created before invoice existedApply the payment once the invoice is billed and synced, then re-trigger.
Allocation appeared in preview, not in NetSuitePreview doesn't persist application. No record was written. Check MN for actual applied state.
Update event fired, original create never finishedRetry the create, not the update. Update has nothing to reference without an existing association.

How to Push a Payment Through

Run these in order. Retrying before all five are true just recreates the same result.

1
Payment status = SUCCESS

PROCESSING: wait. FAILED or CANCELED: the application is already gone, nothing to push.

2
Payment is applied to an invoice in MN

Check the payment's allocation detail. Unapplied amount should be $0.

3
Verify which invoice received the application

FIFO may have applied it to an older invoice. Confirm the allocation before assuming misapplication.

4
Target invoice has a NetSuite association record

Open the invoice in MN. Confirm the association exists, not just that the invoice synced.

5
Account is mapped to a NetSuite customer

Without this, the payment header can't be built on the NetSuite side.

6
Re-trigger the sync

All five true? Use the connector retry. If the original create never completed, retry the create, not the update.

What Both Systems Show After a Successful Sync

MonetizeNow
Invoice $1,000
Payment -$1,000
------------------
Amount due $0
NetSuite
Invoice $1,000
Payment -$1,000
------------------
Net balance $0
Reconciliation Note

Unlike credits, a fully applied payment shows identical balances in both systems. MN shows $0 but NetSuite still shows open? The payment either didn't apply in NetSuite, or applied to a different invoice.

Things to Check Before Opening a Ticket

Payment status is SUCCESS. Everything else is irrelevant until this is true.
Payment has invoice application records in MN. Not just an account balance, an actual applied record.
You've checked the payment's allocation detail, not the invoice. FIFO may have applied it somewhere else entirely.
The target invoice has a NetSuite association record. Not just "it synced", the association record must exist in MN.
Account is mapped to a NetSuite customer. No mapping, no payment header.
Payment hasn't been reversed. FAILED or CANCELED payments unwind their applications. If it moved to a failed state, the sync payload is already gone.
You're not reading preview as applied state. Preview doesn't write records. Check MN for actual application.
Retrying? Retry the create, not the update. Update requires an existing association. If create never finished, start there.