npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

exemption-iq-installer

v1.2.8

Published

Secure installer for the Exemption IQ CLI

Readme

Exemption IQ Installer

🧩 Securely install and scaffold Exemption IQ for simplified exemption certificate management with Avalara Avatax.

npm version Read time

🚀 Quick Start

npx exemption-iq-installer

⚠️ Important Note

This package is built specifically for Avalara AvaTax account holders and integrates directly with CertCapture and GenCert services.

Not an AvaTax customer yet? You may still be able to leverage this package for your exemption workflows. If you're interested in integrating Exemption IQ into your own platform but do not have an AvaTax account, please contact the Tax CSA team to discuss partnership opportunities or potential alternative integrations.

🔍 What is Exemption IQ?

Exemption IQ is a Tax CSA plugin that simplifies exemption certificate management by providing:

  • GenCert automation integration
  • Avalara's CertCapture connection
  • Client- and server-side components for exemption workflows
  • Framework compatibility with Next.js, Remix, Express, Astro, and more

✨ Features

  • 🔐 Secure authentication with your Tax CSA credentials
  • 📥 Signed download of the latest private exemption-iq package
  • 📦 Vendor installation (no npm registry needed)
  • 🧠 Framework auto-detection for Next.js, Remix, Astro, Express
  • 🧰 Automatic scaffolding of API routes
  • 🛠️ package.json patching with vendor dependencies
  • 🔒 Version control setup (adds vendor/ to .gitignore)
  • 📚 Component library installation and configuration

📋 Installation Process

When you run the installer, you'll be prompted for:

  • Username – your Tax CSA portal login
  • Password – securely used to obtain a signed package link

The installer will:

  1. Authenticate and fetch the latest version of exemption-iq
  2. Download and extract it into vendor/exemption-iq
  3. Patch your package.json to include:
    "exemption-iq": "file:vendor/exemption-iq"
  4. Add vendor/ to .gitignore
  5. Scaffold framework-specific API routes
  6. Run npm install to complete setup

📺 Example Installation

$ npx exemption-iq-installer

📦 Welcome to the Exemption IQ installer
✔ Username: …
✔ Password: …
✅ Authenticated
📦 Downloading [email protected]
📦 Extracting package...
🚀 Running project scaffolding...
📦 Installing dependencies...
🎉 Done!

🌐 Environment Variables

Set the following environment variables in your server environment:

EIQ_USERNAME=your-eiq-username
EIQ_PASSWORD=your-eiq-password
AVATAX_COMPANY_CODE=your-avatax-company-code
AVATAX_API_BASE=https://rest.avatax.com/api/v2 # or https://sandbox-rest.avatax.com/api/v2 for sandbox environment

🧠 Framework Support

| Framework | Scaffolded Path | |-----------|-----------------| | Next.js | app/api/exemption-iq/ or pages/api/ | | Remix | app/routes/api/exemption-iq/ | | Astro | src/pages/api/exemption-iq/ | | Express | src/api/exemption-iq/ | | Generic | api/exemption-iq/ |

🧩 Using an ExemptionIQ Component

| Component | Use | |-----------|-----------------| | ExemptionIqServer | Add Certificate button in checkout for a server component | | ExemptionIqClient | Add Certificate button in checkout for a client component | | ExemptionIqCustomerServer | Customer Managment Table for a server component | | ExemptionIqCustomerClient | Customer Managment Table for a server component |

Example usage (Next.js Server Component):

import { ExemptionIqClient } from 'exemption-iq';

export default function Page() {
  return (
    <ExemptionIqClient
      customerCode={customerCode} // Unique customer code specific to your company
      customerInfo={{
        name: "Company Name",
        emailAddress: "[email protected]",
        addressLine1: "123 Main St",
        phoneNumber: "555-555-5555",
        city: "Orlando",
        country: "USA",
        postalCode: "32801",
        region: "FL"
      }}
      state="Florida"
      primaryColor="#2966B1"
      manualValidation={true}
      onComplete={(status) => {
        console.log("Certificate status:", status);
        return true;
      }} // Callback when the certificate is uploaded/updated
    />
  );
}

🔑 Required Fields for customerInfo

{
  "name": "string",
  "emailAddress": "string",
  "addressLine1": "string",
  "phoneNumber": "string",
  "city": "string",
  "country": "string",
  "postalCode": "string",
  "region": "string" // State abbreviation (e.g., "FL")
}

⚙️ Component Prop Reference

| Prop Name | Type | Default | Description | |-----------|------|---------|-------------| | customerCode | string | — | Unique customer code specific to your company | | customerInfo | object | — | Contains customer contact and address details | | state | string | — | Full state name (e.g., "Florida") | | showDownload | boolean | false | Allow users to download the certificate post-submission | | manualValidation | boolean | true | Manual validation required on certificates on submit | | enableGenCertModal | boolean | true | Displays GenCert as a modal (false embeds it inline) | | buttonText | string | — | Custom text for the action button | | buttonTextColor | string | — | Color of the button text | | primaryColor | string | #2966B1 | Primary color of the button | | dangerColor | string | #E76F51 | Color used for danger actions | | successColor | string | #14AE5C | Color used for success indicators | | buttonStyles | string | — | Inline CSS for custom button styling | | onComplete | (boolean) => boolean | — | Callback when the certificate is uploaded/updated (Only on Client Components) |

🖼️ Component Previews (Next.js)

Visual examples of Exemption IQ components integrated into a Next.js framework:

🛒 ExemptionIq Button at Checkout ExemptionIq Button at Checkout

🧾 Customer Has a Certificate in the State Dialog Customer Has a Certificate in the State Dialog

✅ ExemptionIq Tax Exempt on Callback ExemptionIq Tax Exempt on Callback

📋 ExemptionIq Customer Certificate Management Table ExemptionIq Customer Certificate Management Table

🧹 Uninstallation

To completely remove Exemption IQ:

node vendor/exemption-iq/dist/bin/init.js --uninstall

This will:

  • Remove vendor/exemption-iq
  • Unpatch package.json
  • Delete scaffolded API routes

👥 Who Should Use This?

  • Engineers integrating Avalara exemption workflows
  • Teams using GenCert or CertCapture
  • Projects needing easy, secure plug-in of exemption logic and API

📜 Licensing & Access

This package is licensed through Tax CSA and requires an ExemptionIQ authenticated user account to download and install.

🛡️ Powered by Tax CSA

Tax CSA provides high-compliance sales tax automation services. Exemption IQ is one of our developer-first tools to simplify Avalara integrations.

➡️ Visit us at https://www.taxcsa.com