---
title: "Emitir NFe - Devolução."
url: "https://devcenter.stone.com.br/apis/stone-tax/versions/206fd1c1-6382-4ada-8612-c67fdc65e050/paths/api-v1-Nfe-Devolucao-Emitir/post"
---

> Full API specification: https://devcenter.stone.com.br/apis/stone-tax/versions/206fd1c1-6382-4ada-8612-c67fdc65e050.md

# Emitir NFe - Devolução.

`POST` `/api/v1/Nfe/Devolucao/Emitir`

Realiza a emissão de uma <strong>Nota Fiscal Eletrônica (NFe) de Devolução</strong> com base em um documento de origem. Este endpoint automatiza o estorno de tributos e a movimentação de estoque reversa, garantindo o vínculo legal com a nota referenciada. ⚠️ **ATENÇÃO**: A operação de devolução exige que a <strong>Chave de Acesso</strong> da nota de origem seja válida e que o emissor possua permissão para referenciar o documento informado. 🧪 **TESTE**: Em ambiente de homologação/sandbox, as notas emitidas não possuem valor jurídico e são enviadas para os servidores de teste da SEFAZ. Utilize o prefixo de homologação configurado para evitar rejeições de duplicidade. 🔗 **VÍNCULO FISCAL**: É obrigatório que os itens informados em dadosDevolucao correspondam, total ou parcialmente, aos itens constantes no documento identificado para ser devolvido.

## Header parameters

- `danfe` (string, optional) - Escolha o formato do DANFE gerado na emissão da nota (Default: Nenhum).
- `tipoDanfeNfe` (string, optional) - Tipo de DANFE gerado (Opcional).
- `DocumentoEmissor` (string, required) - Documento do emissor.

## Request body

Content types: `application/json-patch+json`, `application/json`, `text/json`, `application/*+json`

## Responses

- `200` - OK
- `400` - Bad Request
- `401` - Unauthorized
- `403` - Forbidden
- `404` - Not Found
- `422` - Unprocessable Content
- `500` - Internal Server Error

## OpenAPI definition

