Grupo <gMono> dentro de <IBSCBSTot>

53 views
Skip to first unread message

Marcelo Volpiani

unread,
Jun 11, 2026, 4:55:11 PMJun 11
to NFePHP
Boa tarde,

Avançando com os testes depois que atualizei a biblioteca hoje, notei que o grupo <gMono> é automaticamente explicitado com valores 0.00 dentro de <IBSCBSTot>

<IBSCBSTot>
   <vBCIBSCBS>301.89</vBCIBSCBS>
   <gIBS>
   ...
   </gIBS>
   <gCBS>
   ...
   </gCBS>

   <gMono>
      <vIBSMono>0.00</vIBSMono>
      <vCBSMono>0.00</vCBSMono>
      <vIBSMonoReten>0.00</vIBSMonoReten>
      <vCBSMonoReten>0.00</vCBSMonoReten>
      <vIBSMonoRet>0.00</vIBSMonoRet>
      <vCBSMonoRet>0.00</vCBSMonoRet>
   </gMono>
</IBSCBSTot>

Lendo as últimas NTs, fiquei com a seguinte dúvida:
Está correto interpretar que o grupo <gMono> só deveria ser explicitado caso necessário? (Ocor. = 0-1)
Se sim, como faço para evitar que ele seja apresentado?

Muito obrigado,

Eduardo Miranda

unread,
Aug 3, 2026, 12:53:30 PM (4 days ago) Aug 3
to NFePHP
Também percebi que esta tag é adicionada mesmo se eu não solicito tagIBSCBSMono , se eu usar o CST 000, sem problema a nota valida e é gerada, no entando, se eu usar o CST 620 não consigo gerar a nota, vendo Gás GLP P13 e uso essa CST para este item, alguém saberia dizer o que fazer?

Marcelo Volpiani

unread,
Aug 3, 2026, 5:06:56 PM (3 days ago) Aug 3
to NFePHP
Excluí no "modo raiz" rs
('logo antes' de 'assinar' o xml)

// exclui grupo gMono ZERADO
$pi = strpos($xmlMonta, '<gMono>', 0);
if ( $pi>0 ) {
  $pf = strpos($xmlMonta, '/gMono>', $pi);
  if ( $pf>0 ) {
    $pf = strpos($xmlMonta, '<', $pf); // próximo início
    $xmlMontaI = substr($xmlMonta, 0, $pi);
    $xmlMontaF = substr($xmlMonta, $pf);
    $xmlMonta = $xmlMontaI.$xmlMontaF;
  }
}
Reply all
Reply to author
Forward
0 new messages