> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# CreateTaxGroup

# Package: tax

# Namespace: TaxGroups

# Method link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/extensions/tax/tax-groups/create-tax-group.md

## Permission Scopes:
Manage Orders: SCOPE.DC-STORES.MANAGE-ORDERS

## Introduction

Creates a tax group.

Call Stores Update Product to add the `taxGroupId` to specific products to categorize as a group based on distinct tax treatment.
Wix uses tax groups to calculate tax.

In addition to tax groups you create, default tax groups are already included in all Wix catalogs.
Call List Default Tax Groups to retrieve them. You can also use the Tax Groups Integration service plugin (REST only)
to create new default tax groups that can be applied directly to an entire catalog of products.

---

## REST API

### Schema

```
 Method: createTaxGroup
 Description: Creates a tax group.  Call Stores Update Product to add the `taxGroupId` to specific products to categorize as a group based on distinct tax treatment. Wix uses tax groups to calculate tax.  In addition to tax groups you create, default tax groups are already included in all Wix catalogs. Call List Default Tax Groups to retrieve them. You can also use the Tax Groups Integration service plugin (REST only) to create new default tax groups that can be applied directly to an entire catalog of products.
 URL: https://www.wixapis.com/billing/v1/tax-groups
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  taxGroup, taxGroup.name
 Method parameters: 
   param name: taxGroup | type: TaxGroup | description: A tax group is a category of specific line items grouped together based on their tax treatment. You can create new tax groups to apply distinct tax rates and rules. | required: true 
        - name: name | type: string | description: Tax group name. | required: true | validation: minLength 1, maxLength 200
 Return type: CreateTaxGroupResponse
  - name: taxGroup | type: TaxGroup | description: Created tax group.  
     - name: id | type: string | description: Tax group GUID.  | validation: format GUID
     - name: name | type: string | description: Tax group name.  | validation: minLength 1, maxLength 200
     - name: revision | type: string | description: Revision number, which increments by 1 each time the tax group is updated. To prevent conflicting changes, the current revision must be passed when updating the tax group.  Ignored when creating a tax group.  | validation: format int64
     - name: createdDate | type: string | description: Date and time the tax group was created.  | validation: format date-time
     - name: updatedDate | type: string | description: Date and time the tax group was last updated.  | validation: format date-time


```

### Examples

### Create Tax Group
Creates a tax group with basic info

```curl
curl -X POST \
    'https://www.wixapis.com/billing/v1/tax-groups' \
    -H 'Authorization: <AUTH>' \
    -H 'Content-Type: application/json' \
    -d '{
      "taxGroup": {
        "name": "Perfumes"
      }
    }'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.tax.TaxGroups.createTaxGroup(taxGroup)
 Description: Creates a tax group.  Call Stores Update Product to add the `taxGroupId` to specific products to categorize as a group based on distinct tax treatment. Wix uses tax groups to calculate tax.  In addition to tax groups you create, default tax groups are already included in all Wix catalogs. Call List Default Tax Groups to retrieve them. You can also use the Tax Groups Integration service plugin (REST only) to create new default tax groups that can be applied directly to an entire catalog of products.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  taxGroup, taxGroup.name
 Method parameters: 
   param name: taxGroup | type: TaxGroup | description: A tax group is a category of specific line items grouped together based on their tax treatment. You can create new tax groups to apply distinct tax rates and rules. | required: true 
        - name: name | type: string | description: Tax group name. | required: true | validation: minLength 1, maxLength 200
 Return type: PROMISE<TaxGroup>
  - name: _id | type: string | description: Tax group GUID.  | validation: format GUID
  - name: name | type: string | description: Tax group name.  | validation: minLength 1, maxLength 200
  - name: revision | type: string | description: Revision number, which increments by 1 each time the tax group is updated. To prevent conflicting changes, the current revision must be passed when updating the tax group.  Ignored when creating a tax group.  | validation: format int64
  - name: _createdDate | type: Date | description: Date and time the tax group was created.  
  - name: _updatedDate | type: Date | description: Date and time the tax group was last updated.  


```

### Examples

### createTaxGroup
```javascript
import { taxGroups } from '@wix/ecom';

async function createTaxGroup(taxGroup) {
  const response = await taxGroups.createTaxGroup(taxGroup);
};
```

### createTaxGroup (with elevated permissions)
```javascript
import { taxGroups } from '@wix/ecom';
import { auth } from '@wix/essentials';

async function myCreateTaxGroupMethod(taxGroup) {
  const elevatedCreateTaxGroup = auth.elevate(taxGroups.createTaxGroup);
  const response = await elevatedCreateTaxGroup(taxGroup);
}
```

### createTaxGroup (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { taxGroups } from '@wix/ecom';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { taxGroups },
  // Include the auth strategy and host as relevant
});


async function createTaxGroup(taxGroup) {
  const response = await myWixClient.taxGroups.createTaxGroup(taxGroup);
};
```

---