# ImportManufacturersController_ImportManufacturers_Post

Imports manufacturers.

`POST /api/v1/ImportManufacturers/ImportManufacturers`

**API:** Excise Platform API
**Tag:** ImportManufacturersController
**API Version:** v1
**Base URL:** https://excise.avalara.com
**Content-Type:** `application/json`
**Accepts:** `application/json`
**Authentication:** Basic (username + license key)

Source: https://developer.avalara.com/products/excise/api/methods/ImportManufacturersController/ImportManufacturersController_ImportManufacturers_Post/

## Description

Imports manufacturer records into the Excise Platform. The import engine processes the provided
manufacturers and returns a summary of the results including inserted, updated, and failed records.
            
The request supports options for matching existing manufacturers and controlling how jurisdiction
data is updated during the import.

## Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-company-id` | integer | header | Yes | Company ID that owns the data. |
| `X-Avalara-Client` | string | header | No | Identifies the software you are using to call this API. For more information on the client header, see Client Headers. |

## Request Body

**Schema:** `Avalara.Excise.Common.Contracts.Services.ManufacturerImportRequest`

Represents a request object for importing manufacturer data through the REST service.
This class contains all the necessary information to perform a manufacturer import operation,
including the manufacturers to import, import configuration options, matching behavior settings,
and jurisdiction update preferences.

| Property | Type | Required | Description |
|---|---|---|---|
| `Manufacturers` | Avalara.Excise.Common.Contracts.Services.RestManufacturer[] | No | Gets or sets an array of manufacturers to be imported.
Each manufacturer contains the data that will be processed and imported into the system
for tax compliance and regulatory reporting purposes. |
| `ImportName` | string | No | Gets or sets the name identifier for this import operation.
This name is used to identify and track the import operation in logs and reports. Example: `string`. |
| `UpdateMatchesMode` | string | No | Gets or sets the update matching mode that determines how existing records are handled during import.
This setting controls whether and how the system should match and update existing manufacturers
when duplicates are found during the import process. Values: `NONE`, `INSERT`, `UPDATE`, `COPY`. Example: `NONE`. |
| `ManufacturerJurisdictionUpdateMode` | string | No | Gets or sets the manufacturer jurisdiction update mode that controls how jurisdiction information
is updated during the import process. Values: `REPLACE`, `ADDNEW`, `NOCHANGE`. Example: `REPLACE`. |
| `ExactMatchCountryCode` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on country code.
When true, only manufacturers with identical country codes will be considered matches. Example: `false`. |
| `ExactMatchJurisdiction` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on jurisdiction.
When true, only manufacturers with identical jurisdictions will be considered matches. Example: `false`. |
| `ExactMatchLegalName` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on legal name.
When true, only manufacturers with identical legal names will be considered matches. Example: `false`. |
| `ExactMatchMsaStatus` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on MSA status.
When true, only manufacturers with identical Metropolitan Statistical Area status will be considered matches. Example: `false`. |
| `ExactMatchIdTypeIdCode` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on ID type and ID code.
When true, only manufacturers with identical ID type and ID code combinations will be considered matches. Example: `false`. |
| `ExactMatchCustomId` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on custom ID.
When true, only manufacturers with identical custom IDs will be considered matches. Example: `false`. |
| `ExactMatchLicenseNumber` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on license number.
When true, only manufacturers with identical license numbers will be considered matches. Example: `false`. |
| `ExactMatchTradeName` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on trade name.
When true, only manufacturers with identical trade names will be considered matches. Example: `false`. |
| `ExactMatchManufacturerCode` | boolean | No | Gets or sets a boolean value indicating whether to require exact matching on manufacturer code.
When true, only manufacturers with identical manufacturer codes will be considered matches. Example: `false`. |
| `TerminateNewRecords` | boolean | No | Gets or sets a boolean value indicating whether new records should be terminated after import.
When true, newly imported records will be marked as terminated, typically used for historical data imports. Example: `false`. |
| `LoadId` | string | No | Gets or sets the unique identifier for this import load operation.
This GUID is used to correlate related import operations and track the overall import process. Example: `a1b2c3d4-e5f6-7890-abcd-ef1234567890`. |

## Responses

| Status | Description | Schema |
|---|---|---|
| 200 | Returns a summary of the manufacturer import results. | `Avalara.Excise.Common.Contracts.Services.RestManufacturerImportResultSummary` |

### 200 Response: `Avalara.Excise.Common.Contracts.Services.RestManufacturerImportResultSummary`

Manufacturer Import Result Summary

| Property | Type | Required | Description |
|---|---|---|---|
| `ManufacturerResults` | Avalara.Excise.Common.Contracts.Services.RestManufacturerResult[] | No | Manufacturer Results |
| `Status` | string | No | The processing status of this record (for example, Inserted, Updated, or Failed). Example: `Inserted`. |
| `NumberProcessed` | integer | No | Number Processed Example: `10`. |
| `NumberInserted` | integer | No | Number Inserted Example: `8`. |
| `NumberUpdated` | integer | No | Number Updated Example: `1`. |
| `NumberFailed` | integer | No | Number Failed Example: `1`. |

## Example Request

```bash
curl -X POST "https://excise.avalara.com/api/v1/ImportManufacturers/ImportManufacturers" \
  -H "Authorization: Basic <credentials>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
  "Manufacturers": [
    {
      "CountryCode": "USA",
      "Jurisdiction": "AL",
      "MsaStatus": "PM",
      "IdType": "FEIN",
      "IdCode": "12-3456789",
      "EffectiveDate": "2024-01-01T00:00:00",
      "ObsoleteDate": "2028-12-31T23:59:59",
      "LicenseNumber": "LIC-2024-001",
      "LegalName": "National Tobacco Company",
      "TradeName": "NatTobacco",
      "PhysicalAddress1": "456 Industrial Blvd",
      "PhysicalAddress2": "Suite 200",
      "PhysicalCity": "Richmond",
      "PhysicalJurisdiction": "VA",
      "PhysicalPostalCode": "23219",
      "PhysicalCountryCode": "USA",
      "PhysicalCounty": "Henrico",
      "PhysicalCountyCode": "085",
      "MailingAddress1": "456 Industrial Blvd",
      "MailingAddress2": "Attn: Accounts Payable",
      "MailingCity": "Richmond",
      "MailingJurisdiction": "AL",
      "MailingPostalCode": "23219",
      "MailingCountryCode": "USA",
      "MailingCounty": "Henrico",
      "MailingCountyCode": "085",
      "CustomId": "CUST-MFG-42",
      "ManufacturerCode": "MFG-001",
      "ManufacturerJurisdictions": [
        {
          "CountryCode": "USA",
          "Jurisdiction": "AL",
          "MsaStatus": "PM",
          "LicenseNumber": "LIC-2024-001",
          "ManufacturerCode": "MFG-001",
          "Status": "Inserted",
          "Message": "Jurisdiction record saved successfully."
        }
      ],
      "ManufacturerMappingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    }
  ],
  "ImportName": "string",
  "UpdateMatchesMode": "NONE",
  "ManufacturerJurisdictionUpdateMode": "REPLACE",
  "ExactMatchCountryCode": false,
  "ExactMatchJurisdiction": false,
  "ExactMatchLegalName": false,
  "ExactMatchMsaStatus": false,
  "ExactMatchIdTypeIdCode": false,
  "ExactMatchCustomId": false,
  "ExactMatchLicenseNumber": false,
  "ExactMatchTradeName": false,
  "ExactMatchManufacturerCode": false,
  "TerminateNewRecords": false,
  "LoadId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}'
```