ICMS
IPI
PIS
COFINS
Eu estou fazendo assim:
M->cXml += '<imposto>'
M->cXml += '<ICMS>'
IF ALLTRIM(NFCEITENS->ICMS_ST) = "00"
M->cXml += '<ICMS00>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '<modBC>3</modBC>'
M->cXml += '<vBC>' +ltrim(str(NFCEITENS->n_vBC,14,2)) +'</vBC>'
M->cXml += '<pICMS>' +ltrim(str(NFCEITENS->n_pICMS,7,4)) +'</pICMS>'
M->cXml += '<vICMS>' +ltrim(str(NFCEITENS->n_vICMS,14,2)) +'</vICMS>'
M->cXml += '</ICMS00>'
M->vBC +=NFCEITENS->n_vBC
M->vICMS +=NFCEITENS->n_vICMS
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "10"
M->cXml += '<ICMS10>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS10>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "20"
M->cXml += '<ICMS20>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS20>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "30"
M->cXml += '<ICMS30>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS30>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "40"
M->cXml += '<ICMS40>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS40>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "41"
M->cXml += '<ICMS41>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS41>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "50"
M->cXml += '<ICMS50>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS50>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "51"
M->cXml += '<ICMS51>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS51>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "60"
M->cXml += '<ICMS60>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS60>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "70"
M->cXml += '<ICMS70>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS70>'
ELSEIF ALLTRIM(NFCEITENS->ICMS_ST) = "90"
M->cXml += '<ICMS90>'
M->cXml += '<orig>' +NFCEITENS->ICMS_ORIGE +'</orig>'
M->cXml += '<CST>' +ALLTRIM(NFCEITENS->ICMS_ST) +'</CST>'
M->cXml += '</ICMS90>'
ENDIF
M->cXml += '</ICMS>'
IF PRODUTOS->q_PISst = "01"
M->cXml += '<PIS>'
M->cXml += '<PISOutr>'
M->cXml += '<CST>01</CST>'
M->cXml += '<vBC>' +ltrim(str(NFCEITENS->q_vBC,14,2)) +'</vBC>'
M->cXml += '<pPIS>' +ltrim(str(NFCEITENS->q_pPIS,7,4)) +'</pPIS>'
M->cXml += '<vPIS>' +ltrim(str(NFCEITENS->q_vPIS,14,2)) +'</vPIS>'
M->cXml += '</PISOutr>'
M->cXml += '</PIS>'
M->vPIS +=NFCEITENS->q_vPIS
ENDIF
IF PRODUTOS->s_COFst = "01"
M->cXml += '<COFINS>'
M->cXml += '<COFINSOutr>'
M->cXml += '<CST>01</CST>'
M->cXml += '<vBC>' +ltrim(str(NFCEITENS->s_vBC,14,2)) +'</vBC>'
M->cXml += '<pCOFINS>' +ltrim(str(NFCEITENS->s_pCOFINS,7,4)) +'</pCOFINS>'
M->cXml += '<vCOFINS>' +ltrim(str(NFCEITENS->s_vCOFINS,14,2))+'</vCOFINS>'
M->cXml += '</COFINSOutr>'
M->cXml += '</COFINS>'
M->vCOFINS +=NFCEITENS->s_vCOFINS
ENDIF
M->cXml += '</imposto>'
M->cXml += '</det>'
ja surtei com isso :% :% :% :% :% :%