> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invo.work/llms.txt
> Use this file to discover all available pages before exploring further.

# Cadastrar mercadoria

> `aliquota_icms` é uma **fração decimal** (ex.: `0.18` para 18%), não um
percentual. O catálogo é compartilhado entre credencial de produção e
sandbox — mutações via sandbox alteram o cadastro real da empresa.




## OpenAPI

````yaml /openapi-nfe.json post /mercadorias
openapi: 3.0.1
info:
  title: Invo API Docs — NF-e
  version: v1
servers:
  - url: https://invo.work/api/nfe/v1
security: []
tags:
  - name: Notas de Produto
  - name: Inutilizações
  - name: Mercadorias
  - name: Empresa
paths:
  /mercadorias:
    post:
      tags:
        - Mercadorias
      summary: Cadastrar mercadoria
      description: |
        `aliquota_icms` é uma **fração decimal** (ex.: `0.18` para 18%), não um
        percentual. O catálogo é compartilhado entre credencial de produção e
        sandbox — mutações via sandbox alteram o cadastro real da empresa.
      parameters:
        - name: X-Empresa-CNPJ
          in: header
          required: false
          schema:
            description: >-
              CNPJ da empresa emitente. Ausente, usa a primeira empresa da
              conta.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                codigo:
                  description: '* Não pode ser vazio'
                  type: string
                  minLength: 1
                nome:
                  description: '* Não pode ser vazio'
                  type: string
                  minLength: 1
                descricao:
                  type: string
                ncm:
                  description: '* Não pode ser vazio'
                  type: string
                  minLength: 8
                  maxLength: 8
                cest:
                  type: string
                cfop_padrao:
                  description: '* Não pode ser vazio'
                  type: string
                  minLength: 1
                unidade_comercial:
                  description: '* Não pode ser vazio'
                  type: string
                  minLength: 1
                valor:
                  description: >-
                    * Número decimal codificado como texto. Por exemplo:
                    '123.45'

                    * Mínimo: 0
                  type: string
                  pattern: ^\d*\.?\d*$
                  format: decimal number
                origem:
                  type: integer
                cst_icms:
                  type: string
                csosn:
                  type: string
                aliquota_icms:
                  description: >-
                    * Número decimal codificado como texto. Por exemplo:
                    '123.45'
                  type: string
                  pattern: ^\d*\.?\d*$
                  format: decimal number
                cst_pis:
                  type: string
                cst_cofins:
                  type: string
                padrao:
                  type: boolean
              required:
                - codigo
                - nome
                - ncm
                - cfop_padrao
                - unidade_comercial
                - valor
              additionalProperties: false
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
                properties:
                  codigo:
                    type: string
                  nome:
                    type: string
                  descricao:
                    type: string
                  ncm:
                    type: string
                  cest:
                    type: string
                  cfop_padrao:
                    type: string
                  unidade_comercial:
                    type: string
                  valor:
                    description: >-
                      * Número decimal codificado como texto. Por exemplo:
                      '123.45'
                    type: string
                    pattern: ^\d*\.?\d*$
                    format: decimal number
                  origem:
                    type: integer
                  cst_icms:
                    type: string
                  csosn:
                    type: string
                  aliquota_icms:
                    description: >-
                      * Número decimal codificado como texto. Por exemplo:
                      '123.45'
                    type: string
                    pattern: ^\d*\.?\d*$
                    format: decimal number
                  aliquota_icms_percent:
                    type: string
                  cst_pis:
                    type: string
                  cst_cofins:
                    type: string
                  padrao:
                    type: boolean
                  created_at:
                    type: string
                  updated_at:
                    type: string
                required:
                  - codigo
                  - nome
                  - ncm
                  - cfop_padrao
                  - unidade_comercial
                  - valor
                  - padrao
                  - created_at
                  - updated_at
                additionalProperties: false
          description: Created
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - 'HTTP Basic: Access denied.'
                required:
                  - error
                additionalProperties: false
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      error:
                        type: string
                        enum:
                          - Erro ao salvar mercadoria
                    required:
                      - error
                    additionalProperties: false
                  - type: object
                    properties:
                      error:
                        type: string
                        enum:
                          - invalid_params
                      params:
                        description: >-
                          An object containing error messages for all invalid
                          params
                        type: object
                        additionalProperties:
                          type: string
                    required:
                      - error
                      - params
                    additionalProperties: false
          description: Unprocessable Content
      security:
        - basicAuth: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````