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

# Criar NFC-e

> Cria uma **NFC-e** (nota ao consumidor, modelo 65) e a enfileira para emissão junto à SEFAZ. A
emissão é **assíncrona**: a resposta `2xx` confirma que a solicitação foi aceita, não que a nota foi
autorizada — acompanhe o resultado por webhook ou consulta.
            
**integrationId** — Identificador da nota no seu sistema (máx. 36 caracteres). Recomendado em todas as integrações:
            
- **Associação:** vincula a NFC-e gerada pela Spedy a um ID do seu sistema (ex: ID do pedido)
- **Idempotência:** um segundo POST com o mesmo `integrationId` atualiza a nota existente em vez de criar uma nova — protege contra duplicidade em retries e timeouts
- **Correção de rejeitada:** para corrigir uma NFC-e rejeitada, reenvie o POST com os dados corrigidos e o mesmo `integrationId` — sem necessidade de deletar a nota anterior



## OpenAPI

````yaml /openapi/v1.json post /v1/consumer-invoices
openapi: 3.0.1
info:
  title: Spedy API
  description: "# Introdução\n\n**Bem-vindo a documentação de referência da API Spedy!**\n\nDisponibilizamos uma API no modelo REST para que você possa emitir notas fiscais de produto (NF-e) ou serviço (NFS-e) em todo o Brasil.\n\nPara emissão de NFS-e, consulte os [municípios integrados](https://app.spedy.com.br/integrated-cities).\n\nO endereço base do ambiente de produção é <code>api.spedy.com.br</code> acompanhado sempre do protocolo seguro https:// como prefixo. As versões da API são agrupadas por diretório, sufixadas ao endereço base (_https://api.spedy.com.br/v1_).\n\n## Integração com IA\n\nSe você está usando um assistente de IA (GitHub Copilot, Cursor, Claude, ChatGPT etc.) para integrar com a API Spedy, disponibilizamos um arquivo `llms.txt` com toda a documentação em formato otimizado para modelos de linguagem — sem HTML, sem overhead de UI.\n\nO arquivo contém todos os endpoints, parâmetros, exemplos de request/response, enums com descrições e fluxos de integração em texto puro.\n\n**Disponível em:** [https://api.spedy.com.br/llms.txt](https://api.spedy.com.br/llms.txt)\n\nCole o conteúdo no contexto da conversa com seu assistente, ou aponte a URL diretamente se a ferramenta suportar.\n\n# Ambiente de testes\n\nA Spedy também oferece um ambiente de testes, que é completamente isolado do ambiente de produção, portanto é necessário criar uma nova conta para utilizá-lo, escolhendo o <u>Plano Desenvolvedor</u> (sem custo). \n\nAs URLs do ambiente de teste estão listadas abaixo:\n\nAPI: https://sandbox-api.spedy.com.br/v1  \nBackoffice: https://sandbox-app.spedy.com.br  \n\n# Exemplos de requisição\n\nDisponibilizamos exemplos de requisição em uma Collection do Insominia.\n\nPara baixá-la, clique no botão abaixo\n\n[![Run in Insomnia](https://insomnia.rest/images/run.svg)](https://insomnia.rest/run/?label=Spedy%20API&uri=https%3A%2F%2Fdocs.spedy.com.br%2FInsomnia_2022-03-04.json)\n\n\n# Autenticação\n\nA autenticação na API é realizada por meio de **Chave de API (API Key)**, que deve ser enviada no header `X-Api-Key` em todas as requisições.\n\n## Obtendo a Chave de API\n\n### Na criação da empresa (via API)\n\nA chave de API é retornada **exclusivamente** no momento da criação de uma nova empresa, no campo `apiCredentials` da resposta. **Essa é a única vez em que a chave será exibida por completo** — armazene-a em local seguro.\n\nExemplo de resposta (campos resumidos):\n\n```json\n{\n  \"result\": {\n    \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n    \"name\": \"Minha Empresa LTDA\",\n    \"federalTaxNumber\": \"12345678000199\",\n    \"apiCredentials\": {\n      \"apiKey\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n    }\n  }\n}\n```\n\n> **Importante:** em consultas posteriores (`GET /v1/companies/{id}`), a chave será retornada ofuscada (ex: `a1b2****-****-****-****-************`).\n\n### Pelo Backoffice\n\nCaso não tenha salvo a chave no momento da criação, você pode:\n\n1. **Visualizar a chave atual** — acesse **Perfil > Minha empresa > Credenciais da API**\n2. **Gerar uma nova chave** — na mesma tela, clique em **Gerar nova chave**. A chave anterior será revogada imediatamente e deixará de funcionar.\n\n## Escopo da Chave\n\nCada empresa cadastrada possui sua própria Chave de API. O escopo de permissões depende do tipo de empresa:\n\n| Tipo | Permissões |\n|---|---|\n| **Empresa principal** (primeira da conta) | Gerenciar empresas (criar, editar, excluir) + operações de nota fiscal |\n| **Demais empresas** | Apenas operações relacionadas a nota fiscal |\n\n## Exemplo de uso\n\n```bash\ncurl -X GET https://api.spedy.com.br/v1/service-invoices \\\n  -H \"X-Api-Key: a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n```\n\n# Rate Limit\n\nPara garantir a **estabilidade**, **desempenho** e **segurança** dos nossos serviços, a API impõe limites ao número de requisições que podem ser realizadas por usuário ou aplicação em um determinado intervalo de tempo.\n\n#### **Limites padrão**\n- **60 requisições por minuto**\n- **Máximo de 5 requisições por segundo**\n- Aplica-se a todas as operações (leitura e escrita)\n\nSe o cliente exceder esses limites, a API responderá com o **status HTTP 429 (Too Many Requests)**. Neste caso, recomendamos aguardar o tempo indicado no cabeçalho `x-rate-limit-reset` antes de tentar novamente. \n\n#### **Cabeçalhos de Rate Limit**\nA cada requisição, a API retorna os seguintes cabeçalhos:\n\n| Cabeçalho                | Descrição                                                                 |\n|--------------------------|---------------------------------------------------------------------------|\n| `x-rate-limit-limit`     | Janela de tempo usada no controle de limite (ex: `1m` para 1 minuto)      |\n| `x-rate-limit-remaining` | Número de requisições restantes antes de atingir o limite                 |\n| `x-rate-limit-reset`     | Data/hora (em UTC) em que o limite será reiniciado                        |\n\n# Fluxo de emissão\n\nA emissão de notas fiscais na Spedy é **assíncrona**: ao receber a requisição, a Spedy valida os dados, **enfileira** a nota para processamento e responde imediatamente com a nota no status `enqueued`. O envio à Prefeitura/SEFAZ e a autorização acontecem em segundo plano — acompanhe o resultado por **webhook** (recomendado) ou consultando a nota pelo endpoint de leitura.\n\n## Formas de emissão\n\nHá duas formas de emitir uma nota, escolhidas conforme o quanto de dado tributário você quer enviar:\n\n| Forma | Endpoint | Quando usar |\n|---|---|---|\n| **Por venda** | `POST /v1/orders` | Forma mais simples: você envia apenas os dados da venda (data, cliente, itens e valor total) e a Spedy resolve a tributação a partir da configuração da empresa. Não é necessário enviar nenhuma informação tributária (códigos, impostos, retenções etc.). Atende cenários mais simples de emissão. |\n| **Nota completa** | `POST /v1/service-invoices` (NFS-e), `POST /v1/product-invoices` (NF-e), `POST /v1/consumer-invoices` (NFC-e) | Você envia os dados tributários completos, conforme o modelo da nota. Indicada para cenários mais complexos ou quando o cliente final não deve acessar o backoffice da Spedy para configurar nada. |\n\nEm ambas as formas a nota entra no mesmo fluxo de processamento assíncrono descrito a seguir.\n\n## Etapas do processamento\n\n| # | Etapa | O que acontece |\n|---|---|---|\n| 1 | **Recebimento** | Você envia a requisição (`/orders` ou `/{modelo}-invoices`). A Spedy valida o payload e cria a nota com status `enqueued`. |\n| 2 | **Enfileiramento** | A emissão é colocada na fila de processamento. |\n| 3 | **Envio à autoridade** | A Spedy transmite a nota à Prefeitura/SEFAZ. |\n| 4 | **Processamento fiscal** | A autoridade processa a nota. |\n| 5 | **Atualização de status** | A Spedy consulta o resultado e atualiza `status` e `processingDetail` da nota (ex.: `authorized`, `rejected`). |\n| 6 | **Notificação** | Havendo webhook configurado, a Spedy notifica o seu sistema com o resultado. |\n\n> **Emissão por venda (`/orders`):** na integração por venda, o enfileiramento da Etapa 1 depende do atributo `autoIssueMode`. A nota só é enfileirada quando o modo permite a emissão: `immediately` (ao criar a venda), `afterPayment` (quando a venda muda para `approved`) ou `afterWarrency` (no dia seguinte ao fim da garantia). Com `disabled`, a venda é registrada mas nenhuma nota é emitida automaticamente.\n\nA autorização depende da disponibilidade e do tempo de processamento da Prefeitura/SEFAZ, que varia conforme a autoridade — mas, em geral, uma nota é autorizada em **menos de 10 segundos** após o envio.\n\n**Acompanhando o resultado:** recomendamos fortemente o uso de **Webhooks** para receber as atualizações de status automaticamente. Se não utilizar webhooks, faça *polling* consultando a nota pelo endpoint de leitura (`GET /v1/{modelo}-invoices/{id}`), que retorna o `status` atual sem acionar a autoridade fiscal.\n\n## Preenchimento de Cidades\n\nTodos os campos de cidade na API (`city` em endereços de receiver, company etc.) aceitam duas formas de preenchimento:\n\n**Por código IBGE (recomendado quando disponível):**\n\n```json\n{ \"city\": { \"code\": \"3550308\" } }\n```\n\nMais assertivo: não depende de matching no nome. Use quando o código IBGE estiver disponível no sistema de origem.\n\n**Por nome e estado:**\n\n```json\n{ \"city\": { \"name\": \"São Paulo\", \"state\": \"SP\" } }\n```\n\nAlternativa quando o código IBGE não está disponível. A Spedy resolve automaticamente o município pelo nome e estado.\n\nNão é necessário enviar os três campos juntos — basta código IBGE **ou** nome + estado.\n\n## Status e Detalhes do Processamento\n\nToda nota fiscal retornada pela API possui dois campos importantes para acompanhar o resultado das operações:\n\n**`status`** — representa o estado atual da nota fiscal. É controlado exclusivamente pela Spedy e **não deve ser enviado** nas requisições de emissão. Use-o para saber se a nota foi autorizada, rejeitada, cancelada etc.\n\n**`processingDetail`** — contém o resultado do **último processamento** executado na nota (emissão, cancelamento, carta de correção etc.). É atualizado a cada operação. Seus campos são:\n\n| Campo | Descrição |\n|---|---|\n| `status` | `success`, `processing` ou `failed` |\n| `message` | Mensagem descritiva do resultado |\n| `code` | Código retornado pela autoridade fiscal |\n\nQuando uma nota é rejeitada (`status: \"rejected\"`), os detalhes da rejeição ficam em `processingDetail.message` e `processingDetail.code`. Rejeições podem vir diretamente da SEFAZ/Prefeitura ou da validação prévia da Spedy — que utiliza o schema fornecido pela autoridade fiscal para validar os dados antes do envio. Quando a rejeição é da Spedy, o código em `processingDetail.code` inicia com o prefixo `SPD`. Em ambos os casos, o formato é idêntico.\n\n> **Nota sobre `processingDetail.status`:** O valor `success` indica que o processamento assíncrono foi executado — **não** que a nota foi autorizada. Uma nota rejeitada terá `processingDetail.status: \"success\"` porque o evento na fila foi processado corretamente. O valor `failed` ocorre apenas em falhas internas de infraestrutura, independentemente do resultado fiscal.\n\n# Contingência\n\nA **contingência** é o mecanismo que mantém a emissão funcionando quando a **SEFAZ está temporariamente indisponível** (instabilidade, sobrecarga em datas de pico ou manutenção programada). Em vez de a nota falhar, a Spedy a emite por um caminho alternativo previsto na legislação, preservando a continuidade da sua operação.\n\n**Você não aciona a contingência.** A Spedy monitora continuamente a disponibilidade da SEFAZ e decide, de forma automática, quando entrar e sair de contingência — não há como forçá-la por requisição, e o gatilho é o mesmo para todas as empresas de uma mesma UF. Sua integração de emissão não muda: você emite normalmente e a Spedy escolhe o caminho correto.\n\n> A contingência se aplica a **NF-e** e **NFC-e** (SEFAZ). Não se aplica a **NFS-e**, cujo processamento é feito pelas prefeituras.\n\n## Ativação automática\n\nA entrada e a saída de contingência são decididas exclusivamente pela Spedy, com base no estado real da SEFAZ. Implicações para a integração:\n\n- **A Spedy decide _quando_ entrar.** O gatilho é sempre automático — não é possível forçar a contingência em uma requisição de emissão nem escolher, por nota, o modo de emissão.\n- **A requisição de emissão não muda.** Você continua emitindo pelos mesmos endpoints (`/orders`, `/product-invoices`, `/consumer-invoices`), com o mesmo payload.\n- **A NFC-e offline exige habilitação prévia** por empresa (`allowOfflineContingency` — ver a seção abaixo). Isso **habilita a capacidade**; _quando_ usá-la continua sendo decidido automaticamente pela Spedy.\n- **O tratamento difere por modelo** — NF-e e NFC-e seguem caminhos distintos, descritos a seguir.\n\n## NF-e em contingência (SVC)\n\nPara a **NF-e**, quando a SEFAZ autorizadora da UF está indisponível, a autorização passa a ser feita por um **ambiente de contingência da própria SEFAZ (SVC — Sistema Virtual de Contingência)**.\n\nNa prática é **transparente para a integração**: a nota continua sendo autorizada de forma síncrona, com validade plena, apenas por um servidor alternativo. O `status` segue normalmente para `authorized` e a DANFE é gerada identificada como emitida em contingência.\n\n## NFC-e em contingência (offline)\n\nPara a **NFC-e**, o caminho de contingência é a **emissão offline**: a nota é **válida no momento da emissão**, sem depender de autorização síncrona da SEFAZ.\n\n> **Pré-requisito:** a emissão offline só é aplicada se a empresa tiver a contingência offline habilitada em suas configurações de NFC-e. O campo **`allowOfflineContingency`** faz parte do bloco `consumerInvoice` do endpoint **[Alterar configurações](#tag/Empresas/paths/~1v1~1companies~1{id}~1settings/put)** (`PUT /v1/companies/{id}/settings`) e exige `tokenId`/`csc` válidos. Sem essa habilitação, a NFC-e segue o fluxo normal de retentativa quando a SEFAZ está indisponível. A habilitação apenas autoriza o uso da contingência offline — _quando_ entrar em contingência continua sendo decidido automaticamente pela Spedy.\n\n| Momento | O que acontece |\n|---|---|\n| **Emissão** | A nota é emitida em contingência e assume o `status` `inContingent`. A **DANFCE e o XML já ficam disponíveis** — a venda se completa imediatamente. |\n| **Regularização** | Quando a SEFAZ volta a operar, a Spedy **transmite a nota automaticamente** para autorização definitiva. Nenhuma ação sua é necessária. |\n| **Conclusão** | Autorizada, a nota passa a `authorized` (dispara `invoice.authorized`). Em rejeição definitiva, passa a `rejected` (dispara `invoice.rejected`). |\n\n> Uma nota em `inContingent` é **juridicamente válida** desde a emissão — a regularização apenas registra a autorização na SEFAZ. Enquanto estiver `inContingent`, o **cancelamento fica indisponível** até a autorização definitiva.\n\n## Status e acompanhamento\n\nDurante a contingência, acompanhe a nota pelos mesmos campos de sempre (`status` e `processingDetail`, descritos em **Fluxo de emissão**):\n\n| `status` | Significado |\n|---|---|\n| `inContingent` | NFC-e emitida offline: válida e pendente de autorização definitiva na SEFAZ. |\n| `authorized` | Autorização concluída (inclui a regularização de uma nota que estava `inContingent`). |\n| `rejected` | Rejeição definitiva na autorização. |\n\nRecomendamos acompanhar a transição por **webhook**. Além dos eventos de autorização e rejeição, a entrada em contingência dispara o evento `invoice.contingency` (ver **Webhooks**).\n\n# Webhooks\n\nA Spedy envia um HTTP POST para a URL configurada sempre que um evento ocorrer nas notas fiscais da sua conta. **O webhook é configurado por conta, não por empresa** — uma única configuração recebe eventos de todas as empresas da conta. Para identificar qual empresa gerou o evento, utilize o objeto `company` presente no payload.\n\n## Eventos disponíveis\n\n| Evento | Descrição |\n| --- | --- |\n| `invoice.status_changed` | Qualquer alteração de status da nota (criação, autorização, rejeição, cancelamento etc.) |\n| `invoice.authorized` | Nota fiscal autorizada |\n| `invoice.rejected` | Nota fiscal rejeitada |\n| `invoice.canceled` | Nota fiscal cancelada |\n| `invoice.contingency` | Nota fiscal emitida em contingência, aguardando autorização definitiva |\n\n> **Dica:** O evento `invoice.status_changed` cobre todo o ciclo de vida da nota. Na maioria dos casos, assinar apenas este evento é suficiente.\n\n## Política de Retry\n\nQuando a entrega de um webhook falha (endpoint indisponível, timeout, HTTP 5xx), o sistema executa até **5 retentativas** com intervalos crescentes:\n\n| Tentativa | Intervalo |\n| --- | --- |\n| 1ª | 5 minutos |\n| 2ª | 30 minutos |\n| 3ª | 1 hora |\n| 4ª | 4 horas |\n| 5ª | 16 horas |\n\nApós 5 falhas consecutivas, o webhook é **desabilitado automaticamente**. Para reativá-lo, utilize o endpoint `PUT /v1/webhooks/{id}/enable`. Eventos perdidos durante o período desabilitado não são reenviados — utilize os endpoints de consulta (`GET /v1/service-invoices`, `GET /v1/product-invoices`) para reconciliar.\n\n## Schema do payload\n\nTodos os eventos seguem a mesma estrutura:\n\n```json\n{\n    \"id\": \"uuid-do-evento\",\n    \"event\": \"invoice.status_changed\",\n    \"data\": { ... }\n}\n```\n\n| Campo | Descrição |\n| --- | --- |\n| `id` | Identificador único do evento |\n| `event` | Tipo do evento |\n| `data` | Dados completos do objeto que gerou o evento |\n\n## Exemplo de payload\n\nO exemplo abaixo é de uma autorização de NFS-e. O campo `data` contém os mesmos dados retornados pelo `GET /v1/service-invoices/{id}` — a estrutura é idêntica para NF-e, usando os campos do `GET /v1/product-invoices/{id}`.\n\n```\n{\n    \"id\": \"caaf34ab-6c65-4ca6-b6bf-b2d8f497c721\",\n    \"event\": \"invoice.status_changed\",\n    \"data\": {\n      \"id\": \"833e8e0e-3bda-4394-ab70-5edf4ee70988\",\n      \"status\": \"authorized\",\n\t  \"rps\": {\n        \"number\": 1,\n        \"series\": \"1\"\n      },\n      \"batchNumber\": 1,      \n      \"model\": \"serviceInvoice\",\n      \"environmentType\": \"production\",\n      \"issuedOn\": \"2021-11-08T18:35:37.823708\",\n      \"receiver\": {\n        \"name\": \"EMPRESA LTDA\",\n        \"federalTaxNumber\": \"00000571000189\",\n        \"municipalTaxNumber\": null,\n        \"email\": null,\n        \"phoneNumber\": null,\n        \"address\": {\n          \"street\": \"Estrada da Água Branca\",\n          \"district\": \"Padre Miguel\",\n          \"postalCode\": \"21720162\",\n          \"number\": \"3795\",\n          \"additionalInformation\": null,\n          \"city\": {\n\t\t\t\"name\": \"Rio de Janeiro\",\n\t\t\t\"state\": \"RJ\"\n\t\t  }\n        }\n      },\n      \"company\": {\n        \"name\": \"EMPRESA LTDA\",\n        \"legalName\": \"EMPRESA LTDA\",\n        \"federalTaxNumber\": \"00000571000189\",\n        \"stateTaxNumber\": \"634992136797\",\n        \"cityTaxNumber\": \"123456\"\n      },\n      \"order\": {\n        \"id\": \"fa15d7af-991d-467d-961a-f564b76d771c\",\n        \"date\": \"2021-10-14T09:00:00\",\n        \"transactionId\": \"AACcacAD1DB\"\n      },\n      \"authorization\": {\n\t\t\"date\": \"2021-11-08T18:35:38.443559\",\n\t\t\"protocol\": \"AAAB1245\",\n\t\t\"digestValue\": null\n\t  },\n      \"amount\": 100,\n      \"number\": 0,\n      \"processingDetail\": {\n        \"status\": \"success\",\n        \"message\": \"NFS-e autorizada pelo município.\",\n        \"code\": null,\n        \"on\": \"2021-11-08T18:35:38.443559\"\n      },\n      \"totals\": {\n        \"invoiceAmount\": 100,\n        \"netAmount\": 100,\n        \"issBaseTax\": 0,\n        \"irRate\": 0,\n        \"csllRate\": 0,\n        \"pisRate\": 0,\n        \"cofinsRate\": 0,\n        \"inssRate\": 0,\n        \"issRate\": 0,\n        \"issAmount\": 0,\n        \"discountUnconditionedAmount\": null,\n        \"discountConditionedAmount\": null,\n        \"irAmount\": 0,\n        \"pisAmount\": 0,\n        \"cofinsAmount\": 0,\n        \"inssAmount\": 0,\n        \"csllAmount\": 0,\n        \"othersAmount\": null,\n        \"deductionsAmount\": null,\n        \"irWithheld\": false,\n        \"issWithheld\": false,\n        \"cofinsWithheld\": false,\n        \"inssWithheld\": false,\n        \"csllWithheld\": false,\n        \"pisWithheld\": false\n      }      \n    }\n  }\n\n```\n\nOs demais eventos de nota fiscal possuem exatamente a mesma estrutura.\n\n# Reforma Tributária \n\nA partir de **1º de janeiro de 2026**, entra em vigor uma nova etapa da **Reforma Tributária**, marcada pela ampliação do uso da **NFS-e Nacional** — o modelo unificado do Governo Federal para emissão de Notas Fiscais de Serviço — e pela introdução dos novos tributos **IBS** e **CBS**, aplicáveis tanto às **notas de serviço (NFS-e)** quanto às **notas de produto (NF-e)**.\n\nNa **Spedy**, acompanhamos essa evolução desde as primeiras definições oficiais. Nossa plataforma está sendo continuamente preparada para suportar todas as adequações exigidas pela Reforma, garantindo que nossos clientes estejam em conformidade com as novas regras **desde o primeiro dia de vigência**.\n\n\n## Nota Fiscal de Serviço (NFS-e)\n\nPor se tratar de uma mudança **estrutural em nível nacional**, é importante considerar alguns cenários que podem ocorrer, especialmente neste **período inicial de 2026**, de transição entre modelos municipais e o ambiente nacional.\n\n### Municípios que já aderiram ao Emissor Nacional\n\nPara municípios que **já aderiram ao Emissor Nacional da NFS-e**, o processo de adequação é simples.\n\nBasta **atualizar o método de emissão** no sistema da Spedy para utilizar o **Ambiente Nacional**.\n\n- A lista completa e atualizada dos municípios aderentes pode ser consultada [aqui](https://app.powerbi.com/view?r=eyJrIjoiNGQ4YTcxNmMtMzdhNC00Mzc5LTllM2EtMjY1MTM3NWQyZDgyIiwidCI6IjZmNDlhYTQzLTgyMmEtNGMyMC05NjcwLWRiNzcwMGJmMWViMCJ9&pageName=608609c2e0a53d7a3c6e).\n- Esse ajuste pode ser realizado diretamente pelo **Backoffice**, conforme detalhado [neste artigo](https://ajuda.spedy.com.br/pt-br/article/entenda-como-atualizar-as-configuracoes-de-emissao-de-nfs-e-para-a-reforma-tributaria-2026-1rh3lbp/) da nossa Central de Ajuda:  \n  \n\nCaso você utilize a API de configurações, utilize o endpoint **[Alterar configurações](#tag/Empresas/paths/~1v1~1companies/post)** da empresa e altere o campo **IssueType** para o valor `annfs` (Ambiente Nacional).\n\n#### Alterações no RPS (DPS)\n\nAo emitir NFS-e no **Ambiente Nacional**, o **RPS passa a ser tratado como DPS (Declaração de Prestação de Serviços)**.\n\nIsso significa que:\n- A numeração e série configuradas deixam de representar o próximo RPS;\n- Passam a representar o **próximo número e série do DPS**.\n\nEssa alteração é fundamental para evitar rejeições no momento da emissão. \n\n\n### Novos campos do Layout Nacional\n\nO layout nacional da NFS-e introduz **novos campos obrigatórios**, que devem ser informados na emissão:\n\n#### Campos gerais\n\n- **Código NBS (`nbsCode`)** \n- **CST PIS/COFINS (`cstPisCofins`)**\n\n#### Campos de Comércio Exterior (`foreignTrade`)\n- **Modo de prestação** *\n- **Vínculo entre as partes** (Padrão: *Sem vínculo com o tomador*)\n- **Fomento utilizado pelo prestador do serviço** (Padrão: *Nenhum*)\n- **Fomento utilizado pelo tomador do serviço** (Padrão: *Nenhum*)\n- **Vínculo da operação à movimentação temporária de bens** (Padrão: *Nenhum*)\n- **Enviar NFS-e ao MDIC** (Padrão: *Não*)\n- **Valor do serviço em moeda estrangeira** *\n- **Código da moeda estrangeira** * (Padrão ISO, ex: `USD`, `BRL`)\n\n\\* Campos obrigatórios quando aplicáveis.\n\n\n\n### Municípios que ainda não aderiram ao Emissor Nacional\n\nPara municípios que ainda utilizam **sistemas próprios**, existem dois cenários possíveis:\n\n#### 1) Prefeituras que já se adaptaram ao novo modelo\n\nAlgumas prefeituras já disponibilizaram **ambientes de teste compatíveis com o novo modelo**, incluindo IBS e CBS.\n\nNesses casos, a Spedy está ajustando as integrações conforme os municípios disponibilizam os novos ambientes.\n\n#### 2) Prefeituras sem informações técnicas ou ambiente de homologação\n\nPara municípios que ainda não divulgaram informações técnicas ou ambientes de homologação, a Spedy segue monitorando os comunicados oficiais.\n\nAssim que os dados forem disponibilizados, a integração será iniciada imediatamente.\n\n\n### Novos impostos: IBS e CBS\n\nAlém das mudanças no layout da NFS-e, a Reforma Tributária altera de forma significativa a **estrutura de tributação sobre o consumo**, introduzindo o conceito de **IVA Dual**, composto pelos tributos **IBS** e **CBS**.\n\nDiferente do modelo anterior — no qual era necessário configurar as alíquotas de diversos impostos, neste novo cenário a **Spedy realiza automaticamente o cálculo dos tributos** com base nas **alíquotas padrão definidas para o período de transição da Reforma Tributária**.\n\nDurante essa fase, são aplicadas as seguintes alíquotas:\n- **IBS:** 0,1%\n- **CBS:** 0,9%\n\n### Campos necessários para o cálculo de IBS e CBS\n\nDurante a fase de transição da Reforma Tributária, a Spedy disponibiliza a **estrutura mínima necessária** para o cálculo e envio dos campos de IBS e CBS nas notas fiscais de serviço.\n\n⚠️ **Importante:**  \nNesse período, **os tributos atualmente vigentes (como ISS, PIS e COFINS) continuam obrigatórios** e **devem ser informados normalmente na nota fiscal**, conforme as regras atuais de cada município.\n\nOs valores de **IBS e CBS terão finalidade exclusivamente de teste operacional e adaptação dos sistemas**, permitindo que empresas, prefeituras e plataformas se preparem para o novo modelo tributário. **Não haverá arrecadação efetiva desses tributos durante a fase de transição.**\n\nPara habilitar o envio desses campos na nota fiscal, acesse:  \n**Configurações > Geral > Habilitar campos da Reforma Tributária**\n\nPara cada nota, será necessário informar os seguintes campos do grupo IBS/CBS (`ibsCbs`):\n\n- **CST (`cst`)** – Código da Situação Tributária\n- **Código de Classificação Tributária (`classification`)** – Código único que identifica o enquadramento tributário do serviço\n- **Código de Indicador de Operação (`operationIndicatorCode`)** – Código associado à natureza da operação tributária\n- **Uso ou consumo pessoal (`isPersonalUse`)** – Indica se a operação é destinada a uso ou consumo pessoal\n\n> Para consultar a **tabela de correlação entre Item da Lista de Serviço, NBS, Código de Classificação Tributária e Código de Indicador de Operação**, consulte o [material de referência](https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/rtc/anexovii-indop_ibscbs_v1-00-00.xlsx/view).  \n> Esses campos podem ser configurados na Regra de Tributação, caso não sejam informados via API, conforme [artigo](https://ajuda.spedy.com.br/pt-br/article/entenda-como-atualizar-as-configuracoes-de-emissao-de-nfs-e-para-a-reforma-tributaria-2026-1rh3lbp/).\n---\n\n\n[Clique aqui](https://storage.crisp.chat/users/upload/session/-/1/8/1/f/181f0e08f152f400/requestnfseibscbs_1ckgrd7.json) para baixar um modelo de request da NFS-e, destacando os campos de IBS/CBS.\n\n## Nota Fiscal de Produto (NF-e)\n\nA adaptação da **NF-e** ao novo modelo tributário, incluindo IBS e CBS, já está disponível. Consulte a [Documentação de Referência](#tag/NF-e/paths/~1v1~1product-invoices/post).\n\nMais detalhes serão adicionados a esta documentação em breve.\n"
  version: v1
  x-logo:
    url: https://docs.spedy.com.br/logo.svg
    altText: Spedy
