Payments
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.
Payment Status Controls What Syncs
| Status | What it means | NetSuite |
|---|---|---|
| SUCCESS | Collected and final | Eligible if application and dependencies are met |
| PROCESSING | Initiated, not settled | Not synced. Not an error, just not final |
| FAILED | Collection attempt failed | No sync. Invoice application is also reversed in MN |
| CANCELED | Voided before settlement | No sync. Any invoice application is unwound |
| REFUNDED | Collected then returned | Separate refund event, not an active payment sync |
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 auto-applies FIFO, oldest unpaid invoice first. The payment is correctly applied, just not necessarily to the invoice you were looking at.
Check the payment's allocation detail in MN, not the invoice. NetSuite reflects exactly what MN applied.
Why It's Not in NetSuite
| Situation | What's happening |
|---|---|
| Status is PROCESSING | Not final yet. Wait, don't retry. |
| Status moved to FAILED or CANCELED | Invoice application was unwound. Nothing to sync. |
| SUCCESS but no invoice application | Payment is real. It just has nowhere to land in NetSuite. |
| Missing dependency | Effect |
|---|---|
| Account not linked to a NetSuite customer | Sync can't build the payment header. Nothing goes through. |
| Invoice not yet in NetSuite | Most 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. |
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.
| Scenario | What to do |
|---|---|
| Payment created before invoice existed | Apply the payment once the invoice is billed and synced, then re-trigger. |
| Allocation appeared in preview, not in NetSuite | Preview doesn't persist application. No record was written. Check MN for actual applied state. |
| Update event fired, original create never finished | Retry 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.
PROCESSING: wait. FAILED or CANCELED: the application is already gone, nothing to push.
Check the payment's allocation detail. Unapplied amount should be $0.
FIFO may have applied it to an older invoice. Confirm the allocation before assuming misapplication.
Open the invoice in MN. Confirm the association exists, not just that the invoice synced.
Without this, the payment header can't be built on the NetSuite side.
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
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
Updated about 1 hour ago