---
canonical_url: "https://docs.composio.dev/toolkits/anrok"
markdown_url: "https://docs.composio.dev/toolkits/anrok.md"
product: "platform"
version: null
last_updated: null
---

# Anrok

Anrok automates sales tax calculation, compliance, filings, and exemption management for software businesses.

- **Category:** taxes
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 26
- **Triggers:** 0
- **Slug:** `ANROK`
- **Version:** 00000000_00

## Tools

### Add Product ID Mapping

**Slug:** `ANROK_ADD_PRODUCT_ID_MAPPING`

Map a billing integration's source product ID to an existing Anrok product, optionally overwriting an existing source mapping.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source_id` | string | Yes | Source product ID from the billing system. |
| `target_id` | string | Yes | Existing target product ID in Anrok. |
| `integration_id` | string | Yes | Anrok-built billing integration ID to configure. |
| `should_overwrite` | boolean | No | Whether to overwrite an existing mapping for source_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Exemption Certificate

**Slug:** `ANROK_ARCHIVE_EXEMPTION_CERTIFICATE`

Archive and invalidate an exemption certificate by its Anrok certificate ID. Anrok does not document a restore operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `certificate_id` | string | Yes | Anrok certificate ID to archive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Calculate Transaction Tax

**Slug:** `ANROK_CALCULATE_TRANSACTION_TAX`