```yaml
openapi: 3.0.4
info:
  title: Stone Tax API
  version: 1.0.0
servers:
  - url: https://stone-tax-sdx.stone.com.br
    description: Ambiente de Desenvolvimento
  - url: https://stone-tax.stone.com.br
    description: Ambiente de Produção
paths:
  /api/v1/Nfe/Devolucao/Emitir:
    post:
      tags:
        - Nfe
      summary: Emitir NFe - Devolução.
      description: >-
        Realiza a emissão de uma <strong>Nota Fiscal Eletrônica (NFe) de
        Devolução</strong> com base em um documento de origem. 

        Este endpoint automatiza o estorno de tributos e a movimentação de
        estoque reversa, garantindo o vínculo legal com a nota referenciada.


        ⚠️ **ATENÇÃO**: A operação de devolução exige que a <strong>Chave de
        Acesso</strong> da nota de origem seja válida e que o emissor possua
        permissão para referenciar o documento informado.


        🧪 **TESTE**: Em ambiente de homologação/sandbox, as notas emitidas não
        possuem valor jurídico e são enviadas para os servidores de teste da
        SEFAZ. Utilize o prefixo de homologação configurado para evitar
        rejeições de duplicidade.


        🔗 **VÍNCULO FISCAL**: É obrigatório que os itens informados em
        dadosDevolucao correspondam, total ou parcialmente, aos itens constantes
        no documento identificado para ser devolvido.
      parameters:
        - name: danfe
          in: header
          description: "Escolha o formato do DANFE gerado na emissão da nota (Default:
            Nenhum)."
          schema:
            $ref: "#/components/schemas/DanfeEmissaoNotasModelEnum"
        - name: tipoDanfeNfe
          in: header
          description: Tipo de DANFE gerado (Opcional).
          schema:
            $ref: "#/components/schemas/TipoDanfeNfeModelEnum"
        - name: DocumentoEmissor
          in: header
          description: Documento do emissor.
          required: true
          schema:
            type: string
      requestBody:
        description: Objeto contendo a relação de itens, quantidades e justificativas
          para a devolução.
        content:
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/EmitirNfeDevolucaoInputModel"
          application/json:
            schema:
              $ref: "#/components/schemas/EmitirNfeDevolucaoInputModel"
          text/json:
            schema:
              $ref: "#/components/schemas/EmitirNfeDevolucaoInputModel"
          application/*+json:
            schema:
              $ref: "#/components/schemas/EmitirNfeDevolucaoInputModel"
      responses:
        "200":
          description: OK
          content:
            text/plain:
              schema:
                $ref: "#/components/schemas/EmissaoNotaFiscalViewModel"
            application/json:
              schema:
                $ref: "#/components/schemas/EmissaoNotaFiscalViewModel"
            text/json:
              schema:
                $ref: "#/components/schemas/EmissaoNotaFiscalViewModel"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResponseErrorResult"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResponseErrorResult"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResponseErrorResult"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResponseErrorResult"
        "422":
          description: Unprocessable Content
          content:
            text/plain:
              schema:
                $ref: "#/components/schemas/EmissaoNotaFiscalViewModel"
            application/json:
              schema:
                $ref: "#/components/schemas/EmissaoNotaFiscalViewModel"
            text/json:
              schema:
                $ref: "#/components/schemas/EmissaoNotaFiscalViewModel"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResponseErrorResult"
      security:
        - BearerAuth: []
security:
  - BearerAuth: []
components:
  schemas:
    DanfeEmissaoNotasModelEnum:
      enum:
        - Html
        - Pdf
        - Nenhum
      type: string
      description: Tipo de arquivo DANFE gerado na emissão.
    TipoDanfeNfeModelEnum:
      enum:
        - Retrato
        - Simplificado
      type: string
      description: Tipo de danfe para NFe.
    EmitirNfeDevolucaoInputModel:
      required:
        - identificadorDocumentoFiscalDevolvido
      type: object
      properties:
        codigoErp:
          type: string
          description: Identificador da operação fiscal no ERP.
          nullable: true
        serie:
          type: string
          description: Série do documento fiscal (Informar somente se estiver configurado
            para geração numérica manual).
          nullable: true
        numeroDocumento:
          type: integer
          description: Numero do documento fiscal (Informar somente se estiver configurado
            para geração numérica manual).
          format: int64
          nullable: true
        modeloDocumentoFiscalDevolvido:
          $ref: "#/components/schemas/ModeloNotaFiscalModelEnum"
        identificadorDocumentoFiscalDevolvido:
          minLength: 1
          type: string
          description: Identificador da nota fiscal a ser devolvida - Chave de acesso ou
            Código ERP.
        tipoEmissao:
          $ref: "#/components/schemas/TipoEmissaoNfeModelEnum"
        destinatario:
          $ref: "#/components/schemas/EmitirNfeDevolucaoDestinatarioInputModel"
        autXml:
          type: array
          items:
            $ref: "#/components/schemas/NfeAuxXmlInputModel"
          description: Documentos autorizados a visualizar a NFe.
          nullable: true
        itensDevolvidos:
          type: array
          items:
            $ref: "#/components/schemas/EmitirNfeDevolucaoDetalheItemInputModel"
          description: Lista de itens devolvidos (Informar nulo para devolução completa da
            nota).
          nullable: true
      additionalProperties: false
      description: Dados da nota fiscal de devolução.
    EmissaoNotaFiscalViewModel:
      type: object
      properties:
        sucesso:
          type: boolean
          description: Indica se a nota foi autorizada pela sefaz ou não.
        codigoStatus:
          type: integer
          description: Código de status de envio para a sefaz.
          format: int32
        mensagemSefaz:
          type: string
          description: Mensagem de retorno da sefaz.
          nullable: true
        serie:
          type: string
          description: Série da nota fiscal.
          nullable: true
        numeroDocumento:
          type: integer
          description: Número do documento.
          format: int64
        chaveAcesso:
          type: string
          description: Chave de acesso da nota fiscal.
          nullable: true
        numeroProtocolo:
          type: string
          description: Número do protocolo de autorização da nota fiscal.
          nullable: true
        linkQrcode:
          type: string
          description: Link de acesso a nota fiscal (Apenas para NFC-e).
          nullable: true
        danfe:
          type: string
          description: Arquivo DANFE solicitado (HTML ou PDF Base64).
          nullable: true
        emitidaEmContingencia:
          type: boolean
          description: Indica se a nota foi emitida em modo contingência.
      additionalProperties: false
      description: Dados de retorno da emissão de nota fiscal.
    ResponseErrorResult:
      type: object
      properties:
        status:
          type: integer
          format: int32
        titulo:
          type: string
          nullable: true
        erros:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          nullable: true
      additionalProperties: false
    ModeloNotaFiscalModelEnum:
      enum:
        - Nfe
        - Nfce
      type: string
      description: Modelo de nota fiscal.
    TipoEmissaoNfeModelEnum:
      enum:
        - Automatica
        - Normal
        - ContingenciaFsda
        - ContingenciaSvcan
        - ContingenciaSvcrs
      type: string
      description: Tipo de emissão de NFe.
    EmitirNfeDevolucaoDestinatarioInputModel:
      required:
        - documento
        - endereco
        - nome
      type: object
      properties:
        tipoDocumento:
          $ref: "#/components/schemas/TipoDocumentoNotaFiscalModelEnum"
        documento:
          minLength: 1
          type: string
          description: Documento do destinatário.
        nome:
          maxLength: 60
          minLength: 2
          type: string
          description: Nome do destinatário.
        endereco:
          $ref: "#/components/schemas/EmitirNfeDevolucaoEnderecoInputModel"
        telefone:
          type: string
          description: Telefone do destinatário.
          nullable: true
        inscricaoEstadual:
          type: string
          description: Inscrição estadual do destinatário.
          nullable: true
        inscricaoSuframa:
          type: string
          description: Inscrição SUFRAMA.
          nullable: true
        inscricaoMunicipal:
          type: string
          description: Inscrição municipal.
          nullable: true
        email:
          type: string
          description: Email do destinatário.
          nullable: true
      additionalProperties: false
      description: Dados do destinatário em nota fiscal de devolução.
    NfeAuxXmlInputModel:
      required:
        - documento
      type: object
      properties:
        tipoDocumento:
          $ref: "#/components/schemas/TipoDocumentoNotaFiscalModelEnum"
        documento:
          minLength: 1
          type: string
          description: Documento autorizado.
      additionalProperties: false
      description: Documentos autorizados a capturar e visualizar a NFe.
    EmitirNfeDevolucaoDetalheItemInputModel:
      required:
        - item
        - quantidadeDevolvida
      type: object
      properties:
        item:
          minimum: 0
          exclusiveMinimum: true
          type: integer
          description: Número da sequência do item na nota.
          format: int32
        quantidadeDevolvida:
          minimum: 0
          exclusiveMinimum: true
          type: number
          description: Quantidade de itens a serem devolvidos.
          format: double
        rastros:
          type: array
          items:
            $ref: "#/components/schemas/EmitirNfeDevolucaoDetalheItemRastroInputModel"
          description: Informações de rastro do item.
          nullable: true
      additionalProperties: false
      description: Dados de devolução do item da nota.
    TipoDocumentoNotaFiscalModelEnum:
      enum:
        - Cpf
        - Cnpj
        - IdEstrangeiro
      type: string
      description: Tipo de documento.
    EmitirNfeDevolucaoEnderecoInputModel:
      required:
        - bairro
        - cep
        - codigoMunicipio
        - logradouro
        - nomeMunicipio
        - numero
      type: object
      properties:
        logradouro:
          maxLength: 60
          minLength: 2
          type: string
          description: Logradouro.
        numero:
          maxLength: 60
          minLength: 1
          type: string
          description: Número.
        complemento:
          type: string
          description: Complemento.
          nullable: true
        bairro:
          maxLength: 60
          minLength: 1
          type: string
          description: Bairro.
        codigoMunicipio:
          maxLength: 7
          minLength: 7
          type: string
          description: Código do município.
        nomeMunicipio:
          maxLength: 60
          minLength: 2
          type: string
          description: Nome do município.
        uf:
          $ref: "#/components/schemas/UfExtNotaFiscalModelEnum"
        cep:
          minLength: 1
          type: string
          description: CEP.
        codigoPais:
          type: string
          description: Código do país.
          nullable: true
        pais:
          type: string
          description: Nome do país.
          nullable: true
      additionalProperties: false
      description: Dados do endereço do destinatário nas notas de devolução.
    EmitirNfeDevolucaoDetalheItemRastroInputModel:
      required:
        - dataFabricacao
        - dataValidade
        - numeroLote
      type: object
      properties:
        numeroLote:
          maxLength: 20
          minLength: 1
          type: string
          description: Número do lote do produto.
        quantidadeLote:
          minimum: 0
          exclusiveMinimum: true
          type: number
          description: Quantidade do lote.
          format: double
        dataFabricacao:
          minLength: 1
          type: string
          description: Data de fabricação do lote.
          format: date-time
        dataValidade:
          minLength: 1
          type: string
          description: Data de validade do lote.
          format: date-time
      additionalProperties: false
      description: Dados de rastreabilidade do item da NFe .
    UfExtNotaFiscalModelEnum:
      enum:
        - RO
        - AC
        - AM
        - RR
        - PA
        - AP
        - TO
        - MA
        - PI
        - CE
        - RN
        - PB
        - PE
        - AL
        - SE
        - BA
        - MG
        - ES
        - RJ
        - SP
        - PR
        - SC
        - RS
        - MS
        - MT
        - GO
        - DF
        - EX
      type: string
      description: Lista de Unidades Federativas para Nota Fiscal incluíndo exterior.
  securitySchemes:
    BearerAuth:
      type: http
      description: Autenticação via token JWT. Obtenha o token através do endpoint
        /Autenticacao/ObterToken usando Basic Auth. O token expira em 1 hora.
      scheme: bearer
      bearerFormat: JWT
```
