Exemption Certificates

Overview

This guide explains how tax exemption certificates are managed when using Stripe Tax through the PayPack integration. When a customer has an active exemption certificate for a given state, PayPack notifies Stripe that the transaction is exempt, without ever transmitting the certificate number itself. Exemptions can be tracked using PayPack's built-in certificate record, or through a custom record or SuiteTax's native US Exemption Certificate record.

How Exemption Certificates Work

The system supports two methods for tracking exemption certificates, controlled from the PayPack configuration record under Tax > Exemptions:

  • Enable PayPack Tax Exemption Certificates: When checked, PayPack uses its own custom record, PayPack Tax Exemption Certificate, to track exemptions.
  • Custom Exemption Certificates: A JSON field used instead of the checkbox above, pointing PayPack to your own custom record or to SuiteTax's native US Exemption Certificate record.

Only one method should be active at a time. If the checkbox is enabled, the Custom Exemption Certificates JSON is ignored.

Note: When an exemption certificate is created, PayPack looks at the customer's subsidiary to determine the related PayPack configuration record.

Option 1: PayPack Tax Exemption Certificates

  • Enable: Check Enable PayPack Tax Exemption Certificates on the PayPack configuration and save.
  • Create a certificate: For each NetSuite customer, create a PayPack Tax Exemption Certificate record specifying the exempt state and the customer's exemption certificate number.
  • Customer flagging: Saving the certificate triggers a user event script that marks Apply PayPack Tax Exemption on the related Customer record.
  • Transaction matching: When a transaction is created for a flagged customer, PayPack searches the customer's exemption certificates for a state match against the transaction's billing and shipping states.
  • Stripe request: On a match, PayPack sets customer_details.taxability_override to customer_exempt in both the Tax Calculation and Tax Transaction requests. The certificate number itself is never sent to Stripe.

A customer can hold multiple certificate records, one per exempt state.

Option 2: Custom or SuiteTax Exemption Certificates

  • Enable: Leave Enable PayPack Tax Exemption Certificates unchecked, then populate Custom Exemption Certificates with a JSON mapping to the record and fields you want PayPack to use:
{
  "record_id": "customrecord_exemption_certificate",
  "customer_id": "custrecord_exemption_certificate_cus",
  "state_id": "custrecord_exemptioncertificate_state",
  "certificate_id": "custrecord_exemption_certificate_cert"
}


 

KeyPurpose
record_idRecord type ID of the exemption certificate record
customer_idField ID linking the record to the NetSuite customer
state_idField ID storing the exempt state
certificate_idField ID storing the certificate number
  • Script enablement: The user event script that marks Apply Tax Exemption on the customer record must be enabled to run on your custom or US Exemption Certificate record type. Once enabled, creating a new exemption record marks the customer as exempt the same way Option 1 does.
  • Transaction matching and Stripe request: State matching against billing/shipping states, and setting customer_details.taxability_override to customer_exempt, work identically to Option 1.

Note: Whichever option is used, PayPack only ever communicates exemption status to Stripe by setting customer_details.taxability_override to customer_exempt. Certificate numbers stay in NetSuite and are never part of the Stripe payload.

Script Setup

The PayPack Preview Tax Exemption UE user event script is what marks a customer as exempt when an exemption certificate record is created. It comes deployed to PayPack Tax Exemption Certificate by default (Option 1). [This script also unmarks the Apply Tax Exemption checkbox if all exemption certificate records are marked inactive.]

It must be deployed to whichever record type is used for exemption certificates — PayPack Tax Exemption Certificate (Option 1), or your custom record or SuiteTax's native US Tax Exemption Certificate (Option 2).

  • Deployment: Deploy the PayPack Preview Tax Exemption UE script to the exemption certificate record type in use.
  • Script parameter: Set the Custom Record Customer ID script parameter to the field ID of the customer field on that record.

Without this deployment and parameter set correctly, exemption certificate records won't mark the customer as exempt.


 

Was this article helpful?
0 out of 0 found this helpful

More resources