Calculate tax for an ephemeral invoice without recording a transaction in Anrok.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax_date` | string | No | Date used for tax calculation; defaults to the accounting date. |
| `line_items` | array | Yes | Invoice line items for which to calculate tax. |
| `customer_id` | string | No | Existing customer ID used to apply linked exemption certificates. |
| `currency_code` | string | Yes | Three-letter ISO currency code, case-insensitive. |
| `customer_name` | string | No | Customer display name. |
| `accounting_date` | string | No | Accounting date for the tax preview. |
| `accounting_time` | string | No | Accounting timestamp used when accounting_date is omitted. |
| `customer_address` | string | Yes | Destination address used to determine taxing jurisdictions. |
| `customer_tax_ids` | array | No | Tax IDs for the customer receiving the product. |
| `tax_amount_added` | integer | No | Tax already shown on the invoice in the currency's smallest denomination; used only for discrepancy tracking. |
| `user_friendly_id` | string | No | Human-readable invoice ID included for context. |
| `ship_from_address` | string | No | Origin address; defaults to the seller business address when omitted. |
| `accounting_time_zone` | string ("UTC" | "America/New_York" | "America/Chicago" | "America/Denver" | "America/Los_Angeles" | "America/Anchorage" | "Pacific/Honolulu" | "Australia/Perth" | "Australia/Adelaide" | "Australia/Darwin" | "Australia/Brisbane" | "Australia/Sydney" | "America/Halifax" | "America/Toronto" | "America/Winnipeg" | "America/Regina" | "America/Edmonton" | "America/Vancouver" | "Europe/Berlin" | "Europe/Brussels" | "Europe/Dublin" | "Europe/Helsinki" | "Europe/London" | "Europe/Paris" | "Europe/Rome" | "Europe/Stockholm" | "Asia/Tokyo" | "Asia/Singapore") | No | Time zone used to derive the accounting date from accounting_time; cannot be supplied with accounting_date. |
| `customer_email_address` | string | No | Customer email address used for display. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Customer

**Slug:** `ANROK_CREATE_CUSTOMER`

Create an Anrok customer with the external ID used to link transactions and exemption certificates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique customer ID matching the ID sent by the billing integration. Customer IDs are unique across the seller account. |
| `name` | string | Yes | Customer display name. |
| `email_address` | string | No | Optional customer email address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Exemption Certificate

**Slug:** `ANROK_CREATE_EXEMPTION_CERTIFICATE`

Create a customer tax-exemption certificate from a local or uploaded file and jurisdiction coverage. Raw files are capped at 4 MB to keep the encoded request within host payload limits. Supplying a customer name may also create a missing customer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("agricultural" | "directPay" | "educational" | "energy" | "governmentFederal" | "governmentOther" | "governmentState" | "healthcare" | "manufacturing" | "nativeAmericanTribal" | "nonprofit" | "other" | "religious" | "resale" | "researchDevelopment") | No | Type of exemption; omit or pass null to record no type. |
| `notes` | string | No | Optional internal certificate notes. |
| `jurises` | array | Yes | Jurisdictions to which the certificate applies. |
| `customer_id` | string | Yes | Customer ID to associate with the certificate. |
| `customer_name` | string | No | Customer display name; with customer_id, permits creating a missing customer. |
| `certificate_file` | object | Yes | Local or uploaded certificate file. Raw file content is limited to 4 MB so the encoded request remains within host payload limits. |
| `exemption_number` | string | No | Certificate exemption number for display. |
| `effective_date_begin` | string | Yes | Certificate effective date in YYYY-MM-DD form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Exemption Certificate Request

**Slug:** `ANROK_CREATE_EXEMPTION_CERTIFICATE_REQUEST`

Create a premium customer certificate request, emailing its submission link by default, and optionally auto-approve eligible submissions. Supplying a customer name may also create a missing customer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `send_email` | boolean | No | Whether Anrok emails the certificate request. Set false to create the request without sending email and share requestLink directly. |
| `customer_id` | string | Yes | Customer ID used to link the request to transactions and exemption certificates. |
| `auto_approve` | boolean | No | Whether Anrok automatically approves eligible submissions. Submissions that cannot be approved automatically enter the standard review flow. |
| `customer_name` | string | No | Customer display name. When supplied with customer_id, Anrok creates the customer if it does not already exist. |
| `email_address` | string | Yes | Customer contact email address to which Anrok sends the request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create or Update Transaction

**Slug:** `ANROK_CREATE_OR_UPDATE_TRANSACTION`

Create a finalized invoice transaction. If a transaction with the same seller-wide ID exists, overwrite or replace it with the supplied invoice data and recalculate tax. Supplying a customer name with a customer ID may also create a missing customer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Seller-wide unique transaction ID, typically the billing-system invoice ID. |
| `tax_date` | string | No | Date used for tax calculation; defaults to the accounting date. |
| `line_items` | array | Yes | Line items in the finalized invoice. |
| `customer_id` | string | No | Customer ID used to link transactions and exemption certificates. If supplied without customer_name, the customer must already exist. |
| `currency_code` | string | Yes | Three-letter ISO currency code; matching is case-insensitive. |
| `customer_name` | string | No | Customer display name; with customer_id, may create a missing customer. |
| `accounting_date` | string | No | Invoice accounting date used to select the applicable tax return. |
| `accounting_time` | string | No | Invoice accounting timestamp. Required when accounting_date is omitted. |
| `customer_address` | string | Yes | Destination address used to determine taxing jurisdictions. All standard-address fields are optional or nullable, but the address must resolve the top-level jurisdiction with high confidence. |
| `customer_tax_ids` | array | No | Tax IDs for the customer receiving the product. |
| `tax_amount_added` | integer | No | Tax already on the invoice in the currency's smallest denomination; used only for discrepancy tracking. |
| `user_friendly_id` | string | No | Human-readable invoice or transaction ID. |
| `ship_from_address` | string | No | Origin address for jurisdictions that use origin sourcing; defaults to the seller's Anrok business address. |
| `accounting_time_zone` | string ("UTC" | "America/New_York" | "America/Chicago" | "America/Denver" | "America/Los_Angeles" | "America/Anchorage" | "Pacific/Honolulu" | "Australia/Perth" | "Australia/Adelaide" | "Australia/Darwin" | "Australia/Brisbane" | "Australia/Sydney" | "America/Halifax" | "America/Toronto" | "America/Winnipeg" | "America/Regina" | "America/Edmonton" | "America/Vancouver" | "Europe/Berlin" | "Europe/Brussels" | "Europe/Dublin" | "Europe/Helsinki" | "Europe/London" | "Europe/Paris" | "Europe/Rome" | "Europe/Stockholm" | "Asia/Tokyo" | "Asia/Singapore") | No | IANA time zone used to derive the accounting date from accounting_time; cannot be supplied with accounting_date. |
| `customer_email_address` | string | No | Customer email address used only for display. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Product

**Slug:** `ANROK_CREATE_PRODUCT`

Create an Anrok product ID and assign its product tax category.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Product display name. |
| `description` | string | No | Optional product description. |
| `external_id` | string | Yes | Unique product ID containing only alphanumeric characters, spaces, periods, hyphens, underscores, or colons, with no leading, trailing, or consecutive spaces. |
| `tax_category_id` | object | Yes | Product tax category to assign. Use the list product tax categories action to find an available standard or custom category. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Transaction Negation

**Slug:** `ANROK_CREATE_TRANSACTION_NEGATION`

Create a new transaction that exactly negates an existing transaction, lowering or reversing the original transaction's reported sales and tax totals, optionally enforcing its expected version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `new_transaction_id` | string | Yes | Unique ID for the new negating transaction. |
| `original_transaction_id` | string | Yes | ID of the transaction to negate. |
| `original_transaction_expected_version` | integer | No | Expected current version of the original transaction. The operation fails if the transaction has changed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Customer

**Slug:** `ANROK_GET_CUSTOMER`

Retrieve one Anrok customer by its external customer ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_id` | string | Yes | Customer ID to retrieve; path encoding is handled automatically. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Exemption Certificate

**Slug:** `ANROK_GET_EXEMPTION_CERTIFICATE`

Retrieve one exemption certificate and its status and jurisdiction details by certificate ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `certificate_id` | string | Yes | Anrok certificate ID to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Product

**Slug:** `ANROK_GET_PRODUCT`

Retrieve one Anrok product by its external product ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `external_id` | string | Yes | External product ID to retrieve; path encoding is handled automatically. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Transaction

**Slug:** `ANROK_GET_TRANSACTION`

