From df5becd7eb33228279ce41937f502698993d9b0d Mon Sep 17 00:00:00 2001 From: robmachado Date: Wed, 20 May 2026 11:42:05 -0300 Subject: [PATCH 1/2] Remove exception from key validation --- src/Tools.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tools.php b/src/Tools.php index 2d7e3a3d..14b5de12 100755 --- a/src/Tools.php +++ b/src/Tools.php @@ -157,7 +157,7 @@ public function sefazConsultaChave(string $chave, ?int $tpAmb = null): string if (empty($chave)) { throw new InvalidArgumentException('Consulta chave: a chave esta vazia!'); } - if (strlen($chave) != 44 || !is_numeric($chave)) { + if (strlen($chave) != 44) { throw new InvalidArgumentException("Consulta chave: chave \"$chave\" invalida!"); } $uf = UFList::getUFByCode((int)substr($chave, 0, 2)); From bce959b5b2b405ef41cc5ef487bebd7ca90935b4 Mon Sep 17 00:00:00 2001 From: robmachado Date: Thu, 21 May 2026 16:23:12 -0300 Subject: [PATCH 2/2] Novo pacote de schemas PL_010C --- examples/nfe_v4.00_PL_010B.xml | 1487 ++++++++++++++++++++ examples/nfe_v4.00_PL_010C.xml | 1496 +++++++++++++++++++++ schemes/PL_010_V1.30/leiauteNFe_v4.00.xsd | 110 +- src/Traits/TraitTagCana.php | 1 + src/Traits/TraitTagDetICMS.php | 140 +- tests/TaxCoverageTest.php | 4 +- tests/TraitsCoverageTest.php | 3 +- 7 files changed, 3159 insertions(+), 82 deletions(-) create mode 100644 examples/nfe_v4.00_PL_010B.xml create mode 100644 examples/nfe_v4.00_PL_010C.xml diff --git a/examples/nfe_v4.00_PL_010B.xml b/examples/nfe_v4.00_PL_010B.xml new file mode 100644 index 00000000..80ee9519 --- /dev/null +++ b/examples/nfe_v4.00_PL_010B.xml @@ -0,0 +1,1487 @@ + + + + 51 + string + string + 55 + string + string + string + + string + + string + 0 + 1 + string + + string + 2 + 1 + string + 1 + 5 + + 08 + + 04 + 0 + 5 + + 1 + 0 + string + string + stringstringstringstring + + + + string + string + + 23 + string + string + 02 + string + string + + + 25 + string + + string + string + string + 04 + string + string + + string + + 2B + string + string + + + + + 2 + string + 1 + + + + + string + + + + + string + string + string + + string + + string + string + + string + string + string + string + PR + string + + 1058 + + Brasil + + string + + string + + string + string + + string + 2 + + + + string + string + string + string + + string + PR + + string + + string + + string + string + + string + + + + + string + string + string + + string + + + string + string + + string + string + string + string + DF + + string + + string + + string + + string + + 9 + + string + + string + + string + + string + + + + + string + string + + string + string + string + + string + string + string + string + CE + + string + + string + + string + + string + + string + + string + + + + + string + string + + string + string + string + + string + string + string + string + AM + + string + + string + + string + + string + + string + + string + + + + + string + string + + + + + string + string + + string + string + string + + string + string + + N + + string + + string + + + string + string + string + + + 4 + + string + string + string + string + string + string + string + + string + string + string + string + + string + + string + + string + + string + 1 + + 1 + + + string + string + string + PB + string + 10 + + string + 1 + + string + string + + SE + string + + + + string + string + string + + string + + string + + + + + + string + + + string + string + string + + + + string + + string + + string + + + string + string + string + string + + string + + + + stringstringst + string + + + + string + string + string + + + + 0 + stringstringstrin + stri + string + stri + stri + string + string + string + st + string + string + stri + string + string + s + string + string + N + 2 + string + st + str + 2 + + + string + + string + string + + + + 1 + string + string + string + + + string + string + + string + + string + + string + + string + + string + + string + CE + + + string + string + string + + + + string + + string + string + string + string + + + string + + + 0 + 14 + string + + + string + + + + string + + + + + 3 + 00 + 2 + string + string + string + string + string + + + 5 + 02 + + string + string + string + + + 6 + 10 + 0 + string + string + string + string + string + string + 2 + + string + + string + string + string + string + string + string + string + string + 9 + + + 2 + 15 + + string + string + string + + string + string + string + string + 1 + + + 5 + 20 + 0 + string + string + string + string + string + string + string + string + 9 + + 0 + + + 7 + 30 + 3 + + string + + string + string + string + string + string + string + string + string + 7 + + 0 + + + 2 + 41 + string + 6 + + 1 + + + 4 + 51 + + 0 + + string + + string + + string + + string + + string + + string + + string + + string + string + string + string + string + string + + string + + + 6 + 53 + + string + + string + + string + + string + + string + + string + + string + + string + + + 0 + 60 + string + string + + string + string + string + string + string + string + string + string + string + + + 2 + 61 + + string + string + string + + + 8 + 70 + 3 + string + string + string + string + string + string + string + 6 + + string + + string + string + string + string + string + string + string + string + 12 + + 0 + string + 9 + + + 0 + 90 + 0 + string + + string + string + string + string + string + string + 6 + + string + + string + string + string + string + string + string + string + string + 9 + + 1 + string + 12 + + + 7 + 90 + 0 + string + + string + string + string + 5 + + string + + string + string + string + string + string + string + string + string + RS + + + 1 + 41 + string + + string + + string + string + string + string + string + string + string + string + string + string + string + + + 1 + 101 + string + string + + + + 6 + 103 + + + 3 + 201 + 1 + + string + + string + string + string + string + string + string + string + string + string + + + 4 + 203 + 6 + + string + + string + string + string + string + string + string + string + + + 8 + 500 + string + string + + string + string + string + string + string + string + string + string + string + + + + 1 + 900 + 1 + string + + string + string + string + 2 + + string + + string + string + string + string + string + string + string + string + string + + + + + + string + + string + + string + str + + + 00 + + string + string + string + string + string + + + 54 + + + + + string + string + string + string + + + + + string + + string + + string + str + + + 00 + + string + string + string + string + string + + + 01 + + + + string + string + string + string + string + + string + + string + + string + + string + + string + 6 + + string + + string + + string + + string + 2 + + + + + + 01 + string + string + string + + + 03 + string + string + string + + + 05 + + + 51 + + string + string + string + string + string + + + + + + string + string + string + string + string + + 0 + + + + + + 01 + string + string + string + + + 03 + string + string + string + + + 06 + + + 50 + + string + string + string + string + string + + + + + + string + string + string + string + string + + 1 + + + + string + + string + + string + string + 7.00 + string + + string + string + string + + + + string + string + string + string + + string + string + string + string + + + + string + string + + 1 + + + string + + string + + + string + string + + + + string + + + + string + string + + string + + + string + + + string + string + + + + string + + + + string + string + + string + + string + + string + + + string + string + + + + string + + + + string + string + + string + + + + string + string + string + string + string + string + string + string + + + + string + string + string + string + string + string + + + + + + string + string + string + string + string + + + + string + string + string + string + string + + + + string + string + string + string + string + + + + string + string + string + string + + string + string + + + string + string + + + 2016-04-03:00 + string + string + + + + string + string + + + + string + string + + + string + + string + string + + + + string + + string + string + + + + 2011-06 + 0 + string + + + + + + string + + string + + + + string + + + + + string + + + + string + + + + string + + + string + + string + + + + + string + string + string + + string + + string + + string + string + string + string + string + string + + string + + string + + string + + string + + string + + string + string + string + string + string + string + string + string + string + string + string + string + + string + + + + + string + + string + + string + + string + + string + string + + string + + string + + string + + string + + string + + 2 + + + + + string + + string + + string + + string + + string + + string + + string + + + + string + + + + string + + + + string + string + string + + + string + string + string + + string + string + string + + + + string + string + string + string + string + + + + string + string + string + string + string + string + + + + string + string + + + + string + + + 1 + + + + string + string + + string + + string + + string + + string + + SE + + + + string + string + string + string + string + string + + + + + string + + PE + + string + + + + string + + MG + + string + + + string + + string + + + + string + + string + + string + + string + + string + + string + + + string + + + + + + + + + string + + string + + string + + string + + + + + string + + string + string + + + + + + + 1 + string + + string + string + + string + string + MS + + + 2 + + string + + string + + string + + string + + string + + + + string + + + + string + string + + + + + string + + string + + + string + + + + string + + + + string + 3 + + 08 + + + + + PA + string + + string + + + + + string + + string + + string + + + + string + string + + + string + + string + string + string + + + string + string + + string + string + string + + + + + + diff --git a/examples/nfe_v4.00_PL_010C.xml b/examples/nfe_v4.00_PL_010C.xml new file mode 100644 index 00000000..6c52bb72 --- /dev/null +++ b/examples/nfe_v4.00_PL_010C.xml @@ -0,0 +1,1496 @@ + + + + 51 + string + string + 55 + string + string + string + + string + + string + 0 + 1 + string + + string + 2 + 1 + string + 1 + 5 + + 08 + + 04 + 0 + 5 + + 1 + 0 + string + string + stringstringstringstring + + + + string + string + + 23 + string + string + 02 + string + string + + + 25 + string + + string + string + string + 04 + string + string + + string + + 2B + string + string + + + + + 2 + string + 1 + + + + + string + + + + + string + string + string + + string + + string + string + + string + string + string + string + PR + string + + 1058 + + Brasil + + string + + string + + string + string + + string + 2 + + + + string + string + string + string + + string + PR + + string + + string + + string + string + + string + + + + + string + string + string + + string + + + string + string + + string + string + string + string + DF + + string + + string + + string + + string + + 9 + + string + + string + + string + + string + + + + + string + string + + string + string + string + + string + string + string + string + CE + + string + + string + + string + + string + + string + + string + + + + + string + string + + string + string + string + + string + string + string + string + AM + + string + + string + + string + + string + + string + + string + + + + + string + string + + + + + string + string + + string + string + string + + string + string + + N + + string + + string + + + string + string + string + + + 4 + + string + string + string + string + string + string + string + + string + string + string + string + + string + + string + + string + + string + 1 + + 1 + + + string + string + string + PB + string + 10 + + string + 1 + + string + string + + SE + string + + + + string + string + string + + string + + string + + + + + + string + + + string + string + string + + + + string + + string + + string + + + string + string + string + string + + string + + + + stringstringst + string + + + + string + string + string + + + + 0 + stringstringstrin + stri + string + stri + stri + string + string + string + st + string + string + stri + string + string + s + string + string + N + 2 + string + st + str + 2 + + + string + + string + string + + + + 1 + string + string + string + + + string + string + + string + + string + + string + + string + + string + + string + CE + + + string + string + string + + + + string + + string + string + string + string + + + string + + + 0 + 14 + string + + + string + + + + string + + + + + 3 + 00 + 2 + string + string + string + string + string + + + 5 + 02 + + string + string + string + + + 6 + 10 + 0 + string + string + string + string + string + string + 2 + + string + + string + string + string + string + string + string + string + string + 9 + + + 2 + 15 + + string + string + string + + string + string + string + string + 1 + + + 5 + 20 + 0 + string + string + string + string + string + string + string + string + 9 + + 0 + + + 7 + 30 + 3 + + string + + string + string + string + string + string + string + string + string + 7 + + 0 + + + 2 + 41 + string + 6 + + 1 + + + 4 + 51 + + 0 + + string + + string + + string + + string + + string + + string + + string + + string + string + string + string + string + string + + string + + + 6 + 53 + + string + + string + + string + + string + + string + + string + + string + + string + + + 0 + 60 + string + string + + string + string + string + string + string + string + string + string + string + + + 2 + 61 + + string + string + string + + + 8 + 70 + 3 + string + string + string + string + string + string + string + 6 + + string + + string + string + string + string + string + string + string + string + 12 + + 0 + string + 9 + + + 0 + 90 + 0 + string + + string + + string + string + string + string + string + string + string + string + string + string + string + + string + 6 + + string + + string + string + string + string + string + string + string + string + 9 + + 1 + string + 12 + + + 7 + 90 + 0 + string + + string + string + string + 5 + + string + + string + string + string + string + string + string + string + string + RS + string + 10 + + 0 + + + 1 + 41 + string + + string + + string + string + string + string + string + string + string + string + string + string + string + + + 1 + 101 + string + string + + + + 6 + 103 + + + 3 + 201 + 1 + + string + + string + string + string + string + string + string + string + string + string + + + 4 + 203 + 6 + + string + + string + string + string + string + string + string + string + + + 8 + 500 + string + string + + string + string + string + string + string + string + string + string + string + + + + 1 + 900 + 1 + string + + string + string + string + 2 + + string + + string + string + string + string + string + string + string + string + string + + + + + + string + + string + + string + str + + + 00 + + string + string + string + string + string + + + 54 + + + + + string + string + string + string + + + + + string + + string + + string + str + + + 00 + + string + string + string + string + string + + + 01 + + + + string + string + string + string + string + + string + + string + + string + + string + + string + 6 + + string + + string + + string + + string + 2 + + + + + + 01 + string + string + string + + + 03 + string + string + string + + + 05 + + + 51 + + string + string + string + string + string + + + + + + string + string + string + string + string + + 0 + + + + + + 01 + string + string + string + + + 03 + string + string + string + + + 06 + + + 50 + + string + string + string + string + string + + + + + + string + string + string + string + string + + 1 + + + + string + + string + + string + string + 7.00 + string + + string + string + string + + + + string + string + string + string + + string + string + string + string + + + + string + string + + 1 + + + string + + string + + + string + string + + + + string + + + + string + string + + string + + + string + + + string + string + + + + string + + + + string + string + + string + + string + + string + + + string + string + + + + string + + + + string + string + + string + + + + string + string + string + string + string + string + string + string + + + + string + string + string + string + string + string + + + + + + string + string + string + string + string + + + + string + string + string + string + string + + + + string + string + string + string + string + + + + string + string + string + string + + string + string + + + string + string + + + 2016-04-03:00 + string + string + + + + string + string + + + + string + string + + + string + + string + string + + + + string + + string + string + + + + 2011-06 + 0 + string + + + + + + string + + string + + + + string + + + + + string + + + + string + + + + string + + + string + + string + + + + + string + string + string + + string + + string + + string + string + string + string + string + string + + string + + string + + string + + string + + string + + string + string + string + string + string + string + string + string + string + string + string + string + + string + + + + + string + + string + + string + + string + + string + string + + string + + string + + string + + string + + string + + 2 + + + + + string + + string + + string + + string + + string + + string + + string + + + + string + + + + string + + + + string + string + string + + + string + string + string + + string + string + string + + + + string + string + string + string + string + + + + string + string + string + string + string + string + + + + string + string + + + + string + + + 1 + + + + string + string + + string + + string + + string + + string + + SE + + + + string + string + string + string + string + string + + + + + string + + PE + + string + + + + string + + MG + + string + + + string + + string + + + + string + + string + + string + + string + + string + + string + + + string + + + + + + + + + string + + string + + string + + string + + + + + string + + string + string + + + + + + + 1 + string + + string + string + + string + string + MS + + + 2 + + string + + string + + string + + string + + string + + + + string + + + + string + string + + + + + string + + string + + + string + + + + string + + + + string + 3 + + 08 + + + + + PA + string + + string + + + + + string + + string + + string + + + + string + string + + + string + + string + string + string + + string + string + string + + + + + + diff --git a/schemes/PL_010_V1.30/leiauteNFe_v4.00.xsd b/schemes/PL_010_V1.30/leiauteNFe_v4.00.xsd index 7d6fb69e..28079674 100644 --- a/schemes/PL_010_V1.30/leiauteNFe_v4.00.xsd +++ b/schemes/PL_010_V1.30/leiauteNFe_v4.00.xsd @@ -209,7 +209,13 @@ Campo preenchido somente quando “indPres = 5 (Operação presencial, fora do e - Tipo de Nota de Débito + Tipo de Nota de Débito: +01=Transferência de créditos para Cooperativas; +02=Anulação de Crédito por Saídas Imunes/Isentas; +03=Débitos de notas fiscais não processadas na apuração; +04=Multa e juros; +05=Transferência de crédito de sucessão. + @@ -501,7 +507,7 @@ Preencher com "2B", quando se tratar de Cupom Fiscal emitido por máqu - + Chave de acesso da NF-e de antecipação de pagamento @@ -2555,13 +2561,15 @@ ambiente. - Motivo da desoneração do ICMS:3-Uso na agropecuária;9-Outros;12-Fomento agropecuário + Motivo da desoneração do ICMS:3-Uso na agropecuária;9-Outros; 10=Deficiente Condutor (Convênio ICMS 38/12); 11=Deficiente Não Condutor (Convênio ICMS 38/12); 12-Fomento agropecuário + + @@ -3395,11 +3403,39 @@ Informar o motivo da desoneração: Percentual de redução da BC + + + Código de Benefício Fiscal na UF aplicado ao item quando houver RBC. + + + + + + + + Alíquota do ICMS + + + + Valor do ICMS da Operação + + + + + Percentual do diferemento + + + + + Valor do ICMS da diferido + + + Valor do ICMS @@ -3422,6 +3458,23 @@ Informar o motivo da desoneração: + + + + Percentual do diferimento do ICMS relativo ao Fundo de Combate à Pobreza (FCP). + + + + + Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) diferido. + + + + + Valor efetivo do ICMS relativo ao Fundo de Combate à Pobreza (FCP). + + + @@ -3569,12 +3622,14 @@ Operação interestadual para consumidor final com partilha do ICMS devido na o Tributação pelo ICMS 10 - Tributada e com cobrança do ICMS por substituição tributária; +20 – Redução de base de cálculo 90 – Outros. + @@ -3693,6 +3748,43 @@ Operação interestadual para consumidor final com partilha do ICMS devido na o Sigla da UF para qual é devido o ICMS ST da operação. + + + Grupo desoneração + + + + Valor do ICMS de desoneração + + + + + Motivo da desoneração do ICMS:9-Outros;10=Deficiente Condutor (Convênio ICMS 38/12) 11=Deficiente Não Condutor (Convênio ICMS 38/12) + + + + + + + + + + + + + Indica se o valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd): +0=Valor do ICMS desonerado (vICMSDeson) não deduz do valor do item (vProd) / total da NF-e; +1=Valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd) / total da NF-e. + + + + + + + + + + @@ -6518,16 +6610,16 @@ tipo de ato concessório: - - - - - + + + + + @@ -7576,4 +7668,4 @@ alterado para tamanho variavel 1-4. (NT2011/004) - \ No newline at end of file + diff --git a/src/Traits/TraitTagCana.php b/src/Traits/TraitTagCana.php index b4190376..225d92de 100644 --- a/src/Traits/TraitTagCana.php +++ b/src/Traits/TraitTagCana.php @@ -129,6 +129,7 @@ public function tagforDia(stdClass $std): DOMElement /** * Grupo Deduções – Taxas e Contribuições ZC10 pai ZC01 * tag NFe/infNFe/cana/deduc (opcional) + * A partir de 06/06/2026 não será mais usado DEDUC * @param stdClass $std * @return DOMElement * @throws DOMException diff --git a/src/Traits/TraitTagDetICMS.php b/src/Traits/TraitTagDetICMS.php index e87bc109..f76fb180 100644 --- a/src/Traits/TraitTagDetICMS.php +++ b/src/Traits/TraitTagDetICMS.php @@ -1275,13 +1275,13 @@ public function tagICMS(stdClass $std): DOMElement "$identificador Percentual da Redução de BC" ); //campo adicionado NT 2022.002 v1.30 -// $this->dom->addChild( -// $icms, -// 'cBenefRBC', -// $std->cBenefRBC ?? null, -// false, -// "$identificador Código de Benefício Fiscal na UF aplicado ao item quando houver RBC" -// ); + $this->dom->addChild( + $icms, + 'cBenefRBC', + $std->cBenefRBC ?? null, + false, + "$identificador Código de Benefício Fiscal na UF aplicado ao item quando houver RBC" + ); $this->dom->addChild( $icms, 'pICMS', @@ -1291,27 +1291,27 @@ public function tagICMS(stdClass $std): DOMElement ); //grupo EXTRA NT 2022.002 v1.30 //estes 3 campos serão obrigatórios a partir de 06/06/2026 -// $this->dom->addChild( -// $icms, -// 'vICMSOp', -// $this->conditionalNumberFormatting($std->vICMSOp), -// false, -// "$identificador Valor do ICMS da Operação" -// ); -// $this->dom->addChild( -// $icms, -// 'pDif', -// $this->conditionalNumberFormatting($std->pDif ?? null, 4), -// false, -// "$identificador Percentual do diferimento" -// ); -// $this->dom->addChild( -// $icms, -// 'vICMSDif', -// $this->conditionalNumberFormatting($std->vICMSDif ?? null), -// false, -// "$identificador Valor do ICMS diferido" -// ); + $this->dom->addChild( + $icms, + 'vICMSOp', + $this->conditionalNumberFormatting($std->vICMSOp), + false, + "$identificador Valor do ICMS da Operação" + ); + $this->dom->addChild( + $icms, + 'pDif', + $this->conditionalNumberFormatting($std->pDif ?? null, 4), + false, + "$identificador Percentual do diferimento" + ); + $this->dom->addChild( + $icms, + 'vICMSDif', + $this->conditionalNumberFormatting($std->vICMSDif ?? null), + false, + "$identificador Valor do ICMS diferido" + ); //fim grupo adicional $this->dom->addChild( $icms, @@ -1344,27 +1344,27 @@ public function tagICMS(stdClass $std): DOMElement ); //grupo adicional NT 2022.002 v1.30 //os dois primeiros campos serão obrigatórios a partir de 06/06/2026 -// $this->dom->addChild( -// $icms, -// 'pFCPDif', -// $this->conditionalNumberFormatting($std->pFCPDif ?? null, 4), -// false, -// "$identificador Percentual do diferimento do ICMS relativo ao Fundo de Combate à Pobreza" -// ); -// $this->dom->addChild( -// $icms, -// 'vFCPDif', -// $this->conditionalNumberFormatting($std->vFCPDif ?? null), -// false, -// "$identificador Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) diferido" -// ); -// $this->dom->addChild( -// $icms, -// 'vFCPEfet', -// $this->conditionalNumberFormatting($std->vFCPEfet ?? null), -// false, -// "$identificador Valor efetivo do ICMS relativo ao Fundo de Combate à Pobreza (FCP)" -// ); + $this->dom->addChild( + $icms, + 'pFCPDif', + $this->conditionalNumberFormatting($std->pFCPDif ?? null, 4), + false, + "$identificador Percentual do diferimento do ICMS relativo ao Fundo de Combate à Pobreza" + ); + $this->dom->addChild( + $icms, + 'vFCPDif', + $this->conditionalNumberFormatting($std->vFCPDif ?? null), + false, + "$identificador Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) diferido" + ); + $this->dom->addChild( + $icms, + 'vFCPEfet', + $this->conditionalNumberFormatting($std->vFCPEfet ?? null), + false, + "$identificador Valor efetivo do ICMS relativo ao Fundo de Combate à Pobreza (FCP)" + ); //fim do grupo adicional $this->dom->addChild( $icms, @@ -1644,27 +1644,27 @@ public function tagICMSPart(stdClass $std): DOMElement "$identificador UF para qual é devido o ICMS ST" ); //grupo adicional NT 2022.002 v1.30 -// $this->dom->addChild( -// $icmsPart, -// 'vICMSDeson', -// $this->conditionalNumberFormatting($std->vICMSDeson ?? null), -// false, -// "$identificador Valor do ICMS desonerado" -// ); -// $this->dom->addChild( -// $icmsPart, -// 'motDesICMS', -// $std->motDesICMS ?? null, -// false, -// "$identificador Motivo da desoneração do ICMS" -// ); -// $this->dom->addChild( -// $icmsPart, -// 'indDeduzDeson', -// $std->indDeduzDeson ?? null, -// false, -// "$identificador Indica se o valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd)." -// ); + $this->dom->addChild( + $icmsPart, + 'vICMSDeson', + $this->conditionalNumberFormatting($std->vICMSDeson ?? null), + false, + "$identificador Valor do ICMS desonerado" + ); + $this->dom->addChild( + $icmsPart, + 'motDesICMS', + $std->motDesICMS ?? null, + false, + "$identificador Motivo da desoneração do ICMS" + ); + $this->dom->addChild( + $icmsPart, + 'indDeduzDeson', + $std->indDeduzDeson ?? null, + false, + "$identificador Indica se o valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd)." + ); $this->aICMSPart[$std->item] = $icmsPart; return $icmsPart; } diff --git a/tests/TaxCoverageTest.php b/tests/TaxCoverageTest.php index c652e615..5834ff6e 100644 --- a/tests/TaxCoverageTest.php +++ b/tests/TaxCoverageTest.php @@ -514,7 +514,7 @@ public function testICMS70WithoutSTDeson(): void public function testICMS90Full(): void { - $this->markTestSkipped('Campos estarão disponíveis a partir de junho/2026, aguardando publicação do XSD.'); + //$this->markTestSkipped('Campos estarão disponíveis a partir de junho/2026, aguardando publicação do XSD.'); $std = new \stdClass(); $std->item = 1; $std->orig = 0; @@ -580,7 +580,7 @@ public function testICMS90Minimal(): void public function testICMSPart(): void { - $this->markTestSkipped('Campos estarão disponíveis a partir de junho/2026, aguardando publicação do XSD.'); + //$this->markTestSkipped('Campos estarão disponíveis a partir de junho/2026, aguardando publicação do XSD.'); // Initialize stdTot->vICMSST which the trait accesses but Make's constructor does not set if (!isset($this->make->stdTot->vICMSST)) { $this->make->stdTot->vICMSST = 0; diff --git a/tests/TraitsCoverageTest.php b/tests/TraitsCoverageTest.php index c9a86abc..4a66ce13 100644 --- a/tests/TraitsCoverageTest.php +++ b/tests/TraitsCoverageTest.php @@ -590,7 +590,8 @@ public function test_tagAgropecuarioGuia_optional_fields(): void $guia = $this->make->tagAgropecuarioGuia($std); $this->assertInstanceOf(\DOMElement::class, $guia); - $this->assertEmpty($guia->getElementsByTagName('UFGuia')->item(0)); + $ufGuia = $guia->getElementsByTagName('UFGuia')->item(0)->nodeValue ?? ''; + $this->assertEmpty($ufGuia); } public function test_tagAgropecuarioDefensivo(): void