Cálculo de impostos (taxCalculation)
$nfe->taxCalculation aciona o motor tributário da NFE.io para calcular os
impostos de uma operação. Escopo de tenant (recebe $tenantId como primeiro
argumento), host api.nfse.io (/v2).
apiKey principalApesar de ser um serviço de consulta, o cálculo de impostos não é família de dados — sempre usa a chave principal.
O Motor de Cálculo de Tributos é um serviço cobrado separadamente da emissão.
Cada chamada a calculate() registra consumo do motor — assim como emitir NF-e
ou NFC-e com taxDetermination. O valor e a forma de cobrança são definidos no
seu plano comercial. Veja o aviso completo.
Métodos
| Método | Descrição | Retorno |
|---|---|---|
calculate($tenantId, $request) | Calcula os impostos da operação. | array (resposta crua) |
Requisição e resposta são arrays associativos sem DTO. Como referência do shape
esperado, o SDK embarca a classe gerada
Nfe\Generated\CalculoImpostosV1\CalculateRequest — você pode espelhá-la, mas
não é um tipo obrigatório.
Calcular os impostos de uma operação
$resultado = $nfe->taxCalculation->calculate($tenantId, [
'operationType' => 'Sale',
'issuer' => ['federalTaxNumber' => 11444555000149, 'state' => 'SP'],
'recipient' => ['federalTaxNumber' => 61365284000104, 'state' => 'RJ'],
'items' => [
[
'code' => '001',
'ncm' => '85171231',
'quantity' => 1,
'unitAmount' => 1999.90,
],
],
]);
// A resposta é um array cru com os tributos calculados por item.
$tenantId vazio ou items vazio lançam
Nfe\Exception\InvalidRequestException antes de qualquer requisição.
Os valores aceitos em campos de classificação (código de operação, finalidade de
aquisição, perfis de contribuinte) vêm de taxCodes.
Veja também
- Códigos fiscais — dados de referência do motor.
- Notas de produto (NF-e) — emissão com os valores calculados.
- Tratamento de erros.