PROC001.2 Enviar DC-e ao Governo
| Projeto/Sistema: DC-e GerencieAqui |
Versão do Template: 1.2 |
| Processo: Enviar DC-e ao Governo |
Versão do Documento: 1.0 |
| Responsável(eis): Daniela Taino |
Data: 26/04/2026 |
1. Introdução
Essa documentação visa descrever o processo de envio da DC-e ao governo.
2. Regras de Interface
1. A autorização é sincrona, então um loading deve ser inserido na tela durante o período de espera do retorno.
2. Caso a DC-e não possa ser assinada (certificado não vinculado, inválido ou vencido), deverá ser exibida a mensagem de erro "Documento não pode ser enviado! Verifique o certificado digital".
3. Se a DC-e for rejeitada pelo governo, o erro deverá ser exibido em tela: "Erro! [MENSAGEM NO CAMPO situacao DO BANCO DE DADOS] . O erro também deve ser exibido como tooltip na coluna "Status", sendo este definido como "ERRO". Caso seja autorizada, "Status" deverá ser "AUTORIZADA" e o tooltip deverá ser "Autorizado o uso da DCe", que também estará armazenado na coluna "situacao".
3. Regras de Negócio
1. A primeira etapa do processo de autorização é a geração do XML de acordo com os campos informados. Ao finalizar a montagem do XML com sucesso, ainda sem assinatura, o bit DCe_stValidado deverá ser marcado como verdadeiro. O exemplo de XML com a correspondência dos campos em banco (e os campos fixos) estão em Anexo I - Exemplos de XML da DCe e correspondência com os campos..
3. A segunda etapa é a assinatura do documento com o certificado A1 da empresa. O processo de assinatura segue o algoritmo padrão que já utilizado nos outros documentos fiscais. Caso tudo ocorra sem problemas com a assinatura, o bit DCe_stAssinado deverá ser marcado como verdadeiro.
4. Depois da assinatura e geração completa, o processo de envio ao WS deverá ser realizado. Ao realizar o envio, o bit DCe_stEnviado deverá ser marcado, independente do retorno de sucesso ou erro.
5. Independente do retorno, o campo "xMotivo" do XML de retorno deverá ser gravado na coluna "situacao" do banco de dados. Se o "cStat" do XML for 100, indica que o documento foi autorizado, então o bit DCe_stAutorizado deve ser marcado como verdadeiro e o protocolo de autorização armazenado em "protAutoriza". Caso seja diferente de 100, isso indica que o governo retornou algum erro, então o bit não deverá ser marcado.
5. Criar na pasta da empresa o diretorio "dce" para armazenar os XMLs de envio (sem e com assinatura), retorno e eventos. O PDF sempre será gerado a cada requisição para evitar o armazenamento desnecessário. Esse caminho deverá ser armazenado na tabela "dce" na coluna " caminhoArquivoXML". Validar sempre se a pasta existe e realizar a criação para primeiros envios.
6. Os seguintes Webservices devem ser utlizados de acordo com o ambiente configurado (homologação ou produção) -> DCeAutorizacao e DCeConsulta.
| Ambiente de Produção | ||
|---|---|---|
| Serviço | Versão | URL |
| DCeStatusServico | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeStatusServico?wsdl |
| DCeAutorizacao | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeAutorizacao?wsdl |
| DCeConsulta | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeConsulta?wsdl |
| DCeRecepcaoEvento | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeRecepcaoEvento?wsdl |
| QRCode | 1.00 | https://www.fazenda.pr.gov.br/dce/qrcode |
| Ambiente de Homologação | ||
|---|---|---|
| Serviço | Versão | URL |
| DCeStatusServico | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeStatusServico?wsdl |
| DCeAutorizacao | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeAutorizacao?wsdl |
| DCeConsulta | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeConsulta?wsdl |
| DCeRecepcaoEvento | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeRecepcaoEvento?wsdl |
| QRCode | 1.00 | https://www.fazenda.pr.gov.br/dce/qrcode |
7. O DV de uma DC-e segue o segundo cálculo:
8. A chave de acesso (dce.chaveAcesso) de uma DC-e deve seguir a seguinte composição:
4. Questões Técnicas
1. No momento a emissão de DC-e somente estará disponível para certificados A1.
2. A emissão não usará o kafka para autorização, mas o código deverá ser criado considerando que uma eventual migração poderá ser necessária (deixar a abstração simples para entendimento humano e da IA).