Retrieve the latest version of one Anrok transaction, including complete invoice and tax-calculation details for normal transactions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `transaction_id` | string | Yes | Transaction ID to retrieve; path encoding is handled automatically. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customers

**Slug:** `ANROK_LIST_CUSTOMERS`

Return one page of seller-account customers in ascending customer ID order.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum customers to return in this page (1-100). |
| `cursor` | string | No | nextCursor from the previous page; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Exemption Certificates

**Slug:** `ANROK_LIST_EXEMPTION_CERTIFICATES`

Return one page of exemption certificates, optionally filtered by customer or certificate status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum certificates to return in this page (1-100). |
| `cursor` | string | No | nextCursor from the previous page; cannot be supplied with filter. |
| `filter` | object | No | Optional customerId/status filter; cannot be supplied with cursor. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Filings

**Slug:** `ANROK_LIST_FILINGS`

Return one premium page of jurisdiction filings, optionally filtered by jurisdiction and filing-period end date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum filings to return in this page (1-100). |
| `cursor` | string | No | nextCursor from the previous page; cannot be supplied with filter. |
| `filter` | object | No | Optional premium filing filter by jurisdiction and inclusive filing-period end date range; cannot be supplied with cursor. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Filing Transaction IDs

**Slug:** `ANROK_LIST_FILING_TRANSACTION_IDS`

Return one premium page of transaction IDs associated with a jurisdiction filing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum transaction IDs to return in this page (1-2500). |
| `cursor` | string | No | nextCursor from the previous page; omit for the first page. |
| `juris_id` | string | Yes | Jurisdiction ID of the filing. |
| `juris_filing_id` | string | Yes | Filing ID within the jurisdiction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Filing Transactions with Conversion Rates

**Slug:** `ANROK_LIST_FILING_TRANSACTIONS_WITH_CONVERSION_RATES`

Return one premium page of a jurisdiction filing's transactions with their filing conversion rates. Rates may change until the filing is finalized.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum transactions to return in this page (1-1000). |
| `cursor` | string | No | nextCursor from the previous page; omit for the first page. |
| `juris_id` | string | Yes | Jurisdiction ID of the filing. |
| `juris_filing_id` | string | Yes | Filing ID within the jurisdiction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Product ID Mappings

**Slug:** `ANROK_LIST_PRODUCT_ID_MAPPINGS`

List all source-to-Anrok product ID mappings for one Anrok-built billing integration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `integration_id` | string | Yes | Anrok-built billing integration ID whose product mappings should be listed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Products

**Slug:** `ANROK_LIST_PRODUCTS`

Return one page of Anrok products, optionally including default and integration shipping products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum products to return in this page (1-1000). |
| `cursor` | string | No | nextCursor from the previous page; omit for the first page. |
| `include_default_products` | boolean | No | Whether to include default products and default integration shipping products. When false, only regular products are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Product Tax Categories

**Slug:** `ANROK_LIST_PRODUCT_TAX_CATEGORIES`

List the standard and seller-specific product tax categories available for assigning to products.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Transactions

**Slug:** `ANROK_LIST_TRANSACTIONS`

Return one premium page of Anrok transactions, optionally filtered by modification time or filing association.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum transactions to return in this page (1-20). |
| `cursor` | string | No | nextCursor from the previous page; cannot be supplied with filter. |
| `filter` | string | No | Optional premium filter by modification time or filing association; cannot be supplied with cursor. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Transactions from Filing

**Slug:** `ANROK_REMOVE_TRANSACTIONS_FROM_FILING`

Remove 1-100 transactions from a premium Anrok jurisdiction filing and return the removal result for every requested transaction ID. This cannot be undone; Anrok documents no restore operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `juris_id` | string | Yes | Jurisdiction ID of the filing. |
| `juris_filing_id` | string | Yes | Filing ID within the jurisdiction. |
| `transaction_ids` | array | Yes | Transaction IDs to remove from the filing (1-100). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resolve Address

**Slug:** `ANROK_RESOLVE_ADDRESS`

Resolve a customer address to its normalized form and return the applicable taxable jurisdictions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | City or town name. |
| `line1` | string | No | Address delivery line. |
| `region` | string | No | Principal subdivision such as state, province, or county. |
| `country` | string | No | Country full name or two-letter ISO code. |
| `postal_code` | string | No | Postal code. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Validate Tax IDs

**Slug:** `ANROK_VALIDATE_TAX_IDS`

Validate premium customer tax IDs for the taxable jurisdictions resolved from a customer address.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_address` | object | Yes | Customer address used to determine the applicable taxable jurisdictions. |
| `customer_tax_ids` | array | Yes | Tax IDs to validate. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Void Transaction

**Slug:** `ANROK_VOID_TRANSACTION`

Void an existing transaction so it is no longer included in returns or sales totals, optionally requiring its current version. This cannot be undone; Anrok documents no restore or unvoid operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `transaction_id` | string | Yes | ID of the transaction to void. |
| `transaction_expected_version` | integer | No | Expected current transaction version. The void fails if the transaction has changed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
