mapafiscal


Namemapafiscal JSON
Version 0.2.2 PyPI version JSON
download
home_pagehttps://github.com/ismaelnjr/mapafiscal-project.git
SummaryGerador de mapa fiscal com base em regras fiscais
upload_time2024-12-21 00:56:52
maintainerNone
docs_urlNone
authorIsmael Nascimento
requires_python>=3.7
licenseMIT
keywords mapa fiscal tributario receita federal
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 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. Configurar o Contexto
Registre um contexto fiscal baseado no formato JSON:
```python
from mapafiscal.contexto.factory import ContextoFiscalFactory
from mapafiscal.common import RegimeTributacao, PerfilContribuinte

contexto = ContextoFiscalFactory.criar_contexto(
    nome="json",
    uf_origem="SP",
    regime_tributacao=RegimeTributacao.LUCRO_PRESUMIDO,
    perfil_empresa=PerfilContribuinte.COMERCIO_VAREJISTA,
    contexto_file="caminho/para/dados.json"
)
```

#### 2. Construir o Mapa Fiscal
Use o processador de regras fiscais para criar um mapa fiscal:
```python
from mapafiscal.model import MapaFiscal
from mapafiscal.processor import RegraFiscalProcessor

mapa_fiscal = MapaFiscal(
    nome="Mapa SP",
    uf_origem="SP",
    tributacao=RegimeTributacao.LUCRO_PRESUMIDO
)

processador = RegraFiscalProcessor(contexto)
classe_fiscal = processador.process_classe_fiscal(
    codigo="001",
    ncm="12345678",
    descricao="Produto Exemplo",
    origem=0,
    cest="12.345.67",
    segmento="Segmento Exemplo"
)
mapa_fiscal._classes_fiscais.append(classe_fiscal)
```

#### 3. Exportar Resultado
Exporte os resultados para um arquivo Excel:
```python
from mapafiscal.excel import ExcelExporter

exportador = ExcelExporter(mapa_fiscal)
exportador.to_excel("mapa_fiscal.xlsx")
```

---

## Como Executar

### Executar via Linha de Comando
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/78/1e/01ce42fd680d69af1f3185083ac293947bcdfacb1b68fac6af4b0691dfbd/mapafiscal-0.2.2.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. Configurar o Contexto\r\nRegistre um contexto fiscal baseado no formato JSON:\r\n```python\r\nfrom mapafiscal.contexto.factory import ContextoFiscalFactory\r\nfrom mapafiscal.common import RegimeTributacao, PerfilContribuinte\r\n\r\ncontexto = ContextoFiscalFactory.criar_contexto(\r\n    nome=\"json\",\r\n    uf_origem=\"SP\",\r\n    regime_tributacao=RegimeTributacao.LUCRO_PRESUMIDO,\r\n    perfil_empresa=PerfilContribuinte.COMERCIO_VAREJISTA,\r\n    contexto_file=\"caminho/para/dados.json\"\r\n)\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.model import MapaFiscal\r\nfrom mapafiscal.processor import RegraFiscalProcessor\r\n\r\nmapa_fiscal = MapaFiscal(\r\n    nome=\"Mapa SP\",\r\n    uf_origem=\"SP\",\r\n    tributacao=RegimeTributacao.LUCRO_PRESUMIDO\r\n)\r\n\r\nprocessador = RegraFiscalProcessor(contexto)\r\nclasse_fiscal = processador.process_classe_fiscal(\r\n    codigo=\"001\",\r\n    ncm=\"12345678\",\r\n    descricao=\"Produto Exemplo\",\r\n    origem=0,\r\n    cest=\"12.345.67\",\r\n    segmento=\"Segmento Exemplo\"\r\n)\r\nmapa_fiscal._classes_fiscais.append(classe_fiscal)\r\n```\r\n\r\n#### 3. Exportar Resultado\r\nExporte os resultados para um arquivo Excel:\r\n```python\r\nfrom mapafiscal.excel import ExcelExporter\r\n\r\nexportador = ExcelExporter(mapa_fiscal)\r\nexportador.to_excel(\"mapa_fiscal.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 `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.2.2",
    "project_urls": {
        "Homepage": "https://github.com/ismaelnjr/mapafiscal-project.git"
    },
    "split_keywords": [
        "mapa",
        "fiscal",
        "tributario",
        "receita",
        "federal"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1eb62d55e67583a290d54380082daff70354804d4352c63923ab0a36043d9150",
                "md5": "ff52e8a2e3ec17a77a30c7013aac16bb",
                "sha256": "d3c4adabfac2406dad945f15f91fd9cd68958dff21c83fe6eb227702602a26dc"
            },
            "downloads": -1,
            "filename": "mapafiscal-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ff52e8a2e3ec17a77a30c7013aac16bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 288744,
            "upload_time": "2024-12-21T00:56:49",
            "upload_time_iso_8601": "2024-12-21T00:56:49.600752Z",
            "url": "https://files.pythonhosted.org/packages/1e/b6/2d55e67583a290d54380082daff70354804d4352c63923ab0a36043d9150/mapafiscal-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "781e01ce42fd680d69af1f3185083ac293947bcdfacb1b68fac6af4b0691dfbd",
                "md5": "5848682f692b3843ae2800567a5bc5b8",
                "sha256": "58449efde0a3c6946d4ae776618e559c7a8f8fb7b386fcfb09a3f01a69edfe2e"
            },
            "downloads": -1,
            "filename": "mapafiscal-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "5848682f692b3843ae2800567a5bc5b8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 278415,
            "upload_time": "2024-12-21T00:56:52",
            "upload_time_iso_8601": "2024-12-21T00:56:52.300171Z",
            "url": "https://files.pythonhosted.org/packages/78/1e/01ce42fd680d69af1f3185083ac293947bcdfacb1b68fac6af4b0691dfbd/mapafiscal-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-21 00:56:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ismaelnjr",
    "github_project": "mapafiscal-project",
    "github_not_found": true,
    "lcname": "mapafiscal"
}
        
Elapsed time: 1.68935s