Skip to main content
When syncing transactions from Orb to open accounting periods in NetSuite, the integration supports creating sales invoices and credit memos, OR sales orders and return authorizations. Choose the transaction mapping configuration that best fits your finance + accounting team’s preferences, and existing business processes. For each configuration selected, the following transaction steps will occur (creation, transformation, and mutations.)

Syncing fixed-term subscriptions

Subscriptions with a fixed-term (defined end date) represent canonical customer “contracts” in Orb.

If you choose to sync transactions for fixed-term subscriptions as standalone Sales Invoices in NetSuite…

Nsmap1
Nsinvoiceonly
Nsmap2
Nscomplexso
How Orb handles fixed consideration on “contracts For fixed-term subscriptions synced as sales orders, Orb treats the sales order as the contract-level record rather than just a reflection of a single invoice cycle. Orb aligns the sales order to the subscription term defined in Orb — specifically, the subscription’s end date — so NetSuite can represent the full scope of the commitment and apply revenue recognition over the intended contract term, instead of being constrained by invoicing cadence alone. Mechanically, Orb does this by pre-computing termed fixed-fee line amounts on the sales order. For each eligible fixed-fee line, Orb takes the amount configured on the Orb subscription and scales it by the number of billing terms in the subscription, so the sales order reflects the full termed value of the contract rather than only the amount billed on the current invoice. Netsuite111 Subscription mutation mechanics When a fixed-fee line on a termed sales order needs to change (rate change, quantity change, early termination / shortening of service) as a result of a subscription edit, Orb doesn’t edit the existing line in place to maintain auditability — instead it “retires” it.  Retirement works in two steps:
  1. Orb issues a proforma invoice that bills out the remainder of the line as it currently stands, closing out the billed-vs-committed gap for that line up to the point of change. “Proforma” in this case refers to a NetSuite-only operation not reflected in Orb. This proforma operation is always dated for the action date, and has no net impact on billings or revenue for the period.
  2. Then, Orb creates an RMA (return authorization) against the line, returning the now-fully-billed quantity and closing it out. This is a required NetSuite condition for the reversal to take place.
Lines with updated rates and quantities in Orb are written to NetSuite as fresh lines on the same sales order, rather than as a mutation of the retired one. And shortened lines are reversed appropriately. Supported subscription lifecycle states
  1. Change a rate, up or down
  2. Increase fixed fee
  3. Decrease fixed fee in the future
  4. Add fixed fee
  5. Remove fixed fee
  6. Shorten a subscription or price’s period
Unsupported subscription lifecycle states
  • Decrease fixed fee over already billed historical period
  • Extend a subscription or price’s period

Syncing evergreen subscriptions

Subscriptions that have no defined end date represent recurring agreements in Orb.

If you choose to sync transactions for evergreen subscriptions as standalone Sales Invoices in NetSuite…

Nsmap3
Nsinvoiceonly

If you choose to sync transactions for evergreen subscriptions as standalone Sales Orders in NetSuite…

Nsmap4
Nssimpleso

Syncing one-off invoices

One-off invoices represent ad hoc charges outside the subscription.

If you choose to sync one-off invoices as standalone Sales Invoices in NetSuite…

Nsmap5
Nsinvoiceonly

If you choose to sync one-off invoices as standalone Sales Orders in NetSuite…

Nsmap6
Nssimpleso

Why Orb uses reversals to represent invoice voids for sales order based mappings

In sales-order-based mappings, Orb creates a full Return Authorization (RMA) in NetSuite and then transforms that RMA into a credit memo applied to the related sales invoice, rather than relying on NetSuite’s native void mutation.NetSuite’s native void behavior is unreliable in practice – it is highly sensitive to environment-level configurations and accounting preferences such that native voids may not be consistently available or appropriate for all transaction types.More importantly, for sales order setups, a pure NetSuite sales invoice void leaves the related revenue arrangement on the sales order live, whereas an RMA created from the sales order reverses the revenue elements and triggers the corresponding revenue plan reversals. This makes the RMA flow the closest NetSuite-native equivalent of the full AR and revenue reversal that occurred in Orb.