servers:
  - url: https://api.spedy.com.br
    description: Produção
  - url: https://sandbox-api.spedy.com.br
    description: Sandbox
security:
  - ApiKey: []
paths:
  /v1/consumer-invoices:
    post:
      tags:
        - NFC-e
      summary: Criar NFC-e
      description: "Cria uma **NFC-e** (nota ao consumidor, modelo 65) e a enfileira para emissão junto à SEFAZ. A\r\nemissão é **assíncrona**: a resposta `2xx` confirma que a solicitação foi aceita, não que a nota foi\r\nautorizada — acompanhe o resultado por webhook ou consulta.\r\n            \r\n**integrationId** — Identificador da nota no seu sistema (máx. 36 caracteres). Recomendado em todas as integrações:\r\n            \r\n- **Associação:** vincula a NFC-e gerada pela Spedy a um ID do seu sistema (ex: ID do pedido)\r\n- **Idempotência:** um segundo POST com o mesmo `integrationId` atualiza a nota existente em vez de criar uma nova — protege contra duplicidade em retries e timeouts\r\n- **Correção de rejeitada:** para corrigir uma NFC-e rejeitada, reenvie o POST com os dados corrigidos e o mesmo `integrationId` — sem necessidade de deletar a nota anterior"
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CreateConsumerInvoiceDto'
          application/json:
            schema:
              $ref: '#/components/schemas/CreateConsumerInvoiceDto'
          text/json:
            schema:
              $ref: '#/components/schemas/CreateConsumerInvoiceDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreateConsumerInvoiceDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ConsumerInvoiceDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerInvoiceDto'
            text/json:
              schema:
                $ref: '#/components/schemas/ConsumerInvoiceDto'
        '400':
          description: Bad Request — Erro de validação ou regra de negócio
        '403':
          description: Forbidden — Chave de API inválida
        '429':
          description: Too Many Requests — Limite de requisições atingido
