{"id":28349207,"url":"https://github.com/scemist/fiscalbrasil","last_synced_at":"2025-10-04T14:12:23.580Z","repository":{"id":295527226,"uuid":"990250533","full_name":"Scemist/FiscalBrasil","owner":"Scemist","description":"Esta biblioteca é uma solução para calcular impostos e todos os valores relacionados sobre vendas no Brasil.","archived":false,"fork":false,"pushed_at":"2025-07-05T17:35:26.000Z","size":51,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-26T13:44:06.386Z","etag":null,"topics":["brasil","brazil","fiscal","impostos","nfs","notafiscal","php","php8","tributario"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Scemist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-25T19:56:26.000Z","updated_at":"2025-07-05T17:35:29.000Z","dependencies_parsed_at":"2025-07-26T09:38:03.696Z","dependency_job_id":"fba930ab-3e8b-49a8-8690-e31328895491","html_url":"https://github.com/Scemist/FiscalBrasil","commit_stats":null,"previous_names":["scemist/fiscalbrasil"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Scemist/FiscalBrasil","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scemist%2FFiscalBrasil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scemist%2FFiscalBrasil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scemist%2FFiscalBrasil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scemist%2FFiscalBrasil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Scemist","download_url":"https://codeload.github.com/Scemist/FiscalBrasil/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scemist%2FFiscalBrasil/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278322146,"owners_count":25967874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brasil","brazil","fiscal","impostos","nfs","notafiscal","php","php8","tributario"],"created_at":"2025-05-27T19:40:46.182Z","updated_at":"2025-10-04T14:12:23.565Z","avatar_url":"https://github.com/Scemist.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## O Que é Esta Biblioteca?\n\nEsta biblioteca é uma solução para calcular impostos e todos os valores relacionados sobre vendas no Brasil.\n\n## O Que **não** é Esta Biblioteca?\n\nEsta biblioteca não faz integrações com serviços externos e nem gera notas fiscais eletrônicas (NF-e) diretamente. Ela se concentra no cálculo de tributos e na estruturação dos dados necessários para a emissão de notas fiscais.\n\n# 💡 Como Uso?\n\nGerando um pedido com dois itens\n\n```php\n\u003c?php\n\nrequire_once 'vendor/autoload.php';\n\nuse Imposto\\Domain\\Pedido\\Pedido;\nuse Imposto\\Domain\\Pedido\\ItemPedido;\nuse Imposto\\Domain\\ProdutoFiscal\\NCM;\nuse Imposto\\Fiscal\\CST\\CST;\nuse Imposto\\Fiscal\\CFOP\\CFOP;\nuse Imposto\\Fiscal\\RegimeTributario\\SimplesNacional;\nuse Imposto\\Catalogo\\UFs\\UF;\nuse Imposto\\Catalogo\\Unidade\\Unidade;\n\n# Criando um Pedido\n\n$pedido = new Pedido(\n    regimeTributario: new SimplesNacional(),\n    origem: UF::SP,\n    destino: UF::MG,\n    tipoPessoa: TipoPessoa::PF,\n    consumidorFinal: true,\n    contribuinteICMS: false,\n    presencial: false,\n);\n\n$pedido-\u003eaddItem(new ItemPedido(\n    nome: 'Guitarra Stratocaster',\n    preco: 1099.0,\n    quantidade: 1,\n    unidade: Unidade::UNIDADE,\n    ncm: new NCM('9207.90.10'),\n    cst: new CST('000'),\n    cfop: new CFOP('5102'),\n));\n\n$pedido-\u003eaddItem(new ItemPedido(\n    nome: 'Pedal de Efeito',\n    preco: 399.0,\n    quantidade: 2,\n    unidade: Unidade::UNIDADE,\n    ncm: new NCM('9207.90.90'),\n    cst: new CST('000'),\n    cfop: new CFOP('5102')\n));\n\n# Utilizando os Dados Gerados\n\n$notaFiscal = $pedido-\u003egetNotaFiscal();\n\necho\n    'Subtotal: ',           $notaFiscal-\u003egetSubtotal(), PHP_EOL,\n    'ICMS: ',               $notaFiscal-\u003egetICMS(), PHP_EOL,\n    'IPI: ',                $notaFiscal-\u003egetIPI(), PHP_EOL,\n    'Total com Impostos: ', $notaFiscal-\u003egetTotalComImpostos(), PHP_EOL,\n    'Nota Fiscal:', PHP_EOL,\n    $notaFiscal-\u003egetXml(), PHP_EOL;\n\n```\n\n## 🚀 Resultado\n\n```\nSubtotal: 1897,00\nICMS: 227,64\nIPI: 94,85\nTotal com Impostos: 2219,49\n\n\u003cnotaFiscal\u003e\n    \u003cregimeTributario\u003eSimples Nacional\u003c/regimeTributario\u003e\n    \u003corigem\u003eSP\u003c/origem\u003e\n    \u003cdestino\u003eMG\u003c/destino\u003e\n    \u003cdataEmissao\u003e2025-05-26T01:34:33+00:00\u003c/dataEmissao\u003e\n    \u003csubtotal\u003e1897.00\u003c/subtotal\u003e\n    \u003cicms\u003e227.64\u003c/icms\u003e\n    \u003citem\u003e\n        \u003cdescricao\u003eGuitarra Stratocaster\u003c/descricao\u003e\n        \u003cquantidade\u003e1\u003c/quantidade\u003e\n        \u003cpreco\u003e1099.00\u003c/preco\u003e\n        \u003cicms\u003e131.88\u003c/icms\u003e\n        \u003cipi\u003e54.95\u003c/ipi\u003e\n        \u003cpis\u003e0.00\u003c/pis\u003e\n        \u003ccofins\u003e0.00\u003c/cofins\u003e\n    \u003c/item\u003e\n    \u003citem\u003e\n        \u003cdescricao\u003ePedal de Efeito\u003c/descricao\u003e\n        \u003cquantidade\u003e2\u003c/quantidade\u003e\n        \u003cpreco\u003e399.00\u003c/preco\u003e\n        \u003cicms\u003e95.76\u003c/icms\u003e\n        \u003cipi\u003e39.90\u003c/ipi\u003e\n        \u003cpis\u003e0.00\u003c/pis\u003e\n        \u003ccofins\u003e0.00\u003c/cofins\u003e\n    \u003c/item\u003e\n\u003c/notaFiscal\u003e\n```\n\n# 📝 Quais os Requisitos para Usar?\n\nPara o correto cálculo de impostos no Brasil, algumas informações são obrigatórias e esta biblioteca não pode inferir automaticamente. Você precisará informar.\n\nDividimos essas informações em três grupos:\n\n### 🏢 **Empresa**\n\nInformações sobre sua própria empresa, como:\n\n* Regime tributário (Simples Nacional, Lucro Presumido etc.)\n* Estado de origem da mercadoria\n\nEsses dados são informados ao criar o **Pedido**.\n\n### 👤 **Cliente**\n\nInformações sobre o destinatário da nota fiscal:\n\n* Tipo de pessoa (Física ou Jurídica)\n* Estado de destino\n* Se é consumidor final\n* Se é contribuinte de ICMS ([Consulta se Tem IE no Destino](https://www.consultaie.com.br/))\n\nTambém informadas ao criar o **Pedido**.\n\n### 📦 **Produto**\n\nInformações fiscais fixas sobre o produto:\n\n* **NCM** (Classificação Fiscal)\n* **CEST** (se aplicável)\n* **Origem da mercadoria**\n* **Aplica IPI?**\n* **Aplica ST (Substituição Tributária)?**\n\nEssas informações devem estar cadastradas no banco de dados e são utilizadas automaticamente ao criar os **itens do Pedido**.\n\n## 🧾 Exemplos de Cadatros\n\nNa pasta `exemplos/`, você encontrará arquivos JSON simulando a estrutura das tabelas `produtos` e `pedidos` com todos os campos obrigatórios. Eles servem como referência para seu sistema de cadastro.\n\n## 📃 Onde Encontro Estes Dados ao Fazer o Cadastro do Produto?\n\n* **NCM** (Classificação Fiscal): disponível no site da Receita Federal ou em ferramentas como:\n  👉 [Portal Classif – Receita Federal](https://portalunico.siscomex.gov.br/classif/#/sumario)\n\n* **CEST**: normalmente derivado do NCM. Se não souber, busque por \"CEST \\[nome do produto]\" ou consulte seu contador.\n\n* **Origem da mercadoria** (Código de origem):\n\n  * `0`: Nacional\n  * `1`: Importado diretamente\n  * `2`: Importado adquirido de terceiros\n\n* **Aplica IPI?**\n\n  * ✅ Sim: se sua empresa fabrica ou importa o produto\n  * ❌ Não: se apenas revende produtos prontos comprados no Brasil\n\n* **Aplica ST?**\n\n  * ✅ Sim: cada estado tem uma Tabela de Produtos Sujeito a Substituição Tributária (ST). Se o produto estiver nessa tabela, marque como sim.\n  * ❌ Não: se não ou se estiver em dúvida (o sistema pode validar depois)\n\n## ✅ Conclusão\n\nTodos esses campos são **obrigatórios** para que a biblioteca calcule corretamente os tributos e gere a nota fiscal.\nGaranta que eles estejam corretamente preenchidos no cadastro de produtos.\n\n# 📍 Status da Biblioteca\n\n\u003e Em desenvolvimento Alpha. Não é recomendada para produção ainda.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscemist%2Ffiscalbrasil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscemist%2Ffiscalbrasil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscemist%2Ffiscalbrasil/lists"}