Skip to main content

PROC002 - Nova DC-e


image-1762776253666.png

Projeto/Sistema:
DC-e / SIEM
Versão do Template:
1.2
Processo:
PROC002 - Nova DC-e
Versão do Documento:
1.0
Responsável(eis): 
Luís Leite

Data: 

16/04/2026

1. Introdução

Essa documentação visa descrever o processo de criação da tela de preenchimento da DC-e. 

2. Processo

Processo

Envolvidos

Dados de Entrada

Dados de Saída

PROC001 - Listagem de DC-e   Listagem dos DC-e lançados

 

PROC002 - Nova DC-e -

Novos DC-e ou edição de DC-e já lançados

DC-e cadastrado ou alterado

PROC003 - Gerenciador de DC-e -

 -

Listagem de DC-es salvas em banco

PROC004 Emissão de DC-e

-

Envio de DC-e a SEFAZ

Arquivo XML

Processos Relacionados


PROC001 - Listagem de DC-e

PROC003 - Gerenciador de DC-e

PROC004 - Emissão de DC-e

Especificação Funcional


PROC002 - Nova DC-e:

Protótipo de Tela:

image-1778085456781.png

Imagem I - Protótipo de tela para o lançamento de uma nova DC-e.

image-1776273178684.png

Imagem II - Informações adicionais do produto.

Descrição dos Campos:

Campo

Tipo

Tamanho

Obrig. ?

Máscara

Observações

DC-e Num Texto 6 - - Apenas visualização.
Data Emissão DateTimePicker - Sim DD/MM/YYYY -
Remetente Texto - - - -
Q / image-1776273366139.png Botão -  - - -
Nome Remetente Texto - - Campo sem label a frente do campo remetente, apenas visualização.
Destinatário Texto - Sim - -
Q / image-1776273366139.png Botão -  - - -
Nome Destinatário Texto - - Campo sem label a frente do campo remetente, apenas visualização.
Produto Texto - Sim - -
Q / image-1776273366139.png Botão - - - -
Nome Produto  Texto - - - -
LE Texto - Não - -
Quantidade Decimal 11v4 Sim - -
Vl. Unitário Decimal 11v10 Sim - -
V. Total Decimal 13v2 - - Apenas visualização.
+ /image-1776273893331.png Botão - - - -
Informações Adicionais LinkLabel - - - -
Item Column Header - - - -
Descrição Column Header - - - -
Quantidade Column Header - - - -
Vl.Unit Column Header - - - -
V.Tot.Bruto Column Header - - - -
TOTAL(R$) Decimal 13v2 - -
Modalidade de Transporte ComboBox - Sim  - A escolher entre: Transporte Próprio, Correios e Terceiros
CNPJ da Transportadora  Texto 18  - 00.000.000/0000-00 Máscara de CNPJ padrão do sistema
Observações Texto 5000  -
Finalidade ComboBox - A escolher entre: DC-e Normal e Contingência Offline
Cancelar Botão - - -
CONFIRMAR Botão - - - -
Pré-visualizar DC-e CheckBox - - - -
Regras de Interface:
  1. DC-e Num: Campo visual, deve trazer o código da DC-e em banco. Ao abrir a primeira vez ficará como zero, pois é definido após salvar.
  2. Data Emissão: Considerar o valor padrão como a data "hoje" do computador.
  3. Remetente: Por padrão bloqueado. Campo código do cadastro de clientes. Ao ser digitado o código e apertado 'Enter' o cadastro correspondente deve ser vinculado e o nome do cliente preenchido. Caso seja digitado zero e aperte o 'Enter', deve ser aberta a tela de busca de clientes. Esse campo somente será desbloqueado quando o tipo de emissor mencionado no PROC001 - Criação das configurações associadas for "Transportadora".
    1. Q / image-1776273366139.png: Deve abrir a tela de busca de clientes.
  4. Destinatário: Campo código do cadastro de clientes. Ao ser digitado o código e apertado 'Enter' o cadastro correspondente deve ser vinculado e o nome do cliente preenchido. Caso seja digitado zero e aperte o 'Enter', deve ser aberta a tela de busca de clientes.
    1. Q / image-1776273366139.png: Deve abrir a tela de busca de clientes.
  5. Produto: Campo código do cadastro de produtos. Ao ser digitado o código e apertado 'Enter' o cadastro correspondente deve ser vinculado e a descrição do produto preenchida. Caso seja digitado zero e aperte o 'Enter', deve ser aberta a tela de busca de produtos. Caso esteja configurado o controle de estoque e o produto não possua saldo, retornar o aviso em tela "Usuário sem permissão para baixar item sem estoque!"
      1. Q / image-1776273366139.png: Deve abrir a tela de busca de produtos.
  6. Informações Adicionais : o clique no Link deve realizar a abertura da dialog para inserção de informações complementares sobre o produto específico. O tamanho do campo é de 500 caracteres e a informação só a é salva com o clique no botão "Salvar". (Imagem II)
  7. LE: Por padrão bloqueado. Campo referente ao Local de Estoque, deve ser liberado caso esteja configurado no sistema o uso de Local de Estoque.
  8. Tipos de Estoque: Os controles de tipo de estoque como Validade, Grade, N. Serie, Arma devem aparecer logo abaixo da descrição do produto para o preenchimento do usuário. Comportamento padrão do sistema.
    image-1776275304860.png
    image-1776275396431.png
    image-1776275445034.png
  9. Valor Unitario: Com o foco no valor do valor unitario, ao apertar "Enter" no teclado deve ser feitas as validações para a inserção do produto. Caso algum campo não esteja preenchido, exibir uma mensagem de aviso. Exemplo: "Erro! verifique o preenchimento dos campos obrigatórios." Caso todos os campos obrigatórios estejam preenchidos, o produto deve inserido na grid de listagem de produtos inseridos. 
  10. Valor Total: Campo desabilitado por padrão. Realiza o calculo da Quantidade * Valor Unitário em tela.
  11. Inseririmage-1776372706619.png: o botão inserir deve realizar a validação dos campos obrigatórios para a inserção de um produto. Caso algum campo não esteja preenchido, exibir uma mensagem de aviso. Exemplo: "Erro! verifique o preenchimento dos campos obrigatórios." Caso todos os campos obrigatórios estejam preenchidos, o produto deve inserido na grid de listagem de produtos inseridos. 
  12. Listagem: 
    1. Excluir: A ação para deletar um registro inserido na listagem é na ação da tecla 'Delete' no teclado.
  13. Label TOTAL(R$): Deve representar a soma dos valores totais de todos os itens inseridos na listagem.
  14. Modalidade de Transporte: valor padrão: Transporte Próprio
  15. CNPJ da Transportadora: campo desabilitado por padrão. Deve estar habilitado somente quando  a modalidade de transporte selecionada for "Terceiros". 
  16. Finalidade de Emissão: Por padrão deve ser "DC-e Normal"
  17. Cancelar: O clique no botão "Cancelar" deve finalizar tela.
  18. Confirmar: deve validar os campos de preenchimento obrigatório e caso um ou mais campos não estejam preenchidos, deve exibir uma mensagem de erro. Exemplo "Erro! verifique o preenchimento dos campos obrigatórios.". Caso a DC-e possa ser salva, exibir a mensagem "DCE salvo com código {código da DC-e}".
