O SISCOF e-Financeira é uma ferramenta projetada para facilitar o cumprimento das obrigações legais de relatórios financeiros eletrônicos (e-Financeira) exigidos pela Receita Federal do Brasil (Receita Federal). O sistema permite a criação, validação e gerenciamento de arquivos XML que seguem os padrões estabelecidos para a e-Financeira, abrangendo funcionalidades como cadastro de patrocinados e intermediários, exclusão de registros, fechamento de períodos contábeis e geração de relatórios de movimentação financeira.
Desenvolvido com foco em eficiência e conformidade, o projeto utiliza Python como linguagem principal e inclui esquemas XML para garantir a integridade dos dados reportados.
O sistema oferece as seguintes funcionalidades principais, baseadas na estrutura de pastas e arquivos do repositório:
- Cadastro de Patrocinado: Permite o cadastro de patrocinados no sistema e-Financeira.
- Cadastro de Intermediário: Permite o cadastro de intermediários no sistema e-Financeira.
- Exclusão: Funcionalidade para excluir registros no sistema e-Financeira.
- Exclusão e-Financeira: Exclusão específica de registros relacionados à e-Financeira.
- Fechamento: Realiza o fechamento de períodos contábeis ou operações financeiras.
- Movimento de Operações Financeiras Anual: Gera relatórios ou movimentações anuais de operações financeiras.
- Movimento de Operações Financeiras: Gera relatórios ou movimentações de operações financeiras em períodos mais curtos.
O projeto é organizado em várias pastas, cada uma com um propósito específico:
| Pasta/Subpasta | Descrição |
|---|---|
| diagramas | Contém diagramas que ilustram a estrutura ou o fluxo do sistema. |
| schemas | Contém os esquemas XML utilizados para validar os arquivos de e-Financeira. |
| subschemas | Contém subschemas ou componentes menores dos esquemas XML. |
| source | Contém o código-fonte em Python, organizado em módulos para cada funcionalidade: |
cadastrar_patrocinado |
Módulo para cadastro de patrocinados. |
cadastro_intermediario |
Módulo para cadastro de intermediários. |
exclusao |
Módulo para exclusão de registros. |
exclusao_efinanceira |
Módulo específico para exclusão relacionada à e-Financeira. |
fechamento |
Módulo para fechamento de períodos. |
mov_op_fin_anual |
Módulo para movimentos anuais de operações financeiras. |
mov_ov_fin |
Módulo para movimentos de operações financeiras. |
| tests | Contém testes unitários para validar as funcionalidades implementadas. |
Além disso, há arquivos como generate_evt.py e generate_xsds.py, que são utilizados para gerar eventos e esquemas XML, respectivamente.
- Python: Linguagem de programação utilizada para o desenvolvimento do sistema.
- XML: Utilizado para a estruturação dos dados de e-Financeira, com base nos esquemas fornecidos.
- xml.etree.ElementTree e lxml: manipulação de XML.
-
Clone o repositório
git clone https://github.com/GustavoGLD/siscof-efinanceira.git cd siscof-efinanceira -
Crie e ative um ambiente virtual
python -m venv venv # macOS/Linux source venv/bin/activate # Windows venv\Scripts\activate
-
Instale as dependências
pip install -r requirements.txt
Certifique-se de que o arquivo
requirements.txtesteja presente no repositório com as dependências listadas. -
Configure as variáveis de ambiente
Se necessário, configure variáveis de ambiente para chaves de API ou outras configurações sensíveis, conforme exigido pela integração com serviços da Receita Federal.
-
Execute o aplicativo
Dependendo da estrutura do projeto, execute o script principal ou use um comando específico, como
python generate_evt.pypara gerar eventos.
Para usar o sistema, você pode executar os scripts Python correspondentes a cada funcionalidade. Exemplos incluem:
- Cadastro de Patrocinado:
python source/cadastrar_patrocinado/builders.py - Cadastro de Intermediário:
python source/cadastro_intermediario/builders.py - Geração de Eventos:
python generate_evt.py
Nota: Os comandos exatos podem variar dependendo da implementação. Consulte a documentação específica de cada módulo ou script para detalhes.
O projeto inclui testes unitários localizados na pasta tests. Para executar os testes, use:
python -m unittest discover -s testsOu utilize outra ferramenta de teste, como pytest, se configurada no projeto.
- Adicionar suporte a mais funcionalidades da e-Financeira, como relatórios adicionais.
- Melhorar a documentação com exemplos detalhados de uso.
- Implementar uma interface gráfica para facilitar a interação com o sistema.
- Integrar validações automáticas para garantir conformidade com as atualizações da Receita Federal.
- Manipulação de XML: Trabalhar com esquemas XML complexos exigiu um entendimento profundo das especificações da e-Financeira.
- Conformidade Regulatória: Garantir que os arquivos gerados atendam aos padrões da Receita Federal foi um desafio crítico.
- Modularidade: A organização do código em módulos separados facilitou a manutenção e a escalabilidade do sistema.
- Testes Unitários: A implementação de testes unitários ajudou a garantir a robustez das funcionalidades.
Autor: Gustavo Lídio Damaceno • LinkedIn

