Achei esse exemplo:
NFe.tagProdCOFINS(index, { CST: "49", qBCProd: "0.0000", vAliqProd: "0.0000", vCOFINS: "0.00" })
Tentei dessas formas, no xml ele criar a tag <COFINS> deveria criar <COFINSAliq>, <COFINSQtde>, <COFINSNT> ou <COFINSOutr>:
NFe.tagProdCOFINS(index, {
CST: item.cofins.cst,
vBC: item.cofins.baseCalculo,
pCOFINS: item.cofins.aliquota,
vCOFINS: item.cofins.valor,
});
NFe.tagProdCOFINS(index, {
CST: item.cofins.cst,
qBCProd: '0.0000',
vAliqProd: '0.0000',
vBC: item.cofins.baseCalculo,
pCOFINS: item.cofins.aliquota,
vCOFINS: item.cofins.valor,
});
NFe.tagProdCOFINS(index, {
CST: item.cofins.cst,
qBCProd: item.cofins.baseCalculo,
vAliqProd: item.cofins.aliquota,
vCOFINS: item.cofins.valor,
});
Uma solução seria ter algo assim, mais não achei esses objetos: if (['01', '02'].includes(item.cofins.cst)) {
NFe.tagCOFINSAliq(index, {
CST: item.cofins.cst,
vBC: item.cofins.baseCalculo,
pCOFINS: item.cofins.aliquota,
vCOFINS: item.cofins.valor,
});
} else if (item.cofins.cst === '03') {
NFe.tagCOFINSQtde(index, {
CST: item.cofins.cst,
qBCProd: item.cofins.qBCProd,
vAliqProd: item.cofins.vAliqProd,
vCOFINS: item.cofins.valor,
});
} else if (['04', '06', '07', '08', '09'].includes(item.cofins.cst)) {
NFe.tagCOFINSNT(index, {
CST: item.cofins.cst,
});
} else {
// CSTs 49, 50–56, 60–67, 70–75, 98, 99
NFe.tagCOFINSOutr(index, {
CST: item.cofins.cst,
vBC: item.cofins.baseCalculo,
pCOFINS: item.cofins.aliquota,
vCOFINS: item.cofins.valor,
});
}