Regras de Negócio:
  1. Tipo de Emissão: o tipo de emissão deve ser armazenado no banco de acordo com a nomenclatura do manual: 1=Emissão normal (não em contingência);9=Contingência off-line da DCe.
  2. Adicionar Produto: Deve ser validado se o usuário possui restrição para não vender sem estoque. Caso esteja configurado para não vender sem estoque, o item não será vínculado.
  3. Valor Total: o valor total é calculado a partir da multiplicação entre o Valor Unitário e a Quantidade.
  4. Confirmar: caso o DC-e possa ser salvo, deve realizar o salvamento do registro no banco de dados. Caso seja uma edição, o registro deve ser atualizado no banco de dados. Nesse momento também deve ser realizado o fluxo de movimento do estoque.
    O arquivo XML já deve ser gerado nesse momento.
  5. O fluxo de numeração da DC-e deverá seguir o que já existe para os outros documentos fiscais. Para evitar duas pessoas numerando o mesmo documento ao mesmo tempo, usar a mesma regra de validação dos outros documentos para impedir modificação no mesmo número ou registro.
Questões Técnicas:
  1. Deverão ser criadas novas tabelas no banco de dados para armazenamento das novas informações. 
CREATE TABLE FATURAMENTO_DCE (
  codigoDCe INTEGER,
  data DATETIME,
  responsavelEmissao INTEGER,
  destinatario INTEGER,
  emitente INTEGER,
  valorTotal DECIMAL(13,2),
  modalidadeTransporte INTEGER NOT NULL,
  cnpjTerceiros TEXT(18),
  observacao MEMO,
  DCe_stAssinado BOOLEAN NOT NULL,
  DCe_stAutorizado BOOLEAN NOT NULL,
  DCe_stCancelado BOOLEAN NOT NULL,
  DCe_stEnviado BOOLEAN NOT NULL,
  DCe_stValidado BOOLEAN NOT NULL,
  ambiente TEXT(255),
  cDV LONG NOT NULL,
  cMDFe LONG NOT NULL,
  ArqXML TEXT(255),
  chaveAcesso TEXT(255),
  chaveConf TEXT(255),
  serieDCe LONG NOT NULL,
  procEmi LONG NOT NULL,
  protAutoriza TEXT(255),
  tpEmis LONG NOT NULL,
  tpEmit LONG NOT NULL,
  ufEmit TEXT(255),
  verProc TEXT(255),
  geradoEstoque BOOLEAN NOT NULL,
  cteVinculado TEXT(255),

  CONSTRAINT fk_dce_destinatario
    FOREIGN KEY (destinatarioId) REFERENCES Cad_Cliente (Codigo),

  CONSTRAINT fk_dce_emitente
    FOREIGN KEY (emitenteId) REFERENCES Cad_Cliente (Codigo)
);
CREATE TABLE FATURAMENTO_DCE_ITEM (
  id AUTOINCREMENT PRIMARY KEY,
  produto INTEGER NOT NULL,
  nomeProduto TEXT(120) NOT NULL,
  informacoesAdicionais TEXT(500),
  quant DECIMAL(19,10) NOT NULL,
  valorCusto DECIMAL(19,4) NOT NULL,
  vlTotal DECIMAL(19,2),
  vlTotalLiq DECIMAL(19,2),
  vlUnit DECIMAL(19,10) NOT NULL,
  dceId INTEGER NOT NULL,
  gradeId INTEGER,
  lote TEXT(255),
  validade DATETIME,
  tamanho TEXT(15),
  cor INTEGER,
  nSerie TEXT(15)

  CONSTRAINT fk_dceitem_dce
    FOREIGN KEY (dceId) REFERENCES FATURAMENTO_DCE (codigoDCe),

  CONSTRAINT fk_dceitem_produto
    FOREIGN KEY (produtoId) REFERENCES Estoque_Itens (Codigo)
);
2. Exemplo de arquivo XML a ser salvo no path do sistema pasta /DCe/{numero do documento}/. 