components:
  schemas:
    CreateConsumerInvoiceDto:
      required:
        - isFinalCustomer
      type: object
      properties:
        integrationId:
          maxLength: 36
          minLength: 0
          type: string
          description: >-
            Identificador único da nota fiscal no sistema do cliente (máx. 36
            caracteres).
          nullable: true
        issuedOn:
          type: string
          description: Data de emissão [dhEmi]
          format: date-time
          nullable: true
        effectiveDate:
          type: string
          description: Data de competência [dCompet]
          format: date-time
        number:
          type: integer
          description: Número da NF [nNF]
          format: int64
          nullable: true
        status:
          $ref: '#/components/schemas/InvoiceStatus'
        additionalInformation:
          type: string
          description: Informações adicionais [infCpl]
          nullable: true
        sendEmailToCustomer:
          type: boolean
          description: Enviar e-mail para o cliente / tomador
        series:
          type: string
          description: Série [serie]
          nullable: true
        printingType:
          $ref: '#/components/schemas/PrintingType'
        operationType:
          $ref: '#/components/schemas/InvoiceOperationType'
        purposeType:
          $ref: '#/components/schemas/SefazInvoicePurposeType'
        issueType:
          $ref: '#/components/schemas/InvoiceIssueType'
        operationNature:
          type: string
          description: Natureza de Operação [natOp]
          nullable: true
        operationDate:
          type: string
          description: Data da Operação [dhSaiEnt]
          format: date-time
          nullable: true
        destination:
          $ref: '#/components/schemas/SefazInvoiceDestinationType'
        presenceType:
          $ref: '#/components/schemas/SefazInvoicePresenceType'
        receiver:
          $ref: '#/components/schemas/SefazInvoiceReceiverDto'
        transport:
          $ref: '#/components/schemas/SefazInvoiceTransportDto'
        intermediary:
          $ref: '#/components/schemas/InvoiceIntermediaryDto'
        billing:
          $ref: '#/components/schemas/SefazInvoiceBillingDto'
        duplicates:
          type: array
          items:
            $ref: '#/components/schemas/SefazInvoiceBillingDuplicateDto'
          description: Faturas
          nullable: true
        payments:
          type: array
          items:
            $ref: '#/components/schemas/SefazInvoicePaymentDto'
          description: Pagamentos [pag]
          nullable: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/SefazInvoiceItemDto'
          description: Itens da nota [det]
          nullable: true
        referencedDocuments:
          type: array
          items:
            $ref: '#/components/schemas/SefazInvoiceReferencedDocumentDto'
          description: Documentos Fiscais Referenciados [NFref]
          nullable: true
        authorizedPersons:
          type: array
          items:
            type: string
          description: >-
            Pessoas autorizadas a acessar o XML da nota na SEFAZ [autXML] (máx.
            10).
          nullable: true
        total:
          $ref: '#/components/schemas/SefazInvoiceTotalDto'
        accessKey:
          type: string
          description: Chave de acesso [Id]
          nullable: true
        code:
          type: string
          description: Código Numérico [cNF]
          nullable: true
        isFinalCustomer:
          type: boolean
          description: Consumidor Final [indFinal]
        debitType:
          $ref: '#/components/schemas/SefazInvoiceDebitType'
        creditType:
          $ref: '#/components/schemas/SefazInvoiceCreditType'
        govPurchase:
          $ref: '#/components/schemas/SefazInvoiceGovPurchaseDto'
        govOperationType:
          $ref: '#/components/schemas/SefazInvoiceGovOperationType'
      additionalProperties: false
    ConsumerInvoiceDto:
      type: object
      properties:
        id:
          type: string
          description: ID da NF
          format: uuid
        integrationId:
          type: string
          description: ID de integração
          nullable: true
        status:
          $ref: '#/components/schemas/InvoiceStatus'
        model:
          $ref: '#/components/schemas/InvoiceModel'
        environmentType:
          $ref: '#/components/schemas/EnvironmentType'
        issuedOn:
          type: string
          description: Data de emissão
          format: date-time
          nullable: true
        effectiveDate:
          type: string
          description: Data de competência
          format: date-time
          nullable: true
        receiver:
          $ref: '#/components/schemas/InvoiceReceiverDto'
        company:
          $ref: '#/components/schemas/InvoiceCompanyDto'
        order:
          $ref: '#/components/schemas/InvoiceOrderDto'
        authorization:
          $ref: '#/components/schemas/InvoiceAuthorizationDto'
        amount:
          type: number
          description: Valor total da NF
          format: double
        number:
          type: integer
          description: Número
          format: int64
          nullable: true
        processingDetail:
          $ref: '#/components/schemas/InvoiceProcessingDetailDto'
        accessKey:
          type: string
          nullable: true
        series:
          type: string
          nullable: true
        operationType:
          $ref: '#/components/schemas/InvoiceOperationType'
        printingType:
          $ref: '#/components/schemas/PrintingType'
        issueType:
          $ref: '#/components/schemas/InvoiceIssueType'
        purposeType:
          $ref: '#/components/schemas/SefazInvoicePurposeType'
        debitType:
          $ref: '#/components/schemas/SefazInvoiceDebitType'
        creditType:
          $ref: '#/components/schemas/SefazInvoiceCreditType'
        govPurchase:
          $ref: '#/components/schemas/SefazInvoiceGovPurchaseDto'
        govOperationType:
          $ref: '#/components/schemas/SefazInvoiceGovOperationType'
        contingency:
          $ref: '#/components/schemas/SefazInvoiceContingencyDto'
        authorizedPersons:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    InvoiceStatus:
      enum:
        - created
        - enqueued
        - received
        - authorized
        - inContingent
        - rejected
        - canceled
        - denied
        - removed
        - disabled
      type: string
      description: >
        <p>Valores possíveis:</p>

        <ul>

        <li><b>created</b>: Criada — aguarda emissão explícita via issue ou
        gatilho automático (ex: afterPayment)</li>

        <li><b>enqueued</b>: Enfileirada para processamento junto à SEFAZ ou
        Prefeitura</li>

        <li><b>received</b>: Recebido</li>

        <li><b>authorized</b>: Autorizado</li>

        <li><b>inContingent</b>: Em contingência</li>

        <li><b>rejected</b>: Rejeitado</li>

        <li><b>canceled</b>: Cancelado</li>

        <li><b>denied</b>: Denegado</li>

        <li><b>removed</b>: Removido</li>

        <li><b>disabled</b>: Inutilizado</li>

        </ul>
    PrintingType:
      enum:
        - none
        - portrait
        - landscape
        - simplified
        - consumerInvoice
        - electronicMessage
      type: string
      description: |
        Formato de impressão do DANFE<p>Valores possíveis:</p>
        <ul>
        <li><b>none</b>: Sem geração de DANFE</li>
        <li><b>portrait</b>: Retrato (orientação vertical)</li>
        <li><b>landscape</b>: Paisagem (orientação horizontal)</li>
        <li><b>simplified</b>: Simplificado</li>
        <li><b>consumerInvoice</b>: DANFE NFC-e (cupom fiscal eletrônico)</li>
        <li><b>electronicMessage</b>: Mensagem eletrônica</li>
        </ul>
    InvoiceOperationType:
      enum:
        - incoming
        - outgoing
      type: string
      description: |
        Tipo de operação da nota fiscal<p>Valores possíveis:</p>
        <ul>
        <li><b>incoming</b>: Entrada</li>
        <li><b>outgoing</b>: Saída</li>
        </ul>
    SefazInvoicePurposeType:
      enum:
        - normal
        - complement
        - adjustment
        - devolution
        - credit
        - debit
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>normal</b>: Normal</li>
        <li><b>complement</b>: Complemento</li>
        <li><b>adjustment</b>: Ajustamento</li>
        <li><b>devolution</b>: Devolução</li>
        <li><b>credit</b>: Crédito</li>
        <li><b>debit</b>: Débito</li>
        </ul>
    InvoiceIssueType:
      enum:
        - normal
        - fsia
        - scan
        - epec
        - fsda
        - svcan
        - svcrs
        - offLine
        - website
        - annfs
        - alt
      type: string
      description: >
        Forma de emissão da NF-e<p>Valores possíveis:</p>

        <ul>

        <li><b>normal</b>: Emissão normal (não em contingência)</li>

        <li><b>fSIA</b>: Contingência FS-IA — DANFE em formulário de segurança
        com impressão no verso</li>

        <li><b>sCAN</b>: Contingência SCAN — Sistema de Contingência do Ambiente
        Nacional (desativado)</li>

        <li><b>ePEC</b>: Contingência EPEC — Declaração Prévia de Emissão em
        Contingência</li>

        <li><b>fSDA</b>: Contingência FS-DA — DANFE em formulário de segurança
        sem impressão no verso</li>

        <li><b>sVCAN</b>: Contingência SVC-AN — SEFAZ Virtual de Contingência do
        Ambiente Nacional</li>

        <li><b>sVCRS</b>: Contingência SVC-RS — SEFAZ Virtual de Contingência do
        Rio Grande do Sul</li>

        <li><b>offLine</b>: Contingência off-line</li>

        <li><b>website</b>: Website do provedor (NFS-e)</li>

        <li><b>aNNFS</b>: Ambiente Nacional da NFS-e</li>

        <li><b>alt</b>: Ambiente alternativo do provedor (NFS-e)</li>

        </ul>
    SefazInvoiceDestinationType:
      enum:
        - internal
        - interstate
        - international
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>internal</b>: Interna</li>
        <li><b>interstate</b>: Interestadual</li>
        <li><b>international</b>: Exterior</li>
        </ul>
    SefazInvoicePresenceType:
      enum:
        - none
        - presence
        - internet
        - telephone
        - delivery
        - othersNonPresenceOperation
      type: string
      description: >
        Indicador de presença do comprador no estabelecimento
        comercial<p>Valores possíveis:</p>

        <ul>

        <li><b>none</b>: Não se aplica (ex: NF-e complementar ou de ajuste)</li>

        <li><b>presence</b>: Operação presencial</li>

        <li><b>internet</b>: Operação não presencial via Internet</li>

        <li><b>telephone</b>: Operação não presencial via teleatendimento</li>

        <li><b>delivery</b>: Entrega em domicílio (NFC-e)</li>

        <li><b>othersNonPresenceOperation</b>: Operação não presencial —
        outros</li>

        </ul>
    SefazInvoiceReceiverDto:
      type: object
      properties:
        name:
          type: string
          description: Nome
          nullable: true
        federalTaxNumber:
          type: string
          description: CPF / CNPJ / Doc Estrangeiro
          nullable: true
        stateTaxNumber:
          type: string
          description: Inscrição estadual
          nullable: true
        suframaTaxNumber:
          type: string
          description: >-
            Inscrição na SUFRAMA do destinatário [ISUF] — obrigatória em vendas
            com isenção para ZFM/Áreas de Livre Comércio
          nullable: true
        cityTaxNumber:
          type: string
          description: Inscrição municipal
          nullable: true
        email:
          type: string
          description: E-mail
          nullable: true
        phoneNumber:
          type: string
          description: Telefone
          nullable: true
        address:
          $ref: '#/components/schemas/AddressCreateDto'
      additionalProperties: false
    SefazInvoiceTransportDto:
      type: object
      properties:
        freightModality:
          $ref: '#/components/schemas/SefazInvoiceTransportFreightModality'
        carrier:
          $ref: '#/components/schemas/SefazInvoiceTransportCarrierDto'
        trailer:
          $ref: '#/components/schemas/SefazInvoiceTransportTrailerDto'
        volume:
          $ref: '#/components/schemas/SefazInvoiceTransportVolumeDto'
        vehicle:
          $ref: '#/components/schemas/SefazInvoiceTransportVehicleDto'
        icmsRetention:
          $ref: '#/components/schemas/SefazInvoiceTransportIcmsRetentionDto'
        wagon:
          type: string
          description: Identificação do Vagão [vagao]
          nullable: true
        ferry:
          type: string
          description: Identificação da Balsa [balsa]
          nullable: true
      additionalProperties: false
    InvoiceIntermediaryDto:
      type: object
      properties:
        sellerRegistrationId:
          type: string
          description: Id de registro do vendedor [idCadIntTran]
          nullable: true
        name:
          type: string
          description: Nome [xName]
          nullable: true
        federalTaxNumber:
          type: string
          description: CPF / CNPJ / Doc Estrangeiro ( [CPF] / [CNPJ] )
          nullable: true
        stateTaxNumber:
          type: string
          description: Inscrição estadual [IE]
          nullable: true
        cityTaxNumber:
          type: string
          description: Inscrição municipal
          nullable: true
        email:
          type: string
          description: E-mail [email]
          nullable: true
        phoneNumber:
          type: string
          description: Telefone
          nullable: true
        address:
          $ref: '#/components/schemas/AddressCreateDto'
      additionalProperties: false
    SefazInvoiceBillingDto:
      type: object
      properties:
        number:
          type: string
          description: Número [nFat]
          nullable: true
        originalAmount:
          type: number
          description: Valor original [vOrig]
          format: double
        discountAmount:
          type: number
          description: Valor desconto [vDesc]
          format: double
        netAmount:
          type: number
          description: Valor líquido [vLiq]
          format: double
      additionalProperties: false
    SefazInvoiceBillingDuplicateDto:
      type: object
      properties:
        number:
          type: string
          description: Número da duplicata [nDup]
          nullable: true
        dueDate:
          type: string
          description: Data de Vencimento [dVenc]
          format: date-time
        amount:
          type: number
          description: Valor da Duplicata [vDup]
          format: double
      additionalProperties: false
    SefazInvoicePaymentDto:
      required:
        - method
      type: object
      properties:
        method:
          $ref: '#/components/schemas/SefazInvoicePaymentMethod'
        amount:
          type: number
          description: Valor do Pagamento [vPag]
          format: double
        card:
          $ref: '#/components/schemas/SefazInvoicePaymentDetailCardDto'
      additionalProperties: false
    SefazInvoiceItemDto:
      type: object
      properties:
        code:
          type: string
          description: Código [cProd]
          nullable: true
        gtinCode:
          type: string
          description: Código GTIN [cEAN]
          nullable: true
        description:
          type: string
          description: Descrição [xProd]
          nullable: true
        ncm:
          type: string
          description: NCM [NCM]
          nullable: true
        cest:
          type: string
          description: Código Especificador da Substituição Tributária [CEST]
          nullable: true
        cfop:
          type: integer
          description: Código Fiscal de Operações e Prestações [CFOP]
          format: int32
        unit:
          type: string
          description: Unidade [uCom]
          nullable: true
        quantity:
          type: number
          description: Quantidade [qCom]
          format: double
        unitAmount:
          type: number
          description: Valor Unitário [vUnCom]
          format: double
        totalAmount:
          type: number
          description: Valor total [vProd]
          format: double
        unitTax:
          type: string
          description: Unidade tributária [uTrib]
          nullable: true
        quantityTax:
          type: number
          description: Quantidade tributária [qTrib]
          format: double
        unitTaxAmount:
          type: number
          description: Valor Unitário de Tributação [vUnTrib]
          format: double
        freightAmount:
          type: number
          description: Valor do frete [vFrete]
          format: double
          nullable: true
        insuranceAmount:
          type: number
          description: Valor do seguro [vSeg]
          format: double
          nullable: true
        discountAmount:
          type: number
          description: Desconto [vDesc]
          format: double
          nullable: true
        othersAmount:
          type: number
          description: Outros [vOutro]
          format: double
          nullable: true
        makeupTotal:
          type: boolean
          description: Indica se valor do Item entra no valor total da NF [indTot]
        numberOrderBuy:
          type: string
          description: Número do pedido de compra [xPed]
          nullable: true
        itemNumberOrderBuy:
          type: integer
          description: Número do item do pedido [nItemPed]
          format: int32
          nullable: true
        taxBenefitCode:
          type: string
          description: Código de Benefício Fiscal [cBenef]
          nullable: true
        taxes:
          $ref: '#/components/schemas/SefazInvoiceItemTaxesDto'
        specificProduct:
          $ref: '#/components/schemas/SefazInvoiceItemSpecificProductDto'
        trackings:
          type: array
          items:
            $ref: '#/components/schemas/SefazInvoiceItemTrackingDto'
          description: Rastreabilidade do produto por lote [rastro]
          nullable: true
      additionalProperties: false
    SefazInvoiceReferencedDocumentDto:
      type: object
      properties:
        accessKey:
          type: string
          description: Chave de acesso [id]
          nullable: true
      additionalProperties: false
    SefazInvoiceTotalDto:
      type: object
      properties:
        invoiceAmount:
          type: number
          description: Valor total da NF-e [vNF]
          format: double
        pisAmount:
          type: number
          description: Valor total PIS [vPIS]
          format: double
        cofinsAmount:
          type: number
          description: Valor total COFINS [vCOFINS]
          format: double
        discountAmount:
          type: number
          description: Valor desconto [vDesc]
          format: double
        othersAmount:
          type: number
          description: Valor outro [vOutro]
          format: double
        totalTax:
          type: number
          description: Total do valor aproximado de tributos [vTotTrib]
          format: double
        ipiAmount:
          type: number
          description: Valor total do IPI [vIPI]
          format: double
        importTaxAmount:
          type: number
          description: Valor total do Imposto de Importação [vII]
          format: double
        productAmount:
          type: number
          description: Valor total dos produtos e serviços [vProd]
          format: double
        freightAmount:
          type: number
          description: Valor total do frete [vFrete]
          format: double
        insuranceAmount:
          type: number
          description: Valor total do seguro [vSeg]
          format: double
        icmsBaseTax:
          type: number
          description: Base de cálculo do ICMS [vBC]
          format: double
        icmsAmount:
          type: number
          description: Valor total do ICMS [vICMS]
          format: double
        icmsStBaseTax:
          type: number
          description: Base de Cálculo do ICMS Substituição Tributária [vBCST]
          format: double
        icmsStAmount:
          type: number
          description: Valor total do ICMS ST [vST]
          format: double
        icmsExemptAmount:
          type: number
          description: Valor total do ICMS desonerado [vICMSDeson]
          format: double
        fcpStRetAmount:
          type: number
          description: Valor total FCP retido anteriormente por ST [vFCPSTRet]
          format: double
        fcpStAmount:
          type: number
          description: Valor Total FCP retido por ST [vFCPST]
          format: double
        fcpAmount:
          type: number
          description: Valor total do FCP [vFCP]
          format: double
        ipiReturnedAmount:
          type: number
          description: Valor total IPI devolvido [vIPIDevol]
          format: double
          nullable: true
        icmsSenderAmount:
          type: number
          description: Valor total ICMS Interestadual UF Remetente [vICMSUFRemet]
          format: double
          nullable: true
        icmsDestinationAmount:
          type: number
          description: Valor total ICMS Interestadual UF Destino [vICMSUFDest]
          format: double
          nullable: true
        fcpDestinationAmount:
          type: number
          description: Valor total FCP UF Destino [vFCPUFDest]
          format: double
          nullable: true
        isAmount:
          type: number
          description: "Total do imposto seletivo [vIS]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsCbsBaseTax:
          type: number
          description: "Valor total da BC do IBS e da CBS [vBCIBSCBS]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsStateDefAmount:
          type: number
          description: "Valor total do diferimento [vDif]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsStateDevTaxAmount:
          type: number
          description: "Valor total de devolução de tributos [vDevTrib]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsStateAmount:
          type: number
          description: "Valor total do IBS da UF [vIBSUF]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsCityDefAmount:
          type: number
          description: "Valor total do diferimento [vDif]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsCityDevTaxAmount:
          type: number
          description: "Valor total de devolução de tributos [vDevTrib]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsCityAmount:
          type: number
          description: "Valor total do IBS do Município [vIBSMun]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsAmount:
          type: number
          description: "Valor total do IBS [vIBS]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsPresCredAmount:
          type: number
          description: "Valor total do crédito presumido [vCredPres]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsPresCredSuspensiveAmount:
          type: number
          description: "Valor total do crédito presumido em condição suspensiva [vCredPresCondSus]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        cbsDefAmount:
          type: number
          description: "Valor total do diferimento [vDif]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        cbsDevTaxAmount:
          type: number
          description: "Valor total de devolução de tributos [vDevTrib]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        cbsAmount:
          type: number
          description: "Valor total da CBS [vCBS]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        cbsPresCredAmount:
          type: number
          description: "Valor total do crédito presumido [vCredPres]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        cbsPresCredSuspensiveAmount:
          type: number
          description: "Valor total do crédito presumido em condição suspensiva [vCredPresCondSus]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsSingleStageStandardAmount:
          type: number
          description: "Total do IBS monofásico [vIBSMono]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        cbsSingleStageStandardAmount:
          type: number
          description: "Total da CBS monofásico [vCBSMono]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsSingleStageRetenAmount:
          type: number
          description: "Total do IBS monofásico sujeito a retenção [vIBSMonoReten]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        cbsSingleStageRetenAmount:
          type: number
          description: "Total da CBS monofásico sujeita a retenção [vCBSMonoReten]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsSingleStageRetAmount:
          type: number
          description: "Total do IBS monofásico retido anteriormente [vIBSMonoRet]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        cbsSingleStageRetAmount:
          type: number
          description: "Total da CBS monofásico retida anteriormente [vCBSMonoRet]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
        ibsCbsIsAmount:
          type: number
          description: "Valor total da NF-e com IBS / CBS / IS [vNFTot]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceDebitType:
      enum:
        - creditTransferToCooperatives
        - creditReversalForExemptOrImmuneOutputs
        - unprocessedInvoiceDebitInAssessment
        - penaltyAndInterest
        - creditTransferBySuccession
        - advancePayment
        - inventoryLoss
      type: string
      description: >
        Tipo de Nota de Débito — NT 2025.002 Reforma Tributária<p>Valores
        possíveis:</p>

        <ul>

        <li><b>creditTransferToCooperatives</b>: Transferência de créditos para
        Cooperativas</li>

        <li><b>creditReversalForExemptOrImmuneOutputs</b>: Anulação de crédito
        por saídas imunes/isentas</li>

        <li><b>unprocessedInvoiceDebitInAssessment</b>: Débitos de notas fiscais
        não processadas na apuração</li>

        <li><b>penaltyAndInterest</b>: Multa e juros</li>

        <li><b>creditTransferBySuccession</b>: Transferência de crédito de
        sucessão</li>

        <li><b>advancePayment</b>: Pagamento antecipado</li>

        <li><b>inventoryLoss</b>: Perda em estoque</li>

        </ul>
    SefazInvoiceCreditType:
      enum:
        - finesAndInterest
        - appropriation
      type: string
      description: >
        Tipo de Nota de Crédito — NT 2025.002 Reforma Tributária<p>Valores
        possíveis:</p>

        <ul>

        <li><b>finesAndInterest</b>: Multa e juros</li>

        <li><b>appropriation</b>: Apropriação de crédito presumido de IBS sobre
        o saldo devedor na ZFM (art. 450, § 1º, LC 214/25)</li>

        </ul>
    SefazInvoiceGovPurchaseDto:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/InvoiceGovernmentEntityType'
        rate:
          type: number
          description: "Percentual de redução de alíquota em compra governamental [pRedutor]\r\n\r\nNT 2025.002 - Reforma Tributária"
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceGovOperationType:
      enum:
        - supply
        - receipt
      type: string
      description: >
        Tipo de operação com o ente governamental — NT 2025.002 Reforma
        Tributária<p>Valores possíveis:</p>

        <ul>

        <li><b>supply</b>: Fornecimento</li>

        <li><b>receipt</b>: Recebimento do pagamento, conforme fato gerador do
        IBS/CBS (Art. 10 § 2º)</li>

        </ul>
    InvoiceModel:
      enum:
        - productInvoice
        - consumerInvoice
        - serviceInvoice
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>productInvoice</b>: NF-e</li>
        <li><b>consumerInvoice</b>: NFC-e</li>
        <li><b>serviceInvoice</b>: NFS-e</li>
        </ul>
    EnvironmentType:
      enum:
        - production
        - development
        - simulation
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>production</b>: Produção</li>
        <li><b>development</b>: Homologação</li>
        <li><b>simulation</b>: </li>
        </ul>
    InvoiceReceiverDto:
      type: object
      properties:
        name:
          type: string
          description: Nome [xName]
          nullable: true
        federalTaxNumber:
          type: string
          description: CPF / CNPJ / Doc Estrangeiro ( [CPF] / [CNPJ] )
          nullable: true
        stateTaxNumber:
          type: string
          description: Inscrição estadual [IE]
          nullable: true
        suframaTaxNumber:
          type: string
          description: >-
            Inscrição na SUFRAMA do destinatário [ISUF] — obrigatória em vendas
            com isenção para ZFM/Áreas de Livre Comércio
          nullable: true
        cityTaxNumber:
          type: string
          description: Inscrição municipal
          nullable: true
        email:
          type: string
          description: E-mail [email]
          nullable: true
        phoneNumber:
          type: string
          description: Telefone
          nullable: true
        address:
          $ref: '#/components/schemas/AddressCreateDto'
      additionalProperties: false
    InvoiceCompanyDto:
      type: object
      properties:
        name:
          type: string
          description: Nome fantasia
          nullable: true
        legalName:
          type: string
          description: Razão Social
          nullable: true
        federalTaxNumber:
          type: string
          description: CNPJ
          nullable: true
        stateTaxNumber:
          type: string
          description: Inscrição Estadual
          nullable: true
        cityTaxNumber:
          type: string
          description: Inscrição Municipal
          nullable: true
      additionalProperties: false
    InvoiceOrderDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        date:
          type: string
          format: date-time
        transactionId:
          type: string
          nullable: true
      additionalProperties: false
    InvoiceAuthorizationDto:
      type: object
      properties:
        date:
          type: string
          description: Data de autorização pela SEFAZ ou Prefeitura
          format: date-time
          nullable: true
        protocol:
          type: string
          description: Protocolo de autorização
          nullable: true
        digestValue:
          type: string
          description: Digest value do XML autorizado
          nullable: true
      additionalProperties: false
      description: Dados de autorização da nota fiscal
    InvoiceProcessingDetailDto:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/InvoiceProcessingStatus'
        message:
          type: string
          nullable: true
        code:
          type: string
          nullable: true
        'on':
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    SefazInvoiceContingencyDto:
      type: object
      properties:
        date:
          type: string
          format: date-time
          nullable: true
        reason:
          type: string
          nullable: true
      additionalProperties: false
    AddressCreateDto:
      type: object
      properties:
        street:
          maxLength: 100
          minLength: 0
          type: string
          description: Logradouro
          nullable: true
        district:
          maxLength: 100
          minLength: 0
          type: string
          description: Bairro
          nullable: true
        postalCode:
          maxLength: 15
          minLength: 0
          type: string
          description: CEP
          nullable: true
        number:
          maxLength: 10
          minLength: 0
          type: string
          description: Número
          nullable: true
        additionalInformation:
          maxLength: 150
          minLength: 0
          type: string
          description: Complemento
          nullable: true
        city:
          $ref: '#/components/schemas/CityCreateDto'
        country:
          type: string
          description: "Sigla do País (padrão ISO 3166-1 https://bit.ly/4cpb1Dh)\r\nExemplo: BRA, USA, ARG"
          nullable: true
      additionalProperties: false
    SefazInvoiceTransportFreightModality:
      enum:
        - byIssuer
        - byReceiver
        - byThirdParties
        - free
      type: string
      description: >
        <p>Valores possíveis:</p>

        <ul>

        <li><b>byIssuer</b>: Contratação do Frete por conta do Remetente
        (CIF)</li>

        <li><b>byReceiver</b>: Contratação do Frete por conta do Destinatário
        (FOB)</li>

        <li><b>byThirdParties</b>: Contratação do Frete por conta de
        Terceiros</li>

        <li><b>free</b>: Sem Ocorrência de Transporte</li>

        </ul>
    SefazInvoiceTransportCarrierDto:
      type: object
      properties:
        stateTaxNumber:
          type: string
          description: Inscrição Estadual do Transportador [IE]
          nullable: true
        transportRetention:
          type: string
          description: Grupo de Retenção do ICMS do transporte
          nullable: true
        name:
          type: string
          description: Razão Social ou Nome [xNome]
          nullable: true
        federalTaxNumber:
          type: string
          description: Cadastro Nacional da Pessoa Jurídica [CNPJ]
          nullable: true
        email:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/AddressCreateDto'
      additionalProperties: false
    SefazInvoiceTransportTrailerDto:
      type: object
      properties:
        plate:
          type: string
          description: Placa [placa]
          nullable: true
        state:
          $ref: '#/components/schemas/States'
        rntc:
          type: string
          description: Registro Nacional de Transportadores Rodoviários de Carga [RNTC]
          nullable: true
      additionalProperties: false
    SefazInvoiceTransportVolumeDto:
      type: object
      properties:
        quantity:
          type: integer
          description: Quantidade de volumes transportados [qVol]
          format: int32
        species:
          type: string
          description: Espécie dos volumes transportados [esp]
          nullable: true
        brand:
          type: string
          description: Marca [marca]
          nullable: true
        volumeNumeration:
          type: string
          description: Numeração dos volumes transportados [nVol]
          nullable: true
        netWeight:
          type: number
          description: Peso líquido [pesoL]
          format: double
          nullable: true
        grossWeight:
          type: number
          description: Preso Bruto [pesoB]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceTransportVehicleDto:
      type: object
      properties:
        plate:
          type: string
          description: Placa [placa]
          nullable: true
        state:
          type: string
          description: Estado [UF]
          nullable: true
        rntc:
          type: string
          description: Registro Nacional de Transportadores Rodoviários de Carga [RNTC]
          nullable: true
      additionalProperties: false
    SefazInvoiceTransportIcmsRetentionDto:
      type: object
      properties:
        serviceAmount:
          type: number
          description: Valor do Serviço [vServ]
          format: double
        baseTax:
          type: number
          description: Base de cálculo para a retenção do ICMS sobre o transporte
          format: double
        rate:
          type: number
          description: Alíquota da Retenção [pICMSRet]
          format: double
        amount:
          type: number
          description: Valor total do ICMS retido sobre o transporte
          format: double
        cfop:
          type: string
          description: CFOP de Serviço de Transporte [CFOP]
          nullable: true
        cityGeneratorFactCode:
          type: integer
          description: >-
            Código do Municipio de ocorrencia do fato gerador do ICMS do
            Transpote [cMunFG]
          format: int32
      additionalProperties: false
    SefazInvoicePaymentMethod:
      enum:
        - money
        - check
        - creditCard
        - debitCard
        - storeCredit
        - foodVoucher
        - mealVoucher
        - giftVoucher
        - fuelVoucher
        - commercialDuplicate
        - billetBanking
        - bankDeposit
        - dynamicPix
        - bankTransfer
        - fidelityProgram
        - pix
        - noPayment
        - other
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>money</b>: Dinheiro</li>
        <li><b>check</b>: Cheque</li>
        <li><b>creditCard</b>: Cartão de crédito</li>
        <li><b>debitCard</b>: Cartão de débito</li>
        <li><b>storeCredit</b>: Crédito na loja</li>
        <li><b>foodVoucher</b>: Vale alimentação</li>
        <li><b>mealVoucher</b>: Vale refeição</li>
        <li><b>giftVoucher</b>: Vale presente</li>
        <li><b>fuelVoucher</b>: Vale combustível</li>
        <li><b>commercialDuplicate</b>: Duplicata mercantil</li>
        <li><b>billetBanking</b>: Boleto bancário</li>
        <li><b>bankDeposit</b>: Depósito bancário</li>
        <li><b>dynamicPix</b>: Pix dinâmico</li>
        <li><b>bankTransfer</b>: Transferência bancária</li>
        <li><b>fidelityProgram</b>: Programa de fidelidade</li>
        <li><b>pix</b>: Pix</li>
        <li><b>noPayment</b>: Sem pagamento</li>
        <li><b>other</b>: Outro</li>
        </ul>
    SefazInvoicePaymentDetailCardDto:
      type: object
      properties:
        federalTaxNumber:
          type: string
          description: Cadastro Nacional da Pessoa Jurídica [CNPJ]
          nullable: true
        flag:
          $ref: '#/components/schemas/SefazInvoicePaymentDetailCardFlag'
        authorizationCode:
          type: string
          description: Número de Autorização [cAut]
          nullable: true
        isIntegratedPayment:
          type: boolean
          description: Tipo de integração [tpIntegra]
      additionalProperties: false
    SefazInvoiceItemTaxesDto:
      type: object
      properties:
        totalTax:
          type: number
          description: Valor total aproximado dos tributos [vTotTrib]
          format: double
        icms:
          $ref: '#/components/schemas/SefazInvoiceItemIcmsDto'
        ipi:
          $ref: '#/components/schemas/SefazInvoiceItemIpiDto'
        ii:
          $ref: '#/components/schemas/SefazInvoiceItemIiDto'
        pis:
          $ref: '#/components/schemas/SefazInvoiceItemPisDto'
        cofins:
          $ref: '#/components/schemas/SefazInvoiceItemCofinsDto'
        icmsDestination:
          $ref: '#/components/schemas/SefazInvoiceItemIcmsDestinationDto'
        is:
          $ref: '#/components/schemas/SefazInvoiceItemIsDto'
        ibsCbs:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsDto'
      additionalProperties: false
    SefazInvoiceItemSpecificProductDto:
      type: object
      properties:
        fuel:
          $ref: '#/components/schemas/SefazInvoiceItemFuelDto'
        vehicle:
          $ref: '#/components/schemas/SefazInvoiceItemVehicleDto'
        medication:
          $ref: '#/components/schemas/SefazInvoiceItemMedicationDto'
      additionalProperties: false
      description: Informações de produto específico da NF-e
    SefazInvoiceItemTrackingDto:
      type: object
      properties:
        batchNumber:
          type: string
          description: Número do lote [nLote]
          nullable: true
        batchQuantity:
          type: number
          description: Quantidade do lote [qLote]
          format: double
        manufacturingDate:
          type: string
          description: Data de fabricação [dFab]
          format: date-time
        expirationDate:
          type: string
          description: Data de validade [dVal]
          format: date-time
        aggregationCode:
          type: string
          description: Código de agregação [cAgreg]
          nullable: true
      additionalProperties: false
      description: Rastreabilidade do produto por lote [rastro]
    InvoiceGovernmentEntityType:
      enum:
        - union
        - state
        - federal
        - city
      type: string
      description: >
        Tipo de ente governamental — NT 2025.002 Reforma Tributária<p>Valores
        possíveis:</p>

        <ul>

        <li><b>union</b>: União</li>

        <li><b>state</b>: Estado</li>

        <li><b>federal</b>: Distrito Federal</li>

        <li><b>city</b>: Município</li>

        </ul>
    InvoiceProcessingStatus:
      enum:
        - processing
        - success
        - failed
      type: string
      description: >
        <p>Valores possíveis:</p>

        <ul>

        <li><b>processing</b>: Em processamento — evento na fila aguardando
        execução</li>

        <li><b>success</b>: Processado com sucesso — indica que o evento foi
        executado, não que a nota foi autorizada. Uma nota rejeitada também terá
        status Success.</li>

        <li><b>failed</b>: Falha interna no processamento do evento na fila
        (erro de infraestrutura)</li>

        </ul>
    CityCreateDto:
      type: object
      properties:
        name:
          type: string
          description: Nome [xMun]
          nullable: true
        state:
          type: string
          description: Estado [UF]
          nullable: true
        code:
          type: integer
          description: Código IBGE
          format: int32
          nullable: true
      additionalProperties: false
    States:
      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
        - an
        - ex
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>rO</b>: Rondônia</li>
        <li><b>aC</b>: Acre</li>
        <li><b>aM</b>: Amazonas</li>
        <li><b>rR</b>: Roraima</li>
        <li><b>pA</b>: Pará</li>
        <li><b>aP</b>: Amapá</li>
        <li><b>tO</b>: Tocantins</li>
        <li><b>mA</b>: Maranhão</li>
        <li><b>pI</b>: Piauí</li>
        <li><b>cE</b>: Ceará</li>
        <li><b>rN</b>: Rio Grande do Norte</li>
        <li><b>pB</b>: Paraíba</li>
        <li><b>pE</b>: Pernambuco</li>
        <li><b>aL</b>: Alagoas</li>
        <li><b>sE</b>: Sergipe</li>
        <li><b>bA</b>: Bahia</li>
        <li><b>mG</b>: Minas Gerais</li>
        <li><b>eS</b>: Espírito Santo</li>
        <li><b>rJ</b>: Rio de Janeiro</li>
        <li><b>sP</b>: São Paulo</li>
        <li><b>pR</b>: Paraná</li>
        <li><b>sC</b>: Santa Catarina</li>
        <li><b>rS</b>: Rio Grande do Sul</li>
        <li><b>mS</b>: Mato Grosso do Sul</li>
        <li><b>mT</b>: Mato Grosso</li>
        <li><b>gO</b>: Goiás</li>
        <li><b>dF</b>: Distrito Federal</li>
        <li><b>aN</b>: Ambiente Nacional</li>
        <li><b>eX</b>: Exterior</li>
        </ul>
    SefazInvoicePaymentDetailCardFlag:
      enum:
        - visa
        - masterCard
        - americanExpress
        - sorocred
        - dinersClub
        - elo
        - hipercard
        - aura
        - cabal
        - others
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>visa</b>: Visa</li>
        <li><b>masterCard</b>: Mastercard</li>
        <li><b>americanExpress</b>: American Express</li>
        <li><b>sorocred</b>: Sorocred</li>
        <li><b>dinersClub</b>: Diners Club</li>
        <li><b>elo</b>: Elo</li>
        <li><b>hipercard</b>: Hipercard</li>
        <li><b>aura</b>: Aura</li>
        <li><b>cabal</b>: Cabal</li>
        <li><b>others</b>: Outros</li>
        </ul>
    SefazInvoiceItemIcmsDto:
      type: object
      properties:
        origin:
          type: integer
          description: Origem do produto [orig]
          format: int32
        cst:
          type: integer
          description: Código de Situação Tributária [CST]
          format: int32
          nullable: true
        csosn:
          type: integer
          description: Código de Situação da Operação no Simples Nacional [CSOSN]
          format: int32
          nullable: true
        baseTaxModality:
          type: integer
          description: Modalidade de Base de Cálculo do ICMS [modBC]
          format: int32
        baseTax:
          type: number
          description: Base de Cálculo do ICMS [vBC]
          format: double
        baseTaxSt:
          type: number
          description: Valor da BC do ICMS ST [vBCST]
          format: double
          nullable: true
        baseTaxStModality:
          type: integer
          description: "Modalidade de determinação da BC do ICMS ST [modBCST]\r\n0 - Preço tabelado ou máximo  sugerido\r\n1 - Lista Negativa (valor)\r\n2 - Lista Positiva (valor)\r\n3 - Lista Neutra (valor)\r\n4 - Margem Valor Agregado (%)\r\n5 - Pauta (valor)\r\n6 - Valor da Operação"
          format: int32
          nullable: true
        baseTaxStReduction:
          type: number
          description: Percentual da Redução de BC do ICMS ST [pRedBCST]
          format: double
          nullable: true
        baseTaxStAmount:
          type: number
          format: double
        baseTaxReduction:
          type: number
          description: Percentual da Redução de BC [pRedBC]
          format: double
        stRate:
          type: number
          description: Alíquota do imposto do ICMS ST [pICMSST]
          format: double
        stAmount:
          type: number
          description: Valor do ICMS ST [vICMSST]
          format: double
          nullable: true
        stMarginAmount:
          type: number
          description: Percentual da margem de valor Adicionado do ICMS ST [pMVAST]
          format: double
          nullable: true
        rate:
          type: number
          description: Alíquota do ICMS [pICMS]
          format: double
        amount:
          type: number
          description: Valor do ICMS [vICMS]
          format: double
        reductionRate:
          type: number
          format: double
        snCreditRate:
          type: number
          description: >-
            Alíquota aplicável de cálculo do crédito (Simples Nacional)
            [pCredSN]
          format: double
        snCreditAmount:
          type: number
          description: >-
            Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23
            da LC 123 Simples Nacional [vCredICMSSN]
          format: double
        stRetentionAmount:
          type: number
          description: Valor do ICMS ST retido [vICMSSTRet]
          format: double
          nullable: true
        baseStRetentionAmount:
          type: number
          description: Valor da BC do ICMS ST retido [vBCSTRet]
          format: double
          nullable: true
        taxOperationBaseRate:
          type: number
          format: double
          nullable: true
        ufSt:
          $ref: '#/components/schemas/States'
        stReason:
          type: string
          nullable: true
        amountOperation:
          type: number
          description: Valor do ICMS da Operação [vICMSOp]
          format: double
          nullable: true
        defermentRate:
          type: number
          format: double
          nullable: true
        baseDeferred:
          type: number
          description: Valor do ICMS Diferido [vICMSDif]
          format: double
          nullable: true
        exemptAmount:
          type: number
          description: Valor ICMS Desonerado [vICMSDeson]
          format: double
          nullable: true
        exemptReason:
          type: integer
          description: "Motivo Desoneração ICMS [motDesICMS] \r\n1 - Táxi\r\n2 - Deficiente Físico\r\n3 - Produtor Agropecuário\r\n4 - Frotista/Locadora\r\n5 - Diplomático/Consular\r\n6 - Utilitários e Motocicletas da Amazônia Ocidental e Áreas de Livre Comércio (Resolução 714/88 e 790/94 – CONTRAN e suas alterações)\r\n7 - SUFRAMA\r\n8 - Venda a Orgãos Publicos\r\n9 - Outros\r\n10 - Deficiente Condutor (Convênio ICMS 38/12)\r\n11 - Deficiente não Condutor (Convênio ICMS 38/12)\r\n12 - Fomento agropecuário\r\n16 - Olimpíadas Rio 2016\r\n90 - Solicitado pelo Fisco"
          format: int32
        exemptDeduction:
          type: integer
          description: "Indica se o ICMS desonerado (vICMSDeson) deduz do valor do item (vProd) / total da NF-e [indDeduzDeson] (NT 2023.004)\r\n0 - Não deduz\r\n1 - Deduz"
          format: int32
          nullable: true
        fcpRate:
          type: number
          description: >-
            Percentual do FCP - Valor do ICMS relativo ao Fundo de Combate à
            Pobreza [pFCP]
          format: double
          nullable: true
        fcpAmount:
          type: number
          description: >-
            Valor Total do FCP - Valor do ICMS relativo ao Fundo de Combate à
            Pobreza [vFCP]
          format: double
          nullable: true
        baseTaxFcpAmount:
          type: number
          description: Valor da Base de Cálculo do FCP [vBCFCP]
          format: double
          nullable: true
        fcpStRate:
          type: number
          description: >-
            Percentual do FCP retido por ST - Valor do ICMS relativo ao Fundo de
            Combate à Pobreza retido por substituição tributária [pFCPST]
          format: double
          nullable: true
        fcpStAmount:
          type: number
          description: >-
            Valor Total do FCP retido por ST - Valor do ICMS relativo ao Fundo
            de Combate à Pobreza retido por substituição tributária [vFCPST]
          format: double
          nullable: true
        fcpStRetRate:
          type: number
          description: >-
            Percentual do FCP retido por anteriormente por ST - Valor do ICMS
            relativo ao Fundo de Combate à Pobreza retido anteriormente por
            substituição tributária [pFCPSTRet]
          format: double
          nullable: true
        fcpStRetAmount:
          type: number
          description: >-
            Valor Total do FCP retido por anteriormente por ST - Valor do ICMS
            relativo ao Fundo de Combate à Pobreza retido anteriormente por
            substituição tributária [vFCPSTRet]
          format: double
          nullable: true
        baseTaxFcpStAmount:
          type: number
          description: Informar o valor da Base de Cálculo do FCP [vBCFCPST]
          format: double
          nullable: true
        baseFcpRetentionAmount:
          type: number
          description: >-
            Valor da BC do FCP retido anteriormente por Substituição Tributária
            [vBCFCPSTRet]
          format: double
          nullable: true
        stpRate:
          type: number
          description: Percentual do ST - Alíquota suportada pelo Consumidor Final [pST]
          format: double
          nullable: true
        baseTaxEffectiveReduction:
          type: number
          description: Percentual de redução da Base de Cálculo efetiva [pRedBCEfet]
          format: double
          nullable: true
        baseTaxEffective:
          type: number
          description: Valor da Base de Cálculo efetiva [vBCEfet]
          format: double
          nullable: true
        effectiveRate:
          type: number
          description: Alíquota do ICMS efetiva [pICMSEfet]
          format: double
          nullable: true
        effectiveAmount:
          type: number
          description: Valor do ICMS efetivo [vICMSEfet]
          format: double
          nullable: true
        substituteAmount:
          type: number
          description: Valor do ICMS próprio do Substituto [vICMSSubstituto]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIpiDto:
      type: object
      properties:
        classification:
          type: string
          description: Classe de enquadramento do IPI para Cigarros e Bebidas [clEnq]
          nullable: true
        producerFederalTaxNumber:
          type: string
          description: >-
            CNPJ (Cadastro Nacional da Pessoa Jurídica) do fabricante do produto
            [CNPJProd]
          nullable: true
        stampCode:
          type: string
          description: Código do selo de controle IPI [cSelo]
          nullable: true
        stampQuantity:
          type: integer
          description: Quantidade de selo de controle [qSelo]
          format: int32
        classificationCode:
          type: string
          description: Código de enquadramento legal do IPI [cEnq]
          nullable: true
        cst:
          type: integer
          description: Código de Situação Tributária [CST]
          format: int32
        baseTax:
          type: number
          description: Base de Cálculo do ICMS [vBC]
          format: double
        rate:
          type: number
          description: Alíquota do IPI [pIPI]
          format: double
        unitQuantity:
          type: number
          description: Quantidade de unidades do produto [qUnid]
          format: double
          nullable: true
        unitAmount:
          type: number
          description: Valor unitário do produto [vUnid]
          format: double
          nullable: true
        amount:
          type: number
          description: Valor total do IPI  [vIPI]
          format: double
      additionalProperties: false
    SefazInvoiceItemIiDto:
      type: object
      properties:
        baseTax:
          type: number
          description: Valor BC do Imposto de Importação (vBC)
          format: double
        customsExpenditureAmount:
          type: number
          description: Valor despesas aduaneiras (vDespAdu)
          format: double
        amount:
          type: number
          description: Valor Imposto de Importação (vII)
          format: double
        iofAmount:
          type: number
          description: Valor Imposto sobre Operações Financeiras (vIOF)
          format: double
      additionalProperties: false
    SefazInvoiceItemPisDto:
      type: object
      properties:
        cst:
          type: integer
          description: Código de Situação Tributária [CST]
          format: int32
        baseTax:
          type: number
          description: Base de cálculo do ICMS [vBC]
          format: double
        rate:
          type: number
          description: Valor total do PIS [pPIS]
          format: double
        amount:
          type: number
          description: Programa de Integração Social [vPIS]
          format: double
        productQuantity:
          type: number
          description: Quantidade de base de cálculo do ICMS do produto [qBCProd]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemCofinsDto:
      type: object
      properties:
        cst:
          type: integer
          description: Código de identificação da situação tributária [CST]
          format: int32
        baseTax:
          type: number
          description: base de cálculo do ICMS [vBC]
          format: double
        rate:
          type: number
          description: Alíquota da COFINS  [pCOFINS]
          format: double
        amount:
          type: number
          description: valor total da COFINS  [vCOFINS]
          format: double
        productQuantity:
          type: number
          description: Quantidade de base de cálculo de ICMS do produto [qBCProd]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIcmsDestinationDto:
      type: object
      properties:
        destBaseTax:
          type: number
          format: double
          nullable: true
        fcpAdicRate:
          type: number
          description: Fundo de Combate à Pobreza [pFCPUFDest]
          format: double
          nullable: true
        internalOperationRate:
          type: number
          description: Valor do ICMS devido para a UF de destino [vpICMSUFDest]
          format: double
          nullable: true
        destinationRate:
          type: number
          description: Alíquota de ICMS interestadual aplicável à operação [pICMSInter]
          format: double
          nullable: true
        fcpDestinationAmount:
          type: number
          description: Valor do Fundo de Combate à Pobreza [vFCPUFDest]
          format: double
          nullable: true
        destinationAmount:
          type: number
          description: Valor do ICMS devido para a UF de destino [vICMSUFDest]
          format: double
          nullable: true
        issuerStateAmount:
          type: number
          description: >-
            valor do ICMS devido para a UF do remetente da mercadoria
            [vICMSUFRemet]
          format: double
          nullable: true
        fcpBaseTax:
          type: number
          description: Base de cálculo do Fundo de Combate à Pobreza [vBCFCPUFDest]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIsDto:
      type: object
      properties:
        cst:
          type: integer
          description: Código de Situação Tributária do Imposto Seletivo [CSTIS]
          format: int32
        classification:
          type: integer
          description: >-
            Código de Classificação Tributária do Imposto Seletivo
            [cClassTribIS]
          format: int32
        baseTax:
          type: number
          description: Valor da Base de Cálculo do Imposto Seletivo [vBCIS]
          format: double
          nullable: true
        rate:
          type: number
          description: Alíquota do Imposto Seletivo [pIS]
          format: double
          nullable: true
        specificRate:
          type: number
          description: Alíquota específica por unidade de medida apropriada [pISEspec]
          format: double
          nullable: true
        unitTax:
          type: string
          description: Unidade de Medida Tributável [uTrib]
          nullable: true
        quantityTax:
          type: number
          description: Quantidade Tributável [qTrib]
          format: double
          nullable: true
        amount:
          type: number
          description: Valor do Imposto Seletivo [vIS]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIbsCbsDto:
      type: object
      properties:
        cst:
          type: integer
          description: Código de Situação Tributária do IBS e CBS [CST]
          format: int32
        classification:
          type: integer
          description: Código de Classificação Tributária do IBS e CBS [cClassTrib]
          format: int32
        ibsAmount:
          type: number
          description: Valor do IBS [vIBS]
          format: double
          nullable: true
        baseTax:
          type: number
          description: Base de cálculo do IBS e CBS [vBC]
          format: double
          nullable: true
        ibsStateRate:
          type: number
          description: Alíquota do IBS de competência das UF [pIBSUF]
          format: double
          nullable: true
        ibsStateDef:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsDefDto'
        ibsStateDevTax:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsDevTaxDto'
        ibsStateRed:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsRedDto'
        ibsStateAmount:
          type: number
          description: Valor do IBS de competência da UF [vIBSUF]
          format: double
          nullable: true
        ibsCityRate:
          type: number
          description: Alíquota vigente do IBS do Município [pIBSMun]
          format: double
          nullable: true
        ibsCityDef:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsDefDto'
        ibsCityDevTax:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsDevTax'
        ibsCityRed:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsRedDto'
        ibsCityAmount:
          type: number
          description: Valor do IBS de competência do Município [vIBSMun]
          format: double
          nullable: true
        cbsRate:
          type: number
          description: Alíquota vigente da CBS [pCBS]
          format: double
          nullable: true
        cbsDef:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsDefDto'
        cbsDevTax:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsDevTax'
        cbsRed:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsRedDto'
        cbsAmount:
          type: number
          description: Valor da CBS [vCBS]
          format: double
          nullable: true
        regCst:
          type: integer
          description: Código de Situação Tributária do IBS e CBS [CSTReg]
          format: int32
        regClassification:
          type: integer
          description: Código de Classificação Tributária do IBS e CBS [cClassTribReg]
          format: int32
        regStateIbsRate:
          type: number
          description: Valor da alíquota do IBS da UF [pAliqEfetRegIBSUF]
          format: double
          nullable: true
        regStateIbsAmount:
          type: number
          description: Valor do Tributo do IBS da UF [vTribRegIBSUF]
          format: double
          nullable: true
        regCityIbsRate:
          type: number
          description: Valor da alíquota do IBS do Município [pAliqEfetRegIBSMun]
          format: double
          nullable: true
        regCityIbsAmount:
          type: number
          description: Valor do Tributo do IBS do Município [vTribRegIBSMun]
          format: double
          nullable: true
        regCbsRate:
          type: number
          description: Valor da alíquota da CBS [pAliqEfetRegCBS]
          format: double
          nullable: true
        regCbsAmount:
          type: number
          description: Valor do Tributo da CBS [vTribRegCBS]
          format: double
          nullable: true
        ibsPresCred:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsPresCredDto'
        cbsPresCred:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsPresCredDto'
        govPurchaseStateIbsRate:
          type: number
          description: Alíquota do IBS de competência do Estado [pAliqIBSUF]
          format: double
          nullable: true
        govPurchaseStateIbsAmount:
          type: number
          description: Valor do Tributo do IBS da UF calculado [vTribIBSUF]
          format: double
          nullable: true
        govPurchaseCityIbsRate:
          type: number
          description: Alíquota do IBS de competência do Municípo [pAliqIBSMun]
          format: double
          nullable: true
        govPurchaseCityIbsAmount:
          type: number
          description: Valor do Tributo do IBS do Município calculado [vTribIBSMun]
          format: double
          nullable: true
        govPurchaseCbsRate:
          type: number
          description: Alíquota da CBS [pAliqCBS]
          format: double
          nullable: true
        govPurchaseCbsAmount:
          type: number
          description: Valor do Tributo da CBS calculado [vTribCBS]
          format: double
          nullable: true
        singleStageIbsAmount:
          type: number
          description: Total de IBS Monofásico [vTotIBSMonoItem]
          format: double
          nullable: true
        singleStageCbsAmount:
          type: number
          description: Total da CBS Monofásica [vTotCBSMonoItem]
          format: double
          nullable: true
        singleStageStandard:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsSingleStageDto'
        singleStageReten:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsSingleStageDto'
        singleStageRet:
          $ref: '#/components/schemas/SefazInvoiceItemIbsCbsSingleStageDto'
        singleStageDefIbsRate:
          type: number
          description: Percentual do diferimento do imposto monofásico [pDifIBS]
          format: double
          nullable: true
        singleStageDefIbsAmount:
          type: number
          description: Valor do IBS monofásico diferido [vIBSMonoDif]
          format: double
          nullable: true
        singleStageDefCbsRate:
          type: number
          description: Percentual do diferimento do imposto monofásico [pDifCBS]
          format: double
          nullable: true
        singleStageDefCbsAmount:
          type: number
          description: Valor da CBS Monofásico diferida [vCBSMonoDif]
          format: double
          nullable: true
        credTransferIbsAmount:
          type: number
          description: Valor do IBS a ser transferido [vIBS]
          format: double
          nullable: true
        credTransferCbsAmount:
          type: number
          description: Valor da CBS a ser transferida [vCBS]
          format: double
          nullable: true
        presCredIbsZfmType:
          $ref: '#/components/schemas/SefazInvoiceItemPresCredIbsZfm'
        presCredIbsZfmAmount:
          type: number
          description: >-
            Valor do crédito presumido calculado sobre o saldo devedor apurado
            [vCredPresIBSZFM]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemFuelDto:
      type: object
      properties:
        anpCode:
          type: string
          description: >-
            Código do produto conforme ANP (Agência Nacional do Petróleo)
            [cProdANP]
          nullable: true
        description:
          type: string
          description: Descrição do produto conforme tabela ANP [descANP]
          nullable: true
        consumptionUF:
          $ref: '#/components/schemas/States'
      additionalProperties: false
      description: Informações específicas para combustíveis [comb]
    SefazInvoiceItemVehicleDto:
      type: object
      properties:
        operationType:
          $ref: '#/components/schemas/SefazInvoiceItemVehicleOperationType'
        chassis:
          type: string
          description: Número do chassi do veículo [chassi]
          nullable: true
        colorCode:
          type: string
          description: Código da cor do veículo [cCor]
          nullable: true
        colorDescription:
          type: string
          description: Descrição da cor do veículo [xCor]
          nullable: true
        power:
          type: string
          description: Potência do motor (CV) [pot]
          nullable: true
        cylinderCapacity:
          type: string
          description: Cilindrada do motor [cilin]
          nullable: true
        netWeight:
          type: string
          description: Peso líquido do veículo (kg) [pesoL]
          nullable: true
        grossWeight:
          type: string
          description: Peso bruto do veículo (kg) [pesoB]
          nullable: true
        serialNumber:
          type: string
          description: Número de série do veículo [nSerie]
          nullable: true
        fuelType:
          type: string
          description: Tipo de combustível utilizado pelo veículo [tpComb]
          nullable: true
        engineNumber:
          type: string
          description: Número do motor [nMotor]
          nullable: true
        maxTractionCapacity:
          type: string
          description: Capacidade máxima de tração (kg) [CMT]
          nullable: true
        distanceType:
          type: string
          description: Tipo de distância entre eixos [dist]
          nullable: true
        modelYear:
          type: integer
          description: Ano do modelo do veículo [anoMod]
          format: int32
        manufactureYear:
          type: integer
          description: Ano de fabricação do veículo [anoFab]
          format: int32
        paintType:
          type: string
          description: Tipo de pintura do veículo [tpPint]
          nullable: true
        vehicleType:
          type: string
          description: Tipo de veículo conforme tabela SEFAZ [tpVeic]
          nullable: true
        vehicleSpecies:
          type: integer
          description: Espécie do veículo [espVeic]
          format: int32
        vinCondition:
          $ref: '#/components/schemas/SefazInvoiceItemVehicleVinCondition'
        condition:
          $ref: '#/components/schemas/SefazInvoiceItemVehicleCondition'
        modelCode:
          type: string
          description: Código do modelo do veículo [cMod]
          nullable: true
        denatranColorCode:
          type: string
          description: Código da cor conforme DENATRAN [cCorDENATRAN]
          nullable: true
        seats:
          type: integer
          description: Lotação máxima de passageiros [lota]
          format: int32
        restrictionType:
          $ref: '#/components/schemas/SefazInvoiceItemVehicleRestrictionType'
      additionalProperties: false
      description: Informações específicas para veículos [veicProd]
    SefazInvoiceItemMedicationDto:
      type: object
      properties:
        anvisaCode:
          type: string
          description: >-
            Numero ANVISA. Informar o número do código de registro do
            medicamento na ANVISA ou o literal "ISENTO". [cProdANVISA]
          nullable: true
        exemptionReason:
          type: string
          description: >-
            Motivo da isenção da ANVISA — preencher quando AnvisaCode = "ISENTO"
            [xMotivoIsencao]
          nullable: true
        maxConsumerPrice:
          type: number
          description: Preço Máximo Consumidor [vPMC]
          format: double
      additionalProperties: false
      description: >-
        Detalhamento específico para medicamentos e matérias-primas
        farmacêuticas [med]
    SefazInvoiceItemIbsCbsDefDto:
      type: object
      properties:
        rate:
          type: number
          description: Percentual do diferimento [pDif]
          format: double
          nullable: true
        amount:
          type: number
          description: Valor do Diferimento [vDif]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIbsCbsDevTaxDto:
      type: object
      properties:
        amount:
          type: number
          description: Valor do tributo devolvido [vDevTrib]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIbsCbsRedDto:
      type: object
      properties:
        rate:
          type: number
          description: Percentual da redução de alíquota do cClassTrib [pRedAliq]
          format: double
          nullable: true
        effectiveRate:
          type: number
          description: >-
            Alíquota efetiva, após aplicação da redução de alíquota, incluindo o
            percentual de redução de alíquota em compra governamental, se houver
            [pAliqEfet]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIbsCbsDevTax:
      type: object
      properties:
        amount:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIbsCbsPresCredDto:
      type: object
      properties:
        code:
          type: integer
          description: Código de Classificação do Crédito Presumido [cCredPres]
          format: int32
          nullable: true
        rate:
          type: number
          description: Percentual do Crédito Presumido [pCredPres]
          format: double
          nullable: true
        amount:
          type: number
          description: Valor do Crédito Presumido [vCredPres]
          format: double
          nullable: true
        suspensiveAmount:
          type: number
          description: Valor do Crédito Presumido em condição suspensiva [vCredPresCondSus]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemIbsCbsSingleStageDto:
      type: object
      properties:
        quantityTax:
          type: number
          description: >-
            Informar a BC quantidade conforme unidade de medida estabelecida na
            legislação para o produto [qBCMono]
          format: double
          nullable: true
        ibsAdRemRate:
          type: number
          description: Alíquota ad rem do IBS [adRemIBS]
          format: double
          nullable: true
        cbsAdRemRate:
          type: number
          description: Alíquota ad rem da CBS [adRemCBS]
          format: double
          nullable: true
        ibsAmount:
          type: number
          description: Valor do IBS monofásico [vIBSMono]
          format: double
          nullable: true
        cbsAmount:
          type: number
          description: Valor da CBS monofásico [vCBSMono]
          format: double
          nullable: true
      additionalProperties: false
    SefazInvoiceItemPresCredIbsZfm:
      enum:
        - none
        - finalGoods
        - capitalGoods
        - intermediateGoods
        - technologyGoods
      type: string
      description: >
        Crédito Presumido de IBS na Zona Franca de Manaus<p>Valores
        possíveis:</p>

        <ul>

        <li><b>none</b>: Sem crédito presumido</li>

        <li><b>finalGoods</b>: Bens de consumo final (55%)</li>

        <li><b>capitalGoods</b>: Bens de capital (75%)</li>

        <li><b>intermediateGoods</b>: Bens intermediários (90,25%)</li>

        <li><b>technologyGoods</b>: Bens de informática e outros definidos em
        legislação (100%)</li>

        </ul>
    SefazInvoiceItemVehicleOperationType:
      enum:
        - others
        - dealershipSale
        - directBillingToFinalConsumer
        - directSaleToLargeConsumers
      type: string
      description: >
        <p>Valores possíveis:</p>

        <ul>

        <li><b>others</b>: Outros</li>

        <li><b>dealershipSale</b>: Venda concessionária</li>

        <li><b>directBillingToFinalConsumer</b>: Faturamento direto para
        consumidor final</li>

        <li><b>directSaleToLargeConsumers</b>: Venda direta para grandes
        consumidores (frotista, governo, ...)</li>

        </ul>
    SefazInvoiceItemVehicleVinCondition:
      enum:
        - normal
        - rescheduled
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>normal</b>: Normal</li>
        <li><b>rescheduled</b>: Remarcado</li>
        </ul>
    SefazInvoiceItemVehicleCondition:
      enum:
        - finished
        - unfinished
        - semiFinished
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>finished</b>: Acabado</li>
        <li><b>unfinished</b>: Inacabado</li>
        <li><b>semiFinished</b>: Semi-acabado</li>
        </ul>
    SefazInvoiceItemVehicleRestrictionType:
      enum:
        - none
        - fiduciaryLien
        - leasing
        - retentionOfTitle
        - vehiclePledge
        - other
      type: string
      description: |
        <p>Valores possíveis:</p>
        <ul>
        <li><b>none</b>: Não há</li>
        <li><b>fiduciaryLien</b>: Alienação Fiduciária</li>
        <li><b>leasing</b>: Arrendamento Mercantil</li>
        <li><b>retentionOfTitle</b>: Reserva de Domínio</li>
        <li><b>vehiclePledge</b>: Penhor de Veículos</li>
        <li><b>other</b>: Outras</li>
        </ul>
  securitySchemes:
    ApiKey:
      type: apiKey
      description: Authorization By X-Api-Key inside request's header
      name: X-Api-Key
      in: header

````