Conversão Txt > Xml

131 views
Skip to first unread message

Softwar

unread,
Oct 9, 2025, 6:45:45 AMOct 9
to NFePHP
Pessoal, tudo bem?

Estou rodando o projeto com todas as novas atualizações referente a reforma tributária, porém notei que o arquivo txtstructure400_v1.2.json, não possui mapeado algumas tags, por exemplo: UB, VB, VC.
E na classe Parser também não identifiquei as funções para estas novas tags.

Saberiam, me dizer se  a conversão de Txt para Xml foi descontinuada? E qual a forma correta de passar estes dados para ser gerado o xml? 

* Se tiver um exemplo, ficarei agradecido.

Desde já obrigado.

Softwar

unread,
Oct 15, 2025, 10:13:06 AMOct 15
to NFePHP
Tranquilo, pessoal ? 

Consegui emitir as primeiras notas, referente a reforma tributária. Segue abaixo o que precisei fazer no meu caso de uso, aonde preciso da conversão de TXT para XML:

1. Na configuração da Tools, precisei modificar para "schemes": "PL_010_V1.30",
2. No arquivo presente no sped-nfe/storage/txtstructure400_v1.2.json precisei incluir os blocos novos: UB, UB12, UB68, UB82a, UB84, UB106, UB112, UB120, UB131
3. No arquivo sped-nfe/src/Factories/Parser.php, apontar para usar o MakeDev('PL_010_V1.30')
4. No arquivo sped-nfe/src/Factories/Parser.php foi preciso incluir as funções para estes novos blocos incluídos.

ub12Entity   = $this->make->tagIBSCBS
ub68Entity   = $this->make->tagIBSTribRegular
ub82aEntity = $this->make->taggTribCompraGov
ub84Entity   = $this->make->tagIBSCBSMono
ub106Entity = $this->make->taggTransfCred
ub112Entity = $this->make->taggAjusteCompet
ub116Entity = $this->make->taggEstornoCred
ub120Entity = $this->make->taggCredPresOper
ub131Entity = $this->make->taggCredPresIBSZFM

5. Exemplo TXT enviando o novo bloco UB12:

NOTAFISCAL|1
A|4.00|||
B|35|00095823|VENDA ESTADUAL|55|1|10|2025-10-15T09:31:00-02:00|2025-10-15T17:58:00-02:00|1|1|3550308|1|1||2|1|1|1|0|0|4.00|||
C|EMITENTE TESTE|EMITENTE TESTE|175632475112||||3|
C02|126777270101601|
C05|RUA TESTE|36||JD. TABOAO|3550308|SAO PAULO|SP|00700170|1058|BRASIL|1137712699|
E|FRANCISCO VILLELA PEDROSO HORTA|9|||||
E03|25371714061|
E05|RUA TESTE|56|CASA 1234|CERQUEIRA|3550308|SAO PAULO|SP|01006000|1234|BRASIL|1919311209|
H|1|Valor Aproximado de Imposto R$ 0,00 (0%)|
I|23012|SEM GTIN|PUFF|94033000|||5102|UNID|1.0000|1.0000|1.00|SEM GTIN|UNID|1.0000|1.0000|||||1|44|1||
M||
N|
N02|0|00|3|1.00|18.00|00.18|||
O||||999|
O07|50|0.03|
O10|0.03|3.00|
Q|
Q02|01|1.00|1.65|0.01|
S|
S02|01|1.00|7.60|0.07|
UB12|1|000|000001|0|100.00|1.50||||||1.50|0.50||||||0.50|9.25||||||9.25|
W|
W02|1.00|0.18|0.00|0.00|0.00|0.00|0.00|0.00|1.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|1.00|0.00|0.00|0.00|0.00|
X|0|
Y|0.00|
Y02|45|1.00|0.00|1.00|
Y07|001|2025-10-14|0.34|
Y07|002|2025-10-21|0.33|
Y07|003|2025-11-03|0.33|
YA|1|15|1.00|0.00|1.00||||
Z||NOTA FISCAL DE TESTE REFORMA TRIBUTARIA|
ZD|85976290000166|EMPRESA TESTE|te...@teste.com.br|0000000000|HA6HAGABAHA7HHAGA7766BAHAH0|01|