<DCe xmlns="http://www.portalfiscal.inf.br/dce">
<infDCe Id="DCe35260478393592000146990261404128151002399952" versao="1.00">
<ide>
<cUF>35</cUF>
<cDC>239995</cDC>
<mod>99</mod> //fixo 99
<serie>26</serie>
<nDC>140412815</nDC>
<dhEmi>2026-04-14T15:33:21-03:00</dhEmi>
<tpEmis>1</tpEmis>
<tpEmit>0</tpEmit>
<nSiteAutoriz>0</nSiteAutoriz> // fixo como 0
<cDV>2</cDV>
<tpAmb>1</tpAmb>
<verProc>verProc0</verProc>
</ide>
<emit>
<CNPJ>07587030000195</CNPJ>
<xNome>NOME DO CLIENTE</xNome>
<enderEmit>
<xLgr>RUA TESTE</xLgr>
<nro>70</nro>
<xBairro>Terra Nostra</xBairro>
<cMun>3525706</cMun>
<xMun>José Bonifácio</xMun>
<UF>SP</UF>
<CEP>15200000</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
</enderEmit>
</emit>
<Fisco>
<CNPJ>78393592000146</CNPJ>
<xOrgao>Fisco</xOrgao>
<UF>SP</UF>
</Fisco>
<dest>
<CPF>00000021892</CPF>
<xNome>Pamela</xNome>
<enderDest>
<xLgr>RUA TESTE</xLgr>
<nro>76</nro>
<xBairro>BAIRRO</xBairro>
<cMun>3525706</cMun>
<xMun>José Bonifácio</xMun>
<UF>SP</UF>
<CEP>15200000</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
</enderDest>
</dest>
<det nItem="1">
<prod>
<xProd>PRODUTO TESTE</xProd>
<qCom>1</qCom>
<vUnCom>1.00</vUnCom>
<vProd>1.00</vProd>
</prod>
</det>
<total>
<vDC>1.00</vDC>
</total>
<transp>
<modTrans>1</modTrans>
</transp>
<infAdic/>
<infDec>
<xObs1>É contribuinte de ICMS qualquer pessoa física ou jurídica, que realize, com habitualidade ou em volume que caracterize intuito comercial, operações de circulação de mercadoria ou prestações de serviços de transportes interestadual e intermunicipal e de comunicação, ainda que as operações e prestações de iniciem no exterior (Lei Complementar nº 87/96, Art. 4º)</xObs1>
<xObs2>Constitui crime contra a ordem tributária suprimir ou reduzir tributo, ou contribuição social e qualquer acessório: quando negar ou deixar de fornecer, quando obrigatório, nota fiscal ou documento equivalente, relativa a venda de mercadoria ou prestação de serviço, efetivamente realizada ou fornece-la em desacordo com a legislação. Sob pena de reclusão de 2 (dois) e 5 (cinco) anos, e multa (Lei 8.137/90, Art 1ª, V)</xObs2>
</infDec>
</infDCe>
<infDCeSupl>
<qrCodDCe>https://www.fazenda.pr.gov.br/dce/qrcode?chDCe=35260478393592000146990261404128151002399952&tpAmb=1</qrCodDCe>
<urlChave>urlChaveDCe35260478393592000146990261404128151002399952</urlChave>
</infDCeSupl>
</DCe>

©SOFTEN SISTEMAS 2026