public function tagICMSSN($nItem = '', $orig = '', $csosn = '', $modBC = '', $vBC = '', $pRedBC = '', $pICMS = '', $vICMS = '', $pCredSN = '', $vCredICMSSN = '', $modBCST = '', $pMVAST = '', $pRedBCST = '', $vBCST = '', $pICMSST = '', $vICMSST = '', $vBCSTRet = '', $vICMSSTRet = '')
{
switch ($csosn) {
case '101':
$icmsSN = $this->dom->createElement("ICMSSN101");
$this->dom->addChild($icmsSN, 'orig', $orig, true, "[item {$nItem}] Origem da mercadoria");
$this->dom->addChild($icmsSN, 'CSOSN', $csosn, true, "[item {$nItem}] Código de Situação da Operação Simples Nacional");
$this->dom->addChild($icmsSN, 'pCredSN', $pCredSN, true, "[item {$nItem}] Alíquota aplicável de cálculo do crédito (Simples Nacional).");
$this->dom->addChild($icmsSN, 'vCredICMSSN', $vCredICMSSN, true, "[item {$nItem}] Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional)");
break;
case '102':
case '103':
case '300':
case '400':
$icmsSN = $this->dom->createElement("ICMSSN102");
$this->dom->addChild($icmsSN, 'orig', $orig, true, "[item {$nItem}] Origem da mercadoria");
$this->dom->addChild($icmsSN, 'CSOSN', $csosn, true, "[item {$nItem}] Código de Situação da Operação Simples Nacional");
break;
case '201':
$icmsSN = $this->dom->createElement("ICMSSN201");
$this->dom->addChild($icmsSN, 'orig', $orig, true, "[item {$nItem}] Origem da mercadoria");
$this->dom->addChild($icmsSN, 'CSOSN', $csosn, true, "[item {$nItem}] Código de Situação da Operação Simples Nacional");
$this->dom->addChild($icmsSN, 'modBCST', $modBCST, true, "[item {$nItem}] Alíquota aplicável de cálculo do crédito (Simples Nacional).");
$this->dom->addChild($icmsSN, 'pMVAST', $pMVAST, false, "[item {$nItem}] Percentual da margem de valor Adicionado do ICMS ST");
$this->dom->addChild($icmsSN, 'pRedBCST', $pRedBCST, false, "[item {$nItem}] Percentual da Redução de BC do ICMS ST");
$this->dom->addChild($icmsSN, 'vBCST', $vBCST, true, "[item {$nItem}] Valor da BC do ICMS ST");
$this->dom->addChild($icmsSN, 'pICMSST', $pICMSST, true, "[item {$nItem}] Alíquota do imposto do ICMS ST");
$this->dom->addChild($icmsSN, 'vICMSST', $vICMSST, true, "[item {$nItem}] Valor do ICMS ST");
$this->dom->addChild($icmsSN, 'pCredSN', $pCredSN, true, "[item {$nItem}] Alíquota aplicável de cálculo do crédito (Simples Nacional).");
$this->dom->addChild($icmsSN, 'vCredICMSSN', $vCredICMSSN, true, "[item {$nItem}] Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional)");
break;
case '202':
case '203':
$icmsSN = $this->dom->createElement("ICMSSN202");
$this->dom->addChild($icmsSN, 'orig', $orig, true, "[item {$nItem}] Origem da mercadoria");
$this->dom->addChild($icmsSN, 'CSOSN', $csosn, true, "[item {$nItem}] Código de Situação da Operação Simples Nacional");
$this->dom->addChild($icmsSN, 'modBCST', $modBCST, true, "[item {$nItem}] Alíquota aplicável de cálculo do crédito (Simples Nacional).");
$this->dom->addChild($icmsSN, 'pMVAST', $pMVAST, false, "[item {$nItem}] Percentual da margem de valor Adicionado do ICMS ST");
$this->dom->addChild($icmsSN, 'pRedBCST', $pRedBCST, false, "[item {$nItem}] Percentual da Redução de BC do ICMS ST");
$this->dom->addChild($icmsSN, 'vBCST', $vBCST, true, "[item {$nItem}] Valor da BC do ICMS ST");
$this->dom->addChild($icmsSN, 'pICMSST', $pICMSST, true, "[item {$nItem}] Alíquota do imposto do ICMS ST");
$this->dom->addChild($icmsSN, 'vICMSST', $vICMSST, true, "[item {$nItem}] Valor do ICMS ST");
break;
case '500':
$icmsSN = $this->dom->createElement("ICMSSN500");
$this->dom->addChild($icmsSN, 'orig', $orig, true, "[item {$nItem}] Origem da mercadoria");
$this->dom->addChild($icmsSN, 'CSOSN', $csosn, true, "[item {$nItem}] Código de Situação da Operação Simples Nacional");
$this->dom->addChild($icmsSN, 'vBCSTRet', $vBCSTRet, false, "[item {$nItem}] Valor da BC do ICMS ST retido");
$this->dom->addChild($icmsSN, 'vICMSSTRet', $vICMSSTRet, false, "[item {$nItem}] Valor do ICMS ST retido");
break;
case '900':
$icmsSN = $this->dom->createElement("ICMSSN900");
$this->dom->addChild($icmsSN, 'orig', $orig, true, "[item {$nItem}] Origem da mercadoria");
$this->dom->addChild($icmsSN, 'CSOSN', $csosn, true, "[item {$nItem}] Código de Situação da Operação Simples Nacional");
$this->dom->addChild($icmsSN, 'modBC', $modBC, false, "[item {$nItem}] Modalidade de determinação da BC do ICMS");
$this->dom->addChild($icmsSN, 'vBC', $vBC, false, "[item {$nItem}] Valor da BC do ICMS");
$this->dom->addChild($icmsSN, 'pRedBC', $pRedBC, false, "[item {$nItem}] Percentual da Redução de BC");
$this->dom->addChild($icmsSN, 'pICMS', $pICMS, false, "[item {$nItem}] Alíquota do imposto");
$this->dom->addChild($icmsSN, 'vICMS', $vICMS, false, "[item {$nItem}] Valor do ICMS");
$this->dom->addChild($icmsSN, 'modBCST', $modBCST, false, "[item {$nItem}] Alíquota aplicável de cálculo do crédito (Simples Nacional).");
$this->dom->addChild($icmsSN, 'pMVAST', $pMVAST, false, "[item {$nItem}] Percentual da margem de valor Adicionado do ICMS ST");
$this->dom->addChild($icmsSN, 'pRedBCST', $pRedBCST, false, "[item {$nItem}] Percentual da Redução de BC do ICMS ST");
$this->dom->addChild($icmsSN, 'vBCST', $vBCST, false, "[item {$nItem}] Valor da BC do ICMS ST");
$this->dom->addChild($icmsSN, 'pICMSST', $pICMSST, false, "[item {$nItem}] Alíquota do imposto do ICMS ST");
$this->dom->addChild($icmsSN, 'vICMSST', $vICMSST, false, "[item {$nItem}] Valor do ICMS ST");
$this->dom->addChild($icmsSN, 'pCredSN', $pCredSN, false, "[item {$nItem}] Alíquota aplicável de cálculo do crédito (Simples Nacional).");
$this->dom->addChild($icmsSN, 'vCredICMSSN', $vCredICMSSN, false, "[item {$nItem}] Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional)");
break;
}
//caso exista a tag aICMS[$nItem] inserir nela caso contrario criar
if (!empty($this->aICMS[$nItem])) {
$tagIcms = $this->aICMS[$nItem];
} else {
$tagIcms = $this->dom->createElement('ICMS');
}
if (isset($icmsSN)) {
$this->dom->appChild($tagIcms, $icmsSN, "Inserindo ICMSST em ICMS[{$nItem}]");
}
$this->aICMS[$nItem] = $tagIcms;
return $tagIcms;
}