Roberto Machado

unread,
Oct 15, 2025, 11:17:53 AMOct 15
to nfe...@googlegroups.com
Se está funcionando suba um PR com essas ajustes para ajudar ao que ainda usam a conversão de txt para xml

Roberto

Pablo Pereira

unread,
Oct 23, 2025, 7:05:46 PM (14 days ago) Oct 23
to NFePHP
Boa noite.
Estou gerando uma nova estrutura txtstructure400_v1.3.json, ainda tenho clientes que utilizam txt para integração e pelo jeito vai demorar a trocar o sistema. 
Assim que tiver algo mais adiantado vou fazer uma PR, qualquer ajuda será bem vinda, quem puder pode validar o campos e grupos

{
"NOTAFISCAL": "NOTAFISCAL|qtd|",
"A": "A|versao|Id|pk_nItem|",
"B": "B|cUF|cNF|natOp|mod|serie|nNF|dhEmi|dhSaiEnt|tpNF|idDest|cMunFG|tpImp|tpEmis|cDV|tpAmb|finNFe|indFinal|indPres|indIntermed|procEmi|verProc|dhCont|xJust|dPrevEntrega|tpNFDebito|tpNFCredito|cMunFGIBS|cMunFGIBS|",
"BA": "BA|",
"BA02": "BA02|refNFe|",
"BA03": "BA03|cUF|AAMM|CNPJ|mod|serie|nNF|",
"BA10": "BA10|cUF|AAMM|IE|mod|serie|nNF|",
"BA13": "BA13|CNPJ|",
"BA14": "BA14|CPF|",
"BA19": "B19|refCTe|",
"BA20": "BA20|mod|nECF|nCOO|",
"B31": "B31|tpEnteGov|pRedutor|tpOperGov|",
"BB01": "BB01|refNFe|",
"C": "C|xNome|xFant|IE|IEST|IM|CNAE|CRT|",
"C02": "C02|CNPJ|",
"C02A": "C02a|CPF|",
"C05": "C05|xLgr|nro|xCpl|xBairro|cMun|xMun|UF|CEP|cPais|xPais|fone|",
"D": "D|CNPJ|xOrgao|matr|xAgente|fone|UF|nDAR|dEmi|vDAR|repEmi|dPag|",
"E": "E|xNome|indIEDest|IE|ISUF|IM|email|",
"E02": "E02|CNPJ|",
"E03": "E03|CPF|",
"E03A": "E03a|idEstrangeiro|",
"E05": "E05|xLgr|nro|xCpl|xBairro|cMun|xMun|UF|CEP|cPais|xPais|fone|",
"F": "F|xLgr|nro|xCpl|xBairro|cMun|xMun|UF|CEP|cPais|xPais|fone|email|IE|",
"F02": "F02|CNPJ|",
"F02A": "F02a|CPF|",
"F02B": "F02b|xNome|",
"G": "G|xLgr|nro|xCpl|xBairro|cMun|xMun|UF|CEP|cPais|xPais|fone|email|IE|",
"G02": "G02|CNPJ|",
"G02A": "G02a|CPF|",
"G02B": "G02b|xNome|",
"GA": "GA|",
"GA02": "GA02|CNPJ|",
"GA03": "GA03|CPF|",
"H": "H|item|infAdProd|vItem|",
"I": "I|cProd|cEAN|xProd|NCM|cBenef|EXTIPI|CFOP|uCom|qCom|vUnCom|vProd|cEANTrib|uTrib|qTrib|vUnTrib|vFrete|vSeg|vDesc|vOutro|indTot|xPed|nItemPed|nFCI|tpCredPresIBSZFM|indBemMovelUsado|",
"I05A": "I05A|NVE|",
"I05C": "I05C|CEST|indEscala|CNPJFab|",
"I05G": "I05C|cCredPresumido|pCredPresumido|vCredPresumido|",
"I18": "I18|nDI|dDI|xLocDesemb|UFDesemb|dDesemb|tpViaTransp|vAFRMM|tpIntermedio|CNPJ|UFTerceiro|cExportador|",
"I25": "I25|nAdicao|nSeqAdic|cFabricante|vDescDI|nDraw|",
"I50": "I50|nDraw|",
"I52": "I52|nRE|chNFe|qExport|",
"I80": "I80|nLote|qLote|dFab|dVal|cAgreg|",
"JA": "JA|tpOp|chassi|cCor|xCor|pot|cilin|pesoL|pesoB|nSerie|tpComb|nMotor|CMT|dist|anoMod|anoFab|tpPint|tpVeic|espVeic|VIN|condVeic|cMod|cCorDENATRAN|lota|tpRest|",
"K": "K|cProdANVISA|vPMC|xMotivoIsencao|",
"L": "L|tpArma|nSerie|nCano|descr|",
"LA": "LA|cProdANP|descANP|pGLP|pGNn|pGNi|vPart|CODIF|qTemp|UFCons|",
"LA07": "LA07|qBCProd|vAliqProd|vCIDE|",
"LA11": "LA11|nBico|nBomba|nTanque|vEncIni|vEncFin|",
"LB": "LB|nRECOPI|",
"M": "M|vTotTrib|",
"N": "N|",
"N02": "N02|orig|CST|modBC|vBC|pICMS|vICMS|pFCP|vFCP|",
"N03": "N03|orig|CST|modBC|vBC|pICMS|vICMS|vBCFCP|pFCP|vFCP|modBCST|pMVAST|pRedBCST|vBCST|pICMSST|vICMSST|vBCFCPST|pFCPST|vFCPST|",
"N04": "N04|orig|CST|modBC|pRedBC|vBC|pICMS|vICMS|vBCFCP|pFCP|vFCP|vICMSDeson|motDesICMS|",
"N05": "N05|orig|CST|modBCST|pMVAST|pRedBCST|vBCST|pICMSST|vICMSST|vBCFCPST|pFCPST|vFCPST|vICMSDeson|motDesICMS|",
"N06": "N06|orig|CST|vICMSDeson|motDesICMS|indDeduzDeson|",
"N07": "N07|orig|CST|modBC|pRedBC|vBC|pICMS|vICMSOp|pDif|vICMSDif|vICMS|vBCFCP|pFCP|vFCP|",
"N08": "N08|orig|CST|vBCSTRet|pST|vICMSSTRet|vBCFCPSTRet|pFCPSTRet|vFCPSTRet|pRedBCEfet|vBCEfet|pICMSEfet|vICMSEfet|vICMSSubstituto|",
"N09": "N09|orig|CST|modBC|pRedBC|vBC|pICMS|vICMS|vBCFCP|pFCP|vFCP|modBCST|pMVAST|pRedBCST|vBCST|pICMSST|vICMSST|vBCFCPST|pFCPST|vFCPST|vICMSDeson|motDesICMS|",
"N10": "N10|orig|CST|modBC|vBC|pRedBC|pICMS|vICMS|vBCFCP|pFCP|vFCP|modBCST|pMVAST|pRedBCST|vBCST|pICMSST|vICMSST|vBCFCPST|pFCPST|vFCPST|vICMSDeson|motDesICMS|",
"N10A": "N10a|orig|CST|modBC|vBC|pRedBC|pICMS|vICMS|modBCST|pMVAST|pRedBCST|vBCST|pICMSST|vICMSST|pBCOp|UFST|",
"N10B": "N10b|orig|CST|vBCSTRet|vICMSSTRet|vBCSTDest|vICMSSTDest|vBCFCPSTRet|pFCPSTRet|vFCPSTRet|pST|vICMSSubstituto|pRedBCEfet|vBCEfet|pICMSEfet|vICMSEfet|",
"N10C": "N10c|orig|CSOSN|pCredSN|vCredICMSSN|",
"N10D": "N10d|orig|CSOSN|",
"N10E": "N10e|orig|CSOSN|modBCST|pMVAST|pRedBCST|vBCST|pICMSST|vICMSST|vBCFCPST|pFCPST|vFCPST|pCredSN|vCredICMSSN|",
"N10F": "N10f|orig|CSOSN|modBCST|pMVAST|pRedBCST|vBCST|pICMSST|vICMSST|vBCFCPST|pFCPST|vFCPST|",
"N10G": "N10g|orig|CSOSN|vBCSTRet|pST|vICMSSTRet|vBCFCPSTRet|pFCPSTRet|vFCPSTRet|pRedBCEfet|vBCEfet|pICMSEfet|vICMSEfet|vICMSSubstituto|",
"N10H": "N10h|orig|CSOSN|modBC|vBC|pRedBC|pICMS|vICMS|modBCST|pMVAST|pRedBCST|vBCST|pICMSST|vICMSST|vBCFCPST|pFCPST|vFCPST|pCredSN|vCredICMSSN|",
"NA": "NA|vBCUFDest|vBCFCPUFDest|pFCPUFDest|pICMSUFDest|pICMSInter|pICMSInterPart|vFCPUFDest|vICMSUFDest|vICMSUFRemet|",
"O": "O|CNPJProd|cSelo|qSelo|cEnq|",
"O07": "O07|CST|vIPI|",
"O08": "O08|CST|",
"O10": "O10|vBC|pIPI|",
"O11": "O11|qUnid|vUnid|",
"P": "P|vBC|vDespAdu|vII|vIOF|",
"Q": "Q|",
"Q02": "Q02|CST|vBC|pPIS|vPIS|",
"Q03": "Q03|CST|qBCProd|vAliqProd|vPIS|",
"Q04": "Q04|CST|",
"Q05": "Q05|CST|vPIS|",
"Q07": "Q07|vBC|pPIS|",
"Q10": "Q10|qBCProd|vAliqProd|",
"R": "R|vPIS|",
"R02": "R02|vBC|pPIS|",
"R04": "R04|qBCProd|vAliqProd|vPIS|",
"S": "S|",
"S02": "S02|CST|vBC|pCOFINS|vCOFINS|",
"S03": "S03|CST|qBCProd|vAliqProd|vCOFINS|",
"S04": "S04|CST|",
"S05": "S05|CST|vCOFINS|",
"S07": "S07|vBC|pCOFINS|",
"S09": "S09|qBCProd|vAliqProd|",
"T": "T|vCOFINS|",
"T02": "T02|vBC|pCOFINS|",
"T04": "T04|qBCProd|vAliqProd|",
"U": "U|vBC|vAliq|vISSQN|cMunFG|cListServ|vDeducao|vOutro|vDescIncond|vDescCond|vISSRet|indISS|cServico|cMun|cPais|nProcesso|indIncentivo|",
"UA": "UA|pDevol|vIPIDevol|",
"UB": "UB|",
"UB01": "UB01|CSTIS|cClassTribIS|vBCIS|pIS|pISEspec|uTrib|qTrib|vIS|",
"UB12": "UB12|CST|cClassTrib|indDoacao|",
"UB15": "UB15|vBC|vIBS|vCBS|",
"UB17": "UB17|pIBSUF|pDif|vDif|vDevTrib|pRedAliq|pAliqEfet|vIBSUF|",
"UB36": "UB36|pIBSMun|pDif|vDif|vDevTrib|pRedAliq|pAliqEfet|vIBSMun|",
"UB55": "UB55|pCBS|pDif|vDif|vDevTrib|pRedAliq|pAliqEfet|vCBS",
"UB68": "UB68|CSTReg|cClassTribReg|pAliqEfetRegIBSUF|vTribRegIBSUF|pAliqEfetRegIBSMun|vTribRegIBSMun|pAliqEfetRegCBS|vTribRegCBS|",
"UB73": "UB73|cCredPres|pCredPres|vCredPres|vCredPresCondSus|",
"UB82A": "UB82A|pAliqIBSUF|vTribIBSUF|pAliqIBSMun|vTribIBSMun|pAliqCBS|vTribCBS|",
"UB84": "UB84|qBCMono|adRemIBS|adRemCBS|vIBSMono|vCBSMono|vTotIBSMonoItem|vTotCBSMonoItem",
"UB90": "UB90|qBCMonoReten|adRemIBSReten|vIBSMonoReten|adRemCBSReten|vCBSMonoReten|",
"UB94": "UB94|qBCMonoRet|adRemIBSRet|vIBSMonoRet|adRemCBSRet|vCBSMonoRet|",
"UB99": "UB99|pDifIBS|vIBSMonoDif|pDifCBS|vCBSMonoDif|",
"UB109": "UB109|tpCredPresIBSZFM|vCredPresIBSZFM|",
"UB112": "UB112|competApur|vIBS|vCBS|vIBSEstCred|vCBSEstCred|",
"UB120": "UB120|vBCCredPres|cCredPres|pCredPres|vCredPres|vCredPresCondSus|",
"UB131": "UB131|competApur|tpCredPresIBSZFM|vCredPresIBSZFM|",
"W": "W|",
"W02": "W02|vBC|vICMS|vICMSDeson|vFCP|vBCST|vST|vFCPST|vFCPSTRet|vProd|vFrete|vSeg|vDesc|vII|vIPI|vIPIDevol|vPIS|vCOFINS|vOutro|vNF|vTotTrib|vFCPUFDest|vICMSUFDest|vICMSUFRemet|",
"W03": "W03|vIS|vBCIBSCBS|",
"W17": "W17|vServ|vBC|vISS|vPIS|vCOFINS|dCompet|vDeducao|vOutro|vDescIncond|vDescCond|vISSRet|cRegTrib|",
"W23": "W23|vRetPIS|vRetCOFINS|vRetCSLL|vBCIRRF|vIRRF|vBCRetPrev|vRetPrev|",
"W36": "W36|vIBS|vCredPres|vCredPresCondSus|",
"W37": "W37|vDif|vDevTrib|vIBSUF|",
"W42": "W42|vDif|vDevTrib|vIBSMun|",
"W50": "W50|vDif|vDevTrib|vCBS|vCredPres|vCredPresCondSus|",
"W57": "W57|vIBSMono|vCBSMono|vIBSMonoReten|vCBSMonoReten|vIBSMonoRet|vCBSMonoRet|vIBSEstCred|vCBSEstCred|",
"X": "X|modFrete|",
"X03": "X03|xNome|IE|xEnder|xMun|UF|",
"X04": "X04|CNPJ|",
"X05": "X05|CPF|",
"X11": "X11|vServ|vBCRet|pICMSRet|vICMSRet|CFOP|cMunFG|",
"X18": "X18|placa|UF|RNTC|",
"X22": "X22|placa|UF|RNTC|",
"X25A": "X25a|vagao|",
"X25B": "X25b|balsa|",
"X26": "X26|qVol|esp|marca|nVol|pesoL|pesoB|",
"X33": "X33|nLacre|",
"Y": "Y|vTroco|",
"Y02": "Y02|nFat|vOrig|vDesc|vLiq|",
"Y07": "Y07|nDup|dVenc|vDup|",
"YA": "YA|indPag|tPag|vPag|CNPJ|tBand|cAut|tpIntegra|xPag|",
"YB": "YB|CNPJ|idCadIntTran|",
"Z": "Z|infAdFisco|infCpl|",
"Z04": "Z04|xCampo|xTexto|",
"Z07": "Z07|xCampo|xTexto|",
"Z10": "Z10|nProc|indProc|",
"ZA": "ZA|UFSaidaPais|xLocExporta|xLocDespacho|",
"ZB": "ZB|xNEmp|xPed|xCont|",
"ZC": "ZC|safra|ref|qTotMes|qTotAnt|qTotGer|vFor|vTotDed|vLiqFor|",
"ZC04": "ZC04|dia|qtde|",
"ZC10": "ZC10|xDed|vDed|",
"ZD": "ZD|CNPJ|xContato|email|fone|CSRT|idCSRT|",
"ZX01": "ZX01|qrcode|urlChave|"
}

Reply all
Reply to author
Forward
0 new messages