Download the PHP package crdesign8/laravel-rtc-calculator without Composer
On this page you can find all versions of the php package crdesign8/laravel-rtc-calculator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download crdesign8/laravel-rtc-calculator
More information about crdesign8/laravel-rtc-calculator
Files in crdesign8/laravel-rtc-calculator
Package laravel-rtc-calculator
Short Description Integração Laravel com a Calculadora RTC da Receita Federal para cálculo, geração e validação de tributos da Reforma Tributária (IS, IBS e CBS).
License MIT
Homepage https://github.com/crdesign8/laravel-rtc-calculator
Informations about the package laravel-rtc-calculator
🧾 laravel-rtc-calculator
Pacote Laravel para integração com a Calculadora da Reforma Tributária do Consumo (RTC) da Receita Federal do Brasil.
Ao contrário de outros exemplos disponíveis em Python, este pacote permite que desenvolvedores Laravel utilizem a calculadora Java (disponibilizada pela Receita Federal) diretamente em suas aplicações PHP, com uma API fluente, tipagem forte e totalmente testável.
✨ Funcionalidades
- ✅ Cálculo de tributos no Regime Geral (IS, IBS, CBS)
- ✅ Geração de XML RTC compatível com NFe, NFCe e CTe
- ✅ Validação de XML gerado
- ✅ Injeção automática dos grupos RTC em NFe existentes
- ✅ Cálculo direto a partir de XML de NFe (
calcularPorNfe) — extrai municipio, UF e itens automaticamente - ✅ Evento Laravel
RtcCalculated— permite logging, auditoria e integrações após o cálculo - ✅ API fluente e idiomática ao estilo Laravel com
addItem()eaddItems([]) - ✅ Configuração via
.env - ✅ Retry automático em caso de falha de conexão
- ✅ Cobertura de testes com PHPUnit
📋 Requisitos
- PHP
^8.1 - Laravel
^10.0ou^11.0 - A Calculadora RTC Java rodando localmente (disponível em consumo.tributos.gov.br)
💡 A calculadora Java expõe uma API REST em
http://localhost:8080por padrão.
🐳 Como rodar a Calculadora RTC (Java) da Receita Federal
O pacote não inclui a Calculadora oficial — ela é um componente fornecido pela Receita Federal (calculadora offline). Você pode rodá-la localmente usando Docker ou diretamente com Java, conforme as instruções abaixo.
1. Onde baixar a Calculadora
Acesse o portal oficial da Receita Federal e baixe a versão mais recente da Calculadora Offline: -> Calculadora Offline - Portal da Receita Federal
Lá você encontrará:
- Imagem Docker (recomendado)
- Arquivo JAR (api-regime-geral.jar)
Consulte também:
2. Opção Recomendada: Docker
Verifique se está rodando:
3. Opção sem Docker (JAR direto)
Requisito: Java 21 ou superior.
4. Configuração no seu projeto Laravel
No arquivo .env:
depois rode o comando de healthcheck para verificar a conexão:
📦 Instalação do Pacote
Publique o arquivo de configuração:
Configure no seu .env:
🚀 Uso Básico
Via Facade (forma mais simples)
Adicionar múltiplos itens de uma vez
Calcular a partir do XML de uma NFe existente
Extrai municipio, UF, data de emissão e dados de produto diretamente da nota. Você só precisa informar os campos exclusivos do RTC (cst e cClassTrib) para cada nItem da NFe:
Importante: o array
rtcPorItemdeve conter todos os itens (nItem) existentes no XML da NFe.
Gerar e Injetar XML na NFe
Reagindo ao cálculo com Eventos Laravel
Depois de cada cálculo bem-sucedido (via calcular() ou executarCalculo()),
o evento RtcCalculated é despachado automaticamente:
🖥️ Comandos Artisan
Calcular tributos a partir de um arquivo JSON
Injetar grupos RTC em uma NFe existente
Verificar se a calculadora Java está rodando
🔍 Como funciona por baixo dos panos
Este pacote é um cliente HTTP para a Calculadora RTC Java da Receita Federal. Ele não implementa nenhuma regra tributária — toda a lógica fiscal fica na calculadora oficial.
Endpoints consumidos
| Método | Endpoint | Utilizado por |
|---|---|---|
POST |
/api/calculadora/regime-geral |
CalcularTributosAction, Rtc::calcular() |
POST |
/api/calculadora/xml/generate?tipo={NFe\|NFCe\|CTe} |
GerarXmlRtcAction, Rtc::gerarXml() |
POST |
/api/calculadora/xml/validate |
ValidarXmlRtcAction, Rtc::validarXml() |
Fluxo de uma requisição
A injeção na NFe (
InjetarXmlNfeAction) é executada localmente, sem chamada HTTP — ela apenas combina os XMLs usando DOMDocument.
Autenticação e ambiente de produção
Atualmente a Calculadora RTC está em fase piloto e não exige autenticação. Quando a Receita Federal disponibilizar o ambiente de produção com autenticação, bastará adicionar headers customizados via config/rtc.php.
⚙️ Configuração
� Exemplos Executáveis
A pasta examples/ contém scripts standalone que funcionam sem uma aplicação Laravel completa — apenas composer install e a calculadora Java rodando:
Os arquivos gerados são salvos em examples/output/ (pasta ignorada pelo Git).
Para usar uma URL diferente:
RTC_BASE_URL=http://meu-servidor:9090 php examples/01-calcular-tributos.php
�🤝 Contribuindo
Contribuições são muito bem-vindas! Se você encontrou um bug, tem uma sugestão ou quer adicionar uma funcionalidade, a forma mais simples de contribuir é abrindo uma issue no repositório.
Para contribuições de código:
- Fork o repositório
- Crie sua branch:
git checkout -b feature/minha-feature - Commit:
git commit -m 'feat: minha feature' - Push:
git push origin feature/minha-feature - Abra um Pull Request descrevendo o que foi alterado e por quê
📄 Licença
MIT — veja o arquivo LICENSE para detalhes.
🏛️ Sobre a Reforma Tributária
A Reforma Tributária do Consumo (EC 132/2023) institui o IBS (Imposto sobre Bens e Serviços), o CBS (Contribuição sobre Bens e Serviços) e o IS (Imposto Seletivo), em substituição ao PIS, Cofins, IPI, ICMS e ISS. A Calculadora RTC é a ferramenta oficial da Receita Federal para auxiliar na apuração desses novos tributos.
All versions of laravel-rtc-calculator with dependencies
illuminate/support Version ^10.0|^11.0
illuminate/http Version ^10.0|^11.0
illuminate/contracts Version ^10.0|^11.0