# create_tax_codes

Create one or more tax codes (a.k.a. VAT codes) in a workspace. Each tax code requires a `name`, a short `code`
(unique within the workspace),
and a `rate` expressed as a percentage. `withHeldRate` is optional and defaults to 0. Each creation runs in parallel and
is reported independently — partial failures do not abort the remaining creations.

<!-- INPUT_BLOCK_START -->

## Input

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `workspaceId` | `string` | Yes | The ID of the workspace |
| `taxCodes` | `CreateTaxCodeInput[]` | Yes | Array of tax codes to create - [CreateTaxCodeInput](#createtaxcodeinput) |

### CreateTaxCodeInput

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | Display name for the tax code (e.g. "VAT 21%") |
| `code` | `string` | Yes | Short code identifier, unique within the workspace (e.g. "S", "R", "E") |
| `rate` | `number` | Yes | Tax rate as a percentage (e.g. 21 for 21%) |
| `withHeldRate` | `number` | No | Withheld tax rate as a percentage; defaults to 0 |

<!-- INPUT_BLOCK_END -->

<!-- OUTPUT_BLOCK_START -->

## Output

| Field | Type | Description |
| --- | --- | --- |
| `content` | `ContentItem[]` | Array of content items returned by the tool - [ContentItem](#contentitem) |
| `isError` | `boolean` | Whether the tool execution resulted in an error |

### ContentItem

| Field | Type | Description |
| --- | --- | --- |
| `type` | `'text'` | Content type (currently only 'text' is supported) |
| `text` | `string` | The text content to display |

<!-- OUTPUT_BLOCK_END -->
