This guide provides a walkthrough for integrating Stripe Tax with your NetSuite account. It is designed to help you configure NetSuite to leverage Stripe’s automated tax calculation engine for sales orders, invoices, cash sales, and global tax compliance.
Introduction
Stripe Tax automates tax calculation for your NetSuite transactions, eliminating the need to manually maintain tax rates. This integration ensures that whether you are selling in the US (Sales Tax) or internationally (VAT/GST), the correct amount is calculated based on the customer's address and your tax registrations.
This guide assumes you are using the PayPack NetSuite SuiteApp.
Stripe Tax must be enabled and configured in your Stripe Dashboard before proceeding.
Two-Step Lifecycle
For the PayPack integration, tax calculation and transaction management follow a "Real-Time Request, Finalized Commitment" workflow. This ensures that the tax shown to the customer during the quote or order stage matches the final tax reported to the government.
Calculation
When you create or edit a NetSuite Invoice, Sales Order, or Quote, PayPack triggers a real-time request to the Stripe Tax API.
The Request: NetSuite sends the customer’s address, line items, and your business's origin address to Stripe.
The Object: Stripe creates a temporary Calculation Object. This is a "lookup" that determines the precise tax jurisdiction (State, County, City, and District) and the corresponding rates.
The Result: The tax amount is returned to NetSuite and populated in the Tax Details subtab (SuiteTax) or the Tax Total field (Legacy Tax). This calculation does not yet impact your Stripe Tax reports; it is for informational and billing purposes only.
Transaction
Once the NetSuite record is Saved or Billed (depending on your PayPack configuration), the calculation must be "committed."
The Commitment: PayPack sends a final call to Stripe to create a Transaction Object. This marks the tax as "Collected."
The Reporting: This object is what Stripe Tax uses to populate your Tax Reports and AutoFile returns. It creates a permanent record in your Stripe Dashboard under the "Transactions" tab, linking the NetSuite Invoice ID to the Stripe Tax record.
Handling Changes: If a NetSuite Invoice is voided or a Credit Memo is issued, PayPack sends a "Refund" or "Reversal" request to Stripe to adjust the Transaction Object, ensuring your tax liability remains accurate.
Getting Started with Stripe Tax
PayPack is able to integrate Stripe Tax to the below NetSuite tax configurations.
Legacy Tax: The older engine (e.g. Using Advanced Taxes such as tax codes and groups).
SuiteTax: The modern NetSuite tax engine (e.g. Using SuiteTax tax override feature and not SuiteTax API).
This guide covers both Legacy Tax and SuiteTax implementations. Please note that your specific NetSuite tax configuration will determine your distinct tax reporting requirements and workflows.
To identify whether your NetSuite account uses Legacy Tax or SuiteTax, you can check your enabled features or the structure of your subsidiary records.
The most direct way to verify your tax engine is through your company settings.
Navigate to Setup > Company > Enable Features.
Click on the Tax subtab.
Look for the SuiteTax checkbox: If the box is unchecked (or the SuiteTax option is missing entirely), you are using the Legacy Tax engine.
Quick Comparison
| Feature | Legacy Tax | SuiteTax |
|---|---|---|
| Transaction View | Tax is shown as a single line item or "Tax Code." | Includes a detailed Tax Details subtab for every line. |
| Primary Setup | Setup > Accounting > Set Up Taxes | Setup > Accounting > Tax Registrations |
| Flexibility | Uses static Tax Groups. | Allows different tax engines (like Stripe Tax) for different nexuses. |
Implementation Checklist
This implementation checklist outlines the essential steps to synchronize your Stripe Tax engine with your NetSuite environment. Following these steps in order ensures that tax is accurately calculated for every jurisdiction where you have nexus, that product-level taxability is correctly mapped, and that your financial reporting remains compliant across both platforms.
Enable Stripe Tax: Activate the Stripe Tax engine within your Stripe Dashboard and provide your API credentials to the NetSuite integration.
Enable Global Exclusion Rules: Define specific NetSuite transaction types that should be excluded from tax calculations to prevent errors in non-taxable territories.
Configure NetSuite Nexuses and Stripe Tax Registrations: Align your registered jurisdictions in Stripe with your active Nexuses in NetSuite to ensure the system knows where to apply tax.
Map Stripe Product Tax Codes (PTC) to NetSuite Items: Assign specific Stripe tax categories (e.g., software, physical goods) to your NetSuite Item records for granular calculation accuracy.
Sales Tax Calculations & Transactions: Test real-time tax triggers on Invoices and Sales Orders to verify that jurisdictional breakdowns are appearing correctly.
Add Exemptions & Taxability Exclusions: Configure customer-level exemptions (like tax-exempt certificates) and transaction-level exclusions to handle non-taxable entities.
Current Limitations
Use Tax: Stripe Tax for NetSuite currently focuses on Sales Tax (Accounts Receivable). It does not support Use Tax calculations on Vendor Bills (Accounts Payable).
Address Validation: Ensure you are using a NetSuite address validation tool; Stripe Tax requires a valid zip code and state to calculate tax accurately.