# Mapa Fiscal Tributário
## Descrição
O projeto **Mapa Fiscal Tributário** é uma solução desenvolvida para gerenciar cenários e operações fiscais, considerando diferentes contextos tributários como classe fiscal do produto, natureza da operação e estados de origem e destino. Ele foi projetado para ser altamente configurável e modular, permitindo o uso em diversos regimes tributários e perfis de contribuintes.
---
## Principais Componentes
### 1. **Modelos de Dados**
- **`MapaFiscal`**: Representa o mapa fiscal, com classes fiscais, cenários e operações.
- **`ClasseFiscal`**: Detalha a classificação fiscal de produtos, como NCM, origem, segmento e alÃquotas.
- **`CenarioFiscal`**: Representa configurações especÃficas para operações fiscais em determinado contexto.
- **`OperacaoFiscal`**: Define detalhes operacionais como CFOP, CST, alÃquotas de ICMS, PIS, COFINS e IPI.
### 2. **Regras Fiscais**
- **`RegraFiscalProcessor`**: Processa as regras tributárias com base no contexto fiscal e nos parâmetros fornecidos, calculando alÃquotas de ICMS, PIS, COFINS e IPI.
### 3. **Contextos Fiscais**
- **`ContextoFiscal`**: Interface base para diferentes fontes de dados fiscais.
- **`JSONContexto`**: Implementação que carrega dados fiscais a partir de arquivos JSON.
- **`ContextoFiscalFactory`**: Fabrica contextos fiscais dinamicamente com base em registros.
---
## Casos de Uso
### Cenário: Gerar um Mapa Fiscal com Base em um Arquivo JSON
#### 1. Inicializar repositorio,
Registre um contexto fiscal baseado no formato JSON:
```python
from mapafiscal.infrastructure.persistence import JSONRepositorio
from mapafiscal.infrastructure.admin import iniciar_repositorio
repositorio = JSONRepositorio(".\\etc")
iniciar_repositorio(repositorio)
```
#### 2. Construir o Mapa Fiscal
Use o processador de regras fiscais para criar um mapa fiscal:
```python
from mapafiscal.application.cenario_builder import CenarioBuilder
builder = CenarioBuilder(repositorio)
mapa_fiscal = builder.build_from_file("cenario_example.json")
```
#### 3. Exportar Resultado
Exporte os resultados para um arquivo Excel:
```python
from mapafiscal.application import ExcelExporter
excel = ExcelExporter(mapa_fiscal)
excel.to_excel("output.xlsx")
```
---
## Como Executar
### Executar via Linha de Comando
O script 'create_env.py' permite criar o repositorio de dados via terminal:
```bash
python create_env.py -r caminho/para/repositorio
```
A execução também irá criar o arquivo cenario_example.json.
Este arquivo pode ser utilizado para efetuar seus primeiros testes com o mapa fiscal.
O script `build_cenario.py` permite gerar um mapa fiscal diretamente via terminal:
```bash
python build_cenario.py --filename caminho/para/dados.json
```
Este comando gerará um arquivo `mapafiscal.xlsx` contendo os cenários processados.
---
## Estrutura de Arquivos do Projeto
- **`common.py`**: Contém enums e classes comuns usadas em todo o projeto.
- **`model.py`**: Define os modelos de dados principais.
- **`contexto_fiscal.py`**: Define a interface base e funcionalidades gerais para contextos fiscais.
- **`contexto_factory.py`**: Permite criar contextos fiscais dinamicamente.
- **`contexto_registry.py`**: Gerencia registros de diferentes implementações de contexto.
- **`json_contexto.py`**: Implementação de contexto fiscal baseado em JSON.
- **`mapa_fiscal_processor.py`**: Processa cenários e operações fiscais.
- **`build_cenario.py`**: Script para gerar mapas fiscais via terminal.
---
## Contribuições
Contribuições são bem-vindas! Para relatar problemas ou sugerir melhorias, crie uma issue ou envie um pull request.
---
## Licença
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
Raw data
{
"_id": null,
"home_page": "https://github.com/ismaelnjr/mapafiscal-project.git",
"name": "mapafiscal",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "mapa fiscal tributario receita federal",
"author": "Ismael Nascimento",
"author_email": "ismaelnjr@icloud.com",
"download_url": "https://files.pythonhosted.org/packages/48/8d/43a1a90b449deed181a7dc9fec0dcb3832fd6f3f01196229765f1eab7570/mapafiscal-0.3.1.tar.gz",
"platform": null,
"description": "\r\n# Mapa Fiscal Tribut\u00c3\u00a1rio\r\n\r\n## Descri\u00c3\u00a7\u00c3\u00a3o\r\nO projeto **Mapa Fiscal Tribut\u00c3\u00a1rio** \u00c3\u00a9 uma solu\u00c3\u00a7\u00c3\u00a3o desenvolvida para gerenciar cen\u00c3\u00a1rios e opera\u00c3\u00a7\u00c3\u00b5es fiscais, considerando diferentes contextos tribut\u00c3\u00a1rios como classe fiscal do produto, natureza da opera\u00c3\u00a7\u00c3\u00a3o e estados de origem e destino. Ele foi projetado para ser altamente configur\u00c3\u00a1vel e modular, permitindo o uso em diversos regimes tribut\u00c3\u00a1rios e perfis de contribuintes.\r\n\r\n---\r\n\r\n## Principais Componentes\r\n\r\n### 1. **Modelos de Dados**\r\n- **`MapaFiscal`**: Representa o mapa fiscal, com classes fiscais, cen\u00c3\u00a1rios e opera\u00c3\u00a7\u00c3\u00b5es.\r\n- **`ClasseFiscal`**: Detalha a classifica\u00c3\u00a7\u00c3\u00a3o fiscal de produtos, como NCM, origem, segmento e al\u00c3\u00adquotas.\r\n- **`CenarioFiscal`**: Representa configura\u00c3\u00a7\u00c3\u00b5es espec\u00c3\u00adficas para opera\u00c3\u00a7\u00c3\u00b5es fiscais em determinado contexto.\r\n- **`OperacaoFiscal`**: Define detalhes operacionais como CFOP, CST, al\u00c3\u00adquotas de ICMS, PIS, COFINS e IPI.\r\n\r\n### 2. **Regras Fiscais**\r\n- **`RegraFiscalProcessor`**: Processa as regras tribut\u00c3\u00a1rias com base no contexto fiscal e nos par\u00c3\u00a2metros fornecidos, calculando al\u00c3\u00adquotas de ICMS, PIS, COFINS e IPI.\r\n\r\n### 3. **Contextos Fiscais**\r\n- **`ContextoFiscal`**: Interface base para diferentes fontes de dados fiscais.\r\n- **`JSONContexto`**: Implementa\u00c3\u00a7\u00c3\u00a3o que carrega dados fiscais a partir de arquivos JSON.\r\n- **`ContextoFiscalFactory`**: Fabrica contextos fiscais dinamicamente com base em registros.\r\n\r\n---\r\n\r\n## Casos de Uso\r\n\r\n### Cen\u00c3\u00a1rio: Gerar um Mapa Fiscal com Base em um Arquivo JSON\r\n\r\n#### 1. Inicializar repositorio,\r\nRegistre um contexto fiscal baseado no formato JSON:\r\n```python\r\n from mapafiscal.infrastructure.persistence import JSONRepositorio\r\n from mapafiscal.infrastructure.admin import iniciar_repositorio\r\n\r\n repositorio = JSONRepositorio(\".\\\\etc\") \r\n iniciar_repositorio(repositorio) \r\n```\r\n\r\n#### 2. Construir o Mapa Fiscal\r\nUse o processador de regras fiscais para criar um mapa fiscal:\r\n```python\r\nfrom mapafiscal.application.cenario_builder import CenarioBuilder\r\n\r\nbuilder = CenarioBuilder(repositorio)\r\nmapa_fiscal = builder.build_from_file(\"cenario_example.json\") \r\n```\r\n\r\n#### 3. Exportar Resultado\r\nExporte os resultados para um arquivo Excel:\r\n```python\r\nfrom mapafiscal.application import ExcelExporter\r\n\r\nexcel = ExcelExporter(mapa_fiscal)\r\nexcel.to_excel(\"output.xlsx\")\r\n```\r\n\r\n---\r\n\r\n## Como Executar\r\n\r\n### Executar via Linha de Comando\r\nO script 'create_env.py' permite criar o repositorio de dados via terminal:\r\n```bash\r\npython create_env.py -r caminho/para/repositorio\r\n```\r\nA execu\u00c3\u00a7\u00c3\u00a3o tamb\u00c3\u00a9m ir\u00c3\u00a1 criar o arquivo cenario_example.json.\r\nEste arquivo pode ser utilizado para efetuar seus primeiros testes com o mapa fiscal.\r\n\r\nO script `build_cenario.py` permite gerar um mapa fiscal diretamente via terminal:\r\n```bash\r\npython build_cenario.py --filename caminho/para/dados.json\r\n```\r\nEste comando gerar\u00c3\u00a1 um arquivo `mapafiscal.xlsx` contendo os cen\u00c3\u00a1rios processados.\r\n\r\n---\r\n\r\n## Estrutura de Arquivos do Projeto\r\n- **`common.py`**: Cont\u00c3\u00a9m enums e classes comuns usadas em todo o projeto.\r\n- **`model.py`**: Define os modelos de dados principais.\r\n- **`contexto_fiscal.py`**: Define a interface base e funcionalidades gerais para contextos fiscais.\r\n- **`contexto_factory.py`**: Permite criar contextos fiscais dinamicamente.\r\n- **`contexto_registry.py`**: Gerencia registros de diferentes implementa\u00c3\u00a7\u00c3\u00b5es de contexto.\r\n- **`json_contexto.py`**: Implementa\u00c3\u00a7\u00c3\u00a3o de contexto fiscal baseado em JSON.\r\n- **`mapa_fiscal_processor.py`**: Processa cen\u00c3\u00a1rios e opera\u00c3\u00a7\u00c3\u00b5es fiscais.\r\n- **`build_cenario.py`**: Script para gerar mapas fiscais via terminal.\r\n\r\n---\r\n\r\n## Contribui\u00c3\u00a7\u00c3\u00b5es\r\nContribui\u00c3\u00a7\u00c3\u00b5es s\u00c3\u00a3o bem-vindas! Para relatar problemas ou sugerir melhorias, crie uma issue ou envie um pull request.\r\n\r\n---\r\n\r\n## Licen\u00c3\u00a7a\r\nEste projeto est\u00c3\u00a1 licenciado sob a Licen\u00c3\u00a7a MIT. Veja o arquivo LICENSE para mais detalhes.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Gerador de mapa fiscal com base em regras fiscais",
"version": "0.3.1",
"project_urls": {
"Homepage": "https://github.com/ismaelnjr/mapafiscal-project.git"
},
"split_keywords": [
"mapa",
"fiscal",
"tributario",
"receita",
"federal"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "03c4e75b505a196a63bf9d913d1b4a301cba5f76d4d4a619b93325745d24f559",
"md5": "f44b41d950656053fd0d5e8f42896e68",
"sha256": "9c789bb585d184f317f5e7a278514705b793988cc7a2945764a30126ad751693"
},
"downloads": -1,
"filename": "mapafiscal-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f44b41d950656053fd0d5e8f42896e68",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 311125,
"upload_time": "2025-01-11T23:17:23",
"upload_time_iso_8601": "2025-01-11T23:17:23.122920Z",
"url": "https://files.pythonhosted.org/packages/03/c4/e75b505a196a63bf9d913d1b4a301cba5f76d4d4a619b93325745d24f559/mapafiscal-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "488d43a1a90b449deed181a7dc9fec0dcb3832fd6f3f01196229765f1eab7570",
"md5": "b781c5381b1922fbb1fb4678b4b9f646",
"sha256": "fe34f3d2f437ddb4ac150f7c3857bc62dce4e14aeeffc0d3bbbd13917eaa5d23"
},
"downloads": -1,
"filename": "mapafiscal-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "b781c5381b1922fbb1fb4678b4b9f646",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 292726,
"upload_time": "2025-01-11T23:17:26",
"upload_time_iso_8601": "2025-01-11T23:17:26.589399Z",
"url": "https://files.pythonhosted.org/packages/48/8d/43a1a90b449deed181a7dc9fec0dcb3832fd6f3f01196229765f1eab7570/mapafiscal-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-11 23:17:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ismaelnjr",
"github_project": "mapafiscal-project",
"github_not_found": true,
"lcname": "mapafiscal"
}