All charges are translates to NetSuite in real-time. All payment types (credit card, ACH, BitCoin, etc) are supported.
There are many different contexts in which a Stripe charge can be created. Each of these contexts is handled a bit differently to ensure that the charge is properly represented in NetSuite.
In all cases, a charge in NetSuite represents the payment amount by the customer, not the amount that is deposited to your bank. Since the charge in NetSuite is often applied against a customer's invoice in NetSuite, fees and currency conversion is represented on the deposit record; a charge is always represented in the currency the customer's card was charged and does not include any Stripe fees.
Here's an example of what a charge associated with a invoice looks like in NetSuite:
Charge for a invoice
When Stripe's Subscription Billing is used, invoices will be automatically generated at the end of each period. That invoice is translated to NetSuite and a CustomerPayment is created and applied to the Invoice. If revenue recognition is enabled on your account, the start and end date of the subscription is translated to NetSuite.
If I'm using subscription billing, how could charges be created without an invoice?
Every charge initiated by Stripe's subscription billing system will be associated with an invoice. However, it's possible to create one-off charges associated with a customer. For instance, if a support representative needs to charge the customer a extra one-off fee, they might login to the Stripe dashboard and create a charge associated with that customer. That charge would not have an invoice associated with it, since it was not created by the subscription billing system.
I want to pay off an invoice which already exists in NetSuite using Stripe, is that possible?
Yes. If you've created a NetSuite invoice using a custom integration, you can instruct the integration to pay off that invoice in NetSuite by linking a Stripe charge to this invoice. Here's an example of you can implement this.
Charge for a Stripe Order (Relay)
Charge for a SalesOrder as a CustomerDeposit
Stripe Charges can be attached to SalesOrders as CustomerDeposits by specifying the SalesOrder ID in the Stripe metadata.
Charge with a standalone invoice
A charge associated with a standalone invoice (a invoice that was not auto-generated by subscription billing) is translated the same way as a subscription-generated invoice.
However, since standalone invoices are not associated with a subscription billing cycle, the start and end date on a standalone invoice is not set and revenue recognition will not be applied to the invoice.
Standalone customer charge
A charge without an invoice (standalone charge) translates to NetSuite as a Customer Payment applied against the customer associated with the charge. If specified, the
description attribute of the charge is added to the Customer Payment's memo.
How standalone invoices effect accounts receivable
A standalone charge will not create a NetSuite transaction record which debits A/R. This will cause credits to A/R caused by CustomerPayment without a corresponding debit. For these standalone charges, you'll need to debit the A/R account manually by creating a journal entry or creating a NetSuite invoice for that customer.
Auto-apply standalone charges to future invoices
A Stripe-created NetSuite Customer Payment can be set to auto-apply to customers' invoices. If this feature is enabled, the Customer Payment is not applied to an invoice directly, but is instead applied to the next available invoice created for that customer.
This enables use of the NetSuite integration for creating the NetSuite Customer Payment and Customer records (as well as automated deposit reconciliation) while using a custom integration to generate the NetSuite Invoice.
Standalone charge without customer
When a Stripe charge that is not associated with a customer is translated to NetSuite it is associated with a special customer, "Stripe Unallocated Charges".
Why are charges created without a customer?
It's possible to charge cards without providing any additional information about a charge. For instance, if you create a create a new payment from your Stripe dashboard (or through the API) without creating a customer first, the charge will not be associated with a customer.