diff --git a/pynfe/data/SCHEMAs/NF-e/schemaNFe_v1.00.json b/pynfe/data/SCHEMAs/NF-e/schemaNFe_v1.00.json new file mode 100644 index 00000000..10b3df7e --- /dev/null +++ b/pynfe/data/SCHEMAs/NF-e/schemaNFe_v1.00.json @@ -0,0 +1,1113 @@ +{ + "versaoManual": "NFe/infNFe/@versao", + "idIntegracao": "NFe/infNFe/@Id", + "estado": "NFe/infNFe/ide/cUF", + "codigo": "NFe/infNFe/ide/cNF", + "natureza": "NFe/infNFe/ide/natOp", + "modelo": "NFe/infNFe/ide/mod", + "serie": "NFe/infNFe/ide/serie", + "numero": "NFe/infNFe/ide/nNF", + "dataEmissao": "NFe/infNFe/ide/dhEmi", + "dataSaidaEntradaTz": "NFe/infNFe/ide/dhSaiEnt", + "saida": "NFe/infNFe/ide/tpNF", + "dataPrevistaEntrega": "NFe/infNFe/ide/dhPrevEntrega", + "codigoIdentificacaoDestino": "NFe/infNFe/ide/idDest", + "codigoMunicipioFatoGerador": "NFe/infNFe/ide/cMunFG", + "codigoMunicipioFatoGeradorIBS": "NFe/infNFe/ide/cMunFGIBS", + "tipoImpressao": "NFe/infNFe/ide/tpImp", + "tipoEmissao": "NFe/infNFe/ide/tpEmis", + "digitoVerificador": "NFe/infNFe/ide/cDV", + "ambiente": "NFe/infNFe/ide/tpAmb", + "finalidade": "NFe/infNFe/ide/finNFe", + "tipoNotaDebito": "NFe/infNFe/ide/tpNFDebito", + "tipoNotaCredito": "NFe/infNFe/ide/tpNFCredito", + "consumidorFinal": "NFe/infNFe/ide/indFinal", + "presencial": "NFe/infNFe/ide/indPres", + "intermediador": "NFe/infNFe/ide/indIntermed", + "processoEmissao": "NFe/infNFe/ide/procEmi", + "versaoProcessoEmissao": "NFe/infNFe/ide/verProc", + "dataContingencia": "NFe/infNFe/ide/dhCont", + "justificativaContingencia": "NFe/infNFe/ide/xJust", + "compraGovernamental": { + "tipoEnte": "NFe/infNFe/ide/gCompraGov/tpEnteGov", + "percentual": "NFe/infNFe/ide/gCompraGov/pRedutor", + "tipoOperacao": "NFe/infNFe/ide/gCompraGov/tpOperGov" + }, + "pagAntecipado": [{ + "chave": "NFe/infNFe/ide/gPagAntecipado/refNFe[]" + }], + "emitente": { + "cpfCnpj": "NFe/infNFe/emit/CNPJ", + "razaoSocial": "NFe/infNFe/emit/xNome", + "nomeFantasia": "NFe/infNFe/emit/xFant", + "endereco": { + "logradouro": "NFe/infNFe/emit/enderEmit/xLgr", + "numero": "NFe/infNFe/emit/enderEmit/nro", + "complemento": "NFe/infNFe/emit/enderEmit/xCpl", + "bairro": "NFe/infNFe/emit/enderEmit/xBairro", + "codigoCidade": "NFe/infNFe/emit/enderEmit/cMun", + "descricaoCidade": "NFe/infNFe/emit/enderEmit/xMun", + "estado": "NFe/infNFe/emit/enderEmit/UF", + "cep": "NFe/infNFe/emit/enderEmit/CEP", + "codigoPais": "NFe/infNFe/emit/enderEmit/cPais", + "descricaoPais": "NFe/infNFe/emit/enderEmit/xPais" + }, + "telefone": "NFe/infNFe/emit/enderEmit/fone", + "inscricaoEstadual": "NFe/infNFe/emit/IE", + "inscricaoEstadualSubstituto": "NFe/infNFe/emit/IEST", + "inscricaoMunicipal": "NFe/infNFe/emit/IM", + "cnae": "NFe/infNFe/emit/CNAE", + "regimeTributario": "NFe/infNFe/emit/CRT" + }, + "avulsa": { + "cnpj": "NFe/infNFe/avulsa/CNPJ", + "orgao": "NFe/infNFe/avulsa/xOrgao", + "matricula": "NFe/infNFe/avulsa/matr", + "nomdeAgente": "NFe/infNFe/avulsa/xAgente", + "telefone": "NFe/infNFe/avulsa/fone", + "estado": "NFe/infNFe/avulsa/UF", + "numeroDocumentoArrecadacao": "NFe/infNFe/avulsa/nDAR", + "dataEmissao": "NFe/infNFe/avulsa/dEmi", + "valorTotal": "NFe/infNFe/avulsa/vDAR", + "reparticaoFiscal": "NFe/infNFe/avulsa/repEmi", + "dataPagamento": "NFe/infNFe/avulsa/dPag" + }, + "destinatario": { + "cpfCnpj": "NFe/infNFe/dest/CNPJ", + "codigoEstrangeiro": "NFe/infNFe/dest/idEstrangeiro", + "razaoSocial": "NFe/infNFe/dest/xNome", + "endereco": { + "logradouro": "NFe/infNFe/dest/enderDest/xLgr", + "numero": "NFe/infNFe/dest/enderDest/nro", + "complemento": "NFe/infNFe/dest/enderDest/xCpl", + "bairro": "NFe/infNFe/dest/enderDest/xBairro", + "codigoCidade": "NFe/infNFe/dest/enderDest/cMun", + "descricaoCidade": "NFe/infNFe/dest/enderDest/xMun", + "estado": "NFe/infNFe/dest/enderDest/UF", + "cep": "NFe/infNFe/dest/enderDest/CEP", + "codigoPais": "NFe/infNFe/dest/enderDest/cPais", + "descricaoPais": "NFe/infNFe/dest/enderDest/xPais", + "telefone": "NFe/infNFe/dest/enderDest/fone" + }, + "indicadorInscricaoEstadual": "NFe/infNFe/dest/indIEDest", + "inscricaoEstadual": "NFe/infNFe/dest/IE", + "inscricaoSuframa": "NFe/infNFe/dest/ISUF", + "inscricaoMunicipal": "NFe/infNFe/dest/IM", + "email": "NFe/infNFe/dest/email" + }, + "localRetirada": { + "cpfCnpj": "NFe/infNFe/retirada/CNPJ", + "nome": "NFe/infNFe/retirada/xNome", + "lougradouro": "NFe/infNFe/retirada/xLgr", + "numero": "NFe/infNFe/retirada/nro", + "complemento": "NFe/infNFe/retirada/xCpl", + "bairro": "NFe/infNFe/retirada/xBairro", + "codigoCidade": "NFe/infNFe/retirada/cMun", + "descricaoCidade": "NFe/infNFe/retirada/xMun", + "estado": "NFe/infNFe/retirada/UF", + "cep": "NFe/infNFe/retirada/CEP", + "codigoPais": "NFe/infNFe/retirada/cPais", + "descricaoPais": "NFe/infNFe/retirada/xPais", + "telefone": "NFe/infNFe/retirada/fone", + "email": "NFe/infNFe/retirada/email", + "inscricaoEstadual": "NFe/infNFe/retirada/IE" + }, + "localEntrega": { + "cpfCnpj": "NFe/infNFe/entrega/CNPJ", + "razaoSocial": "NFe/infNFe/entrega/xNome", + "endereco": { + "logradouro": "NFe/infNFe/entrega/xLgr", + "numero": "NFe/infNFe/entrega/nro", + "complemento": "NFe/infNFe/entrega/xCpl", + "bairro": "NFe/infNFe/entrega/xBairro", + "codigoCidade": "NFe/infNFe/entrega/cMun", + "descricaoCidade": "NFe/infNFe/entrega/xMun", + "estado": "NFe/infNFe/entrega/UF", + "cep": "NFe/infNFe/entrega/CEP", + "codigoPais": "NFe/infNFe/entrega/cPais", + "descricaoPais": "NFe/infNFe/entrega/xPais" + }, + "telefone": "NFe/infNFe/entrega/fone", + "email": "NFe/infNFe/entrega/email", + "inscricaoEstadual": "NFe/infNFe/entrega/IE" + }, + "total": { + "baseCalculoIcms": "NFe/infNFe/total/ICMSTot/vBC", + "valorIcms": "NFe/infNFe/total/ICMSTot/vICMS", + "valorIcmsDesonerado": "NFe/infNFe/total/ICMSTot/vICMSDeson", + "valorIcmsFcp": "NFe/infNFe/total/ICMSTot/vFCPUFDest", + "valorIcmsEstadoDestino": "NFe/infNFe/total/ICMSTot/vICMSUFDest", + "valorIcmsEstadoRemetente": "NFe/infNFe/total/ICMSTot/vICMSUFRemet", + "valorFcp": "NFe/infNFe/total/ICMSTot/vFCP", + "baseCalculoIcmsSt": "NFe/infNFe/total/ICMSTot/vBCST", + "valorIcmsSt": "NFe/infNFe/total/ICMSTot/vST", + "valorFcpSt": "NFe/infNFe/total/ICMSTot/vFCPST", + "valorFcpStRetido": "NFe/infNFe/total/ICMSTot/vFCPSTRet", + "baseCalculoMono": "NFe/infNFe/total/ICMSTot/qBCMono", + "valorIcmsMono": "NFe/infNFe/total/ICMSTot/vICMSMono", + "baseCalculoMonoRetencao": "NFe/infNFe/total/ICMSTot/qBCMonoReten", + "valorIcmsMonoRetencao": "NFe/infNFe/total/ICMSTot/vICMSMonoReten", + "baseCalculoMonoRetido": "NFe/infNFe/total/ICMSTot/qBCMonoRet", + "valorIcmsMonoRetido": "NFe/infNFe/total/ICMSTot/vICMSMonoRet", + "valorProdutosServicos": "NFe/infNFe/total/ICMSTot/vProd", + "valorFrete": "NFe/infNFe/total/ICMSTot/vFrete", + "valorSeguro": "NFe/infNFe/total/ICMSTot/vSeg", + "valorDesconto": "NFe/infNFe/total/ICMSTot/vDesc", + "valorIi": "NFe/infNFe/total/ICMSTot/vII", + "valorIpi": "NFe/infNFe/total/ICMSTot/vIPI", + "valorIpiDevolvido": "NFe/infNFe/total/ICMSTot/vIPIDevol", + "valorPis": "NFe/infNFe/total/ICMSTot/vPIS", + "valorCofins": "NFe/infNFe/total/ICMSTot/vCOFINS", + "valorOutros": "NFe/infNFe/total/ICMSTot/vOutro", + "valorNfe": "NFe/infNFe/total/ICMSTot/vNF", + "valorAproximadoTributos": "NFe/infNFe/total/ICMSTot/vTotTrib", + "servico": { + "valor": "NFe/infNFe/total/ISSQNtot/vServ", + "baseCalculo": "NFe/infNFe/total/ISSQNtot/vBC", + "valorIss": "NFe/infNFe/total/ISSQNtot/vISS", + "valorPis": "NFe/infNFe/total/ISSQNtot/vPIS", + "valorCofins": "NFe/infNFe/total/ISSQNtot/vCOFINS", + "dataPrestacao": "NFe/infNFe/total/ISSQNtot/dCompet", + "valorDeducao": "NFe/infNFe/total/ISSQNtot/vDeducao", + "valorOutros": "NFe/infNFe/total/ISSQNtot/vOutro", + "descontoIncondicionado": "NFe/infNFe/total/ISSQNtot/vDescIncond", + "descontoCondicionado": "NFe/infNFe/total/ISSQNtot/vDescCond", + "valorRetencaoIss": "NFe/infNFe/total/ISSQNtot/vISSRet", + "codigoRegimeEspecial": "NFe/infNFe/total/ISSQNtot/cRegTrib" + }, + "valorPisRetido": "NFe/infNFe/total/retTrib/vRetPIS", + "valorCofinsRetido": "NFe/infNFe/total/retTrib/vRetCOFINS", + "valorCsllRetido": "NFe/infNFe/total/retTrib/vRetCSLL", + "baseCalculoIrrf": "NFe/infNFe/total/retTrib/vBCIRRF", + "valorIrrfRetido": "NFe/infNFe/total/retTrib/vIRRF", + "baseCalculoRetencao": "NFe/infNFe/total/retTrib/vBCRetPrev", + "valorPrevidenciaRetido": "NFe/infNFe/total/retTrib/vRetPrev", + "baseCalculoIs": "NFe/infNFe/total/ISTot/vIS", + "baseCalculoIbsCbs": "NFe/infNFe/total/IBSCBSTot/vBCIBSCBS", + "valorDiferimentoIbsUF": "NFe/infNFe/total/IBSCBSTot/gIBS/gIBSUF/vDif", + "valorDevolucaoIbsUF": "NFe/infNFe/total/IBSCBSTot/gIBS/gIBSUF/vDevTrib", + "valorIbsUF": "NFe/infNFe/total/IBSCBSTot/gIBS/gIBSUF/vIBSUF", + "valorDiferimentoIbsMunicipio": "NFe/infNFe/total/IBSCBSTot/gIBS/gIBSMun/vDif", + "valorDevolucaoIbsMunicipio": "NFe/infNFe/total/IBSCBSTot/gIBS/gIBSMun/vDevTrib", + "valorIbsMunicipio": "NFe/infNFe/total/IBSCBSTot/gIBS/gIBSMun/vIBSMun", + "valorIbs": "NFe/infNFe/total/IBSCBSTot/gIBS/vIBS", + "valorIbsCreditoPresumido": "NFe/infNFe/total/IBSCBSTot/gIBS/vCredPres", + "valorIbsCreditoPresumidoSupensao": "NFe/infNFe/total/IBSCBSTot/gIBS/vCredPresCondSus", + "valorCbsDiferimento": "NFe/infNFe/total/IBSCBSTot/gCBS/vDif", + "valorCbsDevolucao": "NFe/infNFe/total/IBSCBSTot/gCBS/vDevTrib", + "valorCbs": "NFe/infNFe/total/IBSCBSTot/gCBS/vCBS", + "valorCbsCreditoPresumido": "NFe/infNFe/total/IBSCBSTot/gCBS/vCredPres", + "valorCbsCreditoPresumidoSupensao": "NFe/infNFe/total/IBSCBSTot/gCBS/vCredPresCondSus", + "valorIbsMono": "NFe/infNFe/total/IBSCBSTot/gMono/vIBSMono", + "valorCbsMono": "NFe/infNFe/total/IBSCBSTot/gMono/vCBSMono", + "valorIbsMonoRetencao": "NFe/infNFe/total/IBSCBSTot/gMono/vIBSMonoReten", + "valorCbsMonoRetenencao": "NFe/infNFe/total/IBSCBSTot/gMono/vCBSMonoReten", + "valorIbsMonoRetido": "NFe/infNFe/total/IBSCBSTot/gMono/vIBSMonoRet", + "valorCbsMonoRetido": "NFe/infNFe/total/IBSCBSTot/gMono/vCBSMonoRet", + "valorIbsEstornado": "NFe/infNFe/total/IBSCBSTot/gEstornoCred/vIBSEstCred", + "valorCbsEstornado": "NFe/infNFe/total/IBSCBSTot/gEstornoCred/vCBSEstCred", + "valorIbsCbsIs": "NFe/infNFe/total/vNFTot" + }, + "transporte": { + "modalidadeFrete": "NFe/infNFe/transp/modFrete", + "transportador": { + "cpfCnpj": "NFe/infNFe/transp/transporta/CNPJ", + "nome": "NFe/infNFe/transp/transporta/xNome", + "inscricaoEstadual": "NFe/infNFe/transp/transporta/IE", + "endereco": { + "logradouro": "NFe/infNFe/transp/transporta/xEnder", + "descricaoCidade": "NFe/infNFe/transp/transporta/xMun", + "uf": "NFe/infNFe/transp/transporta/UF" + } + }, + "retencaoICMS": { + "valorServico": "NFe/infNFe/transp/retTransp/vServ", + "baseICMS": "NFe/infNFe/transp/retTransp/vBCRet", + "aliquota": "NFe/infNFe/transp/retTransp/pICMSRet", + "valorICMSRet": "NFe/infNFe/transp/retTransp/vICMSRet", + "cfop": "NFe/infNFe/transp/retTransp/CFOP", + "codigoMunicipioOcorrencia": "NFe/infNFe/transp/retTransp/cMunFG" + }, + "veiculo": { + "placa": "NFe/infNFe/transp/veicTransp/placa", + "uf": "NFe/infNFe/transp/veicTransp/UF", + "rntc": "NFe/infNFe/transp/veicTransp/RNTC" + }, + "reboque": [{ + "vagao": "NFe/infNFe/transp/vagao", + "balsa": "NFe/infNFe/transp/balsa", + "placa": "NFe/infNFe/transp/reboque[]/placa", + "uf": "NFe/infNFe/transp/reboque[]/UF", + "rntc": "NFe/infNFe/transp/reboque[]/RNTC" + }], + "volumes": [{ + "quantidade": "NFe/infNFe/transp/vol[]/qVol", + "especie": "NFe/infNFe/transp/vol[]/esp", + "marca": "NFe/infNFe/transp/vol[]/marca", + "numeracao": "NFe/infNFe/transp/vol[]/nVol", + "pesoLiquido": "NFe/infNFe/transp/vol[]/pesoL", + "pesoBruto": "NFe/infNFe/transp/vol[]/pesoB", + "lacres": [{ + "numero": "NFe/infNFe/transp/vol[]/lacres[]/nLacre" + }] + }] + }, + "cobranca": { + "numero": "NFe/infNFe/cobr/fat/nFat", + "valorTotal": "NFe/infNFe/cobr/fat/vOrig", + "valorDesconto": "NFe/infNFe/cobr/fat/vDesc", + "valorLiquido": "NFe/infNFe/cobr/fat/vLiq", + "parcelas": [{ + "numero": "NFe/infNFe/cobr/dup[]/nDup", + "dataVencimento": "NFe/infNFe/cobr/dup[]/dVenc", + "valor": "NFe/infNFe/cobr/dup[]/vDup" + }] + }, + "valorTroco": "NFe/infNFe/pag/vTroco", + "informacoesComplementaresContribuinte": "NFe/infNFe/infAdic/infAdFisco", + "informacoesComplementares": "NFe/infNFe/infAdic/infCpl", + "exportacao": { + "estadoEmbarque": "NFe/infNFe/exporta/UFSaidaPais", + "descricaoLocalEmbarque": "NFe/infNFe/exporta/xLocExporta", + "descricaoLocalDespacho": "NFe/infNFe/exporta/xLocDespacho" + }, + "compra": { + "notaEmpenho": "NFe/infNFe/compra/xNEmp", + "pedido": "NFe/infNFe/compra/xPed", + "contrato": "NFe/infNFe/compra/xCont" + }, + "cana": { + "safra": "NFe/infNFe/cana/safra", + "dataReferencia": "NFe/infNFe/cana/ref", + "quantidadeMes": "NFe/infNFe/cana/qTotMes", + "quantidadeAnterior": "NFe/infNFe/cana/qTotAnt", + "quantidadeGeral": "NFe/infNFe/cana/qTotGer", + "valorFornecimentos": "NFe/infNFe/cana/vFor", + "valorTotal": "NFe/infNFe/cana/vTotDed", + "valorLiquidoFornecimento": "NFe/infNFe/cana/vLiqFor", + "fornecimentoDiario": [{ + "dia": "NFe/infNFe/cana/forDia[]/@dia", + "quantidadeKg": "NFe/infNFe/cana/forDia[]/qtde" + }] + }, + "canaDeducoes": [{ + "descricao": "NFe/infNFe/cana/deduc[]/xDed", + "valor": "NFe/infNFe/cana/deduc[]/vDed" + }], + "nfeReferenciada": [{ + "chave": "NFe/infNFe/ide/NFref[]/refNFe", + "chaveSigilo": "NFe/infNFe/ide/NFref[]/refNFeSig", + "nfePapel": { + "estado": "NFe/infNFe/ide/NFref[]/refNF/cUF", + "dataEmissao": "NFe/infNFe/ide/NFref[]/refNF/AAMM", + "cpfCnpj": "NFe/infNFe/ide/NFref[]/refNF/CNPJ", + "modelo": "NFe/infNFe/ide/NFref[]/refNF/mod", + "serie": "NFe/infNFe/ide/NFref[]/refNF/serie", + "numero": "NFe/infNFe/ide/NFref[]/refNF/nNF" + }, + "produtorRural": { + "estado": "NFe/infNFe/ide/NFref[]/refNFP/cUF", + "dataEmissao": "NFe/infNFe/ide/NFref[]/refNFP/AAMM", + "cnpj": "NFe/infNFe/ide/NFref[]/refNFP/CNPJ", + "cpf": "NFe/infNFe/ide/NFref[]/refNFP/CPF", + "inscricaoEstadual": "NFe/infNFe/ide/NFref[]/refNFP/IE", + "modelo": "NFe/infNFe/ide/NFref[]/refNFP/mod", + "serie": "NFe/infNFe/ide/NFref[]/refNFP/serie", + "numero": "NFe/infNFe/ide/NFref[]/refNFP/nNF" + }, + "chaveCte": "NFe/infNFe/ide/NFref[]/refCTe", + "cupomFiscal": { + "modelo": "NFe/infNFe/ide/NFref[]/refECF/mod", + "numeroOrdemSequencia": "NFe/infNFe/ide/NFref[]/refECF/nECF", + "numeroContador": "NFe/infNFe/ide/NFref[]/refECF/nCOO" + } + }], + "responsavelAutorizado": [{ + "cpfCnpj": "NFe/infNFe/autXML[]/CNPJ" + }], + "itens": [{ + "codigo": "NFe/infNFe/det/prod/cProd", + "codigoEAN": "NFe/infNFe/det/prod/cEAN", + "codigoBarras": "NFe/infNFe/det/prod/cBarra", + "descricao": "NFe/infNFe/det/prod/xProd", + "ncm": "NFe/infNFe/det/prod/NCM", + "cest": "NFe/infNFe/det/prod/CEST", + "indicadorEscalaRelevante": "NFe/infNFe/det/prod/indEscala", + "cnpjFabricante": "NFe/infNFe/det/prod/CNPJFab", + "codigoBeneficioFiscal": "NFe/infNFe/det/prod/cBenef", + "creditoPresumido": [{ + "codigo": "NFe/infNFe/det/prod/gCred[]/cCredPresumido", + "percentual": "NFe/infNFe/det/prod/gCred[]/pCredPresumido", + "valor": "NFe/infNFe/det/prod/gCred[]/vCredPresumido" + }], + "exTipi": "NFe/infNFe/det/prod/EXTIPI", + "cfop": "NFe/infNFe/det/prod/CFOP", + "unidade": { + "comercial": "NFe/infNFe/det/prod/uCom", + "tributavel": "NFe/infNFe/det/prod/uTrib" + }, + "quantidade": { + "comercial": "NFe/infNFe/det/prod/qCom", + "tributavel": "NFe/infNFe/det/prod/qTrib" + }, + "valorUnitario": { + "comercial": "NFe/infNFe/det/prod/vUnCom", + "tributavel": "NFe/infNFe/det/prod/vUnTrib" + }, + "valor": "NFe/infNFe/det/prod/vProd", + "codigoEANTributavel": "NFe/infNFe/det/prod/cEANTrib", + "codigoBarrasTributavel": "NFe/infNFe/det/prod/cBarraTrib", + "valorFrete": "NFe/infNFe/det/prod/vFrete", + "valorSeguro": "NFe/infNFe/det/prod/vSeg", + "valorDesconto": "NFe/infNFe/det/prod/vDesc", + "valorOutros": "NFe/infNFe/det/prod/vOutro", + "compoeTotal": "NFe/infNFe/det/prod/indTot", + "tipoCreditoPresumidoIbsZFM": "NFe/infNFe/det/prod/tpCredPresIBSZFM", + "indicadorBemMovelUsado": "NFe/infNFe/det/prod/indBemMovelUsado", + "numeroCompra": "NFe/infNFe/det/prod/xPed", + "pedidoCompra": "NFe/infNFe/det/prod/nItemPed", + "numeroFci": "NFe/infNFe/det/prod/nFCI", + "veiculo": { + "tipoOperacao": "NFe/infNFe/det/prod/veicProd/tpOp", + "chassi": "NFe/infNFe/det/prod/veicProd/chassi", + "codigoCor": "NFe/infNFe/det/prod/veicProd/cCor", + "descricaoCor": "NFe/infNFe/det/prod/veicProd/xCor", + "potenciaMotor": "NFe/infNFe/det/prod/veicProd/pot", + "cilindradas": "NFe/infNFe/det/prod/veicProd/cilin", + "pesoLiquido": "NFe/infNFe/det/prod/veicProd/pesoL", + "pesoBruto": "NFe/infNFe/det/prod/veicProd/pesoB", + "numeroSerie": "NFe/infNFe/det/prod/veicProd/nSerie", + "tipoCombustivel": "NFe/infNFe/det/prod/veicProd/tpComb", + "numeroMotor": "NFe/infNFe/det/prod/veicProd/nMotor", + "capacidadeTracao": "NFe/infNFe/det/prod/veicProd/CMT", + "distanciaEixos": "NFe/infNFe/det/prod/veicProd/dist", + "anoModelo": "NFe/infNFe/det/prod/veicProd/anoMod", + "anoFabricacao": "NFe/infNFe/det/prod/veicProd/anoFab", + "tipoPintura": "NFe/infNFe/det/prod/veicProd/tpPint", + "tipo": "NFe/infNFe/det/prod/veicProd/tpVeic", + "especie": "NFe/infNFe/det/prod/veicProd/espVeic", + "condicaoVin": "NFe/infNFe/det/prod/veicProd/VIN", + "condicao": "NFe/infNFe/det/prod/veicProd/condVeic", + "codigoModelo": "NFe/infNFe/det/prod/veicProd/cMod", + "codigoCorDenatran": "NFe/infNFe/det/prod/veicProd/cCorDENATRAN", + "lotacaoMaxima": "NFe/infNFe/det/prod/veicProd/lota", + "restricao": "NFe/infNFe/det/prod/veicProd/tpRest" + }, + "medicamentos": [{ + "codigoAnvisa": "NFe/infNFe/det/prod/med[]/cProdANVISA", + "motivoInsencaoAnvisa": "NFe/infNFe/det/prod/med[]/xMotivoIsencao", + "valorMaximo": "NFe/infNFe/det/prod/med[]/vPMC" + }], + "combustivel": { + "codigoAnp": "NFe/infNFe/det/prod/comb/cProdANP", + "descricaoAnp": "NFe/infNFe/det/prod/comb/descANP", + "percentualGlp": "NFe/infNFe/det/prod/comb/pGLP", + "percentualGnn": "NFe/infNFe/det/prod/comb/pGNn", + "percentualGni": "NFe/infNFe/det/prod/comb/pGNi", + "valorPartida": "NFe/infNFe/det/prod/comb/vPart", + "codigoAutorizacao": "NFe/infNFe/det/prod/comb/CODIF", + "faturamentoTemperaturaAmbiente": "NFe/infNFe/det/prod/comb/qTemp", + "estadoConsumo": "NFe/infNFe/det/prod/comb/UFCons", + "percentualMistura": "NFe/infNFe/det/prod/comb/pBio", + "cide": { + "baseCalculo": "NFe/infNFe/det/prod/comb/CIDE/qBCProd", + "aliquota": "NFe/infNFe/det/prod/comb/CIDE/vAliqProd", + "valor": "NFe/infNFe/det/prod/comb/CIDE/vCIDE" + }, + "encerrante": { + "numeroBico": "NFe/infNFe/det/prod/comb/encerrante/nBico", + "numeroBomba": "NFe/infNFe/det/prod/comb/encerrante/nBomba", + "numeroTanque": "NFe/infNFe/det/prod/comb/encerrante/nTanque", + "valorInicio": "NFe/infNFe/det/prod/comb/encerrante/vEncIni", + "valorFinal": "NFe/infNFe/det/prod/comb/encerrante/vEncFin" + }, + "origemCombustivel": [{ + "indicadorImportacao": "NFe/infNFe/det/prod/comb/origComb[]/indImport", + "codigoUf": "NFe/infNFe/det/prod/comb/origComb[]/cUFOrig", + "percentualOrigUf": "NFe/infNFe/det/prod/comb/origComb[]/pOrig" + }] + }, + "papelImune": { + "numero": "NFe/infNFe/det/prod/nRECOPI" + }, + "tributos": { + "valorAproximadoTributos": "NFe/infNFe/det/imposto/vTotTrib", + "icms": { + "origem_ICMS00": "NFe/infNFe/det/imposto/ICMS/ICMS00/orig", + "cst_ICMS00": "NFe/infNFe/det/imposto/ICMS/ICMS00/CST", + "baseCalculo": { + "modalidadeDeterminacao_ICMS00": "NFe/infNFe/det/imposto/ICMS/ICMS00/modBC", + "valor_ICMS00": "NFe/infNFe/det/imposto/ICMS/ICMS00/vBC", + "modalidadeDeterminacao_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/modBC", + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vBC", + "modalidadeDeterminacao_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/modBC", + "percentualReducao_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/pRedBC", + "valor_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/vBC", + "modalidadeDeterminacao_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/modBC", + "percentualReducao_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/pRedBC", + "valor_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/vBC", + "modalidadeDeterminacao_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/modBC", + "percentualReducao_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/pRedBC", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vBC", + "modalidadeDeterminacao_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/modBC", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vBC", + "percentualReducao_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/pRedBC", + "modalidadeDeterminacao_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/modBC", + "valor_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/vBC", + "percentualReducao_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/pRedBC", + "modalidadeDeterminacao_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/modBC", + "valor_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/vBC", + "percentualReducao_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/pRedBC" + }, + "aliquota_ICMS00": "NFe/infNFe/det/imposto/ICMS/ICMS00/pICMS", + "valor_ICMS00": "NFe/infNFe/det/imposto/ICMS/ICMS00/vICMS", + "fundoCombatePobreza": { + "baseCalculo": { + "aliquota_ICMS00": "NFe/infNFe/det/imposto/ICMS/ICMS00/pFCP", + "valor_ICMS00": "NFe/infNFe/det/imposto/ICMS/ICMS00/vFCP", + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vBCFCP", + "valor_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/vBCFCP", + "valor_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/vBCFCP", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vBCFCP", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vBCFCP" + }, + "aliquota_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/pFCP", + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vFCP", + "aliquota_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/pFCP", + "valor_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/vFCP", + "aliquota_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/pFCP", + "valor_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/vFCP", + "diferimento": { + "percentual_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/pFCPDif", + "valor_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/vFCPDif", + "valorEfetivo_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/vFCPEfet" + }, + "aliquota_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/pFCP", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vFCP", + "aliquota_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/pFCP", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vFCP" + }, + "origem_ICMS02": "NFe/infNFe/det/imposto/ICMS/ICMS02/orig", + "cst_ICMS02": "NFe/infNFe/det/imposto/ICMS/ICMS02/CST", + "baseCalculoMono_ICMS02": "NFe/infNFe/det/imposto/ICMS/ICMS02/qBCMono", + "valorIcmsMono_ICMS02": "NFe/infNFe/det/imposto/ICMS/ICMS02/vICMSMono", + "aliquotaAdRem_ICMS02": "NFe/infNFe/det/imposto/ICMS/ICMS02/adRemICMS", + "origem_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/orig", + "cst_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/CST", + "aliquota_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/pICMS", + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vICMS", + "substituicaoTributaria": { + "baseCalculo": { + "modalidadeDeterminacao_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/modBCST", + "percentualReducao_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/pRedBCST", + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vBCST", + "modalidadeDeterminacao_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/modBCST", + "percentualReducao_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/pRedBCST", + "valor_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/vBCST", + "valor_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/vBCSTRet", + "modalidadeDeterminacao_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/modBCST", + "percentualReducao_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/pRedBCST", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vBCST", + "modalidadeDeterminacao_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/modBCST", + "percentualReducao_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/pRedBCST", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vBCST", + "modalidadeDeterminacao_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/modBCST", + "percentualReducao_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/pRedBCST", + "valor_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/vBCST", + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vBCSTRet", + "modalidadeDeterminacao_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/modBCST", + "percentualReducao_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/pRedBCST", + "valor_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/vBCST", + "modalidadeDeterminacao_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/modBCST", + "percentualReducao_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/pRedBCST", + "valor_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/vBCST", + "valor_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/vBCSTRet", + "modalidadeDeterminacao_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/modBCST", + "percentualReducao_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/pRedBCST", + "valor_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/vBCST" + }, + "margemValorAdicionado": { + "percentual_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/pMVAST", + "percentual_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/pMVAST", + "percentual_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/pMVAST", + "percentual_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/pMVAST", + "percentual_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/pMVAST", + "percentual_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/pMVAST", + "percentual_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/pMVAST", + "percentual_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/pMVAST" + }, + "aliquota_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/pICMSST", + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vICMSST", + "fundoCombatePobreza": { + "baseCalculo": { + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vBCFCPST", + "valor_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/vBCFCPST", + "valor_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/vBCFCPSTRet", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vBCFCPST", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vBCFCPST", + "valor_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/vBCFCPST", + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vBCFCPSTRet", + "valor_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/vBCFCPST", + "valor_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/vBCFCPST", + "valor_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/vBCFCPSTRet", + "valor_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/vBCFCPST" + }, + "aliquota_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/pFCPST", + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vFCPST", + "aliquota_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/pFCPST", + "valor_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/vFCPST", + "aliquota_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/pFCPSTRet", + "valor_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/vFCPSTRet", + "aliquota_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/pFCPST", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vFCPST", + "aliquota_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/pFCPST", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vFCPST", + "aliquota_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/pFCPST", + "valor_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/vFCPST", + "aliquota_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/pFCPSTRet", + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vFCPSTRet", + "aliquota_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/pFCPST", + "valor_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/vFCPST", + "aliquota_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/pFCPST", + "valor_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/vFCPST", + "aliquota_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/pFCPSTRet", + "valor_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/vFCPSTRet", + "aliquota_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/pFCPST", + "valor_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/vFCPST" + }, + "desoneracao": { + "valor_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/vICMSSTDeson", + "motivo_ICMS10": "NFe/infNFe/det/imposto/ICMS/ICMS10/motDesICMSST", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vICMSSTDeson", + "motivo_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/motDesICMSST", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vICMSSTDeson", + "motivo_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/motDesICMSST" + }, + "aliquota_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/pICMSST", + "valor_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/vICMSST", + "aliquota_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/pST", + "valor_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSSTRet", + "aliquota_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/pICMSST", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vICMSST", + "aliquota_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/pICMSST", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vICMSST", + "aliquota_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/pICMSST", + "valor_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/vICMSST", + "ufDevido_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/UFST", + "aliquota_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/pST", + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vICMSSTRet", + "ufDestino": { + "baseCalculo": { + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vBCSTDest" + }, + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vICMSSTDest" + }, + "aliquota_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/pICMSST", + "valor_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/vICMSST", + "aliquota_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/pICMSST", + "valor_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/vICMSST", + "aliquota_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/pST", + "valor_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/vICMSSTRet", + "aliquota_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/pICMSST", + "valor_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/vICMSST" + }, + "origem_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/orig", + "cst_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/CST", + "baseCalculoMono_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/qBCMono", + "valorIcmsMono_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/vICMSMono", + "aliquotaAdRem_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/adRemICMS", + "baseCalculoMonoRetencao_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/qBCMonoReten", + "aliquotaAdRemRetencao_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/adRemICMSReten", + "valorIcmsMonoRetencao_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/vICMSMonoReten", + "percentualReducaoAdRem_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/pRedAdRem", + "motivoReducaoAdRem_ICMS15": "NFe/infNFe/det/imposto/ICMS/ICMS15/motRedAdRem", + "origem_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/orig", + "cst_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/CST", + "aliquota_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/pICMS", + "valor_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/vICMS", + "desoneracao": { + "valor_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/vICMSDeson", + "deduzItem_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/indDeduzDeson", + "motivo_ICMS20": "NFe/infNFe/det/imposto/ICMS/ICMS20/motDesICMS", + "valor_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/vICMSDeson", + "deduzItem_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/indDeduzDeson", + "motivo_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/motDesICMS", + "valor_ICMS40": "NFe/infNFe/det/imposto/ICMS/ICMS40/vICMSDeson", + "deduzItem_ICMS40": "NFe/infNFe/det/imposto/ICMS/ICMS40/indDeduzDeson", + "motivo_ICMS40": "NFe/infNFe/det/imposto/ICMS/ICMS40/motDesICMS", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vICMSDeson", + "deduzItem_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/indDeduzDeson", + "motivo_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/motDesICMS", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vICMSDeson", + "deduzItem_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/indDeduzDeson", + "motivo_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/motDesICMS" + }, + "origem_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/orig", + "cst_ICMS30": "NFe/infNFe/det/imposto/ICMS/ICMS30/CST", + "origem_ICMS40": "NFe/infNFe/det/imposto/ICMS/ICMS40/orig", + "cst_ICMS40": "NFe/infNFe/det/imposto/ICMS/ICMS40/CST", + "origem_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/orig", + "cst_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/CST", + "codigoBeneficioFiscalRBC_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/cBenefRBC", + "aliquota_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/pICMS", + "valor_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/vICMSOp", + "diferimento": { + "percentual_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/pDif", + "valor_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/vICMSDif", + "valorIcmsDevido_ICMS51": "NFe/infNFe/det/imposto/ICMS/ICMS51/vICMS" + }, + "origem_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/orig", + "cst_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/CST", + "baseCalculoMonoDiferido_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/qBCMonoDif", + "aliquotaAdRemDiferido_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/adRemICMSDif", + "valorIcmsDiferido_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/vICMSMonoDif", + "baseCalculoMono_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/qBCMono", + "aliquotaAdRem_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/adRemICMS", + "valorIcmsMonoOperacao_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/vICMSMonoOp", + "percentualDiferimento_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/pDif", + "valorIcmsMono_ICMS53": "NFe/infNFe/det/imposto/ICMS/ICMS53/vICMSMono", + "origem_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/orig", + "cst_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/CST", + "valor_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSSubstituto", + "efetivo": { + "baseCalculo": { + "percentualReducao_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/pRedBCEfet", + "valor_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/vBCEfet", + "percentualReducao_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/pRedBCEfet", + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vBCEfet", + "percentualReducao_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/pRedBCEfet", + "valor_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/vBCEfet" + }, + "aliquota_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/pICMSEfet", + "valor_ICMS60": "NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSEfet", + "aliquota_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/pICMSEfet", + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vICMSEfet", + "aliquota_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/pICMSEfet", + "valor_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/vICMSEfet" + }, + "origem_ICMS61": "NFe/infNFe/det/imposto/ICMS/ICMS61/orig", + "cst_ICMS61": "NFe/infNFe/det/imposto/ICMS/ICMS61/CST", + "baseCalculoMonoRetido_ICMS61": "NFe/infNFe/det/imposto/ICMS/ICMS61/qBCMonoRet", + "aliquotaAdRemRetido_ICMS61": "NFe/infNFe/det/imposto/ICMS/ICMS61/adRemICMSRet", + "valorIcmsMonoRetido_ICMS61": "NFe/infNFe/det/imposto/ICMS/ICMS61/vICMSMonoRet", + "origem_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/orig", + "cst_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/CST", + "aliquota_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/pICMS", + "valor_ICMS70": "NFe/infNFe/det/imposto/ICMS/ICMS70/vICMS", + "origem_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/orig", + "cst_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/CST", + "aliquota_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/pICMS", + "valor_ICMS90": "NFe/infNFe/det/imposto/ICMS/ICMS90/vICMS", + "origem_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/orig", + "cst_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/CST", + "aliquota_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/pICMS", + "valor_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/vICMS", + "operacaoPropria": { + "baseCalculo": { + "percentual_ICMSPart": "NFe/infNFe/det/imposto/ICMS/ICMSPart/pBCOp" + } + }, + "origem_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/orig", + "cst_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/CST", + "valor_ICMSST": "NFe/infNFe/det/imposto/ICMS/ICMSST/vICMSSubstituto", + "origem_ICMSSN101": "NFe/infNFe/det/imposto/ICMS/ICMSSN101/orig", + "csosn_ICMSSN101": "NFe/infNFe/det/imposto/ICMS/ICMSSN101/CSOSN", + "creditoSimplesNacional": { + "percentual_ICMSSN101": "NFe/infNFe/det/imposto/ICMS/ICMSSN101/pCredSN", + "valor_ICMSSN101": "NFe/infNFe/det/imposto/ICMS/ICMSSN101/vCredICMSSN", + "percentual_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/pCredSN", + "valor_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/vCredICMSSN", + "percentual_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/pCredSN", + "valor_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/vCredICMSSN" + }, + "origem_ICMSSN102": "NFe/infNFe/det/imposto/ICMS/ICMSSN102/orig", + "csosn_ICMSSN102": "NFe/infNFe/det/imposto/ICMS/ICMSSN102/CSOSN", + "origem_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/orig", + "csosn_ICMSSN201": "NFe/infNFe/det/imposto/ICMS/ICMSSN201/CSOSN", + "origem_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/orig", + "csosn_ICMSSN202": "NFe/infNFe/det/imposto/ICMS/ICMSSN202/CSOSN", + "origem_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/orig", + "csosn_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/CSOSN", + "valor_ICMSSN500": "NFe/infNFe/det/imposto/ICMS/ICMSSN500/vICMSSubstituto", + "origem_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/orig", + "csosn_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/CSOSN", + "aliquota_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/pICMS", + "valor_ICMSSN900": "NFe/infNFe/det/imposto/ICMS/ICMSSN900/vICMS" + }, + "is": { + "cst": "NFe/infNFe/det/imposto/IS/CSTIS", + "classificao": "NFe/infNFe/det/imposto/IS/cClassTribIS", + "baseCalculo": "NFe/infNFe/det/imposto/IS/vBCIS", + "aliquota": "NFe/infNFe/det/imposto/IS/pIS", + "aliquotaEspecifica": "NFe/infNFe/det/imposto/IS/pISEspec", + "unidade": "NFe/infNFe/det/imposto/IS/uTrib", + "quantidade": "NFe/infNFe/det/imposto/IS/qTrib", + "valor": "NFe/infNFe/det/imposto/IS/vIS" + }, + "ibscbs": { + "cst": "NFe/infNFe/det/imposto/IBSCBS/CST", + "classificacao": "NFe/infNFe/det/imposto/IBSCBS/cClassTrib", + "indicadorDoacao": "NFe/infNFe/det/imposto/IBSCBS/indDoacao", + "baseCalculo": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/vBC", + "uf": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/pIBSUF", + "diferimento": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/gDif/pDif", + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/gDif/vDif" + }, + "devolucao": { + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/gDevTrib/vDevTrib" + }, + "reducao": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/gRed/pRedAliq", + "aliquotaEfetiva": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/gRed/pAliqEfet" + }, + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/vIBSUF" + }, + "municipio": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/pIBSMun", + "diferimento": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/gDif/pDif", + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/gDif/vDif" + }, + "devolucao": { + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/gDevTrib/vDevTrib" + }, + "reducao": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/gRed/pRedAliq", + "aliquotaEfetiva": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/gRed/pAliqEfet" + }, + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/vIBSMun" + }, + "valorIbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/vIBS", + "cbs": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBS/pCBS", + "diferimento": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBS/gDif/pDif", + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBS/gDif/vDif" + }, + "devolucao": { + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBS/gDevTrib/vDevTrib" + }, + "reducao": { + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBS/gRed/pRedAliq", + "aliquotaEfetiva": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBS/gRed/pAliqEfet" + }, + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBS/vCBS" + }, + "tributacaoRegular": { + "cts": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribRegular/CSTReg", + "classificacao": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribRegular/cClassTribReg", + "aliquotaUF": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribRegular/pAliqEfetRegIBSUF", + "valorUF": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribRegular/vTribRegIBSUF", + "aliquotaMunicipio": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribRegular/pAliqEfetRegIBSMun", + "valorMunicipio": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribRegular/vTribRegIBSMun", + "aliquota": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribRegular/pAliqEfetRegCBS", + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribRegular/vTribRegCBS" + }, + "compraGovernamental": { + "aliquotaUF": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribCompraGov/pAliqIBSUF", + "valorUF": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribCompraGov/vTribIBSUF", + "aliquotaMunicipio": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribCompraGov/pAliqIBSMun", + "valorMunicipio": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribCompraGov/vTribIBSMun", + "aliquotaCbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribCompraGov/pAliqCBS", + "valorCbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTribCompraGov/vTribCBS" + }, + "monofasico": { + "quantidade": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoPadrao/qBCMono", + "aliquotaAdRemIbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoPadrao/adRemIBS", + "aliquotaAdRemCbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoPadrao/adRemCBS", + "valorIbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoPadrao/vIBSMono", + "valorCbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoPadrao/vCBSMono", + + "quantidadeRetencao": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoReten/qBCMonoReten", + "aliquotaAdRemIbsRetencao": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoReten/adRemIBSReten", + "valorIbsRetencao": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoReten/vIBSMonoReten", + "aliquotaAdRemCbsRetencao": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoReten/adRemCBSReten", + "valorCbsRetencao": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoReten/vCBSMonoReten", + + "quantidadeRetida": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoRet/qBCMonoRet", + "aliquotaAdRemIbsRetida": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoRet/adRemIBSRet", + "valorIbsRetido": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoRet/vIBSMonoRet", + "aliquotaAdRemCbsRetida": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoRet/adRemCBSRet", + "valorCbsRetida": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoRet/vCBSMonoRet", + + "aliquotaIbsDiferimento": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoDif/pDifIBS", + "valorIbsDiferimento": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoDif/vIBSMonoDif", + "aliquotaCbsDiferimento": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoDif/pDifCBS", + "valorCbsDiferimento": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoDif/vCBSMonoDif", + "valorTotalIbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoDif/vTotIBSMonoItem", + "valorTotalCbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoDif/vTotCBSMonoItem" + }, + "transferenciaCredito": { + "valorIbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTransfCred/vIBS", + "valorCbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gTransfCred/vCBS" + }, + "ajusteCompetencia": { + "competencia": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gAjusteCompet/competApur", + "valorIbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gAjusteCompet/vIBS", + "valorCbs": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gAjusteCompet/vCBS" + }, + "estornoCredito": { + "valorIbsEstornado": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gEstornoCred/vIBSEstCred", + "valorCbsEstornado": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gEstornoCred/vCBSEstCred" + }, + "creditoPresumidoOperacao": { + "codigo": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCredPresOper/cCredPres", + "baseCalculo": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCredPresOper/vBCCredPres" + }, + "ibsCreditoPresumido": { + "percentual": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSCredPres/pCredPres", + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSCredPres/vCredPres", + "valorSuspensivo": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSCredPres/vCredPresCondSus" + }, + "cbsCreditoPresumido": { + "percentual": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBSCredPres/pCredPres", + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBSCredPres/vCredPres", + "valorSuspensivo": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCBSCredPres/vCredPresCondSus" + }, + "creditoPresumidoZfm": { + "competencia": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCredPresIBSZFM/competApur", + "tipo": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCredPresIBSZFM/tpCredPresIBSZFM", + "valor": "NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gCredPresIBSZFM/vCredPresIBSZFM" + } + }, + "ipi": { + "cnpjProdutor": "NFe/infNFe/det/imposto/IPI/CNPJProd", + "seloControle": { + "codigo": "NFe/infNFe/det/imposto/IPI/cSelo", + "quantidade": "NFe/infNFe/det/imposto/IPI/qSelo" + }, + "codigoEnquadramentoLegal": "NFe/infNFe/det/imposto/IPI/cEnq", + "cst_IPITrib": "NFe/infNFe/det/imposto/IPI/IPITrib/CST", + "baseCalculo_IPITrib": "NFe/infNFe/det/imposto/IPI/IPITrib/vBC", + "unidade": { + "quantidade_IPITrib": "NFe/infNFe/det/imposto/IPI/IPITrib/qUnid", + "valor_IPITrib": "NFe/infNFe/det/imposto/IPI/IPITrib/vUnid" + }, + "aliquota_IPITrib": "NFe/infNFe/det/imposto/IPI/IPITrib/pIPI", + "valor_IPITrib": "NFe/infNFe/det/imposto/IPI/IPITrib/vIPI", + "cst_IPINT": "NFe/infNFe/det/imposto/IPI/IPINT/CST" + }, + "importacao": { + "baseCalculo": "NFe/infNFe/det/imposto/II/vBC", + "valorDespesasAduaneiras": "NFe/infNFe/det/imposto/II/vDespAdu", + "valor": "NFe/infNFe/det/imposto/II/vII", + "valorOperacoesFinanceiras": "NFe/infNFe/det/imposto/II/vIOF" + }, + "issqn": { + "baseCalculo": "NFe/infNFe/det/imposto/ISSQN/vBC", + "aliquota": "NFe/infNFe/det/imposto/ISSQN/vAliq", + "valor": "NFe/infNFe/det/imposto/ISSQN/vISSQN", + "codigoMunicipioFatoGerador": "NFe/infNFe/det/imposto/ISSQN/cMunFG", + "codigoServico": "NFe/infNFe/det/imposto/ISSQN/cListServ", + "valorDeducao": "NFe/infNFe/det/imposto/ISSQN/vDeducao", + "valorOutros": "NFe/infNFe/det/imposto/ISSQN/vOutro", + "descontoIncondicionado": "NFe/infNFe/det/imposto/ISSQN/vDescIncond", + "descontoCondicionado": "NFe/infNFe/det/imposto/ISSQN/vDescCond", + "valorRetencaoIss": "NFe/infNFe/det/imposto/ISSQN/vISSRet", + "codigoExigibilidade": "NFe/infNFe/det/imposto/ISSQN/indISS", + "codigoMunicipalServico": "NFe/infNFe/det/imposto/ISSQN/cServico", + "codigoMunicipioIncidencia": "NFe/infNFe/det/imposto/ISSQN/cMun", + "codigoPais": "NFe/infNFe/det/imposto/ISSQN/cPais", + "numeroProcessoSuspensao": "NFe/infNFe/det/imposto/ISSQN/nProcesso", + "incentivoFiscal": "NFe/infNFe/det/imposto/ISSQN/indIncentivo" + }, + "pis": { + "cst_PISAliq": "NFe/infNFe/det/imposto/PIS/PISAliq/CST", + "baseCalculo": { + "valor_PISAliq": "NFe/infNFe/det/imposto/PIS/PISAliq/vBC", + "valor_PISOutr": "NFe/infNFe/det/imposto/PIS/PISOutr/vBC" + }, + "aliquota_PISAliq": "NFe/infNFe/det/imposto/PIS/PISAliq/pPIS", + "valor_PISAliq": "NFe/infNFe/det/imposto/PIS/PISAliq/vPIS", + "cst_PISQtde": "NFe/infNFe/det/imposto/PIS/PISQtde/CST", + "quantidadeVendida_PISQtde": "NFe/infNFe/det/imposto/PIS/PISQtde/qBCProd", + "aliquotaReais_PISQtde": "NFe/infNFe/det/imposto/PIS/PISQtde/vAliqProd", + "valor_PISQtde": "NFe/infNFe/det/imposto/PIS/PISQtde/vPIS", + "cst_PISNT": "NFe/infNFe/det/imposto/PIS/PISNT/CST", + "cst_PISOutr": "NFe/infNFe/det/imposto/PIS/PISOutr/CST", + "aliquota_PISOutr": "NFe/infNFe/det/imposto/PIS/PISOutr/pPIS", + "quantidadeVendida_PISOutr": "NFe/infNFe/det/imposto/PIS/PISOutr/qBCProd", + "aliquotaReais_PISOutr": "NFe/infNFe/det/imposto/PIS/PISOutr/vAliqProd", + "valor_PISOutr": "NFe/infNFe/det/imposto/PIS/PISOutr/vPIS", + "substituicaoTributaria": { + "baseCalculo": "NFe/infNFe/det/imposto/PISST/vBC", + "aliquota": "NFe/infNFe/det/imposto/PISST/pPIS", + "quantidadeVendida": "NFe/infNFe/det/imposto/PISST/qBCProd", + "aliquotaReais": "NFe/infNFe/det/imposto/PISST/vAliqProd", + "valor": "NFe/infNFe/det/imposto/PISST/vPIS", + "compoeTotal": "NFe/infNFe/det/imposto/PISST/indSomaPISST" + } + }, + "cofins": { + "cst_COFINSAliq": "NFe/infNFe/det/imposto/COFINS/COFINSAliq/CST", + "baseCalculo": { + "valor_COFINSAliq": "NFe/infNFe/det/imposto/COFINS/COFINSAliq/vBC", + "valor_COFINSOutr": "NFe/infNFe/det/imposto/COFINS/COFINSOutr/vBC" + }, + "aliquota_COFINSAliq": "NFe/infNFe/det/imposto/COFINS/COFINSAliq/pCOFINS", + "valor_COFINSAliq": "NFe/infNFe/det/imposto/COFINS/COFINSAliq/vCOFINS", + "cst_COFINSQtde": "NFe/infNFe/det/imposto/COFINS/COFINSQtde/CST", + "quantidadeVendida_COFINSQtde": "NFe/infNFe/det/imposto/COFINS/COFINSQtde/qBCProd", + "aliquotaReais_COFINSQtde": "NFe/infNFe/det/imposto/COFINS/COFINSQtde/vAliqProd", + "valor_COFINSQtde": "NFe/infNFe/det/imposto/COFINS/COFINSQtde/vCOFINS", + "cst_COFINSNT": "NFe/infNFe/det/imposto/COFINS/COFINSNT/CST", + "cst_COFINSOutr": "NFe/infNFe/det/imposto/COFINS/COFINSOutr/CST", + "aliquota_COFINSOutr": "NFe/infNFe/det/imposto/COFINS/COFINSOutr/pCOFINS", + "quantidadeVendida_COFINSOutr": "NFe/infNFe/det/imposto/COFINS/COFINSOutr/qBCProd", + "aliquotaReais_COFINSOutr": "NFe/infNFe/det/imposto/COFINS/COFINSOutr/vAliqProd", + "valor_COFINSOutr": "NFe/infNFe/det/imposto/COFINS/COFINSOutr/vCOFINS", + "substituicaoTributaria": { + "baseCalculo": "NFe/infNFe/det/imposto/COFINSST/vBC", + "aliquota": "NFe/infNFe/det/imposto/COFINSST/pCOFINS", + "quantidadeVendida": "NFe/infNFe/det/imposto/COFINSST/qBCProd", + "aliquotaReais": "NFe/infNFe/det/imposto/COFINSST/vAliqProd", + "valor": "NFe/infNFe/det/imposto/COFINSST/vCOFINS", + "compoeTotal": "NFe/infNFe/det/imposto/COFINSST/indSomaCOFINSST" + } + }, + "partilha": { + "ufDestino": { + "baseCalculoIcms": "NFe/infNFe/det/imposto/ICMSUFDest/vBCUFDest", + "baseCalculoFcp": "NFe/infNFe/det/imposto/ICMSUFDest/vBCFCPUFDest", + "percentualIcmsFcp": "NFe/infNFe/det/imposto/ICMSUFDest/pFCPUFDest", + "aliquotaInterna": "NFe/infNFe/det/imposto/ICMSUFDest/pICMSUFDest", + "aliquotaInterestadual": "NFe/infNFe/det/imposto/ICMSUFDest/pICMSInter", + "percentualProvisorioIcmsInterestadual": "NFe/infNFe/det/imposto/ICMSUFDest/pICMSInterPart", + "icmsRelativoFcp": "NFe/infNFe/det/imposto/ICMSUFDest/vFCPUFDest", + "icmsInterestadual": "NFe/infNFe/det/imposto/ICMSUFDest/vICMSUFDest" + }, + "ufRemetente": { + "icmsInterestadual": "NFe/infNFe/det/imposto/ICMSUFDest/vICMSUFRemet" + } + }, + "percentualMercadoriaDevolvida": "NFe/infNFe/det/impostoDevol/pDevol", + "valorIpiDevolvido": "NFe/infNFe/det/impostoDevol/IPI/vIPIDevol" + }, + "informacoesComplementares": "NFe/infNFe/det/infAdProd", + "numero": "NFe/infNFe/det/@nItem", + "nve": [{"numero": "NFe/infNFe/det/prod/NVE[]"}], + "importacao": [{ + "numero": "NFe/infNFe/det/prod/DI[]/nDI", + "dataEmissao": "NFe/infNFe/det/prod/DI[]/dDI", + "desembaraco": { + "local": "NFe/infNFe/det/prod/DI[]/xLocDesemb", + "estado": "NFe/infNFe/det/prod/DI[]/UFDesemb", + "data": "NFe/infNFe/det/prod/DI[]/dDesemb" + }, + "viaTransporte": "NFe/infNFe/det/prod/DI[]/tpViaTransp", + "valorAfrmm": "NFe/infNFe/det/prod/DI[]/vAFRMM", + "formaImportacao": "NFe/infNFe/det/prod/DI[]/tpIntermedio", + "adquirente": { + "cnpj": "NFe/infNFe/det/prod/DI[]/CNPJ", + "cpf": "NFe/infNFe/det/prod/DI[]/CPF", + "estado": "NFe/infNFe/det/prod/DI[]/UFTerceiro" + }, + "codigoExportador": "NFe/infNFe/det/prod/DI[]/cExportador", + "adicoes": [{ + "numero": "NFe/infNFe/det/prod/DI[]/adi[]/nAdicao", + "numeroSequencia": "NFe/infNFe/det/prod/DI[]/adi[]/nSeqAdic", + "codigoFabricante": "NFe/infNFe/det/prod/DI[]/adi[]/cFabricante", + "valorDesconto": "NFe/infNFe/det/prod/DI[]/adi[]/vDescDI", + "numeroDrawback": "NFe/infNFe/det/prod/DI[]/adi[]/nDraw" + }] + }], + "exportacao": [{ + "numeroDrawback": "NFe/infNFe/det/prod/detExport[]/nDraw", + "exportacaoIndireta": { + "numero": "NFe/infNFe/det/prod/detExport[]/exportInd/nRE", + "chave": "NFe/infNFe/det/prod/detExport[]/exportInd/chNFe", + "quantidade": "NFe/infNFe/det/prod/detExport[]/exportInd/qExport" + } + }], + "rastreavel": [{ + "lote": "NFe/infNFe/det/prod/rastro[]/nLote", + "quantidade": "NFe/infNFe/det/prod/rastro[]/qLote", + "dataFabricacao": "NFe/infNFe/det/prod/rastro[]/dFab", + "dataValidade": "NFe/infNFe/det/prod/rastro[]/dVal", + "codigoAgregacao": "NFe/infNFe/det/prod/rastro[]/cAgreg" + }], + "armamentos": [{ + "tipo": "NFe/infNFe/det/prod/arma[]/tpArma", + "numeroSerie": "NFe/infNFe/det/prod/arma[]/nSerie", + "numeroSerieCano": "NFe/infNFe/det/prod/arma[]/nCano", + "descricao": "NFe/infNFe/det/prod/arma[]/descr" + }], + "observacoes": { + "contribuinte": [{ + "campo": "NFe/infNFe/det/obsItem/obsCont[]/@xCampo", + "texto": "NFe/infNFe/det/obsItem/obsCont[]/xTexto" + }], + "fisco": [{ + "texto": "NFe/infNFe/det/obsItem/obsFisco[]/@xCampo", + "campo": "NFe/infNFe/det/obsItem/obsFisco[]/xTexto" + }] + }, + "valorTotal": "NFe/infNFe/det/vItem", + "dfeReferenciado": { + "chaveAcesso": "NFe/infNFe/det/DFeReferenciado/chaveAcesso", + "numero": "NFe/infNFe/det/DFeReferenciado/nItem" + } + }], + "pagamentos": [{ + "aVista": "NFe/infNFe/pag/detPag[]/indPag", + "meio": "NFe/infNFe/pag/detPag[]/tPag", + "descricaoMeio": "NFe/infNFe/pag/detPag[]/xPag", + "valor": "NFe/infNFe/pag/detPag[]/vPag", + "cartao": { + "tipoIntegracao": "NFe/infNFe/pag/detPag[]/card/tpIntegra", + "cnpjCredenciadora": "NFe/infNFe/pag/detPag[]/card/CNPJ", + "bandeiraOperadora": "NFe/infNFe/pag/detPag[]/card/tBand", + "numeroAutorizacao": "NFe/infNFe/pag/detPag[]/card/cAut" + } + }], + "pagamento": { + "data": "NFe/infNFe/pag/detPag[]/dPag", + "cnpjTransacional": "NFe/infNFe/pag/detPag[]/CNPJPag", + "ufTransacional": "NFe/infNFe/pag/detPag[]/UFPag", + "cartao": { + "cnpjBeneficiario": "NFe/infNFe/pag/detPag[]/card/CNPJReceb", + "idTerminal": "NFe/infNFe/pag/detPag[]/card/idTermPag" + } + }, + "intermediadorTransacao": { + "cpfCnpj": "NFe/infNFe/infIntermed/CNPJ", + "identificadorCadastro": "NFe/infNFe/infIntermed/idCadIntTran" + }, + "observacoes": { + "contribuinte": [{ + "campo": "NFe/infNFe/infAdic/obsCont[]/@xCampo", + "texto": "NFe/infNFe/infAdic/obsCont[]/xTexto" + }], + "fisco": [{ + "texto": "NFe/infNFe/infAdic/obsFisco[]/xTexto", + "campo": "NFe/infNFe/infAdic/obsFisco[]/@xCampo" + }] + }, + "processoReferenciado": [{ + "identificador": "NFe/infNFe/infAdic/procRef[]/nProc", + "origem": "NFe/infNFe/infAdic/procRef[]/indProc", + "tipo": "NFe/infNFe/infAdic/procRef[]/tpAto" + }], + "responsavelTecnico": { + "cpfCnpj": "NFe/infNFe/infRespTec/CNPJ", + "nome": "NFe/infNFe/infRespTec/xContato", + "email": "NFe/infNFe/infRespTec/email", + "telefone": "NFe/infNFe/infRespTec/fone", + "idCSRT": "NFe/infNFe/infRespTec/idCSRT", + "hashCSRT": "NFe/infNFe/infRespTec/hashCSRT" + }, + "agropecuario": { + "defensivo": [{ + "numeroReceituario": "NFe/infNFe/agropecuario/defensivo[]/nReceituario", + "cpfResponsavelTecnico": "NFe/infNFe/agropecuario/defensivo[]/CPFRespTec" + }], + "guiaTransito": { + "tipoGuia": "NFe/infNFe/agropecuario/guiaTransito/tpGuia", + "ufGuia": "NFe/infNFe/agropecuario/guiaTransito/UFGuia", + "serieGuia": "NFe/infNFe/agropecuario/guiaTransito/serieGuia", + "numeroGuia": "NFe/infNFe/agropecuario/guiaTransito/nGuia" + } + } +} \ No newline at end of file diff --git a/pynfe/data/XSDs/CT-e/GTVe_v4.00.xsd b/pynfe/data/XSDs/CT-e/GTVe_v4.00.xsd index f1795ae0..66cd2adb 100644 --- a/pynfe/data/XSDs/CT-e/GTVe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/GTVe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Guia de Trasnsporte Eletrônica - - - + + + + + + + Guia de Trasnsporte Eletrônica + + + diff --git a/pynfe/data/XSDs/CT-e/consSitCTeTiposBasico_v4.00.xsd b/pynfe/data/XSDs/CT-e/consSitCTeTiposBasico_v4.00.xsd index 78f711cd..27525a23 100644 --- a/pynfe/data/XSDs/CT-e/consSitCTeTiposBasico_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/consSitCTeTiposBasico_v4.00.xsd @@ -1,123 +1,123 @@ - - - - - - - - Tipo Pedido de Consulta da Situação Atual do Conhecimento de Transporte eletrônico - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Serviço Solicitado - - - - - Chaves de acesso da CT-e - - - - - - - - - - - - Tipo Retorno de Pedido de Consulta da Situação Atual do Conhecimento de Transporte eletrônico - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Versão do Aplicativo que processou o CT-e - - - - - Código do status da mensagem enviada. - - - - - Descrição literal do status do serviço solicitado. - - - - - código da UF de atendimento - - - - - - - - Retornar protCTe da versão correspondente do CT-e autorizado - - - - - - - - - - - - - - - - - - - - - - - Retornar procEventoCTe da versão correspondente do evento CT-e autorizado - - - - - - - - - - - - - - - - - - - - - - Tipo Versão do Consulta situação de CT-e - 4.00 - - - - - - + + + + + + + + Tipo Pedido de Consulta da Situação Atual do Conhecimento de Transporte eletrônico + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Serviço Solicitado + + + + + Chaves de acesso da CT-e + + + + + + + + + + + + Tipo Retorno de Pedido de Consulta da Situação Atual do Conhecimento de Transporte eletrônico + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Versão do Aplicativo que processou o CT-e + + + + + Código do status da mensagem enviada. + + + + + Descrição literal do status do serviço solicitado. + + + + + código da UF de atendimento + + + + + + + + Retornar protCTe da versão correspondente do CT-e autorizado + + + + + + + + + + + + + + + + + + + + + + + Retornar procEventoCTe da versão correspondente do evento CT-e autorizado + + + + + + + + + + + + + + + + + + + + + + Tipo Versão do Consulta situação de CT-e - 4.00 + + + + + + diff --git a/pynfe/data/XSDs/CT-e/consSitCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/consSitCTe_v4.00.xsd index e6be0041..c9825f32 100644 --- a/pynfe/data/XSDs/CT-e/consSitCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/consSitCTe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema de validação XML dp Pedido de Consulta da Situação Atual do CT-e. - - - + + + + + + + Schema de validação XML dp Pedido de Consulta da Situação Atual do CT-e. + + + diff --git a/pynfe/data/XSDs/CT-e/consStatServCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/consStatServCTe_v4.00.xsd index 5d692677..bc2ed359 100644 --- a/pynfe/data/XSDs/CT-e/consStatServCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/consStatServCTe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do Pedido de Consulta do Status do Serviço CT-e - - - + + + + + + + Schema XML de validação do Pedido de Consulta do Status do Serviço CT-e + + + diff --git a/pynfe/data/XSDs/CT-e/consStatServTiposBasico_v4.00.xsd b/pynfe/data/XSDs/CT-e/consStatServTiposBasico_v4.00.xsd index bc84a527..a79fae2c 100644 --- a/pynfe/data/XSDs/CT-e/consStatServTiposBasico_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/consStatServTiposBasico_v4.00.xsd @@ -1,115 +1,115 @@ - - - - - - - Tipo Pedido de Consulta do Status do Serviço CTe - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Código da UF a ser verificado o status - Utilizar a Tabela do IBGE. - - - - - Serviço Solicitado - - - - - - - - - - - - Tipo Resultado da Consulta do Status do Serviço CTe - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Versão do Aplicativo que processou o CT-e - - - - - - - - - - Código do status da mensagem enviada. - - - - - Descrição literal do status do serviço solicitado. - - - - - Código da UF responsável pelo serviço - - - - - AAAA-MM-DDTHH:MM:SS TZD - - - - - Tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos - - - - - - - - - - AAAA-MM-DDTHH:MM:SSDeve ser preenchida com data e hora previstas para o retorno dos serviços prestados. - - - - - Campo observação utilizado para incluir informações ao contribuinte - - - - - - - - - - - - - - - Tipo Versão do Consulta do Status do Serviço CTe - - - - - - + + + + + + + Tipo Pedido de Consulta do Status do Serviço CTe + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Código da UF a ser verificado o status + Utilizar a Tabela do IBGE. + + + + + Serviço Solicitado + + + + + + + + + + + + Tipo Resultado da Consulta do Status do Serviço CTe + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Versão do Aplicativo que processou o CT-e + + + + + + + + + + Código do status da mensagem enviada. + + + + + Descrição literal do status do serviço solicitado. + + + + + Código da UF responsável pelo serviço + + + + + AAAA-MM-DDTHH:MM:SS TZD + + + + + Tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos + + + + + + + + + + AAAA-MM-DDTHH:MM:SSDeve ser preenchida com data e hora previstas para o retorno dos serviços prestados. + + + + + Campo observação utilizado para incluir informações ao contribuinte + + + + + + + + + + + + + + + Tipo Versão do Consulta do Status do Serviço CTe + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cteModalAereo_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteModalAereo_v4.00.xsd index ab7848dc..fbb25460 100644 --- a/pynfe/data/XSDs/CT-e/cteModalAereo_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteModalAereo_v4.00.xsd @@ -1,240 +1,240 @@ - - - - - - - Informações do modal Aéreo - - - - - - Número da Minuta - Documento que precede o CT-e, assinado pelo expedidor, espécie de pedido de serviço - - - - - - - - - - - Número Operacional do Conhecimento Aéreo - Representa o número de controle comumente utilizado pelo conhecimento aéreo composto por uma sequência numérica de onze dígitos. Os três primeiros dígitos representam um código que os operadores de transporte aéreo associados à IATA possuem. Em seguida um número de série de sete dígitos determinados pelo operador de transporte aéreo. Para finalizar, um dígito verificador, que é um sistema de módulo sete imponderado o qual divide o número de série do conhecimento aéreo por sete e usa o resto como dígito de verificação. - - - - - - - - - - - Data prevista da entrega - Formato AAAA-MM-DD - - - - - Natureza da carga - - - - - - Dimensão - Formato:1234X1234X1234 (cm). Esse campo deve sempre que possível ser preenchido. Entretanto, quando for impossível o preenchimento das dimensões, fica obrigatório o preenchimento da cubagem em metro cúbico do leiaute do CT-e da estrutura genérica (infQ). - - - - - - - - - - - - Informações de manuseio - 01 - certificado do expedidor para embarque de animal vivo; - -02 - artigo perigoso conforme Declaração do Expedidor anexa; - -03 - somente em aeronave cargueira; - -04 - artigo perigoso - declaração do expedidor não requerida; - -05 - artigo perigoso em quantidade isenta; - -06 - gelo seco para refrigeração (especificar no campo observações a quantidade); - -07 - não restrito (especificar a Disposição Especial no campo observações); - -08 - artigo perigoso em carga consolidada (especificar a quantidade no campo observações) -; -09 - autorização da autoridade governamental anexa (especificar no campo observações); - -10 – baterias de íons de lítio em conformidade com a Seção II da PI965 – CAO -; -11 - baterias de íons de lítio em conformidade com a Seção II da PI966 -; -12 - baterias de íons de lítio em conformidade com a Seção II da PI967 -; -13 – baterias de metal lítio em conformidade com a Seção II da PI968 — CAO; - -14 - baterias de metal lítio em conformidade com a Seção II da PI969; - -15 - baterias de metal lítio em conformidade com a Seção II da PI970 -; -99 - outro (especificar no campo observações) -. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Informações de tarifa - - - - - - Classe - Preencher com: - M - Tarifa Mínima; - G - Tarifa Geral; - E - Tarifa Específica - - - - - - - - - - - - - - Código da Tarifa - Deverão ser incluídos os códigos de três dígitos, correspondentes à tarifa. - - - - - - - - - - - Valor da Tarifa - Valor da tarifa por kg quando for o caso. - - - - - - - - Preenchido quando for transporte de produtos classificados pela ONU como perigosos. - O preenchimento desses campos não desobriga a empresa aérea de emitir os demais documentos que constam na legislação vigente. - - - - - - Número ONU/UN - Ver a legislação de transporte de produtos perigosos aplicadas ao modal - - - - - - - - - - - Quantidade total de volumes contendo artigos perigosos - Preencher com o número de volumes (unidades) de artigos perigosos, ou seja, cada embalagem devidamente marcada e etiquetada (por ex.: número de caixas, de tambores, de bombonas, dentre outros). Não deve ser preenchido com o número de ULD, pallets ou containers. - - - - - - - - - - - Grupo de informações das quantidades totais de artigos perigosos - Preencher conforme a legislação de transporte de produtos perigosos aplicada ao modal - - - - - - Quantidade total de artigos perigosos - 15 posições, sendo 11 inteiras e 4 decimais. -Deve indicar a quantidade total do artigo perigoso, tendo como base a unidade referenciada na Tabela 3-1 do Doc 9284, por exemplo: litros; quilogramas; quilograma bruto etc. O preenchimento não deve, entretanto, incluir a unidade de medida. No caso de transporte de material radioativo, deve-se indicar o somatório dos Índices de Transporte (TI). Não indicar a quantidade do artigo perigoso por embalagem. - - - - - Unidade de medida - 1 – KG; -2 – KG G (quilograma bruto); -3 – LITROS; -4 – TI (índice de transporte para radioativos); 5- Unidades (apenas para artigos perigosos medidos em unidades que não se enquadram nos itens acima. Exemplo: baterias, celulares, equipamentos, veículos, dentre outros) - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + Informações do modal Aéreo + + + + + + Número da Minuta + Documento que precede o CT-e, assinado pelo expedidor, espécie de pedido de serviço + + + + + + + + + + + Número Operacional do Conhecimento Aéreo + Representa o número de controle comumente utilizado pelo conhecimento aéreo composto por uma sequência numérica de onze dígitos. Os três primeiros dígitos representam um código que os operadores de transporte aéreo associados à IATA possuem. Em seguida um número de série de sete dígitos determinados pelo operador de transporte aéreo. Para finalizar, um dígito verificador, que é um sistema de módulo sete imponderado o qual divide o número de série do conhecimento aéreo por sete e usa o resto como dígito de verificação. + + + + + + + + + + + Data prevista da entrega + Formato AAAA-MM-DD + + + + + Natureza da carga + + + + + + Dimensão + Formato:1234X1234X1234 (cm). Esse campo deve sempre que possível ser preenchido. Entretanto, quando for impossível o preenchimento das dimensões, fica obrigatório o preenchimento da cubagem em metro cúbico do leiaute do CT-e da estrutura genérica (infQ). + + + + + + + + + + + + Informações de manuseio + 01 - certificado do expedidor para embarque de animal vivo; + +02 - artigo perigoso conforme Declaração do Expedidor anexa; + +03 - somente em aeronave cargueira; + +04 - artigo perigoso - declaração do expedidor não requerida; + +05 - artigo perigoso em quantidade isenta; + +06 - gelo seco para refrigeração (especificar no campo observações a quantidade); + +07 - não restrito (especificar a Disposição Especial no campo observações); + +08 - artigo perigoso em carga consolidada (especificar a quantidade no campo observações) +; +09 - autorização da autoridade governamental anexa (especificar no campo observações); + +10 – baterias de íons de lítio em conformidade com a Seção II da PI965 – CAO +; +11 - baterias de íons de lítio em conformidade com a Seção II da PI966 +; +12 - baterias de íons de lítio em conformidade com a Seção II da PI967 +; +13 – baterias de metal lítio em conformidade com a Seção II da PI968 — CAO; + +14 - baterias de metal lítio em conformidade com a Seção II da PI969; + +15 - baterias de metal lítio em conformidade com a Seção II da PI970 +; +99 - outro (especificar no campo observações) +. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Informações de tarifa + + + + + + Classe + Preencher com: + M - Tarifa Mínima; + G - Tarifa Geral; + E - Tarifa Específica + + + + + + + + + + + + + + Código da Tarifa + Deverão ser incluídos os códigos de três dígitos, correspondentes à tarifa. + + + + + + + + + + + Valor da Tarifa + Valor da tarifa por kg quando for o caso. + + + + + + + + Preenchido quando for transporte de produtos classificados pela ONU como perigosos. + O preenchimento desses campos não desobriga a empresa aérea de emitir os demais documentos que constam na legislação vigente. + + + + + + Número ONU/UN + Ver a legislação de transporte de produtos perigosos aplicadas ao modal + + + + + + + + + + + Quantidade total de volumes contendo artigos perigosos + Preencher com o número de volumes (unidades) de artigos perigosos, ou seja, cada embalagem devidamente marcada e etiquetada (por ex.: número de caixas, de tambores, de bombonas, dentre outros). Não deve ser preenchido com o número de ULD, pallets ou containers. + + + + + + + + + + + Grupo de informações das quantidades totais de artigos perigosos + Preencher conforme a legislação de transporte de produtos perigosos aplicada ao modal + + + + + + Quantidade total de artigos perigosos + 15 posições, sendo 11 inteiras e 4 decimais. +Deve indicar a quantidade total do artigo perigoso, tendo como base a unidade referenciada na Tabela 3-1 do Doc 9284, por exemplo: litros; quilogramas; quilograma bruto etc. O preenchimento não deve, entretanto, incluir a unidade de medida. No caso de transporte de material radioativo, deve-se indicar o somatório dos Índices de Transporte (TI). Não indicar a quantidade do artigo perigoso por embalagem. + + + + + Unidade de medida + 1 – KG; +2 – KG G (quilograma bruto); +3 – LITROS; +4 – TI (índice de transporte para radioativos); 5- Unidades (apenas para artigos perigosos medidos em unidades que não se enquadram nos itens acima. Exemplo: baterias, celulares, equipamentos, veículos, dentre outros) + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cteModalAquaviario_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteModalAquaviario_v4.00.xsd index 68c22c60..a4fe0839 100644 --- a/pynfe/data/XSDs/CT-e/cteModalAquaviario_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteModalAquaviario_v4.00.xsd @@ -1,207 +1,207 @@ - - - - - - - Informações do modal Aquaviário - - - - - - Valor da Prestação Base de Cálculo do AFRMM - - - - - AFRMM (Adicional de Frete para Renovação da Marinha Mercante) - - - - - Identificação do Navio - - - - - - - - - - - Grupo de informações das balsas - - - - - - Identificador da Balsa - - - - - - - - - - - - - - Número da Viagem - - - - - - - - - - - Direção - Preencher com: N-Norte, L-Leste, S-Sul, O-Oeste - - - - - - - - - - - - - - Irin do navio sempre deverá ser informado - - - - - - - - - - - - Grupo de informações de detalhamento dos conteiners -(Somente para Redespacho Intermediário e Serviço Vinculado a Multimodal) - - - - - - Identificação do Container - - - - - Grupo de informações dos lacres dos cointainers da qtde da carga - - - - - - Lacre - - - - - - - - - - - - - - Informações dos documentos dos conteiners - - - - - - Informações das NF - - - - - - Série - - - - - - - - - - - Número - - - - - - - - - - - Unidade de medida rateada (Peso,Volume) - - - - - - - - Informações das NFe - - - - - - Chave de acesso da NF-e - - - - - Unidade de medida rateada (Peso,Volume) - - - - - - - - - - - - - - Tipo de Navegação - Preencher com: - 0 - Interior; - 1 - Cabotagem - - - - - - - - - - - - - + + + + + + + Informações do modal Aquaviário + + + + + + Valor da Prestação Base de Cálculo do AFRMM + + + + + AFRMM (Adicional de Frete para Renovação da Marinha Mercante) + + + + + Identificação do Navio + + + + + + + + + + + Grupo de informações das balsas + + + + + + Identificador da Balsa + + + + + + + + + + + + + + Número da Viagem + + + + + + + + + + + Direção + Preencher com: N-Norte, L-Leste, S-Sul, O-Oeste + + + + + + + + + + + + + + Irin do navio sempre deverá ser informado + + + + + + + + + + + + Grupo de informações de detalhamento dos conteiners +(Somente para Redespacho Intermediário e Serviço Vinculado a Multimodal) + + + + + + Identificação do Container + + + + + Grupo de informações dos lacres dos cointainers da qtde da carga + + + + + + Lacre + + + + + + + + + + + + + + Informações dos documentos dos conteiners + + + + + + Informações das NF + + + + + + Série + + + + + + + + + + + Número + + + + + + + + + + + Unidade de medida rateada (Peso,Volume) + + + + + + + + Informações das NFe + + + + + + Chave de acesso da NF-e + + + + + Unidade de medida rateada (Peso,Volume) + + + + + + + + + + + + + + Tipo de Navegação + Preencher com: + 0 - Interior; + 1 - Cabotagem + + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cteModalDutoviario_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteModalDutoviario_v4.00.xsd index f0435dbf..bc9c8940 100644 --- a/pynfe/data/XSDs/CT-e/cteModalDutoviario_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteModalDutoviario_v4.00.xsd @@ -1,30 +1,30 @@ - - - - - - - - Informações do modal Dutoviário - - - - - - Valor da tarifa - - - - - Data de Início da prestação do serviço - - - - - Data de Fim da prestação do serviço - - - - - - + + + + + + + + Informações do modal Dutoviário + + + + + + Valor da tarifa + + + + + Data de Início da prestação do serviço + + + + + Data de Fim da prestação do serviço + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cteModalFerroviario_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteModalFerroviario_v4.00.xsd index 389c2df1..2a789ac6 100644 --- a/pynfe/data/XSDs/CT-e/cteModalFerroviario_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteModalFerroviario_v4.00.xsd @@ -1,231 +1,231 @@ - - - - - - - - Tipo Dados do Endereço - - - - - Logradouro - - - - - - - - - - - Número - - - - - - - - - - - Complemento - - - - - - - - - - - Bairro - - - - - - - - - - - Código do município - Utilizar a tabela do IBGE - Informar 9999999 para operações com o exterior. - - - - - Nome do município - Informar EXTERIOR para operações com o exterior. - - - - - - - - - - - CEP - - - - - - - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - - - Informações do modal Ferroviário - - - - - - Tipo de Tráfego - Preencher com: - 0-Próprio; - 1-Mútuo; - 2-Rodoferroviário; - 3-Rodoviário. - - - - - - - - - - - - - - Detalhamento de informações para o tráfego mútuo - - - - - - Responsável pelo Faturamento - Preencher com: - 1-Ferrovia de origem; - 2-Ferrovia de destino - - - - - - - - - - - - Ferrovia Emitente do CTe - Preencher com: - 1-Ferrovia de origem; - 2-Ferrovia de destino - - - - - - - - - - - - Valor do Frete do Tráfego Mútuo - - - - - Chave de acesso do CT-e emitido pelo ferrovia de origem - - - - - Informações das Ferrovias Envolvidas - - - - - - Número do CNPJ - Informar o CNPJ da Ferrovia Envolvida. Caso a Ferrovia envolvida não seja inscrita no CNPJ o campo deverá preenchido com zeros. -Informar os zeros não significativos. - - - - - Código interno da Ferrovia envolvida - Uso da transportadora - - - - - - - - - - - Inscrição Estadual - - - - - Razão Social ou Nome - - - - - - - - - - - Dados do endereço da ferrovia envolvida - - - - - - - - - - - Fluxo Ferroviário - Trata-se de um número identificador do contrato firmado com o cliente - - - - - - - - - - - - + + + + + + + + Tipo Dados do Endereço + + + + + Logradouro + + + + + + + + + + + Número + + + + + + + + + + + Complemento + + + + + + + + + + + Bairro + + + + + + + + + + + Código do município + Utilizar a tabela do IBGE + Informar 9999999 para operações com o exterior. + + + + + Nome do município + Informar EXTERIOR para operações com o exterior. + + + + + + + + + + + CEP + + + + + + + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + + + Informações do modal Ferroviário + + + + + + Tipo de Tráfego + Preencher com: + 0-Próprio; + 1-Mútuo; + 2-Rodoferroviário; + 3-Rodoviário. + + + + + + + + + + + + + + Detalhamento de informações para o tráfego mútuo + + + + + + Responsável pelo Faturamento + Preencher com: + 1-Ferrovia de origem; + 2-Ferrovia de destino + + + + + + + + + + + + Ferrovia Emitente do CTe + Preencher com: + 1-Ferrovia de origem; + 2-Ferrovia de destino + + + + + + + + + + + + Valor do Frete do Tráfego Mútuo + + + + + Chave de acesso do CT-e emitido pelo ferrovia de origem + + + + + Informações das Ferrovias Envolvidas + + + + + + Número do CNPJ + Informar o CNPJ da Ferrovia Envolvida. Caso a Ferrovia envolvida não seja inscrita no CNPJ o campo deverá preenchido com zeros. +Informar os zeros não significativos. + + + + + Código interno da Ferrovia envolvida + Uso da transportadora + + + + + + + + + + + Inscrição Estadual + + + + + Razão Social ou Nome + + + + + + + + + + + Dados do endereço da ferrovia envolvida + + + + + + + + + + + Fluxo Ferroviário + Trata-se de um número identificador do contrato firmado com o cliente + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cteModalRodoviarioOS_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteModalRodoviarioOS_v4.00.xsd index 0aca81b6..23bcb62a 100644 --- a/pynfe/data/XSDs/CT-e/cteModalRodoviarioOS_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteModalRodoviarioOS_v4.00.xsd @@ -1,193 +1,193 @@ - - - - - - - - Tipo Termo de Autorização de Fretamento – TAF - - - - - - - - - - Tipo Número de Registro Estadual - - - - - - - - - - Informações do modal Rodoviário - - - - - - - Termo de Autorização de Fretamento – TAF - Registro obrigatório do emitente do CT-e OS junto à ANTT, de acordo com a Resolução ANTT nº 4.777/2015 - - - - - Número do Registro Estadual - Registro obrigatório do emitente do CT-e OS junto à Agência Reguladora Estadual. - - - - - - Dados do Veículo - - - - - - Placa do veículo - - - - - - - - RENAVAM do veículo - - - - - - - - - - - Proprietário ou possuidor do Veículo. -Só preenchido quando o veículo não pertencer à empresa emitente do CT-e OS - - - - - - - Número do CPF - Informar os zeros não significativos. - - - - - Número do CNPJ - Informar os zeros não significativos. - - - - - - - Termo de Autorização de Fretamento – TAF - De acordo com a Resolução ANTT nº 4.777/2015 - - - - - Número do Registro Estadual - Registro obrigatório do emitente do CT-e OS junto à Agência Reguladora Estadual - - - - - - Razão Social ou Nome do proprietário - - - - - - - - - - - - Inscrição Estadual - - - - - - - - UF - - - - - - Tipo Proprietário ou possuidor - Preencher com: - 0-TAC – Agregado; - 1-TAC Independente; ou - 2 – Outros. - - - - - - - - - - - - - - - - UF em que veículo está licenciado - Sigla da UF de licenciamento do veículo. - - - - - - - - Dados do fretamento (apenas para Transporte de Pessoas) - - - - - - Tipo Fretamento - Preencher com: - 1 - Eventual 2 - Continuo - - - - - - - - - - - - Data e hora da viagem (Apenas para fretamento eventual) - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - - + + + + + + + + Tipo Termo de Autorização de Fretamento – TAF + + + + + + + + + + Tipo Número de Registro Estadual + + + + + + + + + + Informações do modal Rodoviário + + + + + + + Termo de Autorização de Fretamento – TAF + Registro obrigatório do emitente do CT-e OS junto à ANTT, de acordo com a Resolução ANTT nº 4.777/2015 + + + + + Número do Registro Estadual + Registro obrigatório do emitente do CT-e OS junto à Agência Reguladora Estadual. + + + + + + Dados do Veículo + + + + + + Placa do veículo + + + + + + + + RENAVAM do veículo + + + + + + + + + + + Proprietário ou possuidor do Veículo. +Só preenchido quando o veículo não pertencer à empresa emitente do CT-e OS + + + + + + + Número do CPF + Informar os zeros não significativos. + + + + + Número do CNPJ + Informar os zeros não significativos. + + + + + + + Termo de Autorização de Fretamento – TAF + De acordo com a Resolução ANTT nº 4.777/2015 + + + + + Número do Registro Estadual + Registro obrigatório do emitente do CT-e OS junto à Agência Reguladora Estadual + + + + + + Razão Social ou Nome do proprietário + + + + + + + + + + + + Inscrição Estadual + + + + + + + + UF + + + + + + Tipo Proprietário ou possuidor + Preencher com: + 0-TAC – Agregado; + 1-TAC Independente; ou + 2 – Outros. + + + + + + + + + + + + + + + + UF em que veículo está licenciado + Sigla da UF de licenciamento do veículo. + + + + + + + + Dados do fretamento (apenas para Transporte de Pessoas) + + + + + + Tipo Fretamento + Preencher com: + 1 - Eventual 2 - Continuo + + + + + + + + + + + + Data e hora da viagem (Apenas para fretamento eventual) + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cteModalRodoviario_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteModalRodoviario_v4.00.xsd index 929b98ab..21023229 100644 --- a/pynfe/data/XSDs/CT-e/cteModalRodoviario_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteModalRodoviario_v4.00.xsd @@ -1,102 +1,102 @@ - - - - - - - - Informações do modal Rodoviário - - - - - - Registro Nacional de Transportadores Rodoviários de Carga - Registro obrigatório do emitente do CT-e junto à ANTT para exercer a atividade de transportador rodoviário de cargas por conta de terceiros e mediante remuneração. - - - - - - - - - Ordens de Coleta associados - - - - - - Série da OCC - - - - - - - - - - - Número da Ordem de coleta - - - - - - - - - - - Data de emissão da ordem de coleta - Formato AAAA-MM-DD - - - - - - - - Número do CNPJ - Informar os zeros não significativos. - - - - - Código interno de uso da transportadora - Uso intermo das transportadoras. - - - - - - - - - - - Inscrição Estadual - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - Telefone - - - - - - - - - - - - + + + + + + + + Informações do modal Rodoviário + + + + + + Registro Nacional de Transportadores Rodoviários de Carga + Registro obrigatório do emitente do CT-e junto à ANTT para exercer a atividade de transportador rodoviário de cargas por conta de terceiros e mediante remuneração. + + + + + + + + + Ordens de Coleta associados + + + + + + Série da OCC + + + + + + + + + + + Número da Ordem de coleta + + + + + + + + + + + Data de emissão da ordem de coleta + Formato AAAA-MM-DD + + + + + + + + Número do CNPJ + Informar os zeros não significativos. + + + + + Código interno de uso da transportadora + Uso intermo das transportadoras. + + + + + + + + + + + Inscrição Estadual + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + Telefone + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cteMultiModal_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteMultiModal_v4.00.xsd index 04dda3ef..05dc7949 100644 --- a/pynfe/data/XSDs/CT-e/cteMultiModal_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteMultiModal_v4.00.xsd @@ -1,100 +1,100 @@ - - - - - - - - Informações do Multimodal - - - - - - Número do Certificado do Operador de Transporte Multimodal - - - - - - - - - - - - - Indicador Negociável -Preencher com: 0 - Não Negociável; 1 - Negociável - - - - - - - - - - - - Informações de Seguro do Multimodal - - - - - - Informações da seguradora - - - - - - Nome da Seguradora - - - - - - - - - - - Número do CNPJ da seguradora - Obrigatório apenas se responsável pelo seguro for (2) responsável pela contratação do transporte - pessoa jurídica - - - - - - - - Número da Apólice - Obrigatório pela lei 11.442/07 (RCTRC) - - - - - - - - - - - Número da Averbação - Não é obrigatório, pois muitas averbações ocorrem aapós a emissão do CT, mensalmente, por exemplo. - - - - - - - - - - - - - - - + + + + + + + + Informações do Multimodal + + + + + + Número do Certificado do Operador de Transporte Multimodal + + + + + + + + + + + + + Indicador Negociável +Preencher com: 0 - Não Negociável; 1 - Negociável + + + + + + + + + + + + Informações de Seguro do Multimodal + + + + + + Informações da seguradora + + + + + + Nome da Seguradora + + + + + + + + + + + Número do CNPJ da seguradora + Obrigatório apenas se responsável pelo seguro for (2) responsável pela contratação do transporte - pessoa jurídica + + + + + + + + Número da Apólice + Obrigatório pela lei 11.442/07 (RCTRC) + + + + + + + + + + + Número da Averbação + Não é obrigatório, pois muitas averbações ocorrem aapós a emissão do CT, mensalmente, por exemplo. + + + + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cteOS_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteOS_v4.00.xsd index dfd03e0a..9ac66b26 100644 --- a/pynfe/data/XSDs/CT-e/cteOS_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteOS_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Conhecimento de Transporte Eletrônico Outros Serviços - - - + + + + + + + Conhecimento de Transporte Eletrônico Outros Serviços + + + diff --git a/pynfe/data/XSDs/CT-e/cteSimp_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteSimp_v4.00.xsd index e64b4219..a6b23e03 100644 --- a/pynfe/data/XSDs/CT-e/cteSimp_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteSimp_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Conhecimento de Transporte Eletrônico Simplificado - - - + + + + + + + Conhecimento de Transporte Eletrônico Simplificado + + + diff --git a/pynfe/data/XSDs/CT-e/cteTiposBasico_v4.00.xsd b/pynfe/data/XSDs/CT-e/cteTiposBasico_v4.00.xsd index 0f024361..54889a58 100644 --- a/pynfe/data/XSDs/CT-e/cteTiposBasico_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cteTiposBasico_v4.00.xsd @@ -1,7966 +1,7966 @@ - - - - - - - - Tipo Modal transporte GTVe - - - - - - - - - - Tipo Finalidade da GTV-e - - - - - - - - - Tipo Guia de Transporte de Valores Eletrônica (Modelo 64) - - - - - Informações do CT-e do tipo GTV-e - - - - - - Identificação da GTV-e - - - - - - Código da UF do emitente da GTV-e. - Utilizar a Tabela do IBGE. - - - - - Código numérico que compõe a Chave de Acesso. - Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento. - - - - - - - - - - - Código Fiscal de Operações e Prestações - - - - - Natureza da Operação - - - - - - - - - - - Modelo do documento fiscal - Utilizar o código 64 para identificação do CT-e Guia de Transporte de Valores - - - - - Série da GTV-e - Preencher com "0" no caso de série única - - - - - - - - Número da GTV-e - - - - - Data e hora de emissão da GTV-e - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Formato de impressão do DACTE - Preencher com: 1 - Retrato; 2 - Paisagem. - - - - - - - - - - - - Forma de emissão da GTV-e - Preencher com: -1 - Normal; - 2- Contingencia offline -7 - Autorização pela SVC-RS; - 8 - Autorização pela SVC-SP - - - - - - - - - - - - - - Digito Verificador da chave de acesso da GTV-e - Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso. - - - - - - - - - - - Tipo do Ambiente - Preencher com:1 - Produção; 2 - Homologação - - - - - Tipo da GTV-e - Preencher com: - 4 - GTV-e - - - - - - - - Versão do processo de emissão - Iinformar a versão do aplicativo emissor de CT-e. - - - - - - - - - - - Código do Município de envio da GTV-e (de onde o documento foi transmitido) - Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior. - - - - - Nome do Município de envio da GTV-e (de onde o documento foi transmitido) - Informar PAIS/Municipio para as operações com o exterior. - - - - - - - - - - - Sigla da UF de envio da GTV-e (de onde o documento foi transmitido) - Informar 'EX' para operações com o exterior. - - - - - Modal da GTV-e - Preencher com: -01-Rodoviário -06-Multimodal - - - - - - - - - - - Tipo do Serviço - Preencher com: - -9 - GTV - - - - - - - - - - - Indicador da IE do tomador: -1 – Contribuinte ICMS; -2 – Contribuinte isento de inscrição; -9 – Não Contribuinte - Aplica-se ao tomador que for indicado no toma3 ou toma4 - - - - - - - - - - - - - Data e hora de saida da origem - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Data e hora de chegada no destino - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - - Indicador do "papel" do tomador do serviço no GT-e - - - - - - Tomador do Serviço - Preencher com: - 0-Remetente; - 1-Destinatário - - - - - - - - - - - - - - - - Indicador do "papel" do tomador do serviço no CTV-e - - - - - - Tomador do Serviço - Preencher com: - 4 - Outros - Obs: Informar os dados cadastrais do tomador do serviço - - - - - - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. -Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Razão Social ou Nome - - - - - - - - - - - Nome Fantasia - - - - - - - - - - - Telefone - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - - Informar apenas -para tpEmis diferente de 1 - - - - Data e Hora da entrada em contingência - Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS - - - - - Justificativa da entrada em contingência - - - - - - - - - - - - - - - Dados complementares da GTV-e para fins operacionais ou comerciais - - - - - - Característica adicional do transporte - Texto livre: -REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc - - - - - - - - - - - Característica adicional do serviço - Texto livre: - ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc - - - - - - - - - - - Funcionário emissor da GTV-e - - - - - - - - - - - Observações Gerais - - - - - - - - - - - Campo de uso livre do contribuinte - Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto - - - - - - Conteúdo do campo - - - - - - - - - - - - Identificação do campo - - - - - - - - - - - - - Campo de uso livre do contribuinte - Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto - - - - - - Conteúdo do campo - - - - - - - - - - - - Identificação do campo - - - - - - - - - - - - - - - - Identificação do Emitente da GTV-e - - - - - - CNPJ do emitente - Informar zeros não significativos - - - - - Inscrição Estadual do Emitente - - - - - - - - Inscrição Estadual do Substituto Tributário - - - - - - - - Razão social ou Nome do emitente - - - - - - - - - - - Nome fantasia - - - - - - - - - - - Endereço do emitente - - - - - - - - Informações do Remetente - Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar a tag. - - - - - - - - Razão social ou nome do remetente - - - - - - - - - - - Nome fantasia - - - - - - - - - - - Telefone - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - - - - Informações do Destinatário - Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do destinatário ou ISENTO se destinatário é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o destinatário não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Razão Social ou Nome do destinatário - - - - - - - - - - - Telefone - - - - - Inscrição na SUFRAMA - (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA) - - - - - - - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - Informações do endereço da origem do serviço - - - - - Informações do endereço do destino do serviço - - - - - Grupo de informações detalhadas da GTV-e - - - - - - Informações das Espécies transportadas - - - - - - Tipo da Espécie - 1 - Cédula -2 - Cheque -3 - Moeda -4 - Outros - - - - - - - - - - - - - - Valor Transportada em Espécie indicada - - - - - Nacionalidade do Numerário - 1 - Nacional -2 - Estrangeiro - - - - - - - - - - - - Nome da Moeda - Informar somente se tipo de numerário for 2 - Estrangeiro - - - - - - - - - - - - - - Quantidade de volumes/malotes - - - - - Grupo de informações dos veículos utilizados no transporte de valores - - - - - - Placa do veículo - - - - - UF em que veículo está licenciado - Sigla da UF de licenciamento do veículo. - - - - - RNTRC do transportador - - - - - - - - - - - - - - - - - Autorizados para download do XML do DF-e - Informar CNPJ ou CPF. Preencher os zeros não significativos. - - - - - - - CNPJ do autorizado - Informar zeros não significativos - - - - - CPF do autorizado - Informar zeros não significativos - - - - - - - - - Informações do Responsável Técnico pela emissão do DF-e - - - - - - Versão do leiaute - Ex: "4.00" - - - - - - - - Identificador da tag a ser assinada - Informar a chave de acesso do CT-e OS e precedida do literal "CTe" - - - - - - - - - - - - Informações suplementares da GTV-e - - - - - - Texto com o QR-Code impresso no DACTE - - - - - - - - - - - - - - - - - - Versão do leiaute - - - - - - - - - Tipo Protocolo de status resultado do processamento da CT-e - - - - - Dados do protocolo de status - - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Versão do Aplicativo que processou o CT-e - - - - - Chaves de acesso da CT-e, - - - - - Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD. - - - - - Número do Protocolo de Status do CT-e. - - - - - Digest Value da CT-e processado. Utilizado para conferir a integridade do CT-e original. - - - - - Código do status do CT-e. - - - - - - - - Descrição literal do status do CT-e. - - - - - - - - - Mensagem do Fisco - - - - - - Código do status da mensagem do fisco - - - - - - - - Mensagem do Fisco - - - - - - - - - - - - - - - - Tipo Protocolo de status resultado do processamento do CT-e OS (Modelo 67) - - - - - Dados do protocolo de status - - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Versão do Aplicativo que processou o CT-e - - - - - Chaves de acesso da CT-e - - - - - Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD. - - - - - Número do Protocolo de Status do CT-e. - - - - - Digest Value da CT-e processado. Utilizado para conferir a integridade do CT-e original. - - - - - Código do status do CT-e. - - - - - - - - Descrição literal do status do CT-e. - - - - - - - - - Mensagem do Fisco - - - - - - Código do status da mensagem do fisco - - - - - - - - Mensagem do Fisco - - - - - - - - - - - - - - - - Tipo Protocolo de status resultado do processamento da GTV-e (Modelo 64) - - - - - Dados do protocolo de status - - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Versão do Aplicativo que processou a GTV-e - - - - - Chaves de acesso da CT-e - - - - - Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD. - - - - - Número do Protocolo de Status da GTV-e - - - - - Digest Value da GTV-e processado. Utilizado para conferir a integridade da GTV-e original. - - - - - Código do status da GTV-e. - - - - - - - - Descrição literal do status da GTV-e. - - - - - - - - - Mensagem do Fisco - - - - - - Código do status da mensagem do fisco - - - - - - - - Mensagem do Fisco - - - - - - - - - - - - - - - - Tipo Retorno do Pedido de Autorização de CT-e Simplificado (Modelo 57) - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Identificação da UF - - - - - Versão do Aplicativo que processou a CT-e - - - - - código do status do retorno da consulta. - - - - - Descrição literal do status do do retorno da consulta. - - - - - Reposta ao processamento do CT-e - - - - - - - - Tipo Retorno do Pedido de Autorização de CT-e (Modelo 57) - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Identificação da UF - - - - - Versão do Aplicativo que processou a CT-e - - - - - código do status do retorno da consulta. - - - - - Descrição literal do status do do retorno da consulta. - - - - - Reposta ao processamento do CT-e - - - - - - - - Tipo Retorno do Pedido de Autorização de GTV-e (Modelo 64) - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Identificação da UF - - - - - Versão do Aplicativo que processou a GTV-e - - - - - código do status do retorno da consulta. - - - - - Descrição literal do status do do retorno da consulta. - - - - - Reposta ao processamento do CT-e - - - - - - - - Tipo Retorno do Pedido de Autorização de CT-e OS (Modelo 67) - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Identificação da UF - - - - - Versão do Aplicativo que processou a CT-e - - - - - código do status do retorno da consulta. - - - - - Descrição literal do status do do retorno da consulta. - - - - - Reposta ao processamento do CT-e - - - - - - - - Tipo Conhecimento de Transporte Eletrônico (Modelo 57) - Modelo Simplificado - - - - - Informações do CT-e - - - - - - Identificação do CT-e - - - - - - Código da UF do emitente do CT-e. - Utilizar a Tabela do IBGE. - - - - - Código numérico que compõe a Chave de Acesso. - Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento. - - - - - - - - - - - Código Fiscal de Operações e Prestações - - - - - Natureza da Operação - - - - - - - - - - - Modelo do documento fiscal - Utilizar o código 57 para identificação do CT-e, emitido em substituição aos modelos de conhecimentos em papel. - - - - - Série do CT-e - Preencher com "0" no caso de série única - - - - - - - - Número do CT-e - - - - - Data e hora de emissão do CT-e - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Formato de impressão do DACTE - Preencher com: 1 - Retrato; 2 - Paisagem. - - - - - - - - - - - - Forma de emissão do CT-e - Preencher com: -1 - Normal; -3 - Regime Especial NFF; -4 - EPEC pela SVC; -7 - Autorização pela SVC-RS; -8 - Autorização pela SVC-SP - - - - - - - - - - - - - - - Digito Verificador da chave de acesso do CT-e - Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso. - - - - - - - - - - - Tipo do Ambiente - Preencher com:1 - Produção; 2 - Homologação. - - - - - Tipo do CT-e Simplificado - Preencher com: -5 - CTe Simplificado -6 - Substituição CTe Simplificado - - - - - Identificador do processo de emissão do CT-e - Preencher com: - 0 - emissão de CT-e com aplicativo do contribuinte; - 3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo SEBRAE. - - - - - Versão do processo de emissão - Informar a versão do aplicativo emissor de CT-e. - - - - - - - - - - - Código do Município de envio do CT-e (de onde o documento foi transmitido) - Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior. - - - - - Nome do Município de envio do CT-e (de onde o documento foi transmitido) - Informar PAIS/Municipio para as operações com o exterior. - - - - - - - - - - - Sigla da UF de envio do CT-e (de onde o documento foi transmitido) - Informar 'EX' para operações com o exterior. - - - - - Modal - Preencher com: -01-Rodoviário -02-Aéreo -03-Aquaviário - - - - - Tipo do Serviço - Preencher com: -0 - Normal; -1 - Subcontratação; -2 - Redespacho; - - - - - - - - - - - - - UF do início da prestação - Informar 'EX' para operações com o exterior. - - - - - UF do término da prestação - Informar 'EX' para operações com o exterior. - - - - - Indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino? - Preencher com: 0 - sim; 1 - não - - - - - - - - - - - - Detalhes do retira - - - - - - - - - - - Informar apenas -para tpEmis diferente de 1 - - - - Data e Hora da entrada em contingência - Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS - - - - - Justificativa da entrada em contingência - - - - - - - - - - - - - - - Dados complementares do CT-e para fins operacionais ou comerciais - - - - - - Característica adicional do transporte - Texto livre: -REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc - - - - - - - - - - - Característica adicional do serviço - Texto livre: - ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc - - - - - - - - - - - Previsão do fluxo da carga - Preenchimento obrigatório para o modal aéreo. - - - - - - Sigla ou código interno da Filial/Porto/Estação/ Aeroporto de Origem - Observações para o modal aéreo: - - Preenchimento obrigatório para o modal aéreo. - - O código de três letras IATA do aeroporto de partida deverá ser incluído como primeira anotação. Quando não for possível, utilizar a sigla OACI. - - - - - - - - - - - - - - Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Passagem - Observação para o modal aéreo: - - O código de três letras IATA, referente ao aeroporto de transferência, deverá ser incluído, quando for o caso. Quando não for possível, utilizar a sigla OACI. Qualquer solicitação de itinerário deverá ser incluída. - - - - - - - - - - - - - - Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Destino - Observações para o modal aéreo: - - Preenchimento obrigatório para o modal aéreo. - - Deverá ser incluído o código de três letras IATA do aeroporto de destino. Quando não for possível, utilizar a sigla OACI. - - - - - - - - - - - Código da Rota de Entrega - - - - - - - - - - - - - - Observações Gerais - - - - - - - - - - - Campo de uso livre do contribuinte - Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto - - - - - - Conteúdo do campo - - - - - - - - - - - - Identificação do campo - - - - - - - - - - - - - Campo de uso livre do contribuinte - Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto - - - - - - Conteúdo do campo - - - - - - - - - - - - Identificação do campo - - - - - - - - - - - - - - - - Identificação do Emitente do CT-e - - - - - - - CNPJ do emitente - Informar zeros não significativos - - - - - CPF do emitente - Informar zeros não significativos. - -Usar com série específica 920-969 para emitente pessoa física com inscrição estadual - - - - - - Inscrição Estadual do Emitente - A IE do emitente somente ficará sem informação para o caso do Regime Especial da NFF (tpEmis=3) - - - - - - - - Inscrição Estadual do Substituto Tributário - - - - - - - - Razão social ou Nome do emitente - - - - - - - - - - - Nome fantasia - - - - - - - - - - - Endereço do emitente - - - - - Código do Regime Tributário - Informar: 1=Simples Nacional; -2=Simples Nacional, excesso sublimite de receita bruta; -3=Regime Normal. -4=Simples Nacional - Microempreendedor Individual – MEI. - - - - - - - - - Identificação do tomador do serviço no CT-e - - - - - - Tomador do Serviço - Preencher com: - -0-Remetente; -1-Expedidor; -2-Recebedor; -3-Destinatário -4-Terceiro - - - - - - - - - - - - - - - Indicador do papel do tomador na prestação do serviço: -1 – Contribuinte ICMS; -2 – Contribuinte isento de inscrição; -9 – Não Contribuinte - Aplica-se ao tomador que for indicado no toma - - - - - - - - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. -Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Razão Social ou Nome - - - - - - - - - - - Inscrição na SUFRAMA - (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA) - - - - - - - - - - - Telefone - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - Informações da Carga do CT-e - - - - - - Valor total da carga - - - - - Produto predominante - Informar a descrição do produto predominante - - - - - - - - - - - Outras características da carga - "FRIA", "GRANEL", "REFRIGERADA", "Medidas: 12X12X12" - - - - - - - - - - - Informações de quantidades da Carga do CT-e - Para o Aéreo é obrigatório o preenchimento desse campo da seguinte forma. -1 - Peso Bruto, sempre em quilogramas (obrigatório); -2 - Peso Cubado; sempre em quilogramas; -3 - Quantidade de volumes, sempre em unidades (obrigatório); -4 - Cubagem, sempre em metros cúbicos (obrigatório apenas quando for impossível preencher as dimensões da(s) embalagem(ens) na tag xDime do leiaute do Aéreo). - - - - - - Código da Unidade de Medida - Preencher com: -00-M3; -01-KG; -02-TON; -03-UNIDADE; -04-LITROS; -05-MMBTU - - - - - - - - - - - - - - - - Tipo da Medida - Informar com: -00-Cubagem da NF-e -01-Cubagem Aferida pelo Transportador -02-Peso Bruto da NF-e -03-Peso Bruto Aferido pelo Transportador -04-Peso Cubado -05-Peso Base do Cálculo do Frete -06-Peso para uso Operacional -07-Caixas -08-Paletes -09-Sacas -10-Containers -11-Rolos -12-Bombonas -13-Latas -14-Litragem -15-Milhão de BTU (British Thermal Units) -99-Outros - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quantidade - - - - - - - - Valor da Carga para efeito de averbação - Normalmente igual ao valor declarado da mercadoria, diferente por exemplo, quando a mercadoria transportada é isenta de tributos nacionais para exportação, onde é preciso averbar um valor maior, pois no caso de indenização, o valor a ser pago será maior - - - - - - - - Detalhamento das entregas / prestações do CTe Simplificado - - - - - - - Código do Município de início da prestação - Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. - - - - - Nome do Município do início da prestação - Informar 'EXTERIOR' para operações com o exterior. - - - - - - - - - - - - - Código do Município de término da prestação - Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. - - - - - Nome do Município do término da prestação - Informar 'EXTERIOR' para operações com o exterior. - - - - - - - - - - - - Valorl da Prestação do Serviço - Pode conter zeros quando o CT-e for de complemento de ICMS - - - - - Valor a Receber - - - - - Componentes do Valor da Prestação - - - - - - Nome do componente - Exxemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc - - - - - - - - - - - Valor do componente - - - - - - - - - Informações das NF-e - - - - - - Chave de acesso da NF-e - - - - - PIN SUFRAMA - PIN atribuído pela SUFRAMA para a operação. - - - - - - - - - - - - - Data prevista de entrega - Formato AAAA-MM-DD - - - - - - Informações das Unidades de Carga (Containeres/ULD/Outros) - Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. - - - - - Informações das Unidades de Transporte (Carreta/Reboque/Vagão) - Deve ser preenchido com as informações das unidades de transporte utilizadas. - - - - - - - - - Documentos anteriores - - - - - - Chave de acesso do CT-e - - - - - indica se a prestação é total ou parcial em relação as notas do documento anterior - Preencher com: - -1 - Total -2 - Parcial - - - - - - - - - - - - - - - Chave de acesso da NF-e - Informando o tpPrest com “2 – Parcial” deve-se informar as chaves de acesso das NF-e que acobertam a carga transportada. - - - - - - - - - - - - - Número identificador do item agrupador da prestação - - - - - - - - - - - - - Informações do modal - - - - - - XML do modal -Insira neste local o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). - O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema. - Insira neste local - any- o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação: - Rodoviário - ver arquivo CTeModalRodoviario_v9.99 - Aéreo - ver arquivo CTeModalAereo_v9.99 - Aquaviário - arquivo CTeModalAquaviario_v9.99 - Ferroviário - arquivo CTeModalFerroviario_v9.99 - Dutoviário - arquivo CTeModalDutoviario_v9.99 - -Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o arquivo para o schema do modal Rodoviário na versão 1.04 será denominado "CTeModalRodoviario_v1.04". - - - - - - Versão do leiaute específico para o Modal - - - - - - - - - - - - - Dados da cobrança do CT-e - - - - - - Dados da fatura - - - - - - Número da fatura - - - - - - - - - - - Valor original da fatura - - - - - Valor do desconto da fatura - - - - - Valor líquido da fatura - - - - - - - - Dados das duplicatas - - - - - - Número da duplicata - - - - - - - - - - - Data de vencimento da duplicata (AAAA-MM-DD) - - - - - Valor da duplicata - - - - - - - - - - - Informações do CT-e de substituição - - - - - - Chave de acesso do CT-e a ser substituído (original) - - - - - - - - - - Indicador de CT-e Alteração de Tomador - - - - - - - - - - - - - Informações relativas aos Impostos - - - - - - Informações relativas ao ICMS - - - - - - Valor Total dos Tributos - - - - - Informações adicionais de interesse do Fisco - Norma referenciada, informações complementares, etc - - - - - - - - - - - Informações do ICMS de partilha com a UF de término do serviço de transporte na operação interestadual - Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS - - - - - - Valor da BC do ICMS na UF de término da prestação do serviço de transporte - - - - - Percentual do ICMS relativo ao Fundo de Combate à pobreza (FCP) na UF de término da prestação do serviço de transporte - Alíquota adotada nas operações internas na UF do destinatário - - - - - Alíquota interna da UF de término da prestação do serviço de transporte - Alíquota adotada nas operações internas na UF do destinatário - - - - - Alíquota interestadual das UF envolvidas - Alíquota interestadual das UF envolvidas - - - - - - Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação - - - - - Valor do ICMS de partilha para a UF de término da prestação do serviço de transporte - - - - - Valor do ICMS de partilha para a UF de início da prestação do serviço de transporte - - - - - - - - - - - Valores Totais do CTe - - - - - - Valor Total da Prestação do Serviço - Pode conter zeros quando o CT-e for de complemento de ICMS - - - - - Valor total a Receber - - - - - - - - Autorizados para download do XML do DF-e - Informar CNPJ ou CPF. Preencher os zeros não significativos. - - - - - - - CNPJ do autorizado - Informar zeros não significativos - - - - - CPF do autorizado - Informar zeros não significativos - - - - - - - - - Informações do Responsável Técnico pela emissão do DF-e - - - - - Grupo de informações do pedido de emissão da Nota Fiscal Fácil - - - - - - Solicitação do pedido de emissão da NFF. - Será preenchido com a totalidade de campos informados no aplicativo emissor serializado. - - - - - - - - - - - - - - Grupo de Informação do Provedor de Assinatura e Autorização - - - - - - CNPJ do Provedor de Assinatura e Autorização - - - - - Assinatura RSA do Emitente para DFe gerados por PAA - - - - - - Assinatura digital padrão RSA - Converter o atributo Id do DFe para array de bytes e assinar com a chave privada do RSA com algoritmo SHA1 gerando um valor no formato base64. - - - - - Chave Publica no padrão XML RSA Key - - - - - - - - - - - - Versão do leiaute - Ex: "4.00" - - - - - - - - Identificador da tag a ser assinada - Informar a chave de acesso do CT-e e precedida do literal "CTe" - - - - - - - - - - - - - - - - Informações suplementares do CT-e - - - - - - Texto com o QR-Code impresso no DACTE - - - - - - - - - - - - - - - - - - - Tipo Conhecimento de Transporte Eletrônico (Modelo 57) - - - - - Informações do CT-e - - - - - - Identificação do CT-e - - - - - - Código da UF do emitente do CT-e. - Utilizar a Tabela do IBGE. - - - - - Código numérico que compõe a Chave de Acesso. - Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento. - - - - - - - - - - - Código Fiscal de Operações e Prestações - - - - - Natureza da Operação - - - - - - - - - - - Modelo do documento fiscal - Utilizar o código 57 para identificação do CT-e, emitido em substituição aos modelos de conhecimentos em papel. - - - - - Série do CT-e - Preencher com "0" no caso de série única - - - - - - - - Número do CT-e - - - - - Data e hora de emissão do CT-e - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Formato de impressão do DACTE - Preencher com: 1 - Retrato; 2 - Paisagem. - - - - - - - - - - - - Forma de emissão do CT-e - Preencher com: -1 - Normal; - 3-Regime Especial NFF; 4-EPEC pela SVC; 5 - Contingência FSDA; - 7 - Autorização pela SVC-RS; - 8 - Autorização pela SVC-SP - - - - - - - - - - - - - - - - Digito Verificador da chave de acesso do CT-e - Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso. - - - - - - - - - - - Tipo do Ambiente - Preencher com:1 - Produção; 2 - Homologação. - - - - - Tipo do CT-e - Preencher com: - 0 - CT-e Normal; - 1 - CT-e de Complemento de Valores; - 3 - CT-e de Substituição - - - - - Identificador do processo de emissão do CT-e - Preencher com: - 0 - emissão de CT-e com aplicativo do contribuinte; - 3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo SEBRAE. - - - - - Versão do processo de emissão - Iinformar a versão do aplicativo emissor de CT-e. - - - - - - - - - - - Indicador de CT-e Globalizado - Informar valor 1 quando for Globalizado e não informar a tag quando não tratar de CT-e Globalizado - - - - - - - - - - Código do Município de envio do CT-e (de onde o documento foi transmitido) - Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior. - - - - - Nome do Município de envio do CT-e (de onde o documento foi transmitido) - Informar PAIS/Municipio para as operações com o exterior. - - - - - - - - - - - Sigla da UF de envio do CT-e (de onde o documento foi transmitido) - Informar 'EX' para operações com o exterior. - - - - - Modal - Preencher com:01-Rodoviário; -02-Aéreo;03-Aquaviário;04-Ferroviário;05-Dutoviário;06-Multimodal; - - - - - Tipo do Serviço - Preencher com: -0 - Normal; -1 - Subcontratação; -2 - Redespacho; -3 - Redespacho Intermediário; -4 - Serviço Vinculado a Multimodal - - - - - - - - - - - - - - - Código do Município de início da prestação - Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. - - - - - Nome do Município do início da prestação - Informar 'EXTERIOR' para operações com o exterior. - - - - - - - - - - - UF do início da prestação - Informar 'EX' para operações com o exterior. - - - - - Código do Município de término da prestação - Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. - - - - - Nome do Município do término da prestação - Informar 'EXTERIOR' para operações com o exterior. - - - - - - - - - - - UF do término da prestação - Informar 'EX' para operações com o exterior. - - - - - Indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino? - Preencher com: 0 - sim; 1 - não - - - - - - - - - - - - Detalhes do retira - - - - - - - - - - - Indicador do papel do tomador na prestação do serviço: -1 – Contribuinte ICMS; -2 – Contribuinte isento de inscrição; -9 – Não Contribuinte - Aplica-se ao tomador que for indicado no toma3 ou toma4 - - - - - - - - - - - - - - Indicador do "papel" do tomador do serviço no CT-e - - - - - - Tomador do Serviço - Preencher com: - 0-Remetente; - 1-Expedidor; - 2-Recebedor; - 3-Destinatário - Serão utilizadas as informações contidas no respectivo grupo, conforme indicado pelo conteúdo deste campo - - - - - - - - - - - - - - - - - Indicador do "papel" do tomador do serviço no CT-e - - - - - - Tomador do Serviço - Preencher com: - 4 - Outros - Obs: Informar os dados cadastrais do tomador do serviço - - - - - - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. -Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - - Razão Social ou Nome - - - - - - - - - - - Nome Fantasia - - - - - - - - - - - Telefone - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - - - Informar apenas -para tpEmis diferente de 1 - - - - Data e Hora da entrada em contingência - Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS - - - - - Justificativa da entrada em contingência - - - - - - - - - - - - - - - Dados complementares do CT-e para fins operacionais ou comerciais - - - - - - Característica adicional do transporte - Texto livre: -REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc - - - - - - - - - - - Característica adicional do serviço - Texto livre: - ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc - - - - - - - - - - - Funcionário emissor do CTe - - - - - - - - - - - Previsão do fluxo da carga - Preenchimento obrigatório para o modal aéreo. - - - - - - Sigla ou código interno da Filial/Porto/Estação/ Aeroporto de Origem - Observações para o modal aéreo: - - Preenchimento obrigatório para o modal aéreo. - - O código de três letras IATA do aeroporto de partida deverá ser incluído como primeira anotação. Quando não for possível, utilizar a sigla OACI. - - - - - - - - - - - - - - Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Passagem - Observação para o modal aéreo: - - O código de três letras IATA, referente ao aeroporto de transferência, deverá ser incluído, quando for o caso. Quando não for possível, utilizar a sigla OACI. Qualquer solicitação de itinerário deverá ser incluída. - - - - - - - - - - - - - - Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Destino - Observações para o modal aéreo: - - Preenchimento obrigatório para o modal aéreo. - - Deverá ser incluído o código de três letras IATA do aeroporto de destino. Quando não for possível, utilizar a sigla OACI. - - - - - - - - - - - Código da Rota de Entrega - - - - - - - - - - - - - - Informações ref. a previsão de entrega - - - - - - - Entrega sem data definida - Esta opção é proibida para o modal aéreo. - - - - - - Tipo de data/período programado para entrega - 0- Sem data definida - - - - - - - - - - - - - - Entrega com data definida - - - - - - Tipo de data/período programado para entrega - Preencher com: - 1-Na data; - 2-Até a data; - 3-A partir da data - - - - - - - - - - - - - Data programada - Formato AAAA-MM-DD - - - - - - - - Entrega no período definido - - - - - - Tipo período - 4-no período - - - - - - - - - - - Data inicial - Formato AAAA-MM-DD - - - - - Data final - Formato AAAA-MM-DD - - - - - - - - - - Entrega sem hora definida - - - - - - Tipo de hora - 0- Sem hora definida - - - - - - - - - - - - - - Entrega com hora definida - - - - - - Tipo de hora - Preencher com: - 1 - No horário; - 2 - Até o horário; - 3 - A partir do horário. - - - - - - - - - - - - - Hora programada - Formato HH:MM:SS - - - - - - - - Entrega no intervalo de horário definido - - - - - - Tipo de hora - 4 - No intervalo de tempo - - - - - - - - - - - Hora inicial - Formato HH:MM:SS - - - - - Hora final - Formato HH:MM:SS - - - - - - - - - - - - Município de origem para efeito de cálculo do frete - - - - - - - - - - - Município de destino para efeito de cálculo do frete - - - - - - - - - - - Observações Gerais - - - - - - - - - - - Campo de uso livre do contribuinte - Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto - - - - - - Conteúdo do campo - - - - - - - - - - - - Identificação do campo - - - - - - - - - - - - - Campo de uso livre do contribuinte - Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto - - - - - - Conteúdo do campo - - - - - - - - - - - - Identificação do campo - - - - - - - - - - - - - - - - Identificação do Emitente do CT-e - - - - - - - CNPJ do emitente - Informar zeros não significativos - - - - - CPF do emitente - Informar zeros não significativos. - -Usar com série específica 920-969 para emitente pessoa física com inscrição estadual - - - - - - Inscrição Estadual do Emitente - A IE do emitente somente ficará sem informação para o caso do Regime Especial da NFF (tpEmis=3) - - - - - - - - Inscrição Estadual do Substituto Tributário - - - - - - - - Razão social ou Nome do emitente - - - - - - - - - - - Nome fantasia - - - - - - - - - - - Endereço do emitente - - - - - Código do Regime Tributário - Informar: 1=Simples Nacional; -2=Simples Nacional, excesso sublimite de receita bruta; -3=Regime Normal. -4=Simples Nacional - Microempreendedor Individual – MEI. - - - - - - - - - Informações do Remetente das mercadorias transportadas pelo CT-e - Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar a tag. - - - - - - - - Razão social ou nome do remetente - - - - - - - - - - - Nome fantasia - - - - - - - - - - - Telefone - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - - - - Informações do Expedidor da Carga - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do expedidor ou ISENTO se expedidor é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o expedidor não seja contribuinte do ICMS não informar a tag. - - - - - - - - Razão Social ou Nome - - - - - - - - - - - Telefone - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - Informações do Recebedor da Carga - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do recebedor ou ISENTO se recebedor é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o recebedor não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Razão Social ou Nome - - - - - - - - - - - Telefone - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - Informações do Destinatário do CT-e - Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do destinatário ou ISENTO se destinatário é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o destinatário não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Razão Social ou Nome do destinatário - - - - - - - - - - - Telefone - - - - - Inscrição na SUFRAMA - (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA) - - - - - - - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - Valores da Prestação de Serviço - - - - - - Valor Total da Prestação do Serviço - Pode conter zeros quando o CT-e for de complemento de ICMS - - - - - Valor a Receber - - - - - Componentes do Valor da Prestação - - - - - - Nome do componente - Exxemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc - - - - - - - - - - - Valor do componente - - - - - - - - - - - Informações relativas aos Impostos - - - - - - Informações relativas ao ICMS - - - - - - Valor Total dos Tributos - - - - - Informações adicionais de interesse do Fisco - Norma referenciada, informações complementares, etc - - - - - - - - - - - Informações do ICMS de partilha com a UF de término do serviço de transporte na operação interestadual - Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS - - - - - - Valor da BC do ICMS na UF de término da prestação do serviço de transporte - - - - - Percentual do ICMS relativo ao Fundo de Combate à pobreza (FCP) na UF de término da prestação do serviço de transporte - Alíquota adotada nas operações internas na UF do destinatário - - - - - Alíquota interna da UF de término da prestação do serviço de transporte - Alíquota adotada nas operações internas na UF do destinatário - - - - - Alíquota interestadual das UF envolvidas - Alíquota interestadual das UF envolvidas - - - - - - Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação - - - - - Valor do ICMS de partilha para a UF de término da prestação do serviço de transporte - - - - - Valor do ICMS de partilha para a UF de início da prestação do serviço de transporte - - - - - - - - - - - - Grupo de informações do CT-e Normal e Substituto - - - - - - Informações da Carga do CT-e - - - - - - Valor total da carga - Dever ser informado para todos os modais, com exceção para o Dutoviário. - - - - - Produto predominante - Informar a descrição do produto predominante - - - - - - - - - - - Outras características da carga - "FRIA", "GRANEL", "REFRIGERADA", "Medidas: 12X12X12" - - - - - - - - - - - Informações de quantidades da Carga do CT-e - Para o Aéreo é obrigatório o preenchimento desse campo da seguinte forma. -1 - Peso Bruto, sempre em quilogramas (obrigatório); -2 - Peso Cubado; sempre em quilogramas; -3 - Quantidade de volumes, sempre em unidades (obrigatório); -4 - Cubagem, sempre em metros cúbicos (obrigatório apenas quando for impossível preencher as dimensões da(s) embalagem(ens) na tag xDime do leiaute do Aéreo). - - - - - - Código da Unidade de Medida - Preencher com: - 00-M3; - 01-KG; - 02-TON; - 03-UNIDADE; - 04-LITROS; - 05-MMBTU - - - - - - - - - - - - - - - - Tipo da Medida - Exemplos: -PESO BRUTO, PESO DECLARADO, PESO CUBADO, PESO AFORADO, PESO AFERIDO, PESO BASE DE CÁLCULO, LITRAGEM, CAIXAS e etc - - - - - - - - - - - Quantidade - - - - - - - - Valor da Carga para efeito de averbação - Normalmente igual ao valor declarado da mercadoria, diferente por exemplo, quando a mercadoria transportada é isenta de tributos nacionais para exportação, onde é preciso averbar um valor maior, pois no caso de indenização, o valor a ser pago será maior - - - - - - - - Informações dos documentos transportados pelo CT-e -Opcional para Redespacho Intermediario e Serviço vinculado a multimodal. - Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. - - - - - - - Informações das NF - Este grupo deve ser informado quando o documento originário for NF - - - - - - Número do Romaneio da NF - - - - - - - - - - - Número do Pedido da NF - - - - - - - - - - - Modelo da Nota Fiscal - Preencher com: -01 - NF Modelo 01/1A e Avulsa; -04 - NF de Produtor - - - - - Série - - - - - - - - - - - Número - - - - - - - - - - - Data de Emissão - Formato AAAA-MM-DD - - - - - Valor da Base de Cálculo do ICMS - - - - - Valor Total do ICMS - - - - - Valor da Base de Cálculo do ICMS ST - - - - - Valor Total do ICMS ST - - - - - Valor Total dos Produtos - - - - - Valor Total da NF - - - - - CFOP Predominante - CFOP da NF ou, na existência de mais de um, predominância pelo critério de valor econômico. - - - - - Peso total em Kg - - - - - PIN SUFRAMA - PIN atribuído pela SUFRAMA para a operação. - - - - - - - - - - - - - Data prevista de entrega - Formato AAAA-MM-DD - - - - - - Informações das Unidades de Carga (Containeres/ULD/Outros) - Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. - - - - - Informações das Unidades de Transporte (Carreta/Reboque/Vagão) - Deve ser preenchido com as informações das unidades de transporte utilizadas. - - - - - - - - - Informações das NF-e - - - - - - Chave de acesso da NF-e - - - - - PIN SUFRAMA - PIN atribuído pela SUFRAMA para a operação. - - - - - - - - - - - - - Data prevista de entrega - Formato AAAA-MM-DD - - - - - - Informações das Unidades de Carga (Containeres/ULD/Outros) - Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. - - - - - Informações das Unidades de Transporte (Carreta/Reboque/Vagão) - Deve ser preenchido com as informações das unidades de transporte utilizadas. - - - - - - - - - Informações dos demais documentos - - - - - - Tipo de documento originário - Preencher com: - 00 - Declaração; - 10 - Dutoviário; - - -59 - CF-e SAT; - -65 - NFC-e; - 99 - Outros - - - - - - - - - - - - - - - Descrição do documento - - - - - - - - - - - Número - - - - - - - - - - - Data de Emissão - Formato AAAA-MM-DD - - - - - Valor do documento - - - - - Data prevista de entrega - Formato AAAA-MM-DD - - - - - - Informações das Unidades de Carga (Containeres/ULD/Outros) - Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. - - - - - Informações das Unidades de Transporte (Carreta/Reboque/Vagão) - Deve ser preenchido com as informações das unidades de transporte utilizadas. - - - - - - - - - - - - - Documentos de Transporte Anterior - - - - - - Emissor do documento anterior - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - - Inscrição Estadual - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - - Razão Social ou Nome do expedidor - - - - - - - - - - - Informações de identificação dos documentos de Transporte Anterior - - - - - - Documentos de transporte anterior em papel - - - - - - Tipo do Documento de Transporte Anterior - Preencher com: -07-ATRE; -08-DTA (Despacho de Transito Aduaneiro); -09-Conhecimento Aéreo Internacional; -10 – Conhecimento - Carta de Porte Internacional; -11 – Conhecimento Avulso; -12-TIF (Transporte Internacional Ferroviário); 13-BL (Bill of Lading) - - - - - - - - Série do Documento Fiscal - - - - - - - - - - - Série do Documento Fiscal - - - - - - - - - - - Número do Documento Fiscal - - - - - - - - - - - Data de emissão (AAAA-MM-DD) - - - - - - - - Documentos de transporte anterior eletrônicos - - - - - - Chave de acesso do CT-e - - - - - - - - - - - - - - - - - Informações do modal - - - - - - XML do modal -Insira neste local o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). - O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema. - Insira neste local - any- o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação: - Rodoviário - ver arquivo CTeModalRodoviario_v9.99 - Aéreo - ver arquivo CTeModalAereo_v9.99 - Aquaviário - arquivo CTeModalAquaviario_v9.99 - Ferroviário - arquivo CTeModalFerroviario_v9.99 - Dutoviário - arquivo CTeModalDutoviario_v9.99 - -Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o arquivo para o schema do modal Rodoviário na versão 1.04 será denominado "CTeModalRodoviario_v1.04". - - - - - - Versão do leiaute específico para o Modal - - - - - - - - - - - - - informações dos veículos transportados - - - - - - Chassi do veículo - - - - - - - - - - - - Cor do veículo - Código de cada montadora - - - - - - - - - - - Descrição da cor - - - - - - - - - - - Código Marca Modelo - Utilizar tabela RENAVAM - - - - - - - - - - - Valor Unitário do Veículo - - - - - Frete Unitário - - - - - - - - Dados da cobrança do CT-e - - - - - - Dados da fatura - - - - - - Número da fatura - - - - - - - - - - - Valor original da fatura - - - - - Valor do desconto da fatura - - - - - Valor líquido da fatura - - - - - - - - Dados das duplicatas - - - - - - Número da duplicata - - - - - - - - - - - Data de vencimento da duplicata (AAAA-MM-DD) - - - - - Valor da duplicata - - - - - - - - - - - Informações do CT-e de substituição - - - - - - Chave de acesso do CT-e a ser substituído (original) - - - - - - - - - - Indicador de CT-e Alteração de Tomador - - - - - - - - - - - - - Informações do CT-e Globalizado - - - - - - Preencher com informações adicionais, legislação do regime especial, etc - - - - - - - - - - - - - - Informações do Serviço Vinculado a Multimodal - - - - - - informações do CT-e multimodal vinculado - - - - - - Chave de acesso do CT-e Multimodal - - - - - - - - - - - - - - Detalhamento do CT-e complementado - - - - - - Chave do CT-e complementado - - - - - - - - - Autorizados para download do XML do DF-e - Informar CNPJ ou CPF. Preencher os zeros não significativos. - - - - - - - CNPJ do autorizado - Informar zeros não significativos - - - - - CPF do autorizado - Informar zeros não significativos - - - - - - - - - Informações do Responsável Técnico pela emissão do DF-e - - - - - Grupo de informações do pedido de emissão da Nota Fiscal Fácil - - - - - - Solicitação do pedido de emissão da NFF. - Será preenchido com a totalidade de campos informados no aplicativo emissor serializado. - - - - - - - - - - - - - - Grupo de Informação do Provedor de Assinatura e Autorização - - - - - - CNPJ do Provedor de Assinatura e Autorização - - - - - Assinatura RSA do Emitente para DFe gerados por PAA - - - - - - Assinatura digital padrão RSA - Converter o atributo Id do DFe para array de bytes e assinar com a chave privada do RSA com algoritmo SHA1 gerando um valor no formato base64. - - - - - Chave Publica no padrão XML RSA Key - - - - - - - - - - - - Versão do leiaute - Ex: "4.00" - - - - - - - - Identificador da tag a ser assinada - Informar a chave de acesso do CT-e e precedida do literal "CTe" - - - - - - - - - - - - Informações suplementares do CT-e - - - - - - Texto com o QR-Code impresso no DACTE - - - - - - - - - - - - - - - - - - - Tipo Conhecimento de Transporte Eletrônico Outros Serviços (Modelo 67) - - - - - Informações do CT-e Outros Serviços - - - - - - Identificação do CT-e Outros Serviços - - - - - - Código da UF do emitente do CT-e. - Utilizar a Tabela do IBGE. - - - - - Código numérico que compõe a Chave de Acesso. - Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento. - - - - - - - - - - - Código Fiscal de Operações e Prestações - - - - - Natureza da Operação - - - - - - - - - - - Modelo do documento fiscal - Utilizar o código 67 para identificação do CT-e Outros Serviços, emitido em substituição a Nota Fiscal Modelo 7 para transporte de pessoas, valores e excesso de bagagem. - - - - - Série do CT-e OS - Preencher com "0" no caso de série única - - - - - - - - Número do CT-e OS - - - - - Data e hora de emissão do CT-e OS - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Formato de impressão do DACTE OS - Preencher com: 1 - Retrato; 2 - Paisagem. - - - - - - - - - - - - Forma de emissão do CT-e - Preencher com: -1 - Normal; - 5 - Contingência FSDA; -7 - Autorização pela SVC-RS; - 8 - Autorização pela SVC-SP - - - - - - - - - - - - - - Digito Verificador da chave de acesso do CT-e - Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso. - - - - - - - - - - - Tipo do Ambiente - Preencher com:1 - Produção; 2 - Homologação - - - - - Tipo do CT-e OS - Preencher com: -0 - CT-e Normal; -1 - CT-e Complementar; -3 - CT-e de Substituição. - - - - - Identificador do processo de emissão do CT-e OS - Preencher com: - 0 - emissão de CT-e com aplicativo do contribuinte; - 3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo Fisco. - - - - - Versão do processo de emissão - Iinformar a versão do aplicativo emissor de CT-e. - - - - - - - - - - - Código do Município de envio do CT-e (de onde o documento foi transmitido) - Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior. - - - - - Nome do Município de envio do CT-e (de onde o documento foi transmitido) - Informar PAIS/Municipio para as operações com o exterior. - - - - - - - - - - - Sigla da UF de envio do CT-e (de onde o documento foi transmitido) - Informar 'EX' para operações com o exterior. - - - - - Modal do CT-e OS - Preencher com: -01-Rodoviário; -02- Aéreo; -03 - Aquaviário; -04 - Ferroviário. - - - - - Tipo do Serviço - Preencher com: - -6 - Transporte de Pessoas; -7 - Transporte de Valores; -8 - Excesso de Bagagem. - - - - - - - - - - - - - Indicador da IE do tomador: -1 – Contribuinte ICMS; -2 – Contribuinte isento de inscrição; -9 – Não Contribuinte - Aplica-se ao tomador que for indicado no toma3 ou toma4 - - - - - - - - - - - - - Código do Município de início da prestação - Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. - - - - - Nome do Município do início da prestação - Informar 'EXTERIOR' para operações com o exterior. - - - - - - - - - - - UF do início da prestação - Informar 'EX' para operações com o exterior. - - - - - Código do Município de término da prestação - Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. - - - - - Nome do Município do término da prestação - Informar 'EXTERIOR' para operações com o exterior. - - - - - - - - - - - UF do término da prestação - Informar 'EX' para operações com o exterior. - - - - - Informações do Percurso do CT-e Outros Serviços - - - - - - Sigla das Unidades da Federação do percurso do veículo. - Não é necessário repetir as UF de Início e Fim - - - - - - - - Informar apenas -para tpEmis diferente de 1 - - - - Data e Hora da entrada em contingência - Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS - - - - - Justificativa da entrada em contingência - - - - - - - - - - - - - - - Dados complementares do CT-e para fins operacionais ou comerciais - - - - - - Característica adicional do transporte - Texto livre: -REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc - - - - - - - - - - - Característica adicional do serviço - Texto livre: - ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc - - - - - - - - - - - Funcionário emissor do CTe - - - - - - - - - - - Observações Gerais - - - - - - - - - - - Campo de uso livre do contribuinte - Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto - - - - - - Conteúdo do campo - - - - - - - - - - - - Identificação do campo - - - - - - - - - - - - - Campo de uso livre do contribuinte - Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto - - - - - - Conteúdo do campo - - - - - - - - - - - - Identificação do campo - - - - - - - - - - - - - - - - Identificação do Emitente do CT-e OS - - - - - - CNPJ do emitente - Informar zeros não significativos - - - - - Inscrição Estadual do Emitente - - - - - - - - Inscrição Estadual do Substituto Tributário - - - - - - - - Razão social ou Nome do emitente - - - - - - - - - - - Nome fantasia - - - - - - - - - - - Endereço do emitente - - - - - Código do Regime Tributário - Informar: 1=Simples Nacional; -2=Simples Nacional, excesso sublimite de receita bruta; -3=Regime Normal; -4=Simples Nacional - Microempreendedor Individual – MEI. - - - - - - - - - Informações do Tomador/Usuário do Serviço - Opcional para Excesso de Bagagem - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Razão social ou nome do tomador - - - - - - - - - - - Nome fantasia - - - - - - - - - - - Telefone - - - - - Dados do endereço - - - - - Endereço de email - - - - - - - - - - - Valores da Prestação de Serviço - - - - - - Valor Total da Prestação do Serviço - Pode conter zeros quando o CT-e for de complemento de ICMS - - - - - Valor a Receber - - - - - Componentes do Valor da Prestação - - - - - - Nome do componente - Exxemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc - - - - - - - - - - - Valor do componente - - - - - - - - - - - Informações relativas aos Impostos - - - - - - Informações relativas ao ICMS - - - - - - Valor Total dos Tributos - - - - - Informações adicionais de interesse do Fisco - Norma referenciada, informações complementares, etc - - - - - - - - - - - Informações do ICMS de partilha com a UF de término do serviço de transporte na operação interestadual - Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS - - - - - - Valor da BC do ICMS na UF de término da prestação do serviço de transporte - - - - - Percentual do ICMS relativo ao Fundo de Combate à pobreza (FCP) na UF de término da prestação do serviço de transporte - Alíquota adotada nas operações internas na UF do destinatário - - - - - Alíquota interna da UF de término da prestação do serviço de transporte - Alíquota adotada nas operações internas na UF do destinatário - - - - - Alíquota interestadual das UF envolvidas - Alíquota interestadual das UF envolvidas - - - - - - Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação - - - - - Valor do ICMS de partilha para a UF de término da prestação do serviço de transporte - - - - - Valor do ICMS de partilha para a UF de início da prestação do serviço de transporte - - - - - - - - Informações dos tributos federais - Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS - - - - - - Valor do PIS - - - - - Valor COFINS - - - - - Valor de Imposto de Renda - - - - - Valor do INSS - - - - - Valor do CSLL - - - - - - - - - - - - Grupo de informações do CT-e OS Normal - - - - - - Informações da Prestação do Serviço - - - - - - Descrição do Serviço prestado - - - - - - - - - - - Informações de quantidades da Carga do CT-e - Para Transporte de Pessoas indicar número de passageiros, para excesso de bagagem e transporte de valores indicar número de Volumes/Malotes - - - - - - Quantidade - - - - - - - - - - - Informações dos documentos referenciados - - - - - - - Número - - - - - - - - - - - Série - - - - - - - - - - - Subsérie - - - - - - - - - - - Data de Emissão - Formato AAAA-MM-DD - - - - - Valor Transportado - - - - - - Chave de acesso do BP-e que possui eventos excesso de bagagem - - - - - - - - - - - Informações de Seguro da Carga - - - - - - Responsável pelo seguro - Preencher com: - -4 - Emitente do CT-e; - -5 - Tomador de Serviço. - - - - - - - - - - - - - - - Nome da Seguradora - - - - - - - - - - - Número da Apólice - Obrigatório pela lei 11.442/07 (RCTRC) - - - - - - - - - - - - - - Informações do modal -Obrigatório para Pessoas e Bagagem - - - - - - XML do modal -Insira neste local o XML específico do modal - O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema. - Insira neste local - any- o XML específico do modal (rodoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação: - Rodoviário - ver arquivo CTeModalRodoviarioOS_v9.99 - -Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o arquivo para o schema do modal Rodoviário na versão 4.00 será denominado "CTeModalRodoviarioOS_v4.00". - - - - - - Versão do leiaute específico para o Modal - - - - - - - - - - - - - Informações do CT-e de substituição - - - - - - Chave de acesso do CT-e a ser substituído (original) - - - - - - - - - - - - - Chave de acesso do CT-e Cancelado -Somente para Transporte de Valores - - - - - - - - Dados da cobrança do CT-e - - - - - - Dados da fatura - - - - - - Número da fatura - - - - - - - - - - - Valor original da fatura - - - - - Valor do desconto da fatura - - - - - Valor líquido da fatura - - - - - - - - Dados das duplicatas - - - - - - Número da duplicata - - - - - - - - - - - Data de vencimento da duplicata (AAAA-MM-DD) - - - - - Valor da duplicata - - - - - - - - - - - Informações das GTV-e relacionadas ao CT-e OS - - - - - - Chave de acesso da GTV-e - - - - - - - - - - Componentes do Valor da GTVe - - - - - - Tipo do Componente - 1-Custodia -2-Embarque -3-Tempo de espera -4-Malote -5-Ad Valorem -6-Outros - - - - - - - - - - - - - - - - Valor do componente - - - - - Nome do componente (informar apenas para outros) - Exemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc - - - - - - - - - - - - - - - - - - - - Detalhamento do CT-e complementado - - - - - - Chave do CT-e complementado - - - - - - - - - Autorizados para download do XML do DF-e - Informar CNPJ ou CPF. Preencher os zeros não significativos. - - - - - - - CNPJ do autorizado - Informar zeros não significativos - - - - - CPF do autorizado - Informar zeros não significativos - - - - - - - - - Informações do Responsável Técnico pela emissão do DF-e - - - - - - Versão do leiaute - Ex: "4.00" - - - - - - - - Identificador da tag a ser assinada - Informar a chave de acesso do CT-e OS e precedida do literal "CTe" - - - - - - - - - - - - Informações suplementares do CT-e - - - - - - Texto com o QR-Code impresso no DACTE - - - - - - - - - - - - - - - - - - Versão do leiaute - - - - - - - - - Tipo Dados do Endereço - - - - - Logradouro - - - - - - - - - - - Número - - - - - - - - - - - Complemento - - - - - - - - - - - Bairro - - - - - - - - - - - Código do município (utilizar a tabela do IBGE) - - - - - Nome do município - - - - - - - - - - - CEP - Informar zeros não significativos - - - - - - - - - - - Sigla da UF - - - - - Telefone - - - - - - - Tipo Dados do Endereço - - - - - Logradouro - - - - - - - - - - - Número - - - - - - - - - - - Complemento - - - - - - - - - - - Bairro - - - - - - - - - - - Código do município (utilizar a tabela do IBGE) - Informar 9999999 para operações com o exterior. - - - - - Nome do município - Informar EXTERIOR para operações com o exterior. - - - - - - - - - - - CEP - Informar os zeros não significativos - - - - - - - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - Código do país - Utilizar a tabela do BACEN - - - - - - - - - - - Nome do país - - - - - - - - - - - - - Tipo Dados do Endereço - - - - - Logradouro - - - - - - - - - - - Número - - - - - - - - - - - Complemento - - - - - - - - - - - Bairro - - - - - - - - - - - Código do município (utilizar a tabela do IBGE), informar 9999999 para operações com o exterior. - - - - - Nome do município, , informar EXTERIOR para operações com o exterior. - - - - - - - - - - - CEP - - - - - - - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - - - Tipo Dados do Endereço - - - - - Logradouro - - - - - - - - - - - Número - - - - - - - - - - - Complemento - - - - - - - - - - - Bairro - - - - - - - - - - - Código do município (utilizar a tabela do IBGE), informar 9999999 para operações com o exterior. - - - - - Nome do município - Informar EXTERIOR para operações com o exterior. - - - - - - - - - - - CEP - - - - - - - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - Código do país - - - - - - - - - - - Nome do país - - - - - - - - - - - Telefone - - - - - - - Tipo Dados do Local de Origem ou Destino - - - - - Código do município (utilizar a tabela do IBGE) - - - - - Nome do município - - - - - - - - - - - Sigla da UF - - - - - - - Tipo Dados do Local de Retirada ou Entrega - - - - - - Número do CNPJ - - - - - Número do CPF - - - - - - Razão Social ou Nome - - - - - - - - - - - Logradouro - - - - - - - - - - - Número - - - - - - - - - - - Complemento - - - - - - - - - - - Bairro - - - - - - - - - - - Código do município (utilizar a tabela do IBGE) - Informar 9999999 para operações com o exterior. - - - - - Nome do município - Informar EXTERIOR para operações com o exterior. - - - - - - - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - - - Tipo Dados do Imposto CT-e - - - - - Prestação sujeito à tributação normal do ICMS - - - - - - classificação Tributária do Serviço - 00 - tributação normal ICMS - - - - - - - - - - - Valor da BC do ICMS - - - - - Alíquota do ICMS - - - - - Valor do ICMS - - - - - - - - Prestação sujeito à tributação com redução de BC do ICMS - - - - - - Classificação Tributária do serviço - 20 - tributação com BC reduzida do ICMS - - - - - - - - - - - Percentual de redução da BC - - - - - Valor da BC do ICMS - - - - - Alíquota do ICMS - - - - - Valor do ICMS - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - ICMS Isento, não Tributado ou diferido - - - - - - Classificação Tributária do Serviço - Preencher com: - 40 - ICMS isenção; - 41 - ICMS não tributada; - 51 - ICMS diferido - - - - - - - - - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - Tributação pelo ICMS60 - ICMS cobrado por substituição tributária.Responsabilidade do recolhimento do ICMS atribuído ao tomador ou 3º por ST - - - - - - Classificação Tributária do Serviço - 60 - ICMS cobrado por substituição tributária - - - - - - - - - - - Valor da BC do ICMS ST retido - Valor do frete sobre o qual será calculado o ICMS a ser substituído na Prestação. - - - - - Valor do ICMS ST retido - Resultado da multiplicação do “vBCSTRet” x “pICMSSTRet” – que será valor do ICMS a ser retido pelo Substituto. Podendo o valor do ICMS a ser retido efetivamente, sofrer ajustes conforme a opção tributaria do transportador substituído. - - - - - Alíquota do ICMS - Percentual de Alíquota incidente na prestação de serviço de transporte. - - - - - Valor do Crédito outorgado/Presumido - Preencher somente quando o transportador substituído, for optante pelo crédito outorgado previsto no Convênio 106/96 e corresponde ao percentual de 20% do valor do ICMS ST retido. - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - ICMS Outros - - - - - - Classificação Tributária do Serviço - 90 - ICMS outros - - - - - - - - - - - Percentual de redução da BC - - - - - Valor da BC do ICMS - - - - - Alíquota do ICMS - - - - - Valor do ICMS - - - - - Valor do Crédito Outorgado/Presumido - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - ICMS devido à UF de origem da prestação, quando diferente da UF do emitente - - - - - - Classificação Tributária do Serviço - 90 - ICMS Outra UF - - - - - - - - - - - Percentual de redução da BC - - - - - Valor da BC do ICMS - - - - - Alíquota do ICMS - - - - - Valor do ICMS devido outra UF - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - Simples Nacional - - - - - - Classificação Tributária do Serviço - 90 - ICMS Simples Nacional - - - - - - - - - - - Indica se o contribuinte é Simples Nacional 1=Sim - - - - - - - - - - - - - - - - Tipo Dados do Imposto para CT-e OS - - - - - Prestação sujeito à tributação normal do ICMS - - - - - - classificação Tributária do Serviço - 00 - tributação normal ICMS - - - - - - - - - - - Valor da BC do ICMS - - - - - Alíquota do ICMS - - - - - Valor do ICMS - - - - - - - - Prestação sujeito à tributação com redução de BC do ICMS - - - - - - Classificação Tributária do serviço - 20 - tributação com BC reduzida do ICMS - - - - - - - - - - - Percentual de redução da BC - - - - - Valor da BC do ICMS - - - - - Alíquota do ICMS - - - - - Valor do ICMS - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - ICMS Isento, não Tributado ou diferido - - - - - - Classificação Tributária do Serviço - Preencher com: - 40 - ICMS isenção; - 41 - ICMS não tributada; - 51 - ICMS diferido - - - - - - - - - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - ICMS Outros - - - - - - Classificação Tributária do Serviço - 90 - Outros - - - - - - - - - - - Percentual de redução da BC - - - - - Valor da BC do ICMS - - - - - Alíquota do ICMS - - - - - Valor do ICMS - - - - - Valor do Crédito Outorgado/Presumido - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - ICMS devido à UF de origem da prestação, quando diferente da UF do emitente - - - - - - Classificação Tributária do Serviço - 90 - ICMS Outra UF - - - - - - - - - - - Percentual de redução da BC - - - - - Valor da BC do ICMS - - - - - Alíquota do ICMS - - - - - Valor do ICMS devido outra UF - - - - - Sequencia XML - - - - Valor do ICMS de desoneração - - - - - Código de Benefício Fiscal na UF - Código de Benefício Fiscal utilizado pela UF - - - - - - - - - - - - - - - - Simples Nacional - - - - - - Classificação Tributária do Serviço - 90 - ICMS Simples Nacional - - - - - - - - - - - Indica se o contribuinte é Simples Nacional 1=Sim - - - - - - - - - - - - - - - - Tipo Dados Unidade de Transporte - - - - - Tipo da Unidade de Transporte - 1 - Rodoviário Tração -2 - Rodoviário Reboque -3 - Navio -4 - Balsa -5 - Aeronave -6 - Vagão -7 - Outros - - - - - Identificação da Unidade de Transporte - Informar a identificação conforme o tipo de unidade de transporte. -Por exemplo: para rodoviário tração ou reboque deverá preencher com a placa do veículo. - - - - - - Lacres das Unidades de Transporte - - - - - - Número do lacre - - - - - - - - - - - - - - Informações das Unidades de Carga (Containeres/ULD/Outros) - Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. - - - - - Quantidade rateada (Peso,Volume) - - - - - - - Tipo Dados Unidade de Carga - - - - - Tipo da Unidade de Carga - 1 - Container -2 - ULD -3 - Pallet -4 - Outros - - - - - Identificação da Unidade de Carga - Informar a identificação da unidade de carga, por exemplo: número do container. - - - - - Lacres das Unidades de Carga - - - - - - Número do lacre - - - - - - - - - - - - - - Quantidade rateada (Peso,Volume) - - - - - - - Tipo Dados da Responsável Técnico - - - - - CNPJ da pessoa jurídica responsável técnica pelo sistema utilizado na emissão do documento fiscal eletrônico - Informar o CNPJ da pessoa jurídica desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico. - - - - - Nome da pessoa a ser contatada - Informar o nome da pessoa a ser contatada na empresa desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico. No caso de pessoa física, informar o respectivo nome. - - - - - - - - - - - Email da pessoa jurídica a ser contatada - - - - - Telefone da pessoa jurídica a ser contatada - Preencher com o Código DDD + número do telefone. - - - - - - - - - - - - Identificador do código de segurança do responsável técnico - Identificador do CSRT utilizado para geração do hash - - - - - - - - - - Hash do token do código de segurança do responsável técnico - O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT) - -Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary - - - - - - - - - - - - - Tipo CFOP - - - - - - - - - Tipo Código da Lista de Serviços LC 116/2003 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tipo Número do Container - - - - - - - - - - - Tipo Documento Associado - - - - - - - - - - - - - - - Tipo Email - - - - - - - - - - - Tipo Finalidade da CT-e - - - - - - - - - - - Tipos Finalidade de CT-e Simplificado - - - - - - - - - - Tipo Identificador de controle do envio do lote. Número seqüencial auto-incremental, de controle correspondente ao identificador único do lote enviado. A responsabilidade de gerar e controlar esse número é do próprio contribuinte. - - - - - - - - - Tipo Modelo do Documento - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tipo Modal transporte Outros Serviços - - - - - - - - - - - - Tipo Modal transporte - - - - - - - - - - - - - - Tipo Modal transporte do CTe Simplificado - - - - - - - - - - - Tipo RNTRC - Registro Nacional Transportadores Rodoviários de Carga - - - - - - - - - Tipo CIOT - Código Identificador da Operação de Transporte - - - - - - - - - Tipo Código Regime Tributário - - - - - - - - - - - - - - Tipo processo de emissão do CT-e - - - - - - - - - - Tipo hora - - - - - - - - - Tipo Versão do CT-e - 4.00 - - - - - - - + + + + + + + + Tipo Modal transporte GTVe + + + + + + + + + + Tipo Finalidade da GTV-e + + + + + + + + + Tipo Guia de Transporte de Valores Eletrônica (Modelo 64) + + + + + Informações do CT-e do tipo GTV-e + + + + + + Identificação da GTV-e + + + + + + Código da UF do emitente da GTV-e. + Utilizar a Tabela do IBGE. + + + + + Código numérico que compõe a Chave de Acesso. + Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento. + + + + + + + + + + + Código Fiscal de Operações e Prestações + + + + + Natureza da Operação + + + + + + + + + + + Modelo do documento fiscal + Utilizar o código 64 para identificação do CT-e Guia de Transporte de Valores + + + + + Série da GTV-e + Preencher com "0" no caso de série única + + + + + + + + Número da GTV-e + + + + + Data e hora de emissão da GTV-e + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Formato de impressão do DACTE + Preencher com: 1 - Retrato; 2 - Paisagem. + + + + + + + + + + + + Forma de emissão da GTV-e + Preencher com: +1 - Normal; + 2- Contingencia offline +7 - Autorização pela SVC-RS; + 8 - Autorização pela SVC-SP + + + + + + + + + + + + + + Digito Verificador da chave de acesso da GTV-e + Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso. + + + + + + + + + + + Tipo do Ambiente + Preencher com:1 - Produção; 2 - Homologação + + + + + Tipo da GTV-e + Preencher com: + 4 - GTV-e + + + + + + + + Versão do processo de emissão + Iinformar a versão do aplicativo emissor de CT-e. + + + + + + + + + + + Código do Município de envio da GTV-e (de onde o documento foi transmitido) + Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior. + + + + + Nome do Município de envio da GTV-e (de onde o documento foi transmitido) + Informar PAIS/Municipio para as operações com o exterior. + + + + + + + + + + + Sigla da UF de envio da GTV-e (de onde o documento foi transmitido) + Informar 'EX' para operações com o exterior. + + + + + Modal da GTV-e + Preencher com: +01-Rodoviário +06-Multimodal + + + + + + + + + + + Tipo do Serviço + Preencher com: + +9 - GTV + + + + + + + + + + + Indicador da IE do tomador: +1 – Contribuinte ICMS; +2 – Contribuinte isento de inscrição; +9 – Não Contribuinte + Aplica-se ao tomador que for indicado no toma3 ou toma4 + + + + + + + + + + + + + Data e hora de saida da origem + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Data e hora de chegada no destino + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + + Indicador do "papel" do tomador do serviço no GT-e + + + + + + Tomador do Serviço + Preencher com: + 0-Remetente; + 1-Destinatário + + + + + + + + + + + + + + + + Indicador do "papel" do tomador do serviço no CTV-e + + + + + + Tomador do Serviço + Preencher com: + 4 - Outros + Obs: Informar os dados cadastrais do tomador do serviço + + + + + + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. +Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Razão Social ou Nome + + + + + + + + + + + Nome Fantasia + + + + + + + + + + + Telefone + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + + Informar apenas +para tpEmis diferente de 1 + + + + Data e Hora da entrada em contingência + Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS + + + + + Justificativa da entrada em contingência + + + + + + + + + + + + + + + Dados complementares da GTV-e para fins operacionais ou comerciais + + + + + + Característica adicional do transporte + Texto livre: +REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc + + + + + + + + + + + Característica adicional do serviço + Texto livre: + ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc + + + + + + + + + + + Funcionário emissor da GTV-e + + + + + + + + + + + Observações Gerais + + + + + + + + + + + Campo de uso livre do contribuinte + Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto + + + + + + Conteúdo do campo + + + + + + + + + + + + Identificação do campo + + + + + + + + + + + + + Campo de uso livre do contribuinte + Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto + + + + + + Conteúdo do campo + + + + + + + + + + + + Identificação do campo + + + + + + + + + + + + + + + + Identificação do Emitente da GTV-e + + + + + + CNPJ do emitente + Informar zeros não significativos + + + + + Inscrição Estadual do Emitente + + + + + + + + Inscrição Estadual do Substituto Tributário + + + + + + + + Razão social ou Nome do emitente + + + + + + + + + + + Nome fantasia + + + + + + + + + + + Endereço do emitente + + + + + + + + Informações do Remetente + Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar a tag. + + + + + + + + Razão social ou nome do remetente + + + + + + + + + + + Nome fantasia + + + + + + + + + + + Telefone + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + + + + Informações do Destinatário + Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do destinatário ou ISENTO se destinatário é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o destinatário não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Razão Social ou Nome do destinatário + + + + + + + + + + + Telefone + + + + + Inscrição na SUFRAMA + (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA) + + + + + + + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + Informações do endereço da origem do serviço + + + + + Informações do endereço do destino do serviço + + + + + Grupo de informações detalhadas da GTV-e + + + + + + Informações das Espécies transportadas + + + + + + Tipo da Espécie + 1 - Cédula +2 - Cheque +3 - Moeda +4 - Outros + + + + + + + + + + + + + + Valor Transportada em Espécie indicada + + + + + Nacionalidade do Numerário + 1 - Nacional +2 - Estrangeiro + + + + + + + + + + + + Nome da Moeda + Informar somente se tipo de numerário for 2 - Estrangeiro + + + + + + + + + + + + + + Quantidade de volumes/malotes + + + + + Grupo de informações dos veículos utilizados no transporte de valores + + + + + + Placa do veículo + + + + + UF em que veículo está licenciado + Sigla da UF de licenciamento do veículo. + + + + + RNTRC do transportador + + + + + + + + + + + + + + + + + Autorizados para download do XML do DF-e + Informar CNPJ ou CPF. Preencher os zeros não significativos. + + + + + + + CNPJ do autorizado + Informar zeros não significativos + + + + + CPF do autorizado + Informar zeros não significativos + + + + + + + + + Informações do Responsável Técnico pela emissão do DF-e + + + + + + Versão do leiaute + Ex: "4.00" + + + + + + + + Identificador da tag a ser assinada + Informar a chave de acesso do CT-e OS e precedida do literal "CTe" + + + + + + + + + + + + Informações suplementares da GTV-e + + + + + + Texto com o QR-Code impresso no DACTE + + + + + + + + + + + + + + + + + + Versão do leiaute + + + + + + + + + Tipo Protocolo de status resultado do processamento da CT-e + + + + + Dados do protocolo de status + + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Versão do Aplicativo que processou o CT-e + + + + + Chaves de acesso da CT-e, + + + + + Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD. + + + + + Número do Protocolo de Status do CT-e. + + + + + Digest Value da CT-e processado. Utilizado para conferir a integridade do CT-e original. + + + + + Código do status do CT-e. + + + + + + + + Descrição literal do status do CT-e. + + + + + + + + + Mensagem do Fisco + + + + + + Código do status da mensagem do fisco + + + + + + + + Mensagem do Fisco + + + + + + + + + + + + + + + + Tipo Protocolo de status resultado do processamento do CT-e OS (Modelo 67) + + + + + Dados do protocolo de status + + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Versão do Aplicativo que processou o CT-e + + + + + Chaves de acesso da CT-e + + + + + Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD. + + + + + Número do Protocolo de Status do CT-e. + + + + + Digest Value da CT-e processado. Utilizado para conferir a integridade do CT-e original. + + + + + Código do status do CT-e. + + + + + + + + Descrição literal do status do CT-e. + + + + + + + + + Mensagem do Fisco + + + + + + Código do status da mensagem do fisco + + + + + + + + Mensagem do Fisco + + + + + + + + + + + + + + + + Tipo Protocolo de status resultado do processamento da GTV-e (Modelo 64) + + + + + Dados do protocolo de status + + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Versão do Aplicativo que processou a GTV-e + + + + + Chaves de acesso da CT-e + + + + + Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD. + + + + + Número do Protocolo de Status da GTV-e + + + + + Digest Value da GTV-e processado. Utilizado para conferir a integridade da GTV-e original. + + + + + Código do status da GTV-e. + + + + + + + + Descrição literal do status da GTV-e. + + + + + + + + + Mensagem do Fisco + + + + + + Código do status da mensagem do fisco + + + + + + + + Mensagem do Fisco + + + + + + + + + + + + + + + + Tipo Retorno do Pedido de Autorização de CT-e Simplificado (Modelo 57) + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Identificação da UF + + + + + Versão do Aplicativo que processou a CT-e + + + + + código do status do retorno da consulta. + + + + + Descrição literal do status do do retorno da consulta. + + + + + Reposta ao processamento do CT-e + + + + + + + + Tipo Retorno do Pedido de Autorização de CT-e (Modelo 57) + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Identificação da UF + + + + + Versão do Aplicativo que processou a CT-e + + + + + código do status do retorno da consulta. + + + + + Descrição literal do status do do retorno da consulta. + + + + + Reposta ao processamento do CT-e + + + + + + + + Tipo Retorno do Pedido de Autorização de GTV-e (Modelo 64) + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Identificação da UF + + + + + Versão do Aplicativo que processou a GTV-e + + + + + código do status do retorno da consulta. + + + + + Descrição literal do status do do retorno da consulta. + + + + + Reposta ao processamento do CT-e + + + + + + + + Tipo Retorno do Pedido de Autorização de CT-e OS (Modelo 67) + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Identificação da UF + + + + + Versão do Aplicativo que processou a CT-e + + + + + código do status do retorno da consulta. + + + + + Descrição literal do status do do retorno da consulta. + + + + + Reposta ao processamento do CT-e + + + + + + + + Tipo Conhecimento de Transporte Eletrônico (Modelo 57) - Modelo Simplificado + + + + + Informações do CT-e + + + + + + Identificação do CT-e + + + + + + Código da UF do emitente do CT-e. + Utilizar a Tabela do IBGE. + + + + + Código numérico que compõe a Chave de Acesso. + Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento. + + + + + + + + + + + Código Fiscal de Operações e Prestações + + + + + Natureza da Operação + + + + + + + + + + + Modelo do documento fiscal + Utilizar o código 57 para identificação do CT-e, emitido em substituição aos modelos de conhecimentos em papel. + + + + + Série do CT-e + Preencher com "0" no caso de série única + + + + + + + + Número do CT-e + + + + + Data e hora de emissão do CT-e + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Formato de impressão do DACTE + Preencher com: 1 - Retrato; 2 - Paisagem. + + + + + + + + + + + + Forma de emissão do CT-e + Preencher com: +1 - Normal; +3 - Regime Especial NFF; +4 - EPEC pela SVC; +7 - Autorização pela SVC-RS; +8 - Autorização pela SVC-SP + + + + + + + + + + + + + + + Digito Verificador da chave de acesso do CT-e + Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso. + + + + + + + + + + + Tipo do Ambiente + Preencher com:1 - Produção; 2 - Homologação. + + + + + Tipo do CT-e Simplificado + Preencher com: +5 - CTe Simplificado +6 - Substituição CTe Simplificado + + + + + Identificador do processo de emissão do CT-e + Preencher com: + 0 - emissão de CT-e com aplicativo do contribuinte; + 3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo SEBRAE. + + + + + Versão do processo de emissão + Informar a versão do aplicativo emissor de CT-e. + + + + + + + + + + + Código do Município de envio do CT-e (de onde o documento foi transmitido) + Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior. + + + + + Nome do Município de envio do CT-e (de onde o documento foi transmitido) + Informar PAIS/Municipio para as operações com o exterior. + + + + + + + + + + + Sigla da UF de envio do CT-e (de onde o documento foi transmitido) + Informar 'EX' para operações com o exterior. + + + + + Modal + Preencher com: +01-Rodoviário +02-Aéreo +03-Aquaviário + + + + + Tipo do Serviço + Preencher com: +0 - Normal; +1 - Subcontratação; +2 - Redespacho; + + + + + + + + + + + + + UF do início da prestação + Informar 'EX' para operações com o exterior. + + + + + UF do término da prestação + Informar 'EX' para operações com o exterior. + + + + + Indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino? + Preencher com: 0 - sim; 1 - não + + + + + + + + + + + + Detalhes do retira + + + + + + + + + + + Informar apenas +para tpEmis diferente de 1 + + + + Data e Hora da entrada em contingência + Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS + + + + + Justificativa da entrada em contingência + + + + + + + + + + + + + + + Dados complementares do CT-e para fins operacionais ou comerciais + + + + + + Característica adicional do transporte + Texto livre: +REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc + + + + + + + + + + + Característica adicional do serviço + Texto livre: + ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc + + + + + + + + + + + Previsão do fluxo da carga + Preenchimento obrigatório para o modal aéreo. + + + + + + Sigla ou código interno da Filial/Porto/Estação/ Aeroporto de Origem + Observações para o modal aéreo: + - Preenchimento obrigatório para o modal aéreo. + - O código de três letras IATA do aeroporto de partida deverá ser incluído como primeira anotação. Quando não for possível, utilizar a sigla OACI. + + + + + + + + + + + + + + Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Passagem + Observação para o modal aéreo: + - O código de três letras IATA, referente ao aeroporto de transferência, deverá ser incluído, quando for o caso. Quando não for possível, utilizar a sigla OACI. Qualquer solicitação de itinerário deverá ser incluída. + + + + + + + + + + + + + + Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Destino + Observações para o modal aéreo: + - Preenchimento obrigatório para o modal aéreo. + - Deverá ser incluído o código de três letras IATA do aeroporto de destino. Quando não for possível, utilizar a sigla OACI. + + + + + + + + + + + Código da Rota de Entrega + + + + + + + + + + + + + + Observações Gerais + + + + + + + + + + + Campo de uso livre do contribuinte + Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto + + + + + + Conteúdo do campo + + + + + + + + + + + + Identificação do campo + + + + + + + + + + + + + Campo de uso livre do contribuinte + Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto + + + + + + Conteúdo do campo + + + + + + + + + + + + Identificação do campo + + + + + + + + + + + + + + + + Identificação do Emitente do CT-e + + + + + + + CNPJ do emitente + Informar zeros não significativos + + + + + CPF do emitente + Informar zeros não significativos. + +Usar com série específica 920-969 para emitente pessoa física com inscrição estadual + + + + + + Inscrição Estadual do Emitente + A IE do emitente somente ficará sem informação para o caso do Regime Especial da NFF (tpEmis=3) + + + + + + + + Inscrição Estadual do Substituto Tributário + + + + + + + + Razão social ou Nome do emitente + + + + + + + + + + + Nome fantasia + + + + + + + + + + + Endereço do emitente + + + + + Código do Regime Tributário + Informar: 1=Simples Nacional; +2=Simples Nacional, excesso sublimite de receita bruta; +3=Regime Normal. +4=Simples Nacional - Microempreendedor Individual – MEI. + + + + + + + + + Identificação do tomador do serviço no CT-e + + + + + + Tomador do Serviço + Preencher com: + +0-Remetente; +1-Expedidor; +2-Recebedor; +3-Destinatário +4-Terceiro + + + + + + + + + + + + + + + Indicador do papel do tomador na prestação do serviço: +1 – Contribuinte ICMS; +2 – Contribuinte isento de inscrição; +9 – Não Contribuinte + Aplica-se ao tomador que for indicado no toma + + + + + + + + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. +Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Razão Social ou Nome + + + + + + + + + + + Inscrição na SUFRAMA + (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA) + + + + + + + + + + + Telefone + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + Informações da Carga do CT-e + + + + + + Valor total da carga + + + + + Produto predominante + Informar a descrição do produto predominante + + + + + + + + + + + Outras características da carga + "FRIA", "GRANEL", "REFRIGERADA", "Medidas: 12X12X12" + + + + + + + + + + + Informações de quantidades da Carga do CT-e + Para o Aéreo é obrigatório o preenchimento desse campo da seguinte forma. +1 - Peso Bruto, sempre em quilogramas (obrigatório); +2 - Peso Cubado; sempre em quilogramas; +3 - Quantidade de volumes, sempre em unidades (obrigatório); +4 - Cubagem, sempre em metros cúbicos (obrigatório apenas quando for impossível preencher as dimensões da(s) embalagem(ens) na tag xDime do leiaute do Aéreo). + + + + + + Código da Unidade de Medida + Preencher com: +00-M3; +01-KG; +02-TON; +03-UNIDADE; +04-LITROS; +05-MMBTU + + + + + + + + + + + + + + + + Tipo da Medida + Informar com: +00-Cubagem da NF-e +01-Cubagem Aferida pelo Transportador +02-Peso Bruto da NF-e +03-Peso Bruto Aferido pelo Transportador +04-Peso Cubado +05-Peso Base do Cálculo do Frete +06-Peso para uso Operacional +07-Caixas +08-Paletes +09-Sacas +10-Containers +11-Rolos +12-Bombonas +13-Latas +14-Litragem +15-Milhão de BTU (British Thermal Units) +99-Outros + + + + + + + + + + + + + + + + + + + + + + + + + + + + Quantidade + + + + + + + + Valor da Carga para efeito de averbação + Normalmente igual ao valor declarado da mercadoria, diferente por exemplo, quando a mercadoria transportada é isenta de tributos nacionais para exportação, onde é preciso averbar um valor maior, pois no caso de indenização, o valor a ser pago será maior + + + + + + + + Detalhamento das entregas / prestações do CTe Simplificado + + + + + + + Código do Município de início da prestação + Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. + + + + + Nome do Município do início da prestação + Informar 'EXTERIOR' para operações com o exterior. + + + + + + + + + + + + + Código do Município de término da prestação + Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. + + + + + Nome do Município do término da prestação + Informar 'EXTERIOR' para operações com o exterior. + + + + + + + + + + + + Valorl da Prestação do Serviço + Pode conter zeros quando o CT-e for de complemento de ICMS + + + + + Valor a Receber + + + + + Componentes do Valor da Prestação + + + + + + Nome do componente + Exxemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc + + + + + + + + + + + Valor do componente + + + + + + + + + Informações das NF-e + + + + + + Chave de acesso da NF-e + + + + + PIN SUFRAMA + PIN atribuído pela SUFRAMA para a operação. + + + + + + + + + + + + + Data prevista de entrega + Formato AAAA-MM-DD + + + + + + Informações das Unidades de Carga (Containeres/ULD/Outros) + Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. + + + + + Informações das Unidades de Transporte (Carreta/Reboque/Vagão) + Deve ser preenchido com as informações das unidades de transporte utilizadas. + + + + + + + + + Documentos anteriores + + + + + + Chave de acesso do CT-e + + + + + indica se a prestação é total ou parcial em relação as notas do documento anterior + Preencher com: + +1 - Total +2 - Parcial + + + + + + + + + + + + + + + Chave de acesso da NF-e + Informando o tpPrest com “2 – Parcial” deve-se informar as chaves de acesso das NF-e que acobertam a carga transportada. + + + + + + + + + + + + + Número identificador do item agrupador da prestação + + + + + + + + + + + + + Informações do modal + + + + + + XML do modal +Insira neste local o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). + O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema. + Insira neste local - any- o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação: + Rodoviário - ver arquivo CTeModalRodoviario_v9.99 + Aéreo - ver arquivo CTeModalAereo_v9.99 + Aquaviário - arquivo CTeModalAquaviario_v9.99 + Ferroviário - arquivo CTeModalFerroviario_v9.99 + Dutoviário - arquivo CTeModalDutoviario_v9.99 + +Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o arquivo para o schema do modal Rodoviário na versão 1.04 será denominado "CTeModalRodoviario_v1.04". + + + + + + Versão do leiaute específico para o Modal + + + + + + + + + + + + + Dados da cobrança do CT-e + + + + + + Dados da fatura + + + + + + Número da fatura + + + + + + + + + + + Valor original da fatura + + + + + Valor do desconto da fatura + + + + + Valor líquido da fatura + + + + + + + + Dados das duplicatas + + + + + + Número da duplicata + + + + + + + + + + + Data de vencimento da duplicata (AAAA-MM-DD) + + + + + Valor da duplicata + + + + + + + + + + + Informações do CT-e de substituição + + + + + + Chave de acesso do CT-e a ser substituído (original) + + + + + + + + + + Indicador de CT-e Alteração de Tomador + + + + + + + + + + + + + Informações relativas aos Impostos + + + + + + Informações relativas ao ICMS + + + + + + Valor Total dos Tributos + + + + + Informações adicionais de interesse do Fisco + Norma referenciada, informações complementares, etc + + + + + + + + + + + Informações do ICMS de partilha com a UF de término do serviço de transporte na operação interestadual + Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS + + + + + + Valor da BC do ICMS na UF de término da prestação do serviço de transporte + + + + + Percentual do ICMS relativo ao Fundo de Combate à pobreza (FCP) na UF de término da prestação do serviço de transporte + Alíquota adotada nas operações internas na UF do destinatário + + + + + Alíquota interna da UF de término da prestação do serviço de transporte + Alíquota adotada nas operações internas na UF do destinatário + + + + + Alíquota interestadual das UF envolvidas + Alíquota interestadual das UF envolvidas + + + + + + Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação + + + + + Valor do ICMS de partilha para a UF de término da prestação do serviço de transporte + + + + + Valor do ICMS de partilha para a UF de início da prestação do serviço de transporte + + + + + + + + + + + Valores Totais do CTe + + + + + + Valor Total da Prestação do Serviço + Pode conter zeros quando o CT-e for de complemento de ICMS + + + + + Valor total a Receber + + + + + + + + Autorizados para download do XML do DF-e + Informar CNPJ ou CPF. Preencher os zeros não significativos. + + + + + + + CNPJ do autorizado + Informar zeros não significativos + + + + + CPF do autorizado + Informar zeros não significativos + + + + + + + + + Informações do Responsável Técnico pela emissão do DF-e + + + + + Grupo de informações do pedido de emissão da Nota Fiscal Fácil + + + + + + Solicitação do pedido de emissão da NFF. + Será preenchido com a totalidade de campos informados no aplicativo emissor serializado. + + + + + + + + + + + + + + Grupo de Informação do Provedor de Assinatura e Autorização + + + + + + CNPJ do Provedor de Assinatura e Autorização + + + + + Assinatura RSA do Emitente para DFe gerados por PAA + + + + + + Assinatura digital padrão RSA + Converter o atributo Id do DFe para array de bytes e assinar com a chave privada do RSA com algoritmo SHA1 gerando um valor no formato base64. + + + + + Chave Publica no padrão XML RSA Key + + + + + + + + + + + + Versão do leiaute + Ex: "4.00" + + + + + + + + Identificador da tag a ser assinada + Informar a chave de acesso do CT-e e precedida do literal "CTe" + + + + + + + + + + + + + + + + Informações suplementares do CT-e + + + + + + Texto com o QR-Code impresso no DACTE + + + + + + + + + + + + + + + + + + + Tipo Conhecimento de Transporte Eletrônico (Modelo 57) + + + + + Informações do CT-e + + + + + + Identificação do CT-e + + + + + + Código da UF do emitente do CT-e. + Utilizar a Tabela do IBGE. + + + + + Código numérico que compõe a Chave de Acesso. + Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento. + + + + + + + + + + + Código Fiscal de Operações e Prestações + + + + + Natureza da Operação + + + + + + + + + + + Modelo do documento fiscal + Utilizar o código 57 para identificação do CT-e, emitido em substituição aos modelos de conhecimentos em papel. + + + + + Série do CT-e + Preencher com "0" no caso de série única + + + + + + + + Número do CT-e + + + + + Data e hora de emissão do CT-e + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Formato de impressão do DACTE + Preencher com: 1 - Retrato; 2 - Paisagem. + + + + + + + + + + + + Forma de emissão do CT-e + Preencher com: +1 - Normal; + 3-Regime Especial NFF; 4-EPEC pela SVC; 5 - Contingência FSDA; + 7 - Autorização pela SVC-RS; + 8 - Autorização pela SVC-SP + + + + + + + + + + + + + + + + Digito Verificador da chave de acesso do CT-e + Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso. + + + + + + + + + + + Tipo do Ambiente + Preencher com:1 - Produção; 2 - Homologação. + + + + + Tipo do CT-e + Preencher com: + 0 - CT-e Normal; + 1 - CT-e de Complemento de Valores; + 3 - CT-e de Substituição + + + + + Identificador do processo de emissão do CT-e + Preencher com: + 0 - emissão de CT-e com aplicativo do contribuinte; + 3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo SEBRAE. + + + + + Versão do processo de emissão + Iinformar a versão do aplicativo emissor de CT-e. + + + + + + + + + + + Indicador de CT-e Globalizado + Informar valor 1 quando for Globalizado e não informar a tag quando não tratar de CT-e Globalizado + + + + + + + + + + Código do Município de envio do CT-e (de onde o documento foi transmitido) + Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior. + + + + + Nome do Município de envio do CT-e (de onde o documento foi transmitido) + Informar PAIS/Municipio para as operações com o exterior. + + + + + + + + + + + Sigla da UF de envio do CT-e (de onde o documento foi transmitido) + Informar 'EX' para operações com o exterior. + + + + + Modal + Preencher com:01-Rodoviário; +02-Aéreo;03-Aquaviário;04-Ferroviário;05-Dutoviário;06-Multimodal; + + + + + Tipo do Serviço + Preencher com: +0 - Normal; +1 - Subcontratação; +2 - Redespacho; +3 - Redespacho Intermediário; +4 - Serviço Vinculado a Multimodal + + + + + + + + + + + + + + + Código do Município de início da prestação + Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. + + + + + Nome do Município do início da prestação + Informar 'EXTERIOR' para operações com o exterior. + + + + + + + + + + + UF do início da prestação + Informar 'EX' para operações com o exterior. + + + + + Código do Município de término da prestação + Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. + + + + + Nome do Município do término da prestação + Informar 'EXTERIOR' para operações com o exterior. + + + + + + + + + + + UF do término da prestação + Informar 'EX' para operações com o exterior. + + + + + Indicador se o Recebedor retira no Aeroporto, Filial, Porto ou Estação de Destino? + Preencher com: 0 - sim; 1 - não + + + + + + + + + + + + Detalhes do retira + + + + + + + + + + + Indicador do papel do tomador na prestação do serviço: +1 – Contribuinte ICMS; +2 – Contribuinte isento de inscrição; +9 – Não Contribuinte + Aplica-se ao tomador que for indicado no toma3 ou toma4 + + + + + + + + + + + + + + Indicador do "papel" do tomador do serviço no CT-e + + + + + + Tomador do Serviço + Preencher com: + 0-Remetente; + 1-Expedidor; + 2-Recebedor; + 3-Destinatário + Serão utilizadas as informações contidas no respectivo grupo, conforme indicado pelo conteúdo deste campo + + + + + + + + + + + + + + + + + Indicador do "papel" do tomador do serviço no CT-e + + + + + + Tomador do Serviço + Preencher com: + 4 - Outros + Obs: Informar os dados cadastrais do tomador do serviço + + + + + + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. +Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + + Razão Social ou Nome + + + + + + + + + + + Nome Fantasia + + + + + + + + + + + Telefone + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + + + Informar apenas +para tpEmis diferente de 1 + + + + Data e Hora da entrada em contingência + Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS + + + + + Justificativa da entrada em contingência + + + + + + + + + + + + + + + Dados complementares do CT-e para fins operacionais ou comerciais + + + + + + Característica adicional do transporte + Texto livre: +REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc + + + + + + + + + + + Característica adicional do serviço + Texto livre: + ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc + + + + + + + + + + + Funcionário emissor do CTe + + + + + + + + + + + Previsão do fluxo da carga + Preenchimento obrigatório para o modal aéreo. + + + + + + Sigla ou código interno da Filial/Porto/Estação/ Aeroporto de Origem + Observações para o modal aéreo: + - Preenchimento obrigatório para o modal aéreo. + - O código de três letras IATA do aeroporto de partida deverá ser incluído como primeira anotação. Quando não for possível, utilizar a sigla OACI. + + + + + + + + + + + + + + Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Passagem + Observação para o modal aéreo: + - O código de três letras IATA, referente ao aeroporto de transferência, deverá ser incluído, quando for o caso. Quando não for possível, utilizar a sigla OACI. Qualquer solicitação de itinerário deverá ser incluída. + + + + + + + + + + + + + + Sigla ou código interno da Filial/Porto/Estação/Aeroporto de Destino + Observações para o modal aéreo: + - Preenchimento obrigatório para o modal aéreo. + - Deverá ser incluído o código de três letras IATA do aeroporto de destino. Quando não for possível, utilizar a sigla OACI. + + + + + + + + + + + Código da Rota de Entrega + + + + + + + + + + + + + + Informações ref. a previsão de entrega + + + + + + + Entrega sem data definida + Esta opção é proibida para o modal aéreo. + + + + + + Tipo de data/período programado para entrega + 0- Sem data definida + + + + + + + + + + + + + + Entrega com data definida + + + + + + Tipo de data/período programado para entrega + Preencher com: + 1-Na data; + 2-Até a data; + 3-A partir da data + + + + + + + + + + + + + Data programada + Formato AAAA-MM-DD + + + + + + + + Entrega no período definido + + + + + + Tipo período + 4-no período + + + + + + + + + + + Data inicial + Formato AAAA-MM-DD + + + + + Data final + Formato AAAA-MM-DD + + + + + + + + + + Entrega sem hora definida + + + + + + Tipo de hora + 0- Sem hora definida + + + + + + + + + + + + + + Entrega com hora definida + + + + + + Tipo de hora + Preencher com: + 1 - No horário; + 2 - Até o horário; + 3 - A partir do horário. + + + + + + + + + + + + + Hora programada + Formato HH:MM:SS + + + + + + + + Entrega no intervalo de horário definido + + + + + + Tipo de hora + 4 - No intervalo de tempo + + + + + + + + + + + Hora inicial + Formato HH:MM:SS + + + + + Hora final + Formato HH:MM:SS + + + + + + + + + + + + Município de origem para efeito de cálculo do frete + + + + + + + + + + + Município de destino para efeito de cálculo do frete + + + + + + + + + + + Observações Gerais + + + + + + + + + + + Campo de uso livre do contribuinte + Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto + + + + + + Conteúdo do campo + + + + + + + + + + + + Identificação do campo + + + + + + + + + + + + + Campo de uso livre do contribuinte + Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto + + + + + + Conteúdo do campo + + + + + + + + + + + + Identificação do campo + + + + + + + + + + + + + + + + Identificação do Emitente do CT-e + + + + + + + CNPJ do emitente + Informar zeros não significativos + + + + + CPF do emitente + Informar zeros não significativos. + +Usar com série específica 920-969 para emitente pessoa física com inscrição estadual + + + + + + Inscrição Estadual do Emitente + A IE do emitente somente ficará sem informação para o caso do Regime Especial da NFF (tpEmis=3) + + + + + + + + Inscrição Estadual do Substituto Tributário + + + + + + + + Razão social ou Nome do emitente + + + + + + + + + + + Nome fantasia + + + + + + + + + + + Endereço do emitente + + + + + Código do Regime Tributário + Informar: 1=Simples Nacional; +2=Simples Nacional, excesso sublimite de receita bruta; +3=Regime Normal. +4=Simples Nacional - Microempreendedor Individual – MEI. + + + + + + + + + Informações do Remetente das mercadorias transportadas pelo CT-e + Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar a tag. + + + + + + + + Razão social ou nome do remetente + + + + + + + + + + + Nome fantasia + + + + + + + + + + + Telefone + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + + + + Informações do Expedidor da Carga + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do expedidor ou ISENTO se expedidor é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o expedidor não seja contribuinte do ICMS não informar a tag. + + + + + + + + Razão Social ou Nome + + + + + + + + + + + Telefone + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + Informações do Recebedor da Carga + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do recebedor ou ISENTO se recebedor é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o recebedor não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Razão Social ou Nome + + + + + + + + + + + Telefone + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + Informações do Destinatário do CT-e + Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do destinatário ou ISENTO se destinatário é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o destinatário não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Razão Social ou Nome do destinatário + + + + + + + + + + + Telefone + + + + + Inscrição na SUFRAMA + (Obrigatório nas operações com as áreas com benefícios de incentivos fiscais sob controle da SUFRAMA) + + + + + + + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + Valores da Prestação de Serviço + + + + + + Valor Total da Prestação do Serviço + Pode conter zeros quando o CT-e for de complemento de ICMS + + + + + Valor a Receber + + + + + Componentes do Valor da Prestação + + + + + + Nome do componente + Exxemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc + + + + + + + + + + + Valor do componente + + + + + + + + + + + Informações relativas aos Impostos + + + + + + Informações relativas ao ICMS + + + + + + Valor Total dos Tributos + + + + + Informações adicionais de interesse do Fisco + Norma referenciada, informações complementares, etc + + + + + + + + + + + Informações do ICMS de partilha com a UF de término do serviço de transporte na operação interestadual + Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS + + + + + + Valor da BC do ICMS na UF de término da prestação do serviço de transporte + + + + + Percentual do ICMS relativo ao Fundo de Combate à pobreza (FCP) na UF de término da prestação do serviço de transporte + Alíquota adotada nas operações internas na UF do destinatário + + + + + Alíquota interna da UF de término da prestação do serviço de transporte + Alíquota adotada nas operações internas na UF do destinatário + + + + + Alíquota interestadual das UF envolvidas + Alíquota interestadual das UF envolvidas + + + + + + Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação + + + + + Valor do ICMS de partilha para a UF de término da prestação do serviço de transporte + + + + + Valor do ICMS de partilha para a UF de início da prestação do serviço de transporte + + + + + + + + + + + + Grupo de informações do CT-e Normal e Substituto + + + + + + Informações da Carga do CT-e + + + + + + Valor total da carga + Dever ser informado para todos os modais, com exceção para o Dutoviário. + + + + + Produto predominante + Informar a descrição do produto predominante + + + + + + + + + + + Outras características da carga + "FRIA", "GRANEL", "REFRIGERADA", "Medidas: 12X12X12" + + + + + + + + + + + Informações de quantidades da Carga do CT-e + Para o Aéreo é obrigatório o preenchimento desse campo da seguinte forma. +1 - Peso Bruto, sempre em quilogramas (obrigatório); +2 - Peso Cubado; sempre em quilogramas; +3 - Quantidade de volumes, sempre em unidades (obrigatório); +4 - Cubagem, sempre em metros cúbicos (obrigatório apenas quando for impossível preencher as dimensões da(s) embalagem(ens) na tag xDime do leiaute do Aéreo). + + + + + + Código da Unidade de Medida + Preencher com: + 00-M3; + 01-KG; + 02-TON; + 03-UNIDADE; + 04-LITROS; + 05-MMBTU + + + + + + + + + + + + + + + + Tipo da Medida + Exemplos: +PESO BRUTO, PESO DECLARADO, PESO CUBADO, PESO AFORADO, PESO AFERIDO, PESO BASE DE CÁLCULO, LITRAGEM, CAIXAS e etc + + + + + + + + + + + Quantidade + + + + + + + + Valor da Carga para efeito de averbação + Normalmente igual ao valor declarado da mercadoria, diferente por exemplo, quando a mercadoria transportada é isenta de tributos nacionais para exportação, onde é preciso averbar um valor maior, pois no caso de indenização, o valor a ser pago será maior + + + + + + + + Informações dos documentos transportados pelo CT-e +Opcional para Redespacho Intermediario e Serviço vinculado a multimodal. + Poderá não ser informado para os CT-e de redespacho intermediário e serviço vinculado a multimodal. Nos demais casos deverá sempre ser informado. + + + + + + + Informações das NF + Este grupo deve ser informado quando o documento originário for NF + + + + + + Número do Romaneio da NF + + + + + + + + + + + Número do Pedido da NF + + + + + + + + + + + Modelo da Nota Fiscal + Preencher com: +01 - NF Modelo 01/1A e Avulsa; +04 - NF de Produtor + + + + + Série + + + + + + + + + + + Número + + + + + + + + + + + Data de Emissão + Formato AAAA-MM-DD + + + + + Valor da Base de Cálculo do ICMS + + + + + Valor Total do ICMS + + + + + Valor da Base de Cálculo do ICMS ST + + + + + Valor Total do ICMS ST + + + + + Valor Total dos Produtos + + + + + Valor Total da NF + + + + + CFOP Predominante + CFOP da NF ou, na existência de mais de um, predominância pelo critério de valor econômico. + + + + + Peso total em Kg + + + + + PIN SUFRAMA + PIN atribuído pela SUFRAMA para a operação. + + + + + + + + + + + + + Data prevista de entrega + Formato AAAA-MM-DD + + + + + + Informações das Unidades de Carga (Containeres/ULD/Outros) + Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. + + + + + Informações das Unidades de Transporte (Carreta/Reboque/Vagão) + Deve ser preenchido com as informações das unidades de transporte utilizadas. + + + + + + + + + Informações das NF-e + + + + + + Chave de acesso da NF-e + + + + + PIN SUFRAMA + PIN atribuído pela SUFRAMA para a operação. + + + + + + + + + + + + + Data prevista de entrega + Formato AAAA-MM-DD + + + + + + Informações das Unidades de Carga (Containeres/ULD/Outros) + Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. + + + + + Informações das Unidades de Transporte (Carreta/Reboque/Vagão) + Deve ser preenchido com as informações das unidades de transporte utilizadas. + + + + + + + + + Informações dos demais documentos + + + + + + Tipo de documento originário + Preencher com: + 00 - Declaração; + 10 - Dutoviário; + + +59 - CF-e SAT; + +65 - NFC-e; + 99 - Outros + + + + + + + + + + + + + + + Descrição do documento + + + + + + + + + + + Número + + + + + + + + + + + Data de Emissão + Formato AAAA-MM-DD + + + + + Valor do documento + + + + + Data prevista de entrega + Formato AAAA-MM-DD + + + + + + Informações das Unidades de Carga (Containeres/ULD/Outros) + Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. + + + + + Informações das Unidades de Transporte (Carreta/Reboque/Vagão) + Deve ser preenchido com as informações das unidades de transporte utilizadas. + + + + + + + + + + + + + Documentos de Transporte Anterior + + + + + + Emissor do documento anterior + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + + Inscrição Estadual + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + + Razão Social ou Nome do expedidor + + + + + + + + + + + Informações de identificação dos documentos de Transporte Anterior + + + + + + Documentos de transporte anterior em papel + + + + + + Tipo do Documento de Transporte Anterior + Preencher com: +07-ATRE; +08-DTA (Despacho de Transito Aduaneiro); +09-Conhecimento Aéreo Internacional; +10 – Conhecimento - Carta de Porte Internacional; +11 – Conhecimento Avulso; +12-TIF (Transporte Internacional Ferroviário); 13-BL (Bill of Lading) + + + + + + + + Série do Documento Fiscal + + + + + + + + + + + Série do Documento Fiscal + + + + + + + + + + + Número do Documento Fiscal + + + + + + + + + + + Data de emissão (AAAA-MM-DD) + + + + + + + + Documentos de transporte anterior eletrônicos + + + + + + Chave de acesso do CT-e + + + + + + + + + + + + + + + + + Informações do modal + + + + + + XML do modal +Insira neste local o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). + O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema. + Insira neste local - any- o XML específico do modal (rodoviário, aéreo, ferroviário, aquaviário ou dutoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação: + Rodoviário - ver arquivo CTeModalRodoviario_v9.99 + Aéreo - ver arquivo CTeModalAereo_v9.99 + Aquaviário - arquivo CTeModalAquaviario_v9.99 + Ferroviário - arquivo CTeModalFerroviario_v9.99 + Dutoviário - arquivo CTeModalDutoviario_v9.99 + +Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o arquivo para o schema do modal Rodoviário na versão 1.04 será denominado "CTeModalRodoviario_v1.04". + + + + + + Versão do leiaute específico para o Modal + + + + + + + + + + + + + informações dos veículos transportados + + + + + + Chassi do veículo + + + + + + + + + + + + Cor do veículo + Código de cada montadora + + + + + + + + + + + Descrição da cor + + + + + + + + + + + Código Marca Modelo + Utilizar tabela RENAVAM + + + + + + + + + + + Valor Unitário do Veículo + + + + + Frete Unitário + + + + + + + + Dados da cobrança do CT-e + + + + + + Dados da fatura + + + + + + Número da fatura + + + + + + + + + + + Valor original da fatura + + + + + Valor do desconto da fatura + + + + + Valor líquido da fatura + + + + + + + + Dados das duplicatas + + + + + + Número da duplicata + + + + + + + + + + + Data de vencimento da duplicata (AAAA-MM-DD) + + + + + Valor da duplicata + + + + + + + + + + + Informações do CT-e de substituição + + + + + + Chave de acesso do CT-e a ser substituído (original) + + + + + + + + + + Indicador de CT-e Alteração de Tomador + + + + + + + + + + + + + Informações do CT-e Globalizado + + + + + + Preencher com informações adicionais, legislação do regime especial, etc + + + + + + + + + + + + + + Informações do Serviço Vinculado a Multimodal + + + + + + informações do CT-e multimodal vinculado + + + + + + Chave de acesso do CT-e Multimodal + + + + + + + + + + + + + + Detalhamento do CT-e complementado + + + + + + Chave do CT-e complementado + + + + + + + + + Autorizados para download do XML do DF-e + Informar CNPJ ou CPF. Preencher os zeros não significativos. + + + + + + + CNPJ do autorizado + Informar zeros não significativos + + + + + CPF do autorizado + Informar zeros não significativos + + + + + + + + + Informações do Responsável Técnico pela emissão do DF-e + + + + + Grupo de informações do pedido de emissão da Nota Fiscal Fácil + + + + + + Solicitação do pedido de emissão da NFF. + Será preenchido com a totalidade de campos informados no aplicativo emissor serializado. + + + + + + + + + + + + + + Grupo de Informação do Provedor de Assinatura e Autorização + + + + + + CNPJ do Provedor de Assinatura e Autorização + + + + + Assinatura RSA do Emitente para DFe gerados por PAA + + + + + + Assinatura digital padrão RSA + Converter o atributo Id do DFe para array de bytes e assinar com a chave privada do RSA com algoritmo SHA1 gerando um valor no formato base64. + + + + + Chave Publica no padrão XML RSA Key + + + + + + + + + + + + Versão do leiaute + Ex: "4.00" + + + + + + + + Identificador da tag a ser assinada + Informar a chave de acesso do CT-e e precedida do literal "CTe" + + + + + + + + + + + + Informações suplementares do CT-e + + + + + + Texto com o QR-Code impresso no DACTE + + + + + + + + + + + + + + + + + + + Tipo Conhecimento de Transporte Eletrônico Outros Serviços (Modelo 67) + + + + + Informações do CT-e Outros Serviços + + + + + + Identificação do CT-e Outros Serviços + + + + + + Código da UF do emitente do CT-e. + Utilizar a Tabela do IBGE. + + + + + Código numérico que compõe a Chave de Acesso. + Número aleatório gerado pelo emitente para cada CT-e, com o objetivo de evitar acessos indevidos ao documento. + + + + + + + + + + + Código Fiscal de Operações e Prestações + + + + + Natureza da Operação + + + + + + + + + + + Modelo do documento fiscal + Utilizar o código 67 para identificação do CT-e Outros Serviços, emitido em substituição a Nota Fiscal Modelo 7 para transporte de pessoas, valores e excesso de bagagem. + + + + + Série do CT-e OS + Preencher com "0" no caso de série única + + + + + + + + Número do CT-e OS + + + + + Data e hora de emissão do CT-e OS + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Formato de impressão do DACTE OS + Preencher com: 1 - Retrato; 2 - Paisagem. + + + + + + + + + + + + Forma de emissão do CT-e + Preencher com: +1 - Normal; + 5 - Contingência FSDA; +7 - Autorização pela SVC-RS; + 8 - Autorização pela SVC-SP + + + + + + + + + + + + + + Digito Verificador da chave de acesso do CT-e + Informar o dígito de controle da chave de acesso do CT-e, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso. + + + + + + + + + + + Tipo do Ambiente + Preencher com:1 - Produção; 2 - Homologação + + + + + Tipo do CT-e OS + Preencher com: +0 - CT-e Normal; +1 - CT-e Complementar; +3 - CT-e de Substituição. + + + + + Identificador do processo de emissão do CT-e OS + Preencher com: + 0 - emissão de CT-e com aplicativo do contribuinte; + 3- emissão CT-e pelo contribuinte com aplicativo fornecido pelo Fisco. + + + + + Versão do processo de emissão + Iinformar a versão do aplicativo emissor de CT-e. + + + + + + + + + + + Código do Município de envio do CT-e (de onde o documento foi transmitido) + Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior. + + + + + Nome do Município de envio do CT-e (de onde o documento foi transmitido) + Informar PAIS/Municipio para as operações com o exterior. + + + + + + + + + + + Sigla da UF de envio do CT-e (de onde o documento foi transmitido) + Informar 'EX' para operações com o exterior. + + + + + Modal do CT-e OS + Preencher com: +01-Rodoviário; +02- Aéreo; +03 - Aquaviário; +04 - Ferroviário. + + + + + Tipo do Serviço + Preencher com: + +6 - Transporte de Pessoas; +7 - Transporte de Valores; +8 - Excesso de Bagagem. + + + + + + + + + + + + + Indicador da IE do tomador: +1 – Contribuinte ICMS; +2 – Contribuinte isento de inscrição; +9 – Não Contribuinte + Aplica-se ao tomador que for indicado no toma3 ou toma4 + + + + + + + + + + + + + Código do Município de início da prestação + Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. + + + + + Nome do Município do início da prestação + Informar 'EXTERIOR' para operações com o exterior. + + + + + + + + + + + UF do início da prestação + Informar 'EX' para operações com o exterior. + + + + + Código do Município de término da prestação + Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior. + + + + + Nome do Município do término da prestação + Informar 'EXTERIOR' para operações com o exterior. + + + + + + + + + + + UF do término da prestação + Informar 'EX' para operações com o exterior. + + + + + Informações do Percurso do CT-e Outros Serviços + + + + + + Sigla das Unidades da Federação do percurso do veículo. + Não é necessário repetir as UF de Início e Fim + + + + + + + + Informar apenas +para tpEmis diferente de 1 + + + + Data e Hora da entrada em contingência + Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS + + + + + Justificativa da entrada em contingência + + + + + + + + + + + + + + + Dados complementares do CT-e para fins operacionais ou comerciais + + + + + + Característica adicional do transporte + Texto livre: +REENTREGA; DEVOLUÇÃO; REFATURAMENTO; etc + + + + + + + + + + + Característica adicional do serviço + Texto livre: + ENTREGA EXPRESSA; LOGÍSTICA REVERSA; CONVENCIONAL; EMERGENCIAL; etc + + + + + + + + + + + Funcionário emissor do CTe + + + + + + + + + + + Observações Gerais + + + + + + + + + + + Campo de uso livre do contribuinte + Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto + + + + + + Conteúdo do campo + + + + + + + + + + + + Identificação do campo + + + + + + + + + + + + + Campo de uso livre do contribuinte + Informar o nome do campo no atributo xCampo e o conteúdo do campo no XTexto + + + + + + Conteúdo do campo + + + + + + + + + + + + Identificação do campo + + + + + + + + + + + + + + + + Identificação do Emitente do CT-e OS + + + + + + CNPJ do emitente + Informar zeros não significativos + + + + + Inscrição Estadual do Emitente + + + + + + + + Inscrição Estadual do Substituto Tributário + + + + + + + + Razão social ou Nome do emitente + + + + + + + + + + + Nome fantasia + + + + + + + + + + + Endereço do emitente + + + + + Código do Regime Tributário + Informar: 1=Simples Nacional; +2=Simples Nacional, excesso sublimite de receita bruta; +3=Regime Normal; +4=Simples Nacional - Microempreendedor Individual – MEI. + + + + + + + + + Informações do Tomador/Usuário do Serviço + Opcional para Excesso de Bagagem + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Razão social ou nome do tomador + + + + + + + + + + + Nome fantasia + + + + + + + + + + + Telefone + + + + + Dados do endereço + + + + + Endereço de email + + + + + + + + + + + Valores da Prestação de Serviço + + + + + + Valor Total da Prestação do Serviço + Pode conter zeros quando o CT-e for de complemento de ICMS + + + + + Valor a Receber + + + + + Componentes do Valor da Prestação + + + + + + Nome do componente + Exxemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc + + + + + + + + + + + Valor do componente + + + + + + + + + + + Informações relativas aos Impostos + + + + + + Informações relativas ao ICMS + + + + + + Valor Total dos Tributos + + + + + Informações adicionais de interesse do Fisco + Norma referenciada, informações complementares, etc + + + + + + + + + + + Informações do ICMS de partilha com a UF de término do serviço de transporte na operação interestadual + Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS + + + + + + Valor da BC do ICMS na UF de término da prestação do serviço de transporte + + + + + Percentual do ICMS relativo ao Fundo de Combate à pobreza (FCP) na UF de término da prestação do serviço de transporte + Alíquota adotada nas operações internas na UF do destinatário + + + + + Alíquota interna da UF de término da prestação do serviço de transporte + Alíquota adotada nas operações internas na UF do destinatário + + + + + Alíquota interestadual das UF envolvidas + Alíquota interestadual das UF envolvidas + + + + + + Valor do ICMS relativo ao Fundo de Combate á Pobreza (FCP) da UF de término da prestação + + + + + Valor do ICMS de partilha para a UF de término da prestação do serviço de transporte + + + + + Valor do ICMS de partilha para a UF de início da prestação do serviço de transporte + + + + + + + + Informações dos tributos federais + Grupo a ser informado nas prestações interestaduais para consumidor final, não contribuinte do ICMS + + + + + + Valor do PIS + + + + + Valor COFINS + + + + + Valor de Imposto de Renda + + + + + Valor do INSS + + + + + Valor do CSLL + + + + + + + + + + + + Grupo de informações do CT-e OS Normal + + + + + + Informações da Prestação do Serviço + + + + + + Descrição do Serviço prestado + + + + + + + + + + + Informações de quantidades da Carga do CT-e + Para Transporte de Pessoas indicar número de passageiros, para excesso de bagagem e transporte de valores indicar número de Volumes/Malotes + + + + + + Quantidade + + + + + + + + + + + Informações dos documentos referenciados + + + + + + + Número + + + + + + + + + + + Série + + + + + + + + + + + Subsérie + + + + + + + + + + + Data de Emissão + Formato AAAA-MM-DD + + + + + Valor Transportado + + + + + + Chave de acesso do BP-e que possui eventos excesso de bagagem + + + + + + + + + + + Informações de Seguro da Carga + + + + + + Responsável pelo seguro + Preencher com: + +4 - Emitente do CT-e; + +5 - Tomador de Serviço. + + + + + + + + + + + + + + + Nome da Seguradora + + + + + + + + + + + Número da Apólice + Obrigatório pela lei 11.442/07 (RCTRC) + + + + + + + + + + + + + + Informações do modal +Obrigatório para Pessoas e Bagagem + + + + + + XML do modal +Insira neste local o XML específico do modal + O elemento do tipo -any- permite estender o documento XML com elementos não especificados pelo schema. + Insira neste local - any- o XML específico do modal (rodoviário). A especificação do schema XML para cada modal pode ser encontrada nos arquivos que acompanham este pacote de liberação: + Rodoviário - ver arquivo CTeModalRodoviarioOS_v9.99 + +Onde v9.99 é a a designação genérica para a versão do arquivo. Por exemplo, o arquivo para o schema do modal Rodoviário na versão 4.00 será denominado "CTeModalRodoviarioOS_v4.00". + + + + + + Versão do leiaute específico para o Modal + + + + + + + + + + + + + Informações do CT-e de substituição + + + + + + Chave de acesso do CT-e a ser substituído (original) + + + + + + + + + + + + + Chave de acesso do CT-e Cancelado +Somente para Transporte de Valores + + + + + + + + Dados da cobrança do CT-e + + + + + + Dados da fatura + + + + + + Número da fatura + + + + + + + + + + + Valor original da fatura + + + + + Valor do desconto da fatura + + + + + Valor líquido da fatura + + + + + + + + Dados das duplicatas + + + + + + Número da duplicata + + + + + + + + + + + Data de vencimento da duplicata (AAAA-MM-DD) + + + + + Valor da duplicata + + + + + + + + + + + Informações das GTV-e relacionadas ao CT-e OS + + + + + + Chave de acesso da GTV-e + + + + + + + + + + Componentes do Valor da GTVe + + + + + + Tipo do Componente + 1-Custodia +2-Embarque +3-Tempo de espera +4-Malote +5-Ad Valorem +6-Outros + + + + + + + + + + + + + + + + Valor do componente + + + + + Nome do componente (informar apenas para outros) + Exemplos: FRETE PESO, FRETE VALOR, SEC/CAT, ADEME, AGENDAMENTO, etc + + + + + + + + + + + + + + + + + + + + Detalhamento do CT-e complementado + + + + + + Chave do CT-e complementado + + + + + + + + + Autorizados para download do XML do DF-e + Informar CNPJ ou CPF. Preencher os zeros não significativos. + + + + + + + CNPJ do autorizado + Informar zeros não significativos + + + + + CPF do autorizado + Informar zeros não significativos + + + + + + + + + Informações do Responsável Técnico pela emissão do DF-e + + + + + + Versão do leiaute + Ex: "4.00" + + + + + + + + Identificador da tag a ser assinada + Informar a chave de acesso do CT-e OS e precedida do literal "CTe" + + + + + + + + + + + + Informações suplementares do CT-e + + + + + + Texto com o QR-Code impresso no DACTE + + + + + + + + + + + + + + + + + + Versão do leiaute + + + + + + + + + Tipo Dados do Endereço + + + + + Logradouro + + + + + + + + + + + Número + + + + + + + + + + + Complemento + + + + + + + + + + + Bairro + + + + + + + + + + + Código do município (utilizar a tabela do IBGE) + + + + + Nome do município + + + + + + + + + + + CEP + Informar zeros não significativos + + + + + + + + + + + Sigla da UF + + + + + Telefone + + + + + + + Tipo Dados do Endereço + + + + + Logradouro + + + + + + + + + + + Número + + + + + + + + + + + Complemento + + + + + + + + + + + Bairro + + + + + + + + + + + Código do município (utilizar a tabela do IBGE) + Informar 9999999 para operações com o exterior. + + + + + Nome do município + Informar EXTERIOR para operações com o exterior. + + + + + + + + + + + CEP + Informar os zeros não significativos + + + + + + + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + Código do país + Utilizar a tabela do BACEN + + + + + + + + + + + Nome do país + + + + + + + + + + + + + Tipo Dados do Endereço + + + + + Logradouro + + + + + + + + + + + Número + + + + + + + + + + + Complemento + + + + + + + + + + + Bairro + + + + + + + + + + + Código do município (utilizar a tabela do IBGE), informar 9999999 para operações com o exterior. + + + + + Nome do município, , informar EXTERIOR para operações com o exterior. + + + + + + + + + + + CEP + + + + + + + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + + + Tipo Dados do Endereço + + + + + Logradouro + + + + + + + + + + + Número + + + + + + + + + + + Complemento + + + + + + + + + + + Bairro + + + + + + + + + + + Código do município (utilizar a tabela do IBGE), informar 9999999 para operações com o exterior. + + + + + Nome do município + Informar EXTERIOR para operações com o exterior. + + + + + + + + + + + CEP + + + + + + + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + Código do país + + + + + + + + + + + Nome do país + + + + + + + + + + + Telefone + + + + + + + Tipo Dados do Local de Origem ou Destino + + + + + Código do município (utilizar a tabela do IBGE) + + + + + Nome do município + + + + + + + + + + + Sigla da UF + + + + + + + Tipo Dados do Local de Retirada ou Entrega + + + + + + Número do CNPJ + + + + + Número do CPF + + + + + + Razão Social ou Nome + + + + + + + + + + + Logradouro + + + + + + + + + + + Número + + + + + + + + + + + Complemento + + + + + + + + + + + Bairro + + + + + + + + + + + Código do município (utilizar a tabela do IBGE) + Informar 9999999 para operações com o exterior. + + + + + Nome do município + Informar EXTERIOR para operações com o exterior. + + + + + + + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + + + Tipo Dados do Imposto CT-e + + + + + Prestação sujeito à tributação normal do ICMS + + + + + + classificação Tributária do Serviço + 00 - tributação normal ICMS + + + + + + + + + + + Valor da BC do ICMS + + + + + Alíquota do ICMS + + + + + Valor do ICMS + + + + + + + + Prestação sujeito à tributação com redução de BC do ICMS + + + + + + Classificação Tributária do serviço + 20 - tributação com BC reduzida do ICMS + + + + + + + + + + + Percentual de redução da BC + + + + + Valor da BC do ICMS + + + + + Alíquota do ICMS + + + + + Valor do ICMS + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + ICMS Isento, não Tributado ou diferido + + + + + + Classificação Tributária do Serviço + Preencher com: + 40 - ICMS isenção; + 41 - ICMS não tributada; + 51 - ICMS diferido + + + + + + + + + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + Tributação pelo ICMS60 - ICMS cobrado por substituição tributária.Responsabilidade do recolhimento do ICMS atribuído ao tomador ou 3º por ST + + + + + + Classificação Tributária do Serviço + 60 - ICMS cobrado por substituição tributária + + + + + + + + + + + Valor da BC do ICMS ST retido + Valor do frete sobre o qual será calculado o ICMS a ser substituído na Prestação. + + + + + Valor do ICMS ST retido + Resultado da multiplicação do “vBCSTRet” x “pICMSSTRet” – que será valor do ICMS a ser retido pelo Substituto. Podendo o valor do ICMS a ser retido efetivamente, sofrer ajustes conforme a opção tributaria do transportador substituído. + + + + + Alíquota do ICMS + Percentual de Alíquota incidente na prestação de serviço de transporte. + + + + + Valor do Crédito outorgado/Presumido + Preencher somente quando o transportador substituído, for optante pelo crédito outorgado previsto no Convênio 106/96 e corresponde ao percentual de 20% do valor do ICMS ST retido. + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + ICMS Outros + + + + + + Classificação Tributária do Serviço + 90 - ICMS outros + + + + + + + + + + + Percentual de redução da BC + + + + + Valor da BC do ICMS + + + + + Alíquota do ICMS + + + + + Valor do ICMS + + + + + Valor do Crédito Outorgado/Presumido + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + ICMS devido à UF de origem da prestação, quando diferente da UF do emitente + + + + + + Classificação Tributária do Serviço + 90 - ICMS Outra UF + + + + + + + + + + + Percentual de redução da BC + + + + + Valor da BC do ICMS + + + + + Alíquota do ICMS + + + + + Valor do ICMS devido outra UF + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + Simples Nacional + + + + + + Classificação Tributária do Serviço + 90 - ICMS Simples Nacional + + + + + + + + + + + Indica se o contribuinte é Simples Nacional 1=Sim + + + + + + + + + + + + + + + + Tipo Dados do Imposto para CT-e OS + + + + + Prestação sujeito à tributação normal do ICMS + + + + + + classificação Tributária do Serviço + 00 - tributação normal ICMS + + + + + + + + + + + Valor da BC do ICMS + + + + + Alíquota do ICMS + + + + + Valor do ICMS + + + + + + + + Prestação sujeito à tributação com redução de BC do ICMS + + + + + + Classificação Tributária do serviço + 20 - tributação com BC reduzida do ICMS + + + + + + + + + + + Percentual de redução da BC + + + + + Valor da BC do ICMS + + + + + Alíquota do ICMS + + + + + Valor do ICMS + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + ICMS Isento, não Tributado ou diferido + + + + + + Classificação Tributária do Serviço + Preencher com: + 40 - ICMS isenção; + 41 - ICMS não tributada; + 51 - ICMS diferido + + + + + + + + + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + ICMS Outros + + + + + + Classificação Tributária do Serviço + 90 - Outros + + + + + + + + + + + Percentual de redução da BC + + + + + Valor da BC do ICMS + + + + + Alíquota do ICMS + + + + + Valor do ICMS + + + + + Valor do Crédito Outorgado/Presumido + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + ICMS devido à UF de origem da prestação, quando diferente da UF do emitente + + + + + + Classificação Tributária do Serviço + 90 - ICMS Outra UF + + + + + + + + + + + Percentual de redução da BC + + + + + Valor da BC do ICMS + + + + + Alíquota do ICMS + + + + + Valor do ICMS devido outra UF + + + + + Sequencia XML + + + + Valor do ICMS de desoneração + + + + + Código de Benefício Fiscal na UF + Código de Benefício Fiscal utilizado pela UF + + + + + + + + + + + + + + + + Simples Nacional + + + + + + Classificação Tributária do Serviço + 90 - ICMS Simples Nacional + + + + + + + + + + + Indica se o contribuinte é Simples Nacional 1=Sim + + + + + + + + + + + + + + + + Tipo Dados Unidade de Transporte + + + + + Tipo da Unidade de Transporte + 1 - Rodoviário Tração +2 - Rodoviário Reboque +3 - Navio +4 - Balsa +5 - Aeronave +6 - Vagão +7 - Outros + + + + + Identificação da Unidade de Transporte + Informar a identificação conforme o tipo de unidade de transporte. +Por exemplo: para rodoviário tração ou reboque deverá preencher com a placa do veículo. + + + + + + Lacres das Unidades de Transporte + + + + + + Número do lacre + + + + + + + + + + + + + + Informações das Unidades de Carga (Containeres/ULD/Outros) + Dispositivo de carga utilizada (Unit Load Device - ULD) significa todo tipo de contêiner de carga, vagão, contêiner de avião, palete de aeronave com rede ou palete de aeronave com rede sobre um iglu. + + + + + Quantidade rateada (Peso,Volume) + + + + + + + Tipo Dados Unidade de Carga + + + + + Tipo da Unidade de Carga + 1 - Container +2 - ULD +3 - Pallet +4 - Outros + + + + + Identificação da Unidade de Carga + Informar a identificação da unidade de carga, por exemplo: número do container. + + + + + Lacres das Unidades de Carga + + + + + + Número do lacre + + + + + + + + + + + + + + Quantidade rateada (Peso,Volume) + + + + + + + Tipo Dados da Responsável Técnico + + + + + CNPJ da pessoa jurídica responsável técnica pelo sistema utilizado na emissão do documento fiscal eletrônico + Informar o CNPJ da pessoa jurídica desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico. + + + + + Nome da pessoa a ser contatada + Informar o nome da pessoa a ser contatada na empresa desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico. No caso de pessoa física, informar o respectivo nome. + + + + + + + + + + + Email da pessoa jurídica a ser contatada + + + + + Telefone da pessoa jurídica a ser contatada + Preencher com o Código DDD + número do telefone. + + + + + + + + + + + + Identificador do código de segurança do responsável técnico + Identificador do CSRT utilizado para geração do hash + + + + + + + + + + Hash do token do código de segurança do responsável técnico + O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT) + +Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary + + + + + + + + + + + + + Tipo CFOP + + + + + + + + + Tipo Código da Lista de Serviços LC 116/2003 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tipo Número do Container + + + + + + + + + + + Tipo Documento Associado + + + + + + + + + + + + + + + Tipo Email + + + + + + + + + + + Tipo Finalidade da CT-e + + + + + + + + + + + Tipos Finalidade de CT-e Simplificado + + + + + + + + + + Tipo Identificador de controle do envio do lote. Número seqüencial auto-incremental, de controle correspondente ao identificador único do lote enviado. A responsabilidade de gerar e controlar esse número é do próprio contribuinte. + + + + + + + + + Tipo Modelo do Documento + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tipo Modal transporte Outros Serviços + + + + + + + + + + + + Tipo Modal transporte + + + + + + + + + + + + + + Tipo Modal transporte do CTe Simplificado + + + + + + + + + + + Tipo RNTRC - Registro Nacional Transportadores Rodoviários de Carga + + + + + + + + + Tipo CIOT - Código Identificador da Operação de Transporte + + + + + + + + + Tipo Código Regime Tributário + + + + + + + + + + + + + + Tipo processo de emissão do CT-e + + + + + + + + + + Tipo hora + + + + + + + + + Tipo Versão do CT-e - 4.00 + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/cte_v4.00.xsd b/pynfe/data/XSDs/CT-e/cte_v4.00.xsd index 99f20c04..b0cb9c1a 100644 --- a/pynfe/data/XSDs/CT-e/cte_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/cte_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Conhecimento de Transporte Eletrônico - - - + + + + + + + Conhecimento de Transporte Eletrônico + + + diff --git a/pynfe/data/XSDs/CT-e/evCCeCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/evCCeCTe_v4.00.xsd index 8583cf93..92e78690 100644 --- a/pynfe/data/XSDs/CT-e/evCCeCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evCCeCTe_v4.00.xsd @@ -1,98 +1,98 @@ - - - - - - - Schema XML de validação do evento carta de correção -110110 - - - - - - Descrição do Evento - “Carta de Correção” - - - - - - - - - - - - Grupo de Informações de Correção - - - - - - Indicar o grupo de informações que pertence o campoAlterado. Ex: ide - - - - - - - - - - - - Nome do campo modificado do CT-e Original. - - - - - - - - - - - - Valor correspondente à alteração. - - - - - - - - - - - - Preencher com o indice do item alterado caso a alteração ocorra em uma lista. -OBS: O indice inicia sempre em 1 - - - - - - - - - - - - - - Condições de uso da Carta de Correção, - informar a literal :Condições de uso da Carta de Correção, informar a literal: -“A Carta de Correção é disciplinada pelo Art. 58-B do CONVÊNIO/SINIEF 06/89: Fica permitida a utilização de carta de correção, para regularização de erro ocorrido na emissão de documentos fiscais relativos à prestação de serviço de transporte, desde que o erro não esteja relacionado com: I - as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da prestação;II - a correção de dados cadastrais que implique mudança do emitente, tomador, remetente ou do destinatário;III - a data de emissão ou de saída.” (texto com acentuação) ou “A Carta de Correcao e disciplinada pelo Art. 58-B do CONVENIO/SINIEF 06/89: Fica permitida a utilizacao de carta de correcao, para regularizacao de erro ocorrido na emissao de documentos fiscais relativos a prestacao de servico de transporte, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da prestacao;II - a correcao de dados cadastrais que implique mudança do emitente, tomador, remetente ou do destinatario;III - a data de emissao ou de saida.” (texto sem acentuação) - - - - - - - - - - - - - + + + + + + + Schema XML de validação do evento carta de correção +110110 + + + + + + Descrição do Evento - “Carta de Correção” + + + + + + + + + + + + Grupo de Informações de Correção + + + + + + Indicar o grupo de informações que pertence o campoAlterado. Ex: ide + + + + + + + + + + + + Nome do campo modificado do CT-e Original. + + + + + + + + + + + + Valor correspondente à alteração. + + + + + + + + + + + + Preencher com o indice do item alterado caso a alteração ocorra em uma lista. +OBS: O indice inicia sempre em 1 + + + + + + + + + + + + + + Condições de uso da Carta de Correção, + informar a literal :Condições de uso da Carta de Correção, informar a literal: +“A Carta de Correção é disciplinada pelo Art. 58-B do CONVÊNIO/SINIEF 06/89: Fica permitida a utilização de carta de correção, para regularização de erro ocorrido na emissão de documentos fiscais relativos à prestação de serviço de transporte, desde que o erro não esteja relacionado com: I - as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da prestação;II - a correção de dados cadastrais que implique mudança do emitente, tomador, remetente ou do destinatário;III - a data de emissão ou de saída.” (texto com acentuação) ou “A Carta de Correcao e disciplinada pelo Art. 58-B do CONVENIO/SINIEF 06/89: Fica permitida a utilizacao de carta de correcao, para regularizacao de erro ocorrido na emissao de documentos fiscais relativos a prestacao de servico de transporte, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da prestacao;II - a correcao de dados cadastrais que implique mudança do emitente, tomador, remetente ou do destinatario;III - a data de emissao ou de saida.” (texto sem acentuação) + + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evCECTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/evCECTe_v4.00.xsd index eca5c0aa..17f9c36c 100644 --- a/pynfe/data/XSDs/CT-e/evCECTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evCECTe_v4.00.xsd @@ -1,108 +1,108 @@ - - - - - - - Schema XML de validação do evento comprovante de entrega eletrônico do CT-e -110180 - - - - - - Descrição do Evento - “Comprovante de Entrega do CT-e” - - - - - - - - - - - Número do Protocolo de autorização do CT-e - - - - - Data e hora de conclusão da entrega da NF-e - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Número do Documento de identificação da pessoa que recebeu a entrega - - - - - - - - - - - Nome da pessoa que recebeu a entrega - - - - - - - - - - - Latitude do ponto de entrega - - - - - Longitude do ponto de entrega - - - - - Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da entrega (Exemplo: imagem capturada da assinatura eletrônica, digital do recebedor, foto, etc) - O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT) -Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary - - - - - - - - - - Data e hora de geração do hash entrega - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Grupo de informações das NF-e que foram entregues ao Destinatário - Informar o grupo apenas para CT-e com tipo de serviço Normal - - - - - - Chave de acesso da NF-e entregue - - - - - - - - - + + + + + + + Schema XML de validação do evento comprovante de entrega eletrônico do CT-e +110180 + + + + + + Descrição do Evento - “Comprovante de Entrega do CT-e” + + + + + + + + + + + Número do Protocolo de autorização do CT-e + + + + + Data e hora de conclusão da entrega da NF-e + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Número do Documento de identificação da pessoa que recebeu a entrega + + + + + + + + + + + Nome da pessoa que recebeu a entrega + + + + + + + + + + + Latitude do ponto de entrega + + + + + Longitude do ponto de entrega + + + + + Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da entrega (Exemplo: imagem capturada da assinatura eletrônica, digital do recebedor, foto, etc) + O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT) +Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary + + + + + + + + + + Data e hora de geração do hash entrega + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Grupo de informações das NF-e que foram entregues ao Destinatário + Informar o grupo apenas para CT-e com tipo de serviço Normal + + + + + + Chave de acesso da NF-e entregue + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evCancCECTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/evCancCECTe_v4.00.xsd index b0b7af8a..0a9f3ef5 100644 --- a/pynfe/data/XSDs/CT-e/evCancCECTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evCancCECTe_v4.00.xsd @@ -1,36 +1,36 @@ - - - - - - - Schema XML de validação do evento cancelamento do comprovante de entrega eletrônico do CT-e -110181 - - - - - - Descrição do Evento - “Cancelamento do Comprovante de Entrega do CT-e” - - - - - - - - - - - Número do Protocolo de autorização do CT-e - - - - - Número do Protocolo de autorização do evento a ser cancelado - - - - - - + + + + + + + Schema XML de validação do evento cancelamento do comprovante de entrega eletrônico do CT-e +110181 + + + + + + Descrição do Evento - “Cancelamento do Comprovante de Entrega do CT-e” + + + + + + + + + + + Número do Protocolo de autorização do CT-e + + + + + Número do Protocolo de autorização do evento a ser cancelado + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evCancCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/evCancCTe_v4.00.xsd index 3952bce7..af1f280b 100644 --- a/pynfe/data/XSDs/CT-e/evCancCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evCancCTe_v4.00.xsd @@ -1,36 +1,36 @@ - - - - - - - Schema XML de validação do evento do cancelamento -110111 - - - - - - Descrição do Evento - “Cancelamento” - - - - - - - - - - - Número do Protocolo de Status do CT-e - - - - - Justificativa do Cancelamento - - - - - - + + + + + + + Schema XML de validação do evento do cancelamento +110111 + + + + + + Descrição do Evento - “Cancelamento” + + + + + + + + + + + Número do Protocolo de Status do CT-e + + + + + Justificativa do Cancelamento + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evCancIECTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/evCancIECTe_v4.00.xsd index f2189585..20ce3b5f 100644 --- a/pynfe/data/XSDs/CT-e/evCancIECTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evCancIECTe_v4.00.xsd @@ -1,36 +1,36 @@ - - - - - - - Schema XML de validação do evento cancelamento do insucesso de entrega eletrônico do CT-e -110191 - - - - - - Descrição do Evento - “Cancelamento do Insucesso de Entrega do CT-e” - - - - - - - - - - - Número do Protocolo de autorização do CT-e - - - - - Número do Protocolo de autorização do evento a ser cancelado - - - - - - + + + + + + + Schema XML de validação do evento cancelamento do insucesso de entrega eletrônico do CT-e +110191 + + + + + + Descrição do Evento - “Cancelamento do Insucesso de Entrega do CT-e” + + + + + + + + + + + Número do Protocolo de autorização do CT-e + + + + + Número do Protocolo de autorização do evento a ser cancelado + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evCancPrestDesacordo_v4.00.xsd b/pynfe/data/XSDs/CT-e/evCancPrestDesacordo_v4.00.xsd index b37dfa31..a3404d25 100644 --- a/pynfe/data/XSDs/CT-e/evCancPrestDesacordo_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evCancPrestDesacordo_v4.00.xsd @@ -1,32 +1,32 @@ - - - - - - - Schema XML de validação do evento Cancelamento Prestação do Serviço em Desacordo 610111 - - - - - - Descrição do Evento - “Cancelamento Prestação do Serviço em Desacordo” - - - - - - - - - - - - Protocolo do evento que será cancelado - Informar o número do protocolo de autorização do evento de prestação de serviço em desacordo que será cancelado - - - - - - + + + + + + + Schema XML de validação do evento Cancelamento Prestação do Serviço em Desacordo 610111 + + + + + + Descrição do Evento - “Cancelamento Prestação do Serviço em Desacordo” + + + + + + + + + + + + Protocolo do evento que será cancelado + Informar o número do protocolo de autorização do evento de prestação de serviço em desacordo que será cancelado + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evEPECCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/evEPECCTe_v4.00.xsd index 8ce8bb1d..be7452cd 100644 --- a/pynfe/data/XSDs/CT-e/evEPECCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evEPECCTe_v4.00.xsd @@ -1,161 +1,161 @@ - - - - - - - Schema XML de validação do evento de emissão prévia de emissão em contingência -110113 - - - - - - Descrição do Evento - “EPEC” - - - - - - - - - - - Justificativa da Entrada em Contingencia - - - - - Valor do ICMS - - - - - Valor do ICMS ST - - - - - Valor Total da Prestação do Serviço - Pode conter zeros quando o CT-e for de complemento de ICMS - - - - - Valor total da carga - Dever ser informado para todos os modais, com exceção para o Dutoviário. - - - - - Indicador do "papel" do tomador do serviço no CT-e - - - - - - Tomador do Serviço - Preencher com: -0-Remetente; -1-Expedidor;2-Recebedor;3-Destinatário -;4 - Outros - - - - - - - - - - - - - - - UF do tomador do serviço - Informar 'EX' para operações com o exterior. - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. -Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Modal - Preencher com: - -01-Rodoviário; - -02-Aéreo; -03-Aquaviário; - -04-Ferroviário; - -05-Dutoviário; -06-Multimodal; - - - - - UF do início da prestação - Informar 'EX' para operações com o exterior. - - - - - UF do término da prestação - Informar 'EX' para operações com o exterior. - - - - - Tipo do CT-e - Aceitar apenas Tipo Normal = 0 - Preencher com: - 0 - CT-e Normal; - 1 - CT-e de Complemento de Valores; 2 - CT-e de Anulação; - 3 - CT-e Substituto - - - - - - - - - - - - Data e hora de emissão do CT-e - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - - + + + + + + + Schema XML de validação do evento de emissão prévia de emissão em contingência +110113 + + + + + + Descrição do Evento - “EPEC” + + + + + + + + + + + Justificativa da Entrada em Contingencia + + + + + Valor do ICMS + + + + + Valor do ICMS ST + + + + + Valor Total da Prestação do Serviço + Pode conter zeros quando o CT-e for de complemento de ICMS + + + + + Valor total da carga + Dever ser informado para todos os modais, com exceção para o Dutoviário. + + + + + Indicador do "papel" do tomador do serviço no CT-e + + + + + + Tomador do Serviço + Preencher com: +0-Remetente; +1-Expedidor;2-Recebedor;3-Destinatário +;4 - Outros + + + + + + + + + + + + + + + UF do tomador do serviço + Informar 'EX' para operações com o exterior. + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. +Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do tomador ou ISENTO se tomador é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o tomador não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Modal + Preencher com: + +01-Rodoviário; + +02-Aéreo; +03-Aquaviário; + +04-Ferroviário; + +05-Dutoviário; +06-Multimodal; + + + + + UF do início da prestação + Informar 'EX' para operações com o exterior. + + + + + UF do término da prestação + Informar 'EX' para operações com o exterior. + + + + + Tipo do CT-e - Aceitar apenas Tipo Normal = 0 + Preencher com: + 0 - CT-e Normal; + 1 - CT-e de Complemento de Valores; 2 - CT-e de Anulação; + 3 - CT-e Substituto + + + + + + + + + + + + Data e hora de emissão do CT-e + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evGTV_v4.00.xsd b/pynfe/data/XSDs/CT-e/evGTV_v4.00.xsd index ca7d5dfa..9b9cd01a 100644 --- a/pynfe/data/XSDs/CT-e/evGTV_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evGTV_v4.00.xsd @@ -1,255 +1,255 @@ - - - - - - - Schema XML de validação do evento informações da GTV 110170 - - - - - - Descrição do Evento - “Informações da GTV” - - - - - - - - - - - - Grupo de Informações das GTV - - - - - - Número da GTV - - - - - - - - - - - Identificador para diferenciar GTV de mesmo número (Usar número do AIDF ou identificador interno da empresa), - - - - - - - - - - - Série - - - - - - - - - - - Subsérie - - - - - - - - - - - Data de Emissão - Formato AAAA-MM-DD - - - - - Número Dígito Verificador - - - - - - - - - - - Quantidade de volumes/malotes - - - - - Informações das Espécies transportadas - - - - - - Tipo da Espécie - 1 - Numerário -2 - Cheque -3 - Moeda -4 - Outros - - - - - - - - - - - - - - Valor Transportada em Espécie indicada - - - - - - - - Informações do Remetente da GTV - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - Razão social ou nome do remetente - - - - - - - - - - - - - - Informações do Destinatário da GTV - - - - - - - Número do CNPJ - Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. - Informar os zeros não significativos. - - - - - Número do CPF - Informar os zeros não significativos. - - - - - - Inscrição Estadual - Informar a IE do destinatário ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar o conteúdo. - - - - - - - - Sigla da UF - Informar EX para operações com o exterior. - - - - - Razão social ou nome do destinatário - - - - - - - - - - - - - - Placa do veículo - - - - - UF em que veículo está licenciado - Sigla da UF de licenciamento do veículo. - - - - - RNTRC do transportador - - - - - - - - - - - - - - - + + + + + + + Schema XML de validação do evento informações da GTV 110170 + + + + + + Descrição do Evento - “Informações da GTV” + + + + + + + + + + + + Grupo de Informações das GTV + + + + + + Número da GTV + + + + + + + + + + + Identificador para diferenciar GTV de mesmo número (Usar número do AIDF ou identificador interno da empresa), + + + + + + + + + + + Série + + + + + + + + + + + Subsérie + + + + + + + + + + + Data de Emissão + Formato AAAA-MM-DD + + + + + Número Dígito Verificador + + + + + + + + + + + Quantidade de volumes/malotes + + + + + Informações das Espécies transportadas + + + + + + Tipo da Espécie + 1 - Numerário +2 - Cheque +3 - Moeda +4 - Outros + + + + + + + + + + + + + + Valor Transportada em Espécie indicada + + + + + + + + Informações do Remetente da GTV + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do remetente ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + Razão social ou nome do remetente + + + + + + + + + + + + + + Informações do Destinatário da GTV + + + + + + + Número do CNPJ + Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros. + Informar os zeros não significativos. + + + + + Número do CPF + Informar os zeros não significativos. + + + + + + Inscrição Estadual + Informar a IE do destinatário ou ISENTO se remetente é contribuinte do ICMS isento de inscrição no cadastro de contribuintes do ICMS. Caso o remetente não seja contribuinte do ICMS não informar o conteúdo. + + + + + + + + Sigla da UF + Informar EX para operações com o exterior. + + + + + Razão social ou nome do destinatário + + + + + + + + + + + + + + Placa do veículo + + + + + UF em que veículo está licenciado + Sigla da UF de licenciamento do veículo. + + + + + RNTRC do transportador + + + + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evIECTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/evIECTe_v4.00.xsd index 8dfa5dfb..09266903 100644 --- a/pynfe/data/XSDs/CT-e/evIECTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evIECTe_v4.00.xsd @@ -1,126 +1,126 @@ - - - - - - - Schema XML de validação do evento insucesso na entrega eletrônico do CT-e -110190 - - - - - - Descrição do Evento - “Insucesso na Entrega do CT-e” - - - - - - - - - - - Número do Protocolo de autorização do CT-e - - - - - Data e hora da tentativa da entrega da NF-e - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Número da tentativa de entrega que não teve insucesso - - - - - - - - - - - Motivo do insucesso - 1- Recebedor não encontrado; -2- Recusa do recebedor; -3- Endereço inexistente; -4- Outros (exige informar justificativa) - - - - - - - - - - - - - - Justificativa do Motivo de insucesso, informar apenas para tpMotivo = 4 - - - - - - - - - - - Latitude do ponto de entrega - - - - - Longitude do ponto de entrega - - - - - Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da tentativa com insucesso da entrega (Exemplo: foto do local que não recebeu a entrega ou do local sem recebedor) - O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT) -Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary - - - - - - - - - - Data e hora de geração do hash tentativa entrega - Formato AAAA-MM-DDTHH:MM:DD TZD - - - - - - - - Grupo de informações das NF-e que não tiveram sucesso na entrega ao Destinatário - Informar o grupo apenas para CT-e com tipo de serviço Normal - - - - - - Chave de acesso da NF-e com insucesso na tentativa de entrega - - - - - - - - - + + + + + + + Schema XML de validação do evento insucesso na entrega eletrônico do CT-e +110190 + + + + + + Descrição do Evento - “Insucesso na Entrega do CT-e” + + + + + + + + + + + Número do Protocolo de autorização do CT-e + + + + + Data e hora da tentativa da entrega da NF-e + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Número da tentativa de entrega que não teve insucesso + + + + + + + + + + + Motivo do insucesso + 1- Recebedor não encontrado; +2- Recusa do recebedor; +3- Endereço inexistente; +4- Outros (exige informar justificativa) + + + + + + + + + + + + + + Justificativa do Motivo de insucesso, informar apenas para tpMotivo = 4 + + + + + + + + + + + Latitude do ponto de entrega + + + + + Longitude do ponto de entrega + + + + + Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da tentativa com insucesso da entrega (Exemplo: foto do local que não recebeu a entrega ou do local sem recebedor) + O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT) +Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary + + + + + + + + + + Data e hora de geração do hash tentativa entrega + Formato AAAA-MM-DDTHH:MM:DD TZD + + + + + + + + Grupo de informações das NF-e que não tiveram sucesso na entrega ao Destinatário + Informar o grupo apenas para CT-e com tipo de serviço Normal + + + + + + Chave de acesso da NF-e com insucesso na tentativa de entrega + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evPrestDesacordo_v4.00.xsd b/pynfe/data/XSDs/CT-e/evPrestDesacordo_v4.00.xsd index 9b1f49cc..34542d33 100644 --- a/pynfe/data/XSDs/CT-e/evPrestDesacordo_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evPrestDesacordo_v4.00.xsd @@ -1,49 +1,49 @@ - - - - - - - Schema XML de validação do evento Prestação do Serviço em Desacordo 610110 - - - - - - Descrição do Evento - “Prestação do Serviço em Desacordo” - - - - - - - - - - - - Indicador de operação em desacordo - - - - - - - - - - Observações do tomador - - - - - - - - - - - - - - + + + + + + + Schema XML de validação do evento Prestação do Serviço em Desacordo 610110 + + + + + + Descrição do Evento - “Prestação do Serviço em Desacordo” + + + + + + + + + + + + Indicador de operação em desacordo + + + + + + + + + + Observações do tomador + + + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/evRegMultimodal_v4.00.xsd b/pynfe/data/XSDs/CT-e/evRegMultimodal_v4.00.xsd index 86eb957e..6ba3eccd 100644 --- a/pynfe/data/XSDs/CT-e/evRegMultimodal_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/evRegMultimodal_v4.00.xsd @@ -1,51 +1,51 @@ - - - - - - - Schema XML de validação do evento Registro Multimodal 110160 - - - - - - Descrição do Evento - “Registro Multimodal” - - - - - - - - - - - Informação complementar sobre o registro, indicação do tipo de documento utilizado e demais situações ocorridas no Multimodal (Texto Livre). - - - - - - - - - - - - - Numero do Documento lançado no CT-e Multimodal - - - - - - - - - - - - - - + + + + + + + Schema XML de validação do evento Registro Multimodal 110160 + + + + + + Descrição do Evento - “Registro Multimodal” + + + + + + + + + + + Informação complementar sobre o registro, indicação do tipo de documento utilizado e demais situações ocorridas no Multimodal (Texto Livre). + + + + + + + + + + + + + Numero do Documento lançado no CT-e Multimodal + + + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/eventoCTeTiposBasico_v4.00.xsd b/pynfe/data/XSDs/CT-e/eventoCTeTiposBasico_v4.00.xsd index 9693e75a..d9090707 100644 --- a/pynfe/data/XSDs/CT-e/eventoCTeTiposBasico_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/eventoCTeTiposBasico_v4.00.xsd @@ -1,331 +1,331 @@ - - - - - - - - Tipo Evento - - - - - - - - Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar SUFRAMA - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - - CNPJ do emissor do evento - - - - - CPF do emissor do evento - Informar zeros não significativos. - -Usar com série específica 920-969 para emitente pessoa física com inscrição estadual - - - - - - Chave de Acesso do CT-e vinculado ao evento - - - - - Data e Hora do Evento, formato UTC (AAAA-MM-DDThh:mm:ssTZD) - - - - - Tipo do Evento - - - - - - - - - - - Seqüencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento o autor do evento deve numerar de forma seqüencial. - - - - - - - - - - - Detalhamento do evento específico - - - - - - XML do evento -Insira neste local o XML específico do tipo de evento (cancelamento, encerramento, registro de passagem). - - - - - - - - - - - - - - - - Grupo de informações do pedido de registro de evento da Nota Fiscal Fácil - - - - - - Solicitação do pedido de registro de evento da NFF. - Será preenchido com a totalidade de campos informados no aplicativo emissor serializado. - - - - - - - - - - - - - - Grupo de Informação do Provedor de Assinatura e Autorização - - - - - - CNPJ do Provedor de Assinatura e Autorização - - - - - Assinatura RSA do Emitente para DFe gerados por PAA - - - - - - Assinatura digital padrão RSA - Converter o atributo Id do DFe para array de bytes e assinar com a chave privada do RSA com algoritmo SHA1 gerando um valor no formato base64. - - - - - Chave Publica no padrão XML RSA Key - - - - - - - - - - - - Identificador da TAG a ser assinada, a regra de formação do Id é: -“ID” + tpEvento + chave do CT-e + nSeqEvento - - - - - - - - - - - - - - - - Tipo retorno do Evento - - - - - - - - Identificação do Ambiente: -1 - Produção -2 - Homologação - - - - - Versão do Aplicativo que recebeu o Evento - - - - - Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar SUFRAMA - - - - - Código do status da registro do Evento - - - - - Descrição literal do status do registro do Evento - - - - - Chave de Acesso CT-e vinculado - - - - - Tipo do Evento vinculado - - - - - - - - - - - Descrição do Evento - - - - - - - - - - - Seqüencial do evento - - - - - - - - - - - Data e Hora de do recebimento do evento ou do registro do evento formato AAAA-MM-DDThh:mm:ssTZD - - - - - Número do protocolo de registro do evento - - - - - - - - - - - - - - - - - - - - - - - Tipo procEvento - - - - - - - - - IP do transmissor do documento fiscal para o ambiente autorizador - - - - - Porta de origem utilizada na conexão (De 0 a 65535) - - - - - - - - - - Data e Hora da Conexão de Origem - - - - - - Tipo Versão do Evento - - - - - - - - - Tipo Modal transporte - - - - - - - - - - - - - - Tipo número sequencial único do AN - - - - - - + + + + + + + + Tipo Evento + + + + + + + + Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar SUFRAMA + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + + CNPJ do emissor do evento + + + + + CPF do emissor do evento + Informar zeros não significativos. + +Usar com série específica 920-969 para emitente pessoa física com inscrição estadual + + + + + + Chave de Acesso do CT-e vinculado ao evento + + + + + Data e Hora do Evento, formato UTC (AAAA-MM-DDThh:mm:ssTZD) + + + + + Tipo do Evento + + + + + + + + + + + Seqüencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento o autor do evento deve numerar de forma seqüencial. + + + + + + + + + + + Detalhamento do evento específico + + + + + + XML do evento +Insira neste local o XML específico do tipo de evento (cancelamento, encerramento, registro de passagem). + + + + + + + + + + + + + + + + Grupo de informações do pedido de registro de evento da Nota Fiscal Fácil + + + + + + Solicitação do pedido de registro de evento da NFF. + Será preenchido com a totalidade de campos informados no aplicativo emissor serializado. + + + + + + + + + + + + + + Grupo de Informação do Provedor de Assinatura e Autorização + + + + + + CNPJ do Provedor de Assinatura e Autorização + + + + + Assinatura RSA do Emitente para DFe gerados por PAA + + + + + + Assinatura digital padrão RSA + Converter o atributo Id do DFe para array de bytes e assinar com a chave privada do RSA com algoritmo SHA1 gerando um valor no formato base64. + + + + + Chave Publica no padrão XML RSA Key + + + + + + + + + + + + Identificador da TAG a ser assinada, a regra de formação do Id é: +“ID” + tpEvento + chave do CT-e + nSeqEvento + + + + + + + + + + + + + + + + Tipo retorno do Evento + + + + + + + + Identificação do Ambiente: +1 - Produção +2 - Homologação + + + + + Versão do Aplicativo que recebeu o Evento + + + + + Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar SUFRAMA + + + + + Código do status da registro do Evento + + + + + Descrição literal do status do registro do Evento + + + + + Chave de Acesso CT-e vinculado + + + + + Tipo do Evento vinculado + + + + + + + + + + + Descrição do Evento + + + + + + + + + + + Seqüencial do evento + + + + + + + + + + + Data e Hora de do recebimento do evento ou do registro do evento formato AAAA-MM-DDThh:mm:ssTZD + + + + + Número do protocolo de registro do evento + + + + + + + + + + + + + + + + + + + + + + + Tipo procEvento + + + + + + + + + IP do transmissor do documento fiscal para o ambiente autorizador + + + + + Porta de origem utilizada na conexão (De 0 a 65535) + + + + + + + + + + Data e Hora da Conexão de Origem + + + + + + Tipo Versão do Evento + + + + + + + + + Tipo Modal transporte + + + + + + + + + + + + + + Tipo número sequencial único do AN + + + + + + diff --git a/pynfe/data/XSDs/CT-e/eventoCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/eventoCTe_v4.00.xsd index ea60785b..a6197500 100644 --- a/pynfe/data/XSDs/CT-e/eventoCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/eventoCTe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do Pedido de Registro de Evento do CT-e - - - + + + + + + + Schema XML de validação do Pedido de Registro de Evento do CT-e + + + diff --git a/pynfe/data/XSDs/CT-e/procCTeOS_v4.00.xsd b/pynfe/data/XSDs/CT-e/procCTeOS_v4.00.xsd index 903af31e..c019c2ec 100644 --- a/pynfe/data/XSDs/CT-e/procCTeOS_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/procCTeOS_v4.00.xsd @@ -1,37 +1,37 @@ - - - - - - - CT-e OS processado - - - - - - - - - - IP do transmissor do documento fiscal para o ambiente autorizador - - - - - Porta de origem utilizada na conexão (De 0 a 65535) - - - - - - - - - - Data e Hora da Conexão de Origem - - - - - + + + + + + + CT-e OS processado + + + + + + + + + + IP do transmissor do documento fiscal para o ambiente autorizador + + + + + Porta de origem utilizada na conexão (De 0 a 65535) + + + + + + + + + + Data e Hora da Conexão de Origem + + + + + diff --git a/pynfe/data/XSDs/CT-e/procCTeSimp_v4.00.xsd b/pynfe/data/XSDs/CT-e/procCTeSimp_v4.00.xsd index 69bd578f..ae7e19cb 100644 --- a/pynfe/data/XSDs/CT-e/procCTeSimp_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/procCTeSimp_v4.00.xsd @@ -1,37 +1,37 @@ - - - - - - - CT-e Simplificado processado - - - - - - - - - - IP do transmissor do documento fiscal para o ambiente autorizador - - - - - Porta de origem utilizada na conexão (De 0 a 65535) - - - - - - - - - - Data e Hora da Conexão de Origem - - - - - + + + + + + + CT-e Simplificado processado + + + + + + + + + + IP do transmissor do documento fiscal para o ambiente autorizador + + + + + Porta de origem utilizada na conexão (De 0 a 65535) + + + + + + + + + + Data e Hora da Conexão de Origem + + + + + diff --git a/pynfe/data/XSDs/CT-e/procCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/procCTe_v4.00.xsd index b1938152..c13cb4c8 100644 --- a/pynfe/data/XSDs/CT-e/procCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/procCTe_v4.00.xsd @@ -1,37 +1,37 @@ - - - - - - - CT-e processado - - - - - - - - - - IP do transmissor do documento fiscal para o ambiente autorizador - - - - - Porta de origem utilizada na conexão (De 0 a 65535) - - - - - - - - - - Data e Hora da Conexão de Origem - - - - - + + + + + + + CT-e processado + + + + + + + + + + IP do transmissor do documento fiscal para o ambiente autorizador + + + + + Porta de origem utilizada na conexão (De 0 a 65535) + + + + + + + + + + Data e Hora da Conexão de Origem + + + + + diff --git a/pynfe/data/XSDs/CT-e/procEventoCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/procEventoCTe_v4.00.xsd index f33ad770..ddfe9d4f 100644 --- a/pynfe/data/XSDs/CT-e/procEventoCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/procEventoCTe_v4.00.xsd @@ -1,15 +1,15 @@ - - - - - - - Pedido de Registro de Eventos de CT-e processado - - - - - - - - + + + + + + + Pedido de Registro de Eventos de CT-e processado + + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/procGTVe_v4.00.xsd b/pynfe/data/XSDs/CT-e/procGTVe_v4.00.xsd index 42a9e071..b9a43893 100644 --- a/pynfe/data/XSDs/CT-e/procGTVe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/procGTVe_v4.00.xsd @@ -1,37 +1,37 @@ - - - - - - - GTV-e processada - - - - - - - - - - IP do transmissor do documento fiscal para o ambiente autorizador - - - - - Porta de origem utilizada na conexão (De 0 a 65535) - - - - - - - - - - Data e Hora da Conexão de Origem - - - - - + + + + + + + GTV-e processada + + + + + + + + + + IP do transmissor do documento fiscal para o ambiente autorizador + + + + + Porta de origem utilizada na conexão (De 0 a 65535) + + + + + + + + + + Data e Hora da Conexão de Origem + + + + + diff --git a/pynfe/data/XSDs/CT-e/retCTeOS_v4.00.xsd b/pynfe/data/XSDs/CT-e/retCTeOS_v4.00.xsd index 2767bbb8..3ca744be 100644 --- a/pynfe/data/XSDs/CT-e/retCTeOS_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/retCTeOS_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do retorno do recibo de envio do CT-e OS (Modelo 67) - - - + + + + + + + Schema XML de validação do retorno do recibo de envio do CT-e OS (Modelo 67) + + + diff --git a/pynfe/data/XSDs/CT-e/retCTeSimp_v4.00.xsd b/pynfe/data/XSDs/CT-e/retCTeSimp_v4.00.xsd index 89e98b2b..8140961c 100644 --- a/pynfe/data/XSDs/CT-e/retCTeSimp_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/retCTeSimp_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do retorno do recibo de envio do CT-e Simplificado (Modelo 57) - - - + + + + + + + Schema XML de validação do retorno do recibo de envio do CT-e Simplificado (Modelo 57) + + + diff --git a/pynfe/data/XSDs/CT-e/retCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/retCTe_v4.00.xsd index 7544bcee..24f025dd 100644 --- a/pynfe/data/XSDs/CT-e/retCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/retCTe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do retorno do recibo de envio do CT-e (Modelo 57) - - - + + + + + + + Schema XML de validação do retorno do recibo de envio do CT-e (Modelo 57) + + + diff --git a/pynfe/data/XSDs/CT-e/retConsSitCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/retConsSitCTe_v4.00.xsd index 4983ac27..3e6aac4e 100644 --- a/pynfe/data/XSDs/CT-e/retConsSitCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/retConsSitCTe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do retorno da consulta da situação atual do CT-e. - - - + + + + + + + Schema XML de validação do retorno da consulta da situação atual do CT-e. + + + diff --git a/pynfe/data/XSDs/CT-e/retConsStatServCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/retConsStatServCTe_v4.00.xsd index 32ead0a4..4bc47d6c 100644 --- a/pynfe/data/XSDs/CT-e/retConsStatServCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/retConsStatServCTe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do Resultado da Consulta do Status do Serviço de CT-e - - - + + + + + + + Schema XML de validação do Resultado da Consulta do Status do Serviço de CT-e + + + diff --git a/pynfe/data/XSDs/CT-e/retEventoCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/retEventoCTe_v4.00.xsd index 7b975de0..41010ef8 100644 --- a/pynfe/data/XSDs/CT-e/retEventoCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/retEventoCTe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do retorno Pedido de Evento do CT-e - - - + + + + + + + Schema XML de validação do retorno Pedido de Evento do CT-e + + + diff --git a/pynfe/data/XSDs/CT-e/retGTVe_v4.00.xsd b/pynfe/data/XSDs/CT-e/retGTVe_v4.00.xsd index d676c291..f4e33316 100644 --- a/pynfe/data/XSDs/CT-e/retGTVe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/retGTVe_v4.00.xsd @@ -1,10 +1,10 @@ - - - - - - - Schema XML de validação do retorno do recibo de envio da GTV-e (Modelo 64) - - - + + + + + + + Schema XML de validação do retorno do recibo de envio da GTV-e (Modelo 64) + + + diff --git a/pynfe/data/XSDs/CT-e/tiposGeralCTe_v4.00.xsd b/pynfe/data/XSDs/CT-e/tiposGeralCTe_v4.00.xsd index ebb95132..20f80af4 100644 --- a/pynfe/data/XSDs/CT-e/tiposGeralCTe_v4.00.xsd +++ b/pynfe/data/XSDs/CT-e/tiposGeralCTe_v4.00.xsd @@ -1,647 +1,647 @@ - - - - - - Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm) - - - - - - - - - Tipo Ambiente - - - - - - - - - - Tipo ano - - - - - - - - - Tipo Código da UF da tabela do IBGE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tipo Código do Município da tabela do IBGE - - - - - - - - - Tipo Código de orgão (UF da tabela do IBGE + 90 SUFRAMA + 91 RFB + 94 SVC-RS + 95 SVC-SP + 96 Sinc. Chaves do RS para SVSP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tipo Chave de Documento Fiscal Eletrônico - - - - - - - - - - Tipo Número do CNPJ - - - - - - - - - Tipo Número do Telefone - - - - - - - - - Tipo Número do CNPJ tamanho varíavel (3-14) - - - - - - - - - Tipo Número do CNPJ Opcional - - - - - - - - - Tipo Número do CPF - - - - - - - - - Tipo Número do CPF de tamanho variável (3-11) - - - - - - - - - Tipo data AAAA-MM-DD - - - - - - - - - Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais - - - - - - - - - Tipo Decimal com 6 dígitos, sendo 3 de corpo e 3 decimais - - - - - - - - - Tipo Decimal com 6 ou 5 dígitos, sendo 3 de corpo e 3 ou 2 decimais - - - - - - - - - Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais, utilizado em tags opcionais - - - - - - - - - Tipo Decimal com 11 dígitos, sendo 8 de corpo e 3 decimais - - - - - - - - - Tipo Decimal com 11 dígitos, sendo 8 de corpo e 3 decimais utilizado em tags opcionais - - - - - - - - - Tipo Decimal com 12 dígitos, sendo 8 de corpo e 4decimais - - - - - - - - - Tipo Decimal com 12 dígitos, sendo 8 de corpo e 4 decimais, utilizado em tags opcionais - - - - - - - - - Tipo Decimal com 15 dígitos, sendo 9 de corpo e 6 decimais, utilizado em tags opcionais - - - - - - - - - Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais - - - - - - - - - Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais, utilizado em tags opcionais - - - - - - - - - Tipo Decimal com 15 dígitos, sendo 12 de corpo e 3 decimais - - - - - - - - - Tipo Decimal com 15 dígitos, sendo 12 de corpo e 3 decimais, utilizado em tags opcionais - - - - - - - - - Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais - - - - - - - - - Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais, utilizado em tags opcionais - - - - - - - - - Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais - - - - - - - - - Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais, utilizado em tags opcionais - - - - - - - - - Tipo Inscrição Estadual do Emitente - - - - - - - - - - Tipo Inscrição Estadual do Destinatário - - - - - - - - - - Tipo Justificativa - - - - - - - - - Tipo temp médio em segundos - - - - - - - - - Tipo Modelo Documento Fiscal - - - - - - - - - Tipo Modelo Documento Fiscal - - - - - - - - - Tipo Modelo Documento Fiscal - - - - - - - - - - Tipo Modelo Documento Fiscal - - - - - - - - - Tipo Modelo Documento Fiscal - NF Remetente - - - - - - - - - - Tipo da Unidade de Transporte - - - - - - - - - - - - - - - Tipo da Unidade de Carga - - - - - - - - - - - - Tipo Motivo - - - - - - - - - Tipo Número do Documento Fiscal - - - - - - - - - Tipo Número do Protocolo de Status - - - - - - - - - Tipo Número do Recibo do envio de lote de NF-e - - - - - - - - - Tipo Série do Documento Fiscal - - - - - - - - - Tipo Serviço solicitado - - - - - - Tipo Código da Mensagem enviada - - - - - - - - - Tipo string genérico - - - - - - - - - Tipo Sigla da UF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tipo Sigla da UF, sem Exterior - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tipo Versão do Aplicativo - - - - - - - - - Coordenada geográfica Latitude - - - - - - - - Coordenada geográfica Longitude - - - - - - - - Tipo IP versão 4 - - - - - - - - - Tipo Placa - - - - - - - - - Tipo que representa uma chave publica padrão RSA - - - - - - - + + + + + + Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm) + + + + + + + + + Tipo Ambiente + + + + + + + + + + Tipo ano + + + + + + + + + Tipo Código da UF da tabela do IBGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tipo Código do Município da tabela do IBGE + + + + + + + + + Tipo Código de orgão (UF da tabela do IBGE + 90 SUFRAMA + 91 RFB + 94 SVC-RS + 95 SVC-SP + 96 Sinc. Chaves do RS para SVSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tipo Chave de Documento Fiscal Eletrônico + + + + + + + + + + Tipo Número do CNPJ + + + + + + + + + Tipo Número do Telefone + + + + + + + + + Tipo Número do CNPJ tamanho varíavel (3-14) + + + + + + + + + Tipo Número do CNPJ Opcional + + + + + + + + + Tipo Número do CPF + + + + + + + + + Tipo Número do CPF de tamanho variável (3-11) + + + + + + + + + Tipo data AAAA-MM-DD + + + + + + + + + Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais + + + + + + + + + Tipo Decimal com 6 dígitos, sendo 3 de corpo e 3 decimais + + + + + + + + + Tipo Decimal com 6 ou 5 dígitos, sendo 3 de corpo e 3 ou 2 decimais + + + + + + + + + Tipo Decimal com 5 dígitos, sendo 3 de corpo e 2 decimais, utilizado em tags opcionais + + + + + + + + + Tipo Decimal com 11 dígitos, sendo 8 de corpo e 3 decimais + + + + + + + + + Tipo Decimal com 11 dígitos, sendo 8 de corpo e 3 decimais utilizado em tags opcionais + + + + + + + + + Tipo Decimal com 12 dígitos, sendo 8 de corpo e 4decimais + + + + + + + + + Tipo Decimal com 12 dígitos, sendo 8 de corpo e 4 decimais, utilizado em tags opcionais + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 9 de corpo e 6 decimais, utilizado em tags opcionais + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais, utilizado em tags opcionais + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 12 de corpo e 3 decimais + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 12 de corpo e 3 decimais, utilizado em tags opcionais + + + + + + + + + Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais + + + + + + + + + Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais, utilizado em tags opcionais + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais, utilizado em tags opcionais + + + + + + + + + Tipo Inscrição Estadual do Emitente + + + + + + + + + + Tipo Inscrição Estadual do Destinatário + + + + + + + + + + Tipo Justificativa + + + + + + + + + Tipo temp médio em segundos + + + + + + + + + Tipo Modelo Documento Fiscal + + + + + + + + + Tipo Modelo Documento Fiscal + + + + + + + + + Tipo Modelo Documento Fiscal + + + + + + + + + + Tipo Modelo Documento Fiscal + + + + + + + + + Tipo Modelo Documento Fiscal - NF Remetente + + + + + + + + + + Tipo da Unidade de Transporte + + + + + + + + + + + + + + + Tipo da Unidade de Carga + + + + + + + + + + + + Tipo Motivo + + + + + + + + + Tipo Número do Documento Fiscal + + + + + + + + + Tipo Número do Protocolo de Status + + + + + + + + + Tipo Número do Recibo do envio de lote de NF-e + + + + + + + + + Tipo Série do Documento Fiscal + + + + + + + + + Tipo Serviço solicitado + + + + + + Tipo Código da Mensagem enviada + + + + + + + + + Tipo string genérico + + + + + + + + + Tipo Sigla da UF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tipo Sigla da UF, sem Exterior + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tipo Versão do Aplicativo + + + + + + + + + Coordenada geográfica Latitude + + + + + + + + Coordenada geográfica Longitude + + + + + + + + Tipo IP versão 4 + + + + + + + + + Tipo Placa + + + + + + + + + Tipo que representa uma chave publica padrão RSA + + + + + + + diff --git a/pynfe/data/XSDs/CT-e/xmldsig-core-schema_v1.01.xsd b/pynfe/data/XSDs/CT-e/xmldsig-core-schema_v1.01.xsd index 6e9063c9..76b74b38 100644 --- a/pynfe/data/XSDs/CT-e/xmldsig-core-schema_v1.01.xsd +++ b/pynfe/data/XSDs/CT-e/xmldsig-core-schema_v1.01.xsd @@ -1,98 +1,98 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pynfe/data/XSDs/NF-e/DFeTiposBasicos_v1.00.xsd b/pynfe/data/XSDs/NF-e/DFeTiposBasicos_v1.00.xsd new file mode 100644 index 00000000..a5051dd0 --- /dev/null +++ b/pynfe/data/XSDs/NF-e/DFeTiposBasicos_v1.00.xsd @@ -0,0 +1,1293 @@ + + + + + + Tipo string genérico + + + + + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + + Código de Classificação Tributária do IBS e da CBS + + + + + + + + + Código de Classificação do Crédito Presumido do IBS e da CBS, conforme tabela cCredPres + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais + + + + + + + + + Tipo Decimal com 11 inteiros, podendo ter 4 decimais (utilizado em tags opcionais) + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais + + + + + + + + + Tipo Decimal com até 3 dígitos inteiros, podendo ter de 2 até 4 decimais + + + + + + + + + Tipo da Operação com Ente Governamental + + + + + + + + + + Tipo de Ente Governamental + + + + + + + + + + + + Tipo de classificação do Crédito Presumido IBS ZFM + + + + + + + + + + + + Tipo Indicador de Doação + + + + + + + + Grupo de informações da Tributação da NFCom + + + + + Código Situação Tributária do IBS/CBS + + + + + + Indica se a operação é de doação + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação da NF3e + + + + + Código Situação Tributária do IBS/CBS + + + + + + Indica se a operação é de doação + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação da NFAg + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação do CTe + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação do BPe + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação da NFCe + + + + + Código Situação Tributária do IBS/CBS + + + + + + Indica se a operação é de doação + + + + + + + + + + + Grupo de informações da Tributação da NFe + + + + + Código Situação Tributária do IBS/CBS + + + + + + Indica se a operação é de doação + + + + + + + Informar essa opção da Choice para Monofasia (CST 620) + + + + + Informar essa opção da Choice para o CST 800 + + + + + Informar essa opção da Choice para o CST 811 + + + + + + Informado conforme indicador no cClassTrib + + + + + + Crédito Presumido da Operação. Informado conforme indicador no cClassTrib. + + + + + Classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM. Informado conforme indicador no cClassTrib. + + + + + + + + Grupo de informações da Tributação da NFGas + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + + Informar essa opção da Choice para Monofasia + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações do Imposto Seletivo + + + + + Código Situação Tributária do Imposto Seletivo + + + + + + + Valor do BC + + + + + Alíquota do Imposto Seletivo (percentual) + + + + + Alíquota do Imposto Seletivo (por valor) + + + + + + Unidade de medida apropriada especificada em Lei Ordinaria para fins de apuração do Imposto Seletivo + + + + + + + + + + + Quantidade com abse no campo uTrib informado + + + + + + Valor do Imposto Seletivo calculado + + + + + + + + Grupo de informações de totais do Imposto Seletivo + + + + + Valor Total do Imposto Seletivo + + + + + + + Grupo de informações de totais da CBS/IBS + + + + + Total Base de Calculo + + + + + Totalização do IBS + + + + + + Totalização do IBS de competência da UF + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total do IBS Estadual + + + + + + + + Totalização do IBS de competência Municipal + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total do IBS Municipal + + + + + + + + Valor total do IBS + + + + + + + + Totalização da CBS + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total da CBS + + + + + + + + Totalização do estorno de crédito + + + + + + Valor total do IBS estornado + + + + + Valor total da CBS estornada + + + + + + + + + + Grupo de informações de totais da CBS/IBS com monofasia + + + + + Total Base de Calculo + + + + + Totalização do IBS + + + + + + Totalização do IBS de competência da UF + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total do IBS Estadual + + + + + + + + Totalização do IBS de competência Municipal + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total do IBS Municipal + + + + + + + + Valor total do IBS + + + + + Total do Crédito Presumido + + + + + Total do Crédito Presumido Condição Suspensiva + + + + + + + + Totalização da CBS + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total da CBS + + + + + Total do Crédito Presumido + + + + + Total do Crédito Presumido Condição Suspensiva + + + + + + + + Totais da Monofasia + Só deverá ser utilizado para DFe modelos 55 e 65 + + + + + + Valor total do IBS monofásico + + + + + Valor total da CBS monofásica + + + + + Valor total do IBS monofásico sujeito a retenção + + + + + Valor total da CBS monofásica sujeita a retenção + + + + + Valor do IBS monofásico retido anteriormente + + + + + Valor da CBS monofásica retida anteriormente + + + + + + + + Totalização do estorno de crédito + + + + + + Valor total do IBS estornado + + + + + Valor total da CBS estornada + + + + + + + + + + Tipo Monofasia + + + + Monofasia + + + + Grupo de informações da Tributação Monofásica padrão + + + + + + Quantidade tributada na monofasia + + + + + Alíquota ad rem do IBS + + + + + Alíquota ad rem da CBS + + + + + Valor do IBS monofásico + + + + + Valor da CBS monofásica + + + + + + + + Grupo de informações da Tributação Monofásica sujeita a retenção + + + + + + Quantidade tributada sujeita a retenção. + + + + + Alíquota ad rem do IBS sujeito a retenção + + + + + Valor do IBS monofásico sujeito a retenção + + + + + Alíquota ad rem da CBS sujeita a retenção + + + + + Valor da CBS monofásica sujeita a retenção + + + + + + + + Grupo de informações da Tributação Monofásica retida anteriormente + + + + + + Quantidade tributada retida anteriormente + + + + + Alíquota ad rem do IBS retido anteriormente + + + + + Valor do IBS retido anteriormente + + + + + Alíquota ad rem da CBS retida anteriormente + + + + + Valor da CBS retida anteriormente + + + + + + + + Grupo de informações do diferimento da Tributação Monofásica + + + + + + Percentual do diferimento do imposto monofásico + + + + + Valor do IBS monofásico diferido + + + + + Percentual do diferimento do imposto monofásico + + + + + Valor da CBS monofásica diferida + + + + + + + + Total de IBS monofásico do item + + + + + Total da CBS monofásica do item + + + + + + + Tipo CBS IBS Completo + + + + IBS / CBS + + + + Valor do BC + + + + + + Grupo de informações do IBS na UF + + + + + + Aliquota do IBS de competência das UF (em percentual) + + + + + Grupo de campos do Diferimento + + + + + Grupo de Informações da devolução de tributos + + + + + Grupo de campos da redução de aliquota + + + + + Valor do IBS de competência das UF + + + + + + + + Grupo de Informações do IBS no Município + + + + + + Aliquota do IBS Municipal (em percentual) + + + + + Grupo de campos do Diferimento + + + + + Grupo de Informações da devolução de tributos + + + + + Grupo de campos da redução de aliquota + + + + + Valor do IBS Municipal + + + + + + + + Valor do IBS + + + + + + Grupo de Tributação da CBS + + + + + + Aliquota da CBS (em percentual) + + + + + Grupo de campos do Diferimento + + + + + Grupo de Informações da devolução de tributos + + + + + Grupo de campos da redução de aliquota + + + + + Valor da CBS + + + + + + + + Grupo de informações da Tributação Regular. Informar como seria a tributação caso não cumprida a condição resolutória/suspensiva. Exemplo 1: Art. 442, §4. Operações com ZFM e ALC. Exemplo 2: Operações com suspensão do tributo. + + + + + Grupo de informações da composição do valor do IBS e da CBS em compras governamental + + + + + + + Tipo Redução Base de Cálculo + + + + + Percentual de redução de aliquota do cClassTrib + + + + + Aliquota Efetiva que será aplicada a Base de Calculo (em percentual) + + + + + + + Tipo Crédito Presumido + + + + + Percentual do Crédito Presumido + + + + + + Valor do Crédito Presumido + + + + + Valor do Crédito Presumido Condição Suspensiva, preencher apenas para cCredPres que possui indicação de Condição Suspensiva + + + + + + + + Tipo Diferimento + + + + + Percentual do diferimento + + + + + Valor do diferimento + + + + + + + Tipo Devolução Tributo + + + + + Valor do tributo devolvido. No fornecimento de energia elétrica, água, esgoto e +gás natural e em outras hipóteses definidas no regulamento + + + + + + + Tipo Tributação Regular + + + + + Código da Situação Tributária do IBS e CBS + Informar qual seria o CST caso não cumprida a condição resolutória/suspensiva + + + + + Informar qual seria o cClassTrib caso não cumprida a condição resolutória/suspensiva + + + + + Alíquota do IBS da UF + Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva + + + + + Valor do IBS da UF + Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva + + + + + Alíquota do IBS do Município + Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva + + + + + Valor do IBS do Município + Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva + + + + + Alíquota da CBS + Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva + + + + + Valor da CBS + Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva + + + + + + + Tipo Tributação Compra Governamental + + + + + + Valor que seria devido a UF, sem aplicação do Art. 473. da LC 214/2025 + + + + + + Valor que seria devido ao município, sem aplicação do Art. 473. da LC 214/2025 + + + + + + Valor que seria devido a CBS, sem aplicação do Art. 473. da LC 214/2025 + + + + + + + Tipo Compras Governamentais + Cada DFe que utilizar deverá utilizar esses tipo no grupo ide + + + + + Para administração pública direta e suas autarquias e fundações: +1=União +2=Estados +3=Distrito Federal +4=Municípios + + + + + Percentual de redução de aliquota em compra governamental + + + + + + + Tipo Compras Governamentais + Cada DFe que utilizar deverá utilizar esses tipo no grupo ide + + + + + Para administração pública direta e suas autarquias e fundações: +1=União +2=Estados +3=Distrito Federal +4=Municípios + + + + + Percentual de redução de aliquota em compra governamental + + + + + Tipo da operação com ente governamental: +1 - Fornecimento +2 - Recebimento do Pagamento + + + + + + + Tipo Transferência de Crédito + + + + + Valor do IBS a ser transferido + + + + + Valor da CBS a ser transferida + + + + + + + Tipo Estorno de Crédito + + + + + Valor do IBS a ser estornado + + + + + Valor da CBS a ser estornada + + + + + + + Ano e mês referência do período de apuração (AAAA-MM) + + + + + + + + Tipo Ajuste de Competência + + + + + Ano e mês referência do período de apuração (AAAA-MM) + + + + + Valor do IBS + + + + + Valor da CBS + + + + + + + Tipo Crédito Presumido da Operação + + + + + Valor da Base de Cálculo do Crédito Presumido da Operação + + + + + Código de Classificação do Crédito Presumido do IBS e da CBS + + + + + Grupo de Informações do Crédito Presumido referente ao IBS, quando aproveitado pelo emitente do documento. + + + + + Grupo de Informações do Crédito Presumido referente a CBS, quando aproveitado pelo emitente do documento. + + + + + + + Tipo Informações do crédito presumido de IBS para fornecimentos a partir da ZFM + + + + + Ano e mês referência do período de apuração (AAAA-MM) + + + + + Classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM + 0 - Sem crédito presumido; +1 - Bens de consumo final (55%); +2 - Bens de capital (75%); +3 - Bens intermediários (90,25%); +4 - Bens de informática e outros definidos em legislação (100%). +OBS: Percentuais definidos no art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido + + + + + + Valor do crédito presumido calculado sobre o saldo devedor apurado + + + + + \ No newline at end of file diff --git a/pynfe/data/XSDs/NF-e/leiauteNFe_v4.00.xsd b/pynfe/data/XSDs/NF-e/leiauteNFe_v4.00.xsd index e917570f..7d6fb69e 100644 --- a/pynfe/data/XSDs/NF-e/leiauteNFe_v4.00.xsd +++ b/pynfe/data/XSDs/NF-e/leiauteNFe_v4.00.xsd @@ -1,5 +1,5 @@ - + @@ -21,6 +21,7 @@ + Tipo Nota Fiscal Eletrônica @@ -93,6 +94,11 @@ SCAN 900-999 Data e Hora da saída ou de entrada da mercadoria / produto (AAAA-MM-DDTHH:mm:ssTZD) + + + Data da previsão de entrega ou disponibilização do bem (AAAA-MM-DD) + + Tipo do Documento Fiscal (0 - entrada; 1 - saída) @@ -123,6 +129,12 @@ SCAN 900-999 Código do Município de Ocorrência do Fato Gerador (utilizar a tabela do IBGE) + + + Informar o município de ocorrência do fato gerador do fato gerador do IBS / CBS. +Campo preenchido somente quando “indPres = 5 (Operação presencial, fora do estabelecimento) ”, e não tiver endereço do destinatário (Grupo: E05) ou local de entrega (Grupo: G01). + + Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe Paisagem;3-DANFe Simplificado; @@ -190,7 +202,19 @@ SCAN 900-999 1 - NFe normal 2 - NFe complementar 3 - NFe de ajuste -4 - Devolução/Retorno +4 - Devolução/Retorno +5 - Nota de crédito +6 - Nota de débito + + + + + Tipo de Nota de Débito + + + + + Tipo de Nota de Crédito @@ -466,6 +490,25 @@ Preencher com "2B", quando se tratar de Cupom Fiscal emitido por máqu + + + Grupo de Compras Governamentais + + + + + Informado para abater as parcelas de antecipação de pagamento, conforme Art. 10. § 4º + + + + + + Chave de acesso da NF-e de antecipação de pagamento + + + + + @@ -949,6 +992,11 @@ Formato ”CFOP9999”. + + + Classificação para subapuração do IBS na ZFM + + Código EX TIPI (3 posições) @@ -1037,7 +1085,7 @@ Formato ”CFOP9999”. - Valor unitário de tributação - - alterado para aceitar 0 a 10 casas decimais e 11 inteiros + Valor unitário de tributação - alterado para aceitar 0 a 10 casas decimais e 11 inteiros @@ -1074,10 +1122,20 @@ Formato ”CFOP9999”. + + + Indicador de fornecimento de bem móvel usado: 1-Bem Móvel Usado + + + + + + + + - Delcaração de Importação -(NT 2011/004) + Declaração de Importação (NT 2011/004) @@ -2041,7 +2099,7 @@ ambiente. Valor estimado total de impostos federais, estaduais e municipais - + @@ -5019,6 +5077,16 @@ Substituição Tributaria; + + + Grupo de informações do Imposto Seletivo + + + + + Grupo de informações dos tributos IBS, CBS e Imposto Seletivo + + @@ -5117,6 +5185,36 @@ Substituição Tributaria; + + + Valor total do Item, correspondente à sua participação no total da nota. A soma dos itens deverá corresponder ao total da nota. + + + + + Referenciamento de item de outros DFe + + + + + + Chave de Acesso do DFe referenciado + + + + + Número do item do documento referenciado. Corresponde ao atributo nItem do elemento det do documento original. + + + + + + + + + + + @@ -5415,6 +5513,21 @@ Substituição Tributaria; + + + Valores totais da NF com Imposto Seletivo + + + + + Valores totais da NF com IBS / CBS + + + + + Valor Total da NF considerando os impostos por fora IBS, CBS e IS + + @@ -6403,9 +6516,18 @@ tipo de ato concessório: - - - + + + + + + + + + + + + @@ -7221,6 +7343,51 @@ alterado para tamanho variavel 1-4. (NT2011/004) + + + + + + + Tipo de Nota de Débito: + 01=Transferência de créditos para Cooperativas; + 02=Anulação de Crédito por Saídas Imunes/Isentas; + 03=Débitos de notas fiscais não processadas na apuração; + 04=Multa e juros; + 05=Transferência de crédito na sucessão; + 06=Pagamento antecipado; + 07=Perda em estoque; + 08=Desenquadramento do SN; + + + + + + + + + + + + + + + + Tipo de Nota de Crédito: + 01=Multa e juros; + 02=Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25); + 03=Retorno por recusa na entrega ou por não localização do destinatário na tentativa de entrega; + 04=Redução de valores; + 05=Transferência de crédito na sucessão; + + + + + + + + + @@ -7409,4 +7576,4 @@ alterado para tamanho variavel 1-4. (NT2011/004) - + \ No newline at end of file diff --git a/pynfe/entidades/evento.py b/pynfe/entidades/evento.py index 35b3fe24..c001b306 100644 --- a/pynfe/entidades/evento.py +++ b/pynfe/entidades/evento.py @@ -10,14 +10,14 @@ class Evento(Entidade): # - Identificador da TAG a ser assinada, a regra de formação do Id é: - # “ID” + tpEvento + chave da NF-e + nSeqEvento + # “ID” + tpEvento + chave da NF-e ou do CT-e + nSeqEvento id = str() # - Código do órgão de recepção do Evento. # Utilizar a Tabela do IBGE, utilizar 91 para identificar o Ambiente Nacional. orgao = str() # - CNPJ (obrigatorio) cnpj = str() - # - Chave de Acesso da NF-e vinculada ao Evento + # - Chave de Acesso da NF-e ou CT-e vinculada ao Evento chave = str() # - Data e hora do evento no formato AAAA-MM-DDThh:mm:ssTZD data_emissao = None @@ -44,6 +44,20 @@ def identificador(self): "n_seq_evento": str(self.n_seq_evento).zfill(2), } return self.id + + @property + def identificador_cte(self): + """ + Gera o valor para o campo id + A regra de formação do Id é: “ID” + tpEvento + chave da NF-e + nSeqEvento + O n_seq_evento pra eventos de cte tem 3 digitos + """ + self.id = "ID%(tp_evento)s%(chave)s%(n_seq_evento)s" % { + "tp_evento": self.tp_evento, + "chave": self.chave, + "n_seq_evento": str(self.n_seq_evento).zfill(3), + } + return self.id class EventoCancelarNota(Evento): @@ -235,3 +249,57 @@ def __init__(self, *args, **kwargs): codBanco = str() # - Código da Agência codAgencia = str() + + +class EventoManifestacaoDestCTe(Evento): + """Este serviço permite que o destinatário do Conhecimento de Transporte eletrônico confirme a sua + participação na operação acobertada pelo Conhecimento de Transporte eletrônico emitida para o seu CNPJ + """ + + def __init__(self, *args, **kwargs): + super(EventoManifestacaoDestCTe, self).__init__(*args, **kwargs) + # - numero da operacao + # 1=Comprovante de Entrega do CT-e + # 2=Cancelamento do Comprovante de Entrega do CT-e + # 3=Insucesso na Entrega do CT-e + # 4=Cancelamento do Insucesso de Entrega do CT-e + # 5=Prestação do Serviço em Desacordo + # 6=Cancelamento Prestação do Serviço em Desacordo + dict_tp_evento = {1: "110180", 2: "110181", 3: "110190", 4: "110191", 5: "610110", 6: "610111"} + """ Código do evento + 110180 – Comprovante de Entrega do CT-e + 110181 – Cancelamento do Comprovante de Entrega do CT-e + 110190 – Insucesso na Entrega do CT-e + 110191 – Cancelamento do Insucesso de Entrega do CT-e + 610110 – Prestação do Serviço em Desacordo + 610111 – Cancelamento Prestação do Serviço em Desacordo """ + self.tp_evento = dict_tp_evento[self.operacao] + # - numero da operacao + # 1=Comprovante de Entrega do CT-e + # 2=Cancelamento do Comprovante de Entrega do CT-e + # 3=Insucesso na Entrega do CT-e + # 4=Cancelamento do Insucesso de Entrega do CT-e + # 5=Prestação do Serviço em Desacordo + # 6=Cancelamento Prestação do Serviço em Desacordo + dict_descricao = { + 1: "Comprovante de Entrega do CT-e", + 2: "Cancelamento do Comprovante de Entrega do CT-e", + 3: "Insucesso na Entrega do CT-e", + 4: "Cancelamento do Insucesso de Entrega do CT-e", + 5: "Prestação do Serviço em Desacordo", + 6: "Cancelamento Prestação do Serviço em Desacordo", + } + """ Informar a descrição do evento: + Comprovante de Entrega do CT-e + Cancelamento do Comprovante de Entrega do CT-e + Insucesso na Entrega do CT-e + Cancelamento do Insucesso de Entrega do CT-e + Prestação do Serviço em Desacordo + Cancelamento Prestação do Serviço em Desacordo """ + self.descricao = dict_descricao[self.operacao] + + # - Informar a justificativa porque a operação não foi realizada, + # este campo deve ser informado somente no evento de Insucesso na Entrega do CT-e. + # (min 15 max 255 caracteres) + justificativa = str() + diff --git a/pynfe/processamento/assinatura.py b/pynfe/processamento/assinatura.py index 50c5e263..fa2c98cc 100644 --- a/pynfe/processamento/assinatura.py +++ b/pynfe/processamento/assinatura.py @@ -28,8 +28,11 @@ def __init__(self, certificado, senha): self.key, self.cert = CertificadoA1(certificado).separar_arquivo(senha) def assinar(self, xml: etree._Element, retorna_string=False) -> Union[str, etree._Element]: + if isinstance(xml, str): + xml = etree.fromstring(xml.encode('utf-8')) + # busca tag que tem id(reference_uri), logo nao importa se tem namespace - reference = xml.find(".//*[@Id]").attrib["Id"] + reference = xml.xpath('//*[@Id]')[0].attrib['Id'] if xml.xpath('//*[@Id]') else None # retira acentos xml_str = remover_acentos(etree.tostring(xml, encoding="unicode", pretty_print=False)) diff --git a/pynfe/processamento/autorizador_nfse.py b/pynfe/processamento/autorizador_nfse.py index b8212d3b..7a8a5747 100644 --- a/pynfe/processamento/autorizador_nfse.py +++ b/pynfe/processamento/autorizador_nfse.py @@ -1,6 +1,9 @@ -from pyxb import BIND +import uuid from importlib import import_module +from lxml import etree +from pyxb import BIND + class InterfaceAutorizador: # TODO Colocar raise Exception Not Implemented nos metodos @@ -11,6 +14,238 @@ def cancelar(self): pass +class SerializacaoOsasco: + def __init__(self, chave_autenticacao): + self.chave_autenticacao = chave_autenticacao + + def consultar( + self, + cnpj_tomador=None, + cpf_tomador=None, + data_inicial=None, + data_final=None, + numero_nota_inicial=None, + numero_nota_final=None, + numero_rps_inicial=None, + numero_rps_final=None, + numero_rps_unico=None, + ): + return { + "ChaveAutenticacao": self.chave_autenticacao, + "CNPJTomador": cnpj_tomador, + "CPFTomador": cpf_tomador, + "DataInicial": data_inicial, + "DataFinal": data_final, + "NumeroNotaInicial": numero_nota_inicial, + "NumeroNotaFinal": numero_nota_final, + "NumeroReciboInicial": numero_rps_inicial, + "NumeroReciboFinal": numero_rps_final, + "NumeroReciboUnico": numero_rps_unico, + } + + +class SerializacaoCampinas(InterfaceAutorizador): + """ + Serialização ABRASF v2.03 – Campinas + Retorna SOAP XML (SEM assinatura). + Assinatura e envio ficam fora. + """ + + def _gerar_id(self, prefixo): + return f"{prefixo}{uuid.uuid4().hex.upper()}" + + def soap_envelope( + self, + metodo, + xml_assinado, + ): + NAMESPACE_SOAP = "http://schemas.xmlsoap.org/soap/envelope/" + NAMESPACE_XSI = "http://www.w3.org/2001/XMLSchema-instance" + NAMESPACE_XSD = "http://www.w3.org/2001/XMLSchema" + NAMESPACE_ABRASF = "http://nfse.abrasf.org.br" + + xml_metodo = etree.Element("{%s}" % NAMESPACE_ABRASF + metodo) + xml_metodo.append(xml_assinado) + raiz = etree.Element( + "{%s}Envelope" % NAMESPACE_SOAP, + nsmap={ + "xsi": NAMESPACE_XSI, + "xsd": NAMESPACE_XSD, + "soap": NAMESPACE_SOAP, + "nfse": NAMESPACE_ABRASF, + }, + ) + body = etree.SubElement(raiz, "{%s}Body" % NAMESPACE_SOAP) + body.append(xml_metodo) + + return etree.tostring(raiz, pretty_print=True).decode() + + def consultar_periodo(self, emitente, data_inicio, data_fim, pagina=1): + raiz = etree.Element("ConsultarNfseServicoPrestadoEnvio") + + prestador = etree.SubElement(raiz, "Prestador") + cpf_cnpj = etree.SubElement(prestador, "CpfCnpj") + etree.SubElement(cpf_cnpj, "Cnpj").text = emitente.cnpj + etree.SubElement(prestador, "InscricaoMunicipal").text = emitente.inscricao_municipal + + periodo = etree.SubElement(raiz, "PeriodoEmissao") + etree.SubElement(periodo, "DataInicial").text = data_inicio + etree.SubElement(periodo, "DataFinal").text = data_fim + + etree.SubElement(raiz, "Pagina").text = str(pagina) + + return etree.tostring(raiz, pretty_print=True).decode() + + def consultar_faixa(self, emitente, numero_inicial, numero_final, pagina=1): + raiz = etree.Element("ConsultarNfseFaixaEnvio") + + prestador = etree.SubElement(raiz, "Prestador") + cpf_cnpj = etree.SubElement(prestador, "CpfCnpj") + etree.SubElement(cpf_cnpj, "Cnpj").text = emitente.cnpj + etree.SubElement(prestador, "InscricaoMunicipal").text = emitente.inscricao_municipal + + faixa = etree.SubElement(raiz, "Faixa") + etree.SubElement(faixa, "NumeroNfseInicial").text = str(numero_inicial) + etree.SubElement(faixa, "NumeroNfseFinal").text = str(numero_final) + + etree.SubElement(raiz, "Pagina").text = str(pagina) + + return etree.tostring(raiz, pretty_print=True).decode() + + +class SerializacaoSpeedgov(InterfaceAutorizador): + """ + Serialização ABRASF v1.00 – Speedgov + """ + + def _cabecalho(self): + cabecalho_xml = """1""".strip() + return cabecalho_xml + + def soap_envelope( + self, + metodo, + xml_envio, + ): + NAMESPACE_SOAP = "http://schemas.xmlsoap.org/soap/envelope/" + NAMESPACE_ABRASF = "http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd" + + ns_metodo = { + "ConsultarNfse": "http://ws.speedgov.com.br/consultar_nfse_envio_v1.xsd", + } + + envelope = etree.Element( + "{http://schemas.xmlsoap.org/soap/envelope/}Envelope", + nsmap={ + "soapenv": NAMESPACE_SOAP, + "nfse": NAMESPACE_ABRASF, + "consult": ns_metodo[metodo], + }, + ) + etree.SubElement(envelope, "{http://schemas.xmlsoap.org/soap/envelope/}Header") + body = etree.SubElement(envelope, "{http://schemas.xmlsoap.org/soap/envelope/}Body") + + consultar_nfse = etree.SubElement(body, "{%s}" % NAMESPACE_ABRASF + metodo) + + header = etree.SubElement(consultar_nfse, "header") + header.text = etree.CDATA(self._cabecalho()) + + parameters = etree.SubElement(consultar_nfse, "parameters") + parameters.text = etree.CDATA(xml_envio) + + return etree.tostring(envelope, pretty_print=True).decode() + + def consultar_periodo(self, emitente, data_inicio, data_fim): + NAMESPACE_SPEEDGOV_CONSULTAR_NFSE_ENVIO = ( + "http://ws.speedgov.com.br/consultar_nfse_envio_v1.xsd" + ) + raiz = etree.Element( + "{%s}ConsultarNfseEnvio" % NAMESPACE_SPEEDGOV_CONSULTAR_NFSE_ENVIO, + ) + + prestador = etree.SubElement(raiz, "Prestador") + etree.SubElement(prestador, "Cnpj").text = emitente.cnpj + etree.SubElement(prestador, "InscricaoMunicipal").text = emitente.inscricao_municipal + + periodo = etree.SubElement(raiz, "PeriodoEmissao") + etree.SubElement(periodo, "DataInicial").text = data_inicio + etree.SubElement(periodo, "DataFinal").text = data_fim + + return etree.tostring(raiz, pretty_print=True).decode() + + +class SerializacaoGiss(InterfaceAutorizador): + """ + Serialização ABRASF v2.04 – GISS + """ + + NAMESPACE_SOAP = "http://schemas.xmlsoap.org/soap/envelope/" + NAMESPACE_XSI = "http://www.w3.org/2001/XMLSchema-instance" + NAMESPACE_XSD = "http://www.w3.org/2001/XMLSchema" + NAMESPACE_ABRASF = "http://nfse.abrasf.org.br" + NAMESPACE_METODO = "http://www.giss.com.br/consultar-nfse-servico-prestado-envio-v2_04.xsd" + NAMESPACE_TIPOS = "http://www.giss.com.br/tipos-v2_04.xsd" + NAMESPACE_CABECALHO = "http://www.giss.com.br/cabecalho-v2_04.xsd" + + def _cabecalho(self): + cabecalho_xml = f"""2.04""".strip() + return cabecalho_xml + + def soap_envelope( + self, + metodo, + xml_assinado, + ): + NAMESPACE_SOAP = "http://schemas.xmlsoap.org/soap/envelope/" + NAMESPACE_XSI = "http://www.w3.org/2001/XMLSchema-instance" + NAMESPACE_XSD = "http://www.w3.org/2001/XMLSchema" + NAMESPACE_ABRASF = "http://nfse.abrasf.org.br" + + envelope = etree.Element( + f"{{{self.NAMESPACE_SOAP}}}Envelope", + nsmap={ + "xsi": NAMESPACE_XSI, + "xsd": NAMESPACE_XSD, + "soap": NAMESPACE_SOAP, + "nfse": NAMESPACE_ABRASF, + }, + ) + body = etree.SubElement(envelope, f"{{{self.NAMESPACE_SOAP}}}Body") + + consultar_nfse = etree.SubElement( + body, f"{{{self.NAMESPACE_ABRASF}}}{metodo}Request" + ) + + header = etree.SubElement(consultar_nfse, "nfseCabecMsg") + header.text = etree.CDATA(self._cabecalho()) + + parameters = etree.SubElement(consultar_nfse, "nfseDadosMsg") + parameters.text = etree.CDATA(xml_assinado) + + return ( + '' + + etree.tostring(envelope, pretty_print=True).decode() + ) + + def consultar_periodo(self, emitente, data_inicio, data_fim, pagina=1): + return f""" + + + + {emitente.cnpj} + + {emitente.inscricao_municipal} + + + {data_inicio} + {data_fim} + + {pagina} + """.strip() + + class SerializacaoBetha(InterfaceAutorizador): def __init__(self): # importa @@ -85,7 +320,7 @@ def gerar(self, nfse): gnfse.Rps = declaracao_servico gnfse = ( - gnfse.toxml(element_name="GerarNfseEnvio") + gnfse.toxml(encoding="utf-8", element_name="GerarNfseEnvio") .replace("ns1:", "") .replace(":ns1", "") .replace('', "") @@ -113,7 +348,7 @@ def consultar_rps(self, nfse): consulta.Prestador = id_prestador consulta = ( - consulta.toxml(element_name="ConsultarNfseRpsEnvio") + consulta.toxml(encoding="utf-8", element_name="ConsultarNfseRpsEnvio") .replace("ns1:", "") .replace(":ns1", "") .replace('', "") @@ -139,7 +374,7 @@ def consultar_faixa(self, emitente, inicio, fim, pagina): consulta.Faixa.NumeroNfseFinal = fim consulta = ( - consulta.toxml(element_name="ConsultarNfseFaixaEnvio") + consulta.toxml(encoding="utf-8", element_name="ConsultarNfseFaixaEnvio") .replace("ns1:", "") .replace(":ns1", "") .replace('', "") @@ -172,7 +407,7 @@ def cancelar(self, nfse): cancelar = nfse_schema.CancelarNfseEnvio() cancelar.Pedido = pedido - return cancelar.toxml(element_name="CancelarNfseEnvio") + return cancelar.toxml(encoding="utf-8", element_name="CancelarNfseEnvio") def serializar_lote_sincrono(self, nfse): """Retorna string de um XML gerado a partir do @@ -251,288 +486,80 @@ def serializar_lote_sincrono(self, nfse): gnfse = nfse_schema.EnviarLoteRpsSincronoEnvio() gnfse.LoteRps = lote - return gnfse.toxml(element_name="EnviarLoteRpsSincronoEnvio") + return gnfse.toxml(encoding="utf-8", element_name="EnviarLoteRpsSincronoEnvio") class SerializacaoGinfes(InterfaceAutorizador): def __init__(self): - # importa - global _tipos, servico_consultar_nfse_envio_v03 - global servico_enviar_lote_rps_envio_v03, cabecalho_v03 - global servico_cancelar_nfse_envio_v03 - global servico_consultar_lote_rps_envio_v03 - global servico_consultar_situacao_lote_rps_envio_v03 - global servico_consultar_nfse_rps_envio_v03 - _tipos = import_module("pynfe.utils.nfse.ginfes._tipos") - servico_consultar_nfse_envio_v03 = import_module( - "pynfe.utils.nfse.ginfes.servico_consultar_nfse_envio_v03" - ) - servico_cancelar_nfse_envio_v03 = import_module( - "pynfe.utils.nfse.ginfes.servico_cancelar_nfse_envio_v03" - ) - servico_enviar_lote_rps_envio_v03 = import_module( - "pynfe.utils.nfse.ginfes.servico_enviar_lote_rps_envio_v03" - ) - cabecalho_v03 = import_module("pynfe.utils.nfse.ginfes.cabecalho_v03") - servico_consultar_lote_rps_envio_v03 = import_module( - "pynfe.utils.nfse.ginfes.servico_consultar_lote_rps_envio_v03" - ) - servico_consultar_situacao_lote_rps_envio_v03 = import_module( - "pynfe.utils.nfse.ginfes.servico_consultar_situacao_lote_rps_envio_v03" - ) - servico_consultar_nfse_rps_envio_v03 = import_module( - "pynfe.utils.nfse.ginfes.servico_consultar_nfse_rps_envio_v03" - ) + pass + - def consultar_rps(self, emitente, numero, serie, tipo): - """Retorna string de um XML de consulta por Rps gerado a partir do - XML Schema (XSD). Binding gerado pelo modulo PyXB. - servico_consultar_nfse_rps_envio_v03.xsd - """ - # Rps - id_rps = _tipos.tcIdentificacaoRps() - id_rps.Numero = numero - id_rps.Serie = serie - id_rps.Tipo = tipo + def consultar_periodo(self, emitente, data_inicio, data_fim, pagina=1): + NS = "http://www.ginfes.com.br/servico_consultar_nfse_servico_prestado_envio_v03.xsd" + DS = "http://www.w3.org/2000/09/xmldsig#" - # Prestador - id_prestador = _tipos.tcIdentificacaoPrestador() - id_prestador.Cnpj = emitente.cnpj - id_prestador.InscricaoMunicipal = emitente.inscricao_municipal + nsmap = {None: NS, "ds": DS} - consulta = servico_consultar_nfse_rps_envio_v03.ConsultarNfseRpsEnvio() - consulta.IdentificacaoRps = id_rps - consulta.Prestador = id_prestador + root = etree.Element(f"{{{NS}}}ConsultarNfseServicoPrestadoEnvio", nsmap=nsmap) - return consulta.toxml(element_name="ns1:ConsultarNfseRpsEnvio") + # ID obrigatório (antes da assinatura) + root.attrib["Id"] = f"CNFSESP{uuid.uuid4().hex.upper()}" - def consultar_nfse(self, emitente, numero=None, inicio=None, fim=None): # Prestador - id_prestador = _tipos.tcIdentificacaoPrestador() - id_prestador.Cnpj = emitente.cnpj - id_prestador.InscricaoMunicipal = emitente.inscricao_municipal - - consulta = servico_consultar_nfse_envio_v03.ConsultarNfseEnvio() - consulta.Prestador = id_prestador - # Consulta por Numero - if numero is not None: - consulta.NumeroNfse = numero - else: - # consulta por Data - consulta.PeriodoEmissao = BIND() - consulta.PeriodoEmissao.DataInicial = inicio - consulta.PeriodoEmissao.DataFinal = fim - - return consulta.toxml(element_name="ns1:ConsultarNfseEnvio") - - def consultar_lote(self, emitente, numero): - # Prestador - id_prestador = _tipos.tcIdentificacaoPrestador() - id_prestador.Cnpj = emitente.cnpj - id_prestador.InscricaoMunicipal = emitente.inscricao_municipal + prestador = etree.SubElement(root, f"{{{NS}}}Prestador") + cpf_cnpj = etree.SubElement(prestador, f"{{{NS}}}CpfCnpj") + etree.SubElement(cpf_cnpj, f"{{{NS}}}Cnpj").text = emitente.cnpj + etree.SubElement(prestador, f"{{{NS}}}InscricaoMunicipal").text = ( + emitente.inscricao_municipal + ) - consulta = servico_consultar_lote_rps_envio_v03.ConsultarLoteRpsEnvio() - consulta.Prestador = id_prestador - consulta.Protocolo = str(numero) + # Período + periodo = etree.SubElement(root, f"{{{NS}}}PeriodoEmissao") + etree.SubElement(periodo, f"{{{NS}}}DataInicial").text = data_inicio + etree.SubElement(periodo, f"{{{NS}}}DataFinal").text = data_fim - return consulta.toxml(element_name="ns1:ConsultarLoteRpsEnvio") + # Página + etree.SubElement(root, f"{{{NS}}}Pagina").text = str(pagina) - def consultar_situacao_lote(self, emitente, numero): - "Serializa lote de envio, baseado no servico_consultar_situacao_lote_rps_envio_v03.xsd" - # Prestador - id_prestador = _tipos.tcIdentificacaoPrestador() - id_prestador.Cnpj = emitente.cnpj - id_prestador.InscricaoMunicipal = emitente.inscricao_municipal + return etree.tostring(root, encoding="utf-8", xml_declaration=True) - consulta = servico_consultar_situacao_lote_rps_envio_v03.ConsultarSituacaoLoteRpsEnvio() - consulta.Prestador = id_prestador - consulta.Protocolo = str(numero) + def consultar_faixa(self, emitente, numero_inicial, numero_final, pagina=1): + NS = "http://www.ginfes.com.br/servico_consultar_nfse_faixa_envio_v03.xsd" + DS = "http://www.w3.org/2000/09/xmldsig#" - return consulta.toxml(element_name="ns1:ConsultarSituacaoLoteRpsEnvio") + nsmap = {None: NS, "ds": DS} - def serializar_lote_assincrono(self, nfse): - "Serializa lote de envio, baseado no servico_enviar_lote_rps_envio_v03.xsd" + root = etree.Element(f"{{{NS}}}ConsultarNfseFaixaEnvio", nsmap=nsmap) - servico = _tipos.tcDadosServico() - valores_servico = _tipos.tcValores() - valores_servico.ValorServicos = nfse.servico.valor_servico - # valores_servico.ValorServicos = str(Decimal( - # nfse.servico.valor_servico.quantize(Decimal('.01'), rounding=ROUND_HALF_UP))) - valores_servico.IssRetido = nfse.servico.iss_retido - # Dados opcionais - if nfse.servico.valor_deducoes: - valores_servico.ValorDeducoes = nfse.servico.valor_deducoes - if nfse.servico.valor_pis: - valores_servico.ValorPis = nfse.servico.valor_pis - if nfse.servico.valor_confins: - valores_servico.ValorCofins = nfse.servico.valor_confins - if nfse.servico.valor_inss: - valores_servico.ValorInss = nfse.servico.valor_inss - if nfse.servico.valor_ir: - valores_servico.ValorIr = nfse.servico.valor_ir - if nfse.servico.valor_csll: - valores_servico.ValorCsll = nfse.servico.valor_csll - if nfse.servico.valor_iss: - valores_servico.ValorIss = nfse.servico.valor_iss - if nfse.servico.valor_iss_retido: - valores_servico.ValorIssRetido = nfse.servico.valor_iss_retido - if nfse.servico.valor_liquido: - valores_servico.ValorLiquidoNfse = nfse.servico.valor_liquido - if nfse.servico.outras_retencoes: - valores_servico.OutrasRetencoes = nfse.servico.outras_retencoes - if nfse.servico.base_calculo: - valores_servico.BaseCalculo = nfse.servico.base_calculo - if nfse.servico.aliquota: - valores_servico.Aliquota = nfse.servico.aliquota - if nfse.servico.desconto_incondicionado: - valores_servico.DescontoIncondicionado = nfse.servico.desconto_incondicionado - if nfse.servico.desconto_condicionado: - valores_servico.DescontoCondicionado = nfse.servico.desconto_condicionado - - servico.Valores = valores_servico - servico.ItemListaServico = nfse.servico.item_lista - # opcionais - if nfse.servico.codigo_cnae: - servico.CodigoCnae = nfse.servico.codigo_cnae - if nfse.servico.codigo_tributacao_municipio: - servico.CodigoTributacaoMunicipio = nfse.servico.codigo_tributacao_municipio - # obrigatórios - servico.Discriminacao = nfse.servico.discriminacao - servico.CodigoMunicipio = nfse.servico.codigo_municipio - - # endereco tomador - endereco_tomador = _tipos.tcEndereco() - endereco_tomador.Endereco = nfse.cliente.endereco_logradouro - if nfse.cliente.endereco_complemento: - endereco_tomador.Complemento = nfse.cliente.endereco_complemento - endereco_tomador.Numero = nfse.cliente.endereco_numero - endereco_tomador.Bairro = nfse.cliente.endereco_bairro - if nfse.cliente.endereco_cod_municipio: - endereco_tomador.CodigoMunicipio = nfse.cliente.endereco_cod_municipio - endereco_tomador.Uf = nfse.cliente.endereco_uf - endereco_tomador.Cep = nfse.cliente.endereco_cep - # identificacao Tomador - id_tomador = _tipos.tcIdentificacaoTomador() - id_tomador.CpfCnpj = nfse.cliente.numero_documento - if nfse.cliente.inscricao_municipal: - id_tomador.InscricaoMunicipal = nfse.cliente.inscricao_municipal - # Tomador - tomador = _tipos.tcDadosTomador() - tomador.IdentificacaoTomador = id_tomador - tomador.RazaoSocial = nfse.cliente.razao_social - tomador.Endereco = endereco_tomador - # opcional - if nfse.cliente.endereco_telefone or nfse.cliente.email: - tomador.Contato = _tipos.tcContato() - if nfse.cliente.endereco_telefone: - tomador.Contato.Telefone = nfse.cliente.endereco_telefone - if nfse.cliente.email: - tomador.Contato.Email = nfse.cliente.email + # Id obrigatório (ANTES da assinatura) + root.attrib["Id"] = f"CNFSEFAIXA{uuid.uuid4().hex.upper()}" # Prestador - id_prestador = _tipos.tcIdentificacaoPrestador() - id_prestador.Cnpj = nfse.emitente.cnpj - id_prestador.InscricaoMunicipal = nfse.emitente.inscricao_municipal - - # identificacao rps - id_rps = _tipos.tcIdentificacaoRps() - id_rps.Numero = nfse.identificador - id_rps.Serie = nfse.serie - id_rps.Tipo = nfse.tipo - # inf rps - inf_rps = _tipos.tcInfRps() - inf_rps.IdentificacaoRps = id_rps - inf_rps.DataEmissao = nfse.data_emissao.strftime("%Y-%m-%dT%H:%M:%S") - # Natureza da Operação - # 1 – Tributação no município - # 2 - Tributação fora do município - # 3 - Isenção - # 4 - Imune - # 5 –Exigibilidade suspensa por decisão judicial - # 6 – Exigibilidade suspensa por procedimento administrativo - inf_rps.NaturezaOperacao = nfse.natureza_operacao - # Regime Especial de Tributação - # 1 – Microempresa municipal - # 2 - Estimativa - # 3 – Sociedade de profissionais - # 4 – Cooperativa - # 5 - Microempresário Individual (MEI) - # 6 - Microempresário e Empresa de Pequeno Porte (ME EPP) - if nfse.regime_especial: - inf_rps.RegimeEspecialTributacao = nfse.regime_especial - inf_rps.OptanteSimplesNacional = nfse.simples # 1-sim 2-nao - inf_rps.IncentivadorCultural = nfse.incentivo # 1-sim 2-nao - # Código de status da NFS-e - # 1-Normal 2-Cancelado (sempre 1, nota não pode ser enviada como cancelada) - inf_rps.Status = 1 - inf_rps.RpsSubstituido = None # opcional - inf_rps.Servico = servico - inf_rps.Prestador = id_prestador - inf_rps.Tomador = tomador - inf_rps.IntermediarioServico = None # opcional - inf_rps.ConstrucaoCivil = None # opcional - inf_rps.Id = nfse.identificador - - rps = _tipos.tcRps() - rps.InfRps = inf_rps - - lote = _tipos.tcLoteRps() - lote.NumeroLote = 1 - lote.Id = 1 - lote.Cnpj = nfse.emitente.cnpj - lote.InscricaoMunicipal = nfse.emitente.inscricao_municipal - lote.QuantidadeRps = 1 - lote.ListaRps = BIND() - lote.ListaRps.append(rps) - - enviarLote = servico_enviar_lote_rps_envio_v03.EnviarLoteRpsEnvio() - enviarLote.LoteRps = lote - return enviarLote.toxml(element_name="ns1:EnviarLoteRpsEnvio") - - def cancelar(self, nfse, codigo): - """Retorna string de um XML gerado a partir do - XML Schema (XSD). Binding gerado pelo modulo PyXB.""" - # id nfse - id_nfse = _tipos.tcIdentificacaoNfse() - id_nfse.Numero = nfse.identificador - id_nfse.Cnpj = nfse.emitente.cnpj - id_nfse.InscricaoMunicipal = nfse.emitente.inscricao_municipal - id_nfse.CodigoMunicipio = nfse.emitente.endereco_cod_municipio + prestador = etree.SubElement(root, f"{{{NS}}}Prestador") + cpf_cnpj = etree.SubElement(prestador, f"{{{NS}}}CpfCnpj") + etree.SubElement(cpf_cnpj, f"{{{NS}}}Cnpj").text = emitente.cnpj + etree.SubElement(prestador, f"{{{NS}}}InscricaoMunicipal").text = ( + emitente.inscricao_municipal + ) - # Info Pedido de cancelamento - info_pedido = _tipos.tcInfPedidoCancelamento() - info_pedido.Id = "1" - info_pedido.IdentificacaoNfse = id_nfse - info_pedido.CodigoCancelamento = codigo + # Faixa + faixa = etree.SubElement(root, f"{{{NS}}}Faixa") + etree.SubElement(faixa, f"{{{NS}}}NumeroNfseInicial").text = str(numero_inicial) + etree.SubElement(faixa, f"{{{NS}}}NumeroNfseFinal").text = str(numero_final) - # Pedido - pedido = _tipos.tcPedidoCancelamento() - pedido.InfPedidoCancelamento = info_pedido + # Página + etree.SubElement(root, f"{{{NS}}}Pagina").text = str(pagina) - # Cancelamento - cancelar = servico_cancelar_nfse_envio_v03.CancelarNfseEnvio() - cancelar.Pedido = pedido + return etree.tostring(root, encoding="utf-8", xml_declaration=True) - return cancelar.toxml(element_name="ns1:CancelarNfseEnvio") + def cabecalho(self): + NS = "http://www.ginfes.com.br/cabecalho_v03.xsd" - def cancelar_v2(self, nfse): - # serialização utilizando lxml - from lxml import etree + nsmap = {None: NS} - ns1 = "http://www.ginfes.com.br/servico_cancelar_nfse_envio" - ns2 = "http://www.ginfes.com.br/tipos" - raiz = etree.Element("{%s}CancelarNfseEnvio" % ns1, nsmap={"ns1": ns1, "ns2": ns2}) - prestador = etree.SubElement(raiz, "{%s}Prestador" % ns1) - etree.SubElement(prestador, "{%s}Cnpj" % ns2).text = nfse.emitente.cnpj - etree.SubElement( - prestador, "{%s}InscricaoMunicipal" % ns2 - ).text = nfse.emitente.inscricao_municipal - etree.SubElement(raiz, "{%s}NumeroNfse" % ns1).text = nfse.identificador - return etree.tostring(raiz, encoding="unicode") + cabecalho = etree.Element(f"{{{NS}}}cabecalho", nsmap=nsmap) + cabecalho.attrib["versao"] = "3" + versao_dados = etree.SubElement(cabecalho, f"{{{NS}}}versaoDados") + versao_dados.text = "3" - def cabecalho(self): - # info - cabecalho = cabecalho_v03.cabecalho() - cabecalho.versao = "3" - cabecalho.versaoDados = "3" - return cabecalho.toxml(element_name="ns2:cabecalho") + return etree.tostring(cabecalho, encoding="utf-8", xml_declaration=True) diff --git a/pynfe/processamento/comunicacao.py b/pynfe/processamento/comunicacao.py index 14234649..c2befd66 100644 --- a/pynfe/processamento/comunicacao.py +++ b/pynfe/processamento/comunicacao.py @@ -1,29 +1,31 @@ # -*- coding: utf-8 -*- import datetime +import html import re import requests - from pynfe.entidades.certificado import CertificadoA1 -from pynfe.utils import etree, so_numeros +from pynfe.utils import etree, obter_municipio_por_codigo, so_numeros from pynfe.utils.flags import ( CODIGOS_ESTADOS, MODELO_MDFE, - NAMESPACE_BETHA, NAMESPACE_CTE, NAMESPACE_CTE_METODO, NAMESPACE_MDFE, NAMESPACE_MDFE_METODO, NAMESPACE_METODO, + NAMESPACE_NFCOM, + NAMESPACE_NFCOM_METODO, NAMESPACE_NFE, NAMESPACE_SOAP, NAMESPACE_XSD, NAMESPACE_XSI, VERSAO_CTE, VERSAO_MDFE, + VERSAO_NFCOM, VERSAO_PADRAO, ) -from pynfe.utils.webservices import CTE, MDFE, NFCE, NFE, NFSE +from pynfe.utils.webservices import CTE, MDFE, NFCE, NFCOM, NFE, NFSE from .assinatura import AssinaturaA1 @@ -165,15 +167,95 @@ def consulta_nota(self, modelo, chave, contingencia=False): """ # url do serviço url = self._get_url(modelo=modelo, consulta="CHAVE", contingencia=contingencia) - # Monta XML do corpo da requisição - raiz = etree.Element("consSitNFe", versao=VERSAO_PADRAO, xmlns=NAMESPACE_NFE) - etree.SubElement(raiz, "tpAmb").text = str(self._ambiente) - etree.SubElement(raiz, "xServ").text = "CONSULTAR" - etree.SubElement(raiz, "chNFe").text = chave - # Monta XML para envio da requisição - xml = self._construir_xml_soap("NFeConsultaProtocolo4", raiz) + if modelo == "nfcom": + raiz = etree.Element("consSitNFCom", versao=VERSAO_NFCOM, xmlns=NAMESPACE_NFCOM) + etree.SubElement(raiz, "tpAmb").text = str(self._ambiente) + etree.SubElement(raiz, "xServ").text = "CONSULTAR" + etree.SubElement(raiz, "chNFCom").text = chave + xml = self._construir_xml_soap("NFComConsulta", raiz) + else: + # Monta XML do corpo da requisição + raiz = etree.Element("consSitNFe", versao=VERSAO_PADRAO, xmlns=NAMESPACE_NFE) + etree.SubElement(raiz, "tpAmb").text = str(self._ambiente) + etree.SubElement(raiz, "xServ").text = "CONSULTAR" + etree.SubElement(raiz, "chNFe").text = chave + # Monta XML para envio da requisição + xml = self._construir_xml_soap("NFeConsultaProtocolo4", raiz) return self._post(url, xml) + def download_nota(self, modelo, chave, contingencia=False): + """ + Download da NFCom via Portal SVRS (HTML + extração do XML via JS). + """ + + url = self._get_url(modelo=modelo, consulta="DOWNLOAD", contingencia=contingencia) + + if modelo != "nfcom": + raise NotImplementedError("Download not implemented for this model yet.") + + # validação da chave + if not chave or not chave.isdigit() or len(chave) != 44: + raise ValueError("Chave NFCom inválida (esperado 44 dígitos numéricos)") + + certificado_a1 = CertificadoA1(self.certificado) + + try: + key_path, cert_path = certificado_a1.separar_arquivo( + self.certificado_senha, caminho=True + ) + cert = (cert_path, key_path) + + session = requests.Session() + + response = session.post( + url, + files={ + "sistema": (None, "Nfcom"), + "OrigemSite": (None, "0"), + "Ambiente": (None, str(self._ambiente)), + "ChaveAcessoDfe": (None, chave), + }, + headers={ + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", + "Referer": "https://dfe-portal.svrs.rs.gov.br/Nfcom", + }, + cert=cert, + verify=False, + timeout=30, + ) + + html_body = response.text + + # 🚫 BLOQUEIO POR IP (rate limit) + if "textoErro" in html_body and "IP não autorizado" in html_body: + raise PermissionError( + "SVRS bloqueou o IP por múltiplas consultas simultâneas. " + "Aguarde liberação ou utilize outro IP." + ) + + # 🔍 extrai o XML do JS + pattern = r'var\s+stringJson\s*=\s*\{\s*"xml"\s*:\s*"(.+?)"\s*\};' + match = re.search(pattern, html_body, re.DOTALL) + + if not match: + raise ValueError( + "XML não encontrado no HTML retornado pelo portal SVRS. " + "Pode ser chave inexistente, ambiente incorreto ou NFCom sem permissão." + ) + + xml_js = match.group(1) + + # remove escapes JavaScript + xml = bytes(xml_js, "utf-8").decode("unicode_escape") + + # converte entidades HTML (& etc) + xml = html.unescape(xml) + + return xml.strip() + + finally: + certificado_a1.excluir() + def consulta_distribuicao( self, cnpj=None, cpf=None, chave=None, nsu=0, consulta_nsu_especifico=False ): @@ -497,8 +579,19 @@ def _get_url(self, modelo, consulta, contingencia=False): else: # nfce Ex: https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeStatusServico3 self.url = NFCE[self.uf.upper()][ambiente] + NFCE[self.uf.upper()][consulta] + elif modelo == "nfcom": + if consulta == "DOWNLOAD": + self.url = NFCOM["SVRS"][consulta] + else: + if self.uf.upper() in ["MG", "MT", "MS"]: + self.url = ( + NFCOM[self.uf.upper()][ambiente] + NFCOM[self.uf.upper()][consulta] + ) + else: + self.url = NFCOM["SVRS"][ambiente] + NFCOM["SVRS"][consulta] + else: - raise Exception('Modelo não encontrado! Defina modelo="nfe" ou "nfce"') + raise Exception('Modelo não encontrado! Defina modelo="nfe" ou "nfce" ou "nfcom"') # Estados que utilizam outros ambientes else: lista_svrs = [ @@ -529,8 +622,12 @@ def _get_url(self, modelo, consulta, contingencia=False): elif modelo == "nfce": # nfce Ex: https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeStatusServico3 self.url = NFCE["SVRS"][ambiente] + NFCE["SVRS"][consulta] + elif modelo == "nfcom": + self.url = NFCOM["SVRS"][ambiente] + NFCOM["SVRS"][consulta] else: - raise Exception('Modelo não encontrado! Defina modelo="nfe" ou "nfce"') + raise Exception( + 'Modelo não encontrado! Defina modelo="nfe" ou "nfce" ou "nfcom"' + ) # unico UF que utiliza SVAN ainda para NF-e # SVRS para NFC-e elif self.uf.upper() == "MA": @@ -544,28 +641,47 @@ def _get_url(self, modelo, consulta, contingencia=False): elif modelo == "nfce": # nfce Ex: https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeStatusServico3 self.url = NFCE["SVRS"][ambiente] + NFCE["SVRS"][consulta] + elif modelo == "nfcom": + self.url = NFCOM["SVRS"][ambiente] + NFCOM["SVRS"][consulta] else: - raise Exception('Modelo não encontrado! Defina modelo="nfe" ou "nfce"') + raise Exception( + 'Modelo não encontrado! Defina modelo="nfe" ou "nfce" ou "nfcom"' + ) else: raise Exception(f"Url não encontrada para {modelo} e {consulta} {self.uf.upper()}") return self.url def _construir_xml_soap(self, metodo, dados, cabecalho=False): - """Mota o XML para o envio via SOAP""" + """Monta o XML para o envio via SOAP""" raiz = etree.Element( "{%s}Envelope" % NAMESPACE_SOAP, - nsmap={"xsi": NAMESPACE_XSI, "xsd": NAMESPACE_XSD, "soap": NAMESPACE_SOAP}, + nsmap={ + "xsi": NAMESPACE_XSI, + "xsd": NAMESPACE_XSD, + "soap": NAMESPACE_SOAP, + }, ) + body = etree.SubElement(raiz, "{%s}Body" % NAMESPACE_SOAP) - # distribuição tem um corpo de xml diferente + + # === NFe Distribuição === if metodo == "NFeDistribuicaoDFe": x = etree.SubElement(body, "nfeDistDFeInteresse", xmlns=NAMESPACE_METODO + metodo) a = etree.SubElement(x, "nfeDadosMsg") + + # === Cadastro MT === elif metodo == "CadConsultaCadastro4" and self.uf.upper() == "MT": x = etree.SubElement(body, "consultaCadastro", xmlns=NAMESPACE_METODO + metodo) a = etree.SubElement(x, "nfeDadosMsg") + + # === NFCOM Consulta === + elif metodo == "NFComConsulta": + a = etree.SubElement(body, "nfcomDadosMsg", xmlns=NAMESPACE_NFCOM_METODO + metodo) + + # === Default (NFe / NFCe / CTe etc) === else: a = etree.SubElement(body, "nfeDadosMsg", xmlns=NAMESPACE_METODO + metodo) + a.append(dados) return raiz @@ -578,6 +694,7 @@ def _post_header(self): } if self.uf.upper() == "PE": response["SOAPAction"] = "" + return response def _post(self, url, xml, timeout=None): @@ -595,6 +712,8 @@ def _post(self, url, xml, timeout=None): etree.tostring(xml, encoding="unicode").replace("\n", ""), ) xml = xml_declaration + xml + print(xml) + print("URL:", url) # Faz o request com o servidor result = requests.post( url, @@ -618,7 +737,9 @@ class ComunicacaoNfse(Comunicacao): _versao = "" _namespace = "" - def __init__(self, certificado, certificado_senha, autorizador, homologacao=False): + def __init__( + self, autorizador, certificado=None, certificado_senha=None, homologacao=False, **kwargs + ): self.certificado = certificado self.certificado_senha = certificado_senha self._ambiente = 2 if homologacao else 1 @@ -626,100 +747,121 @@ def __init__(self, certificado, certificado_senha, autorizador, homologacao=Fals if self.autorizador == "GINFES": self._namespace = "http://www.ginfes.com.br/cabecalho_v03.xsd" self._versao = "3" - elif self.autorizador == "BETHA": - self._namespace = NAMESPACE_BETHA - self._versao = "2.02" + elif self.autorizador == "SAO_PAULO": + self._namespace = "http://www.prefeitura.sp.gov.br/nfe" + self._versao = "2" + elif self.autorizador == "BARUERI": + self._namespace = "http://www.barueri.sp.gov.br/nfeservice" + elif self.autorizador == "OSASCO": + pass + elif self.autorizador == "CAMPINAS": + pass + elif self.autorizador == "SPEEDGOV": + if not kwargs.get("codigo_municipio"): + raise Exception( + "Para o autorizador SPEEDGOV é necessário informar o código do município." + ) + self.codigo_municipio = kwargs.get("codigo_municipio") + elif self.autorizador == "GISS": + if not kwargs.get("codigo_municipio"): + raise Exception( + "Para o autorizador GISS é necessário informar o código do município." + ) + self.codigo_municipio = kwargs.get("codigo_municipio") else: raise Exception("Autorizador não encontrado!") - def autorizacao(self, nota): + def consultar_nfse(self, payload): # url do serviço url = self._get_url() - if self.autorizador == "BETHA": - # xml - xml = etree.tostring(nota, encoding="unicode", pretty_print=False) - # comunica via wsdl - return self._post(url, xml, "gerar") - else: - raise Exception("Este método só esta implementado no autorizador betha.") - def enviar_lote(self, xml): - # url do serviço - url = self._get_url() - if self.autorizador == "GINFES": - # xml - xml = '' + xml + if self.autorizador == "OSASCO": # comunica via wsdl - return self._post_https(url, xml, "enviar_lote") + return self._post_zeep(url, NFSE[self.autorizador]["CONSULTA_COMPLETA"], payload) else: - raise Exception("Este método só esta implementado no autorizador ginfes.") + raise Exception("Este método não esta implementado para o autorizador.") - def consultar(self, xml): + def consultar_rps(self, payload): # url do serviço url = self._get_url() - if self.autorizador == "GINFES": - # xml - xml = '' + xml - # comunica via wsdl - return self._post_https(url, xml, "consulta") - else: - raise Exception("Este método só esta implementado no autorizador ginfes.") + if self.autorizador == "CAMPINAS": + from pynfe.processamento.autorizador_nfse import SerializacaoCampinas - def consultar_rps(self, xml): - # url do serviço - url = self._get_url() - if self.autorizador == "BETHA": + xml_assinado = AssinaturaA1(self.certificado, self.certificado_senha).assinar(payload) + envelope_xml = SerializacaoCampinas().soap_envelope( + NFSE[self.autorizador]["CONSULTA_RPS"], xml_assinado + ) + return self._post_soap_raw(url, envelope_xml) + elif self.autorizador == "OSASCO": # comunica via wsdl - return self._post(url, xml, "consultaRps") - elif self.autorizador == "GINFES": - return self._post_https(url, xml, "consultaRps") - # TODO outros autorizadres + return self._post_zeep(url, NFSE[self.autorizador]["CONSULTA"], payload) else: - raise Exception("Autorizador não encontrado!") + raise Exception("Este método não esta implementado para o autorizador.") - def consultar_faixa(self, xml): + def consultar_faixa(self, payload): # url do serviço url = self._get_url() - if self.autorizador == "BETHA": - # comunica via wsdl - return self._post(url, xml, "consultaFaixa") - else: - raise Exception("Este método só esta implementado no autorizador betha.") + if self.autorizador == "CAMPINAS": + from pynfe.processamento.autorizador_nfse import SerializacaoCampinas - def consultar_lote(self, xml): - # url do serviço - url = self._get_url() - if self.autorizador == "GINFES": - # xml - xml = '' + xml + xml_assinado = AssinaturaA1(self.certificado, self.certificado_senha).assinar(payload) + envelope_xml = SerializacaoCampinas().soap_envelope( + NFSE[self.autorizador]["CONSULTA_FAIXA"], xml_assinado + ) + return self._post_soap_raw(url, envelope_xml) + elif self.autorizador == "OSASCO": # comunica via wsdl - return self._post_https(url, xml, "consulta_lote") + return self._post_zeep(url, NFSE[self.autorizador]["CONSULTA"], payload) else: - raise Exception("Este método só esta implementado no autorizador ginfes.") + raise Exception("Este método não esta implementado para o autorizador.") - def consultar_situacao_lote(self, xml): + def consultar_periodo(self, payload): # url do serviço url = self._get_url() - if self.autorizador == "GINFES": - # comunica via wsdl - return self._post_https(url, xml, "consulta_situacao_lote") - else: - raise Exception("Este método só esta implementado no autorizador ginfes.") + if self.autorizador == "CAMPINAS": + from pynfe.processamento.autorizador_nfse import SerializacaoCampinas - def cancelar(self, xml): - # url do serviço - url = self._get_url() - # Betha - if self.autorizador == "BETHA": + xml_assinado = AssinaturaA1(self.certificado, self.certificado_senha).assinar(payload) + envelope_xml = SerializacaoCampinas().soap_envelope( + NFSE[self.autorizador]["CONSULTA_SERVICO"], xml_assinado + ) + return self._post_soap_raw(url, envelope_xml) + elif self.autorizador == "SPEEDGOV": + from pynfe.processamento.autorizador_nfse import SerializacaoSpeedgov + + envelope_xml = SerializacaoSpeedgov().soap_envelope( + NFSE[self.autorizador]["CONSULTA_SERVICO"], payload + ) + return self._post_soap_raw(url, envelope_xml) + elif self.autorizador == "GISS": + from pynfe.processamento.autorizador_nfse import SerializacaoGiss + + xml_assinado = AssinaturaA1(self.certificado, self.certificado_senha).assinar( + payload, retorna_string=True + ) + envelope_xml = SerializacaoGiss().soap_envelope( + NFSE[self.autorizador]["CONSULTA_SERVICO"], xml_assinado + ) + return self._post_soap_raw(url, envelope_xml) + elif self.autorizador == "OSASCO": # comunica via wsdl - return self._post(url, xml, "cancelar") - # Ginfes + return self._post_zeep(url, NFSE[self.autorizador]["CONSULTA"], payload) elif self.autorizador == "GINFES": - # comunica via wsdl com certificado - return self._post_https(url, xml, "cancelar") - # TODO outros autorizadres + # xml + xml = '' + payload.decode("utf-8") + # comunica via wsdl + return self._post_https(url, xml, "consulta") else: - raise Exception("Autorizador não encontrado!") + raise Exception("Este método não esta implementado para o autorizador.") + + def consultar_lote(self, payload): + raise Exception("Este método não esta implementado para o autorizador.") + + def consultar_situacao_lote(self, payload): + raise Exception("Este método não esta implementado para o autorizador.") + + def cancelar(self, payload): + raise Exception("Este método não esta implementado para o autorizador.") def _cabecalho(self, retorna_string=True): """Monta o XML do cabeçalho da requisição wsdl @@ -761,20 +903,26 @@ def _cabecalho2(self, retorna_string=True): else: return raiz - def _cabecalho_ginfes(self): - """Retorna o XML do cabeçalho gerado pelo xsd""" - from pynfe.processamento.autorizador_nfse import SerializacaoGinfes - - return SerializacaoGinfes().cabecalho() - def _get_url(self): """Retorna a url para comunicação com o webservice""" if self._ambiente == 1: ambiente = "HTTPS" + elif self._ambiente != 1 and self.autorizador == "SAO_PAULO": + raise Exception("São Paulo só opera em produção.") else: ambiente = "HOMOLOGACAO" if self.autorizador in NFSE: self.url = NFSE[self.autorizador][ambiente] + if self.autorizador == "GISS": + municipio = obter_municipio_por_codigo( + str(self.codigo_municipio), uf=str(self.codigo_municipio)[:2], normalizado=True + ) + self.url = self.url.replace("{municipio}", str(municipio.lower())) + if self.autorizador == "SPEEDGOV": + self.url = self.url.replace( + "{suffix_municipio}", + NFSE[self.autorizador]["SUFFIX_MUNICIPIO"][str(self.codigo_municipio)], + ) else: raise Exception("Autorizador nao encontrado!") return self.url @@ -803,15 +951,25 @@ def _post(self, url, xml, metodo): except Exception as e: raise e + def _post_soap_raw(self, url, soap_xml): + certificado_a1 = CertificadoA1(self.certificado) + key, cert = certificado_a1.separar_arquivo(self.certificado_senha, caminho=True) + return requests.post( + url, + data=soap_xml.encode("utf-8"), + cert=(cert, key), + verify=False, + headers={"Content-Type": "text/xml; charset=utf-8"}, + ) + def _post_https(self, url, xml, metodo): """Comunicação wsdl (https) utilizando certificado do usuário""" # cabecalho cabecalho = self._cabecalho() # comunicacao wsdl try: - from suds.client import Client - from pynfe.utils.https_nfse import HttpAuthenticated + from suds.client import Client certificadoA1 = CertificadoA1(self.certificado) chave, cert = certificadoA1.separar_arquivo(self.certificado_senha, caminho=True) @@ -845,6 +1003,213 @@ def _post_https(self, url, xml, metodo): raise e + def enviar_barueri(self, xml, operation): + url = self._get_url() + + if not self.autorizador == "BARUERI": + raise Exception(f"Enviar RPS não implementado para {self.autorizador}") + + return self._post_barueri_requests(url, xml, operation) + + def consultar_rps_barueri(self, xml, operation): + url = self._get_url() + + if not self.autorizador == "BARUERI": + raise Exception(f"Consultar RPS não implementado para {self.autorizador}") + + return self._post_barueri_requests(url, xml, operation) + + def baixar_rps_barueri(self, xml, operation): + url = self._get_url() + + if not self.autorizador == "BARUERI": + raise Exception(f"Baixar RPS não implementado para {self.autorizador}") + + return self._post_barueri_requests(url, xml, operation) + + def _post_barueri_requests(self, url, xml, operation): + """ + Comunicação SOAP usando requests diretamente (como NFe) + Recebe o envelope SOAP completo já montado + """ + import requests + + certificado_a1 = CertificadoA1(self.certificado) + try: + chave, cert = certificado_a1.separar_arquivo(self.certificado_senha, caminho=True) + chave_cert = (cert, chave) + + if operation == "enviar_rps": + soap_action = "http://www.barueri.sp.gov.br/nfe/NFeLoteEnviarArquivo" + elif operation == "consultar_rps": + soap_action = "http://www.barueri.sp.gov.br/nfe/NFeLoteStatusArquivo" + elif operation == "listar_rps": + soap_action = "http://www.barueri.sp.gov.br/nfe/NFeLoteListarArquivos" + elif operation == "baixar_nfse": + soap_action = "http://www.barueri.sp.gov.br/nfe/NFeLoteBaixarArquivo" + else: + raise Exception(f"Operação {operation} não implementada para Barueri.") + + headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": f'"{soap_action}"'} + + return requests.post( + url, + data=xml.encode("utf-8"), + headers=headers, + cert=chave_cert, + verify=False, + timeout=30, + ) + + except requests.exceptions.RequestException as e: + raise e + finally: + certificado_a1.excluir() + + def _post_barueri_https(self, url, xml, metodo): + """ + LEGACY: Comunicação wsdl (https) utilizando certificado do usuário + Este método usa SUDS e não é mais usado pelo Barueri. + Usar _post_barueri_requests() para Barueri. + """ + # comunicacao wsdl + + certificadoA1 = CertificadoA1(self.certificado) + try: + from pynfe.utils.https_nfse import HttpAuthenticated + from suds.client import Client + + chave, cert = certificadoA1.separar_arquivo(self.certificado_senha, caminho=True) + + cliente = Client(url, transport=HttpAuthenticated(key=chave, cert=cert, endereco=url)) + + # gerar nfse + + if metodo == "enviar_rps": + return cliente.service.NFeLoteEnviarArquivo(VersaoSchema=1, MensagemXML=xml) + elif metodo == "consultar_rps": + return cliente.service.NFeLoteStatusArquivo(VersaoSchema=1, MensagemXML=xml) + elif metodo == "listar_rps": + return cliente.service.NFeLoteListarArquivos(VersaoSchema=1, MensagemXML=xml) + elif metodo == "baixar_nfse": + return cliente.service.NFeLoteBaixarArquivo(VersaoSchema=1, MensagemXML=xml) + elif metodo == "cancelar": + return cliente.service.CancelamentoNFe(VersaoSchema=1, MensagemXML=xml) + # TODO outros metodos + else: + raise Exception(f"Método {metodo} não implementado no autorizador Barueri.") + except Exception as e: + raise e + finally: + certificadoA1.excluir() + + def enviar_sp(self, xml, operation, versao_schema=2): + """ + Send XML to São Paulo NFS-e webservice. + + Args: + xml: XML string to send + operation: Operation name (enviar_rps, teste_envio_lote_rps, envio_lote_rps, consultar_rps, cancelar) + versao_schema: Schema version (1 for v1, 2 for v2 - Reforma Tributária 2026) + + Returns: + WebService response + """ + url = self._get_url() + if self.autorizador == "SAO_PAULO": + return self._post_sp_https(url, xml, operation, versao_schema) + else: + raise Exception(f"Enviar RPS não implementado para {self.autorizador}") + + def _post_sp_https(self, url, xml, metodo, versao_schema=2): + """ + Comunicação wsdl (https) utilizando certificado do usuário. + + According to São Paulo NFS-e manual v3.3.4: + - VersaoSchema=2: Schema version 2 (Reforma Tributária 2026) + + Args: + url: WebService URL + xml: XML message string + metodo: Method name + versao_schema: Schema version (1 or 2) + """ + certificadoA1 = CertificadoA1(self.certificado) + try: + from pynfe.utils.https_nfse import HttpAuthenticated + from suds.client import Client + + chave, cert = certificadoA1.separar_arquivo(self.certificado_senha, caminho=True) + + cliente = Client(url, transport=HttpAuthenticated(key=chave, cert=cert, endereco=url)) + + # São Paulo NFS-e WebService methods + # Manual v3.3.4 section 4.3.1: All methods receive VersaoSchema and MensagemXML + if metodo == "enviar_rps": + return cliente.service.EnvioRPS(VersaoSchema=versao_schema, MensagemXML=xml) + elif metodo == "teste_envio_lote_rps": + return cliente.service.TesteEnvioLoteRPS( + VersaoSchema=versao_schema, MensagemXML=xml + ) + elif metodo == "envio_lote_rps": + return cliente.service.EnvioLoteRPS(VersaoSchema=versao_schema, MensagemXML=xml) + elif metodo == "consultar_rps": + return cliente.service.ConsultaNFe(VersaoSchema=versao_schema, MensagemXML=xml) + elif metodo == "cancelar": + return cliente.service.CancelamentoNFe(VersaoSchema=versao_schema, MensagemXML=xml) + else: + raise Exception(f"Método {metodo} não implementado no autorizador São Paulo.") + except Exception as e: + raise e + finally: + certificadoA1.excluir() + + def _post_zeep(self, wsdl, metodo, payload, wcf_compatibility=True): + """ + Comunicação wsdl utilizando a biblioteca zeep ) + Recebe o wsdl, o método a ser chamado e o payload (XML ou objeto) + """ + try: + import requests + from zeep import Client + from zeep.helpers import serialize_object + from zeep.settings import Settings + from zeep.transports import Transport + + session = requests.Session() + session.verify = False + + # certificado A1 + if self.certificado: + certificadoA1 = CertificadoA1(self.certificado) + chave, cert = certificadoA1.separar_arquivo(self.certificado_senha, caminho=True) + session.cert = (cert, chave) + + transport = Transport(session=session, timeout=60) + + settings = Settings(strict=not wcf_compatibility, xml_huge_tree=True) + + client = Client(wsdl=wsdl, transport=transport, settings=settings) + + # DEBUG ÚTIL + print("SOAP endpoint:", client.service._binding_options["address"]) + + if not hasattr(client.service, metodo): + raise Exception(f"Método {metodo} não existe no WSDL") + + print("Chamando método:", metodo) + print("payload:", payload) + + service = getattr(client.service, metodo) + + response = service(payload) + return serialize_object(response) + + finally: + if self.certificado: + certificadoA1.excluir() + + class ComunicacaoMDFe(Comunicacao): MDFE_SITUACAO_JA_ENVIADO = ("100", "101", "132") @@ -1199,17 +1564,6 @@ def consulta_distribuicao( xml = self._construir_xml_soap("CTeDistribuicaoDFe", raiz) return self._post(url, xml) - def consulta(self, chave): - url = self._get_url("CONSULTA") - # Monta XML do corpo da requisição - raiz = etree.Element("consSitCTe", versao=self._versao, xmlns=NAMESPACE_CTE) - etree.SubElement(raiz, "tpAmb").text = str(self._ambiente) - etree.SubElement(raiz, "xServ").text = "CONSULTAR" - etree.SubElement(raiz, "chCTe").text = chave - # Monta XML para envio da requisição - xml = self._construir_xml_soap("cteConsultaCT", raiz) - return self._post(url, xml) - def _get_url_an(self, consulta): ambiente = "https://www1." # produção if self._ambiente == 2: # homologacao @@ -1280,20 +1634,40 @@ def _get_url(self, consulta): raise Exception(f"Url não encontrada para {consulta} {self.uf.upper()}") return self.url + def evento(self, evento): + """ + Envia eventos do CTe como: + Comprovante de Entrega do CT-e + Cancelamento do Comprovante de Entrega do CT-e + Insucesso na Entrega do CT-e + Cancelamento do Insucesso de Entrega do CT-e + Prestação do Serviço em Desacordo + Cancelamento Prestação do Serviço em Desacordo + :param evento: Nome do Evento + :return: + """ + + # url do serviço + url = self._get_url("EVENTOS") + + # Monta XML do corpo da requisição + xml = self._construir_xml_soap("CTeRecepcaoEventoV4", evento) + return self._post(url, xml) + def _construir_xml_soap(self, metodo, dados, cabecalho=False): """Monta o XML para o envio via SOAP""" raiz = etree.Element( "{%s}Envelope" % NAMESPACE_SOAP, - nsmap={"xsi": NAMESPACE_XSI, "xsd": NAMESPACE_XSD, "soap": NAMESPACE_SOAP}, + nsmap={"soap": NAMESPACE_SOAP, "xsi": NAMESPACE_XSI, "xsd": NAMESPACE_XSD}, ) - - if self._header: + if self._header and metodo != "CTeRecepcaoEventoV4": cabecalho = self._cabecalho_soap(metodo) c = etree.SubElement(raiz, "{%s}Header" % self._namespace_soap) c.append(cabecalho) body = etree.SubElement(raiz, "{%s}Body" % NAMESPACE_SOAP) + # distribuição tem um corpo de xml diferente if metodo == "CTeDistribuicaoDFe": x = etree.SubElement(body, "cteDistDFeInteresse", xmlns=NAMESPACE_CTE_METODO + metodo) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index b1060c59..fe3033ba 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -3,27 +3,15 @@ import hashlib import re import warnings - from datetime import datetime import pynfe.utils.xml_writer as xmlw from pynfe.entidades import Manifesto, NotaFiscal -from pynfe.utils import ( - etree, - obter_codigo_por_municipio, - obter_municipio_por_codigo, - obter_pais_por_codigo, - so_numeros, -) -from pynfe.utils.flags import ( - CODIGOS_ESTADOS, - NAMESPACE_MDFE, - NAMESPACE_NFE, - NAMESPACE_SIG, - VERSAO_MDFE, - VERSAO_PADRAO, - VERSAO_QRCODE, -) +from pynfe.utils import (etree, obter_codigo_por_municipio, + obter_municipio_por_codigo, obter_pais_por_codigo, + so_numeros) +from pynfe.utils.flags import (CODIGOS_ESTADOS, NAMESPACE_CTE, NAMESPACE_MDFE, + NAMESPACE_NFE, NAMESPACE_SIG, VERSAO_MDFE, VERSAO_PADRAO, VERSAO_QRCODE) from pynfe.utils.webservices import MDFE, NFCE @@ -1957,6 +1945,86 @@ def serializar_evento_mdfe(self, evento, tag_raiz="eventoMDFe", retorna_string=F return raiz + def serializar_evento_cte(self, evento, tag_raiz="eventoCTe", retorna_string=False): + tz = datetime.now().astimezone().strftime("%z") + tz = "{}:{}".format(tz[:-2], tz[-2:]) + raiz = etree.Element(tag_raiz, versao="4.00", nsmap={None: NAMESPACE_CTE}) + e = etree.SubElement(raiz, "infEvento", Id=evento.identificador_cte) + etree.SubElement(e, "cOrgao").text = CODIGOS_ESTADOS[evento.uf.upper()] + etree.SubElement(e, "tpAmb").text = str(self._ambiente) + if len(so_numeros(evento.cnpj)) == 11: + etree.SubElement(e, "CPF").text = evento.cnpj + else: + etree.SubElement(e, "CNPJ").text = evento.cnpj + etree.SubElement(e, "chCTe").text = evento.chave + etree.SubElement(e, "dhEvento").text = ( + evento.data_emissao.strftime("%Y-%m-%dT%H:%M:%S") + tz + ) + etree.SubElement(e, "tpEvento").text = evento.tp_evento + etree.SubElement(e, "nSeqEvento").text = str(evento.n_seq_evento) + det = etree.SubElement(e, "detEvento", versaoEvento="4.00") + # EVENTOS COMENTADOS NÂO TESTADOS + # if evento.descricao == "Comprovante de Entrega do CT-e": + # etree.Subelement(det, "nProt").text = evento.protocolo + # # Data e hora de conclusão da entrega da NF-e, Formato AAAA-MM-DDTHH:MM:DD TZD, + # etree.SubElement(det, "dhEntrega").text = evento.data_hora.strftime("%Y-%m-%dT%H:%M:%S") + tz + # etree.SubElement(det, "nDoc").text = evento.documento_recebedor + # etree.SubElement(det, "xNome").text = evento.nome_recebedor + # etree.SubElement(det, "latitude").text = evento.latitude + # etree.SubElement(det, "longitude").text = evento.longitude + # etree.SubElement(det, "hashEntrega").text = evento.hash_entrega # concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da entrega (Exemplo: imagem capturada da assinatura eletrônica, digital do recebedor, foto, etc), resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT) + # etree.SubElement(det, "dhHashEntrega").text = evento.datahora_hash.strftime("%Y-%m-%dT%H:%M:%S") + tz #Formato AAAA-MM-DDTHH:MM:DD TZD + # if evento.informacao_entrega: + # inf_entrega = etree.SubElement(det, "infEntrega") #apenas para CT-e com tipo de serviço Normal + # etree.SubElement(inf_entrega, "chNFe").text = evento.chave_acesso #chave de acesso da NF-e entregue + if evento.descricao == "Cancelamento do Comprovante de Entrega do CT-e": + cancelamento = etree.SubElement(det, "evCancCECTe") + etree.SubElement(cancelamento, "descEvento").text = evento.descricao + etree.SubElement(cancelamento, "nProt").text = evento.protocolo #Número do Protocolo de autorização do CT-e + etree.SubElement(cancelamento, "nProtCE").text = evento.protocolo_evento #Número do Protocolo de autorização do evento a ser cancelado + # elif evento.descricao == "Insucesso na Entrega do CT-e": + # etree.SubElement(det, "nProt").text = evento.protocolo + # etree.SubElement(det, "dhTentativaEntrega").text = evento.data_hora_tentativa.strftime("%Y-%m-%dT%H:%M:%S") + tz #Formato AAAA-MM-DDTHH:MM:DD TZD + # etree.SubElement(det, "nTentativa").text = evento.numero_tentativa + # etree.SubElement(det, "tpMotivo").text = evento.tipo_motivo + # #Motivo do insucesso: + # # 1- Recebedor não encontrado; + # # 2- Recusa do recebedor; + # # 3- Endereço inexistente; + # # 4- Outros (exige informar justificativa) + # if evento.tipo_motivo == 4: + # etree.SubElement(det, "xJustMotivo").text = evento.justificativa #apenas para tpMotivo = 4, 15-256 caracteres + # etree.SubElement(det, "latitude").text = evento.latitude + # etree.SubElement(det, "longitude").text = evento.longitude + # etree.SubElement(det, "hashTentativaEntrega").text = evento.hash_entrega + # # Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da tentativa com insucesso da entrega (Exemplo: foto do local que não recebeu a entrega ou do local sem recebedor) + # # O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT) + # # Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary + # etree.SubElement(det, "dhHashTentativaEntrega").text = evento.datahora_hash.strftime("%Y-%m-%dT%H:%M:%S") + tz #Formato AAAA-MM-DDTHH:MM:DD TZD + # if evento.informacao_entrega: + # inf_entrega = etree.SubElement(det, "infEntrega") #apenas para CT-e com tipo de serviço Normal + # etree.SubElement(inf_entrega, "chNFe").text = evento.chave_acesso #chave de acesso da NF-e com insucesso na entrega + elif evento.descricao == "Cancelamento do Insucesso de Entrega do CT-e": + cancelamento = etree.SubElement(det, "evCancIECTe") + etree.SubElement(cancelamento, "descEvento").text = evento.descricao + etree.SubElement(cancelamento, "nProt").text = evento.protocolo + etree.SubElement(cancelamento, "nProtIE").text = evento.protocolo_evento + elif evento.descricao == "Prestação do Serviço em Desacordo": + desacordo = etree.SubElement(det, "evPrestDesacordo") + etree.SubElement(desacordo, "descEvento").text = evento.descricao + etree.SubElement(desacordo, "indDesacordoOper").text = "1" #Indicador de operação em desacordo + etree.SubElement(desacordo, "xObs").text = evento.observacao + elif evento.descricao == "Cancelamento Prestação do Serviço em Desacordo": + cancelamento = etree.SubElement(det, "evCancPrestDesacordo") + etree.SubElement(cancelamento, "descEvento").text = evento.descricao + etree.SubElement(cancelamento, "nProtEvPrestDes").text = evento.protocolo_evento + + if retorna_string: + return etree.tostring(raiz, encoding="unicode", pretty_print=True) + else: + return raiz + + class SerializacaoQrcode(object): """Classe que gera e serializa o qrcode de NFC-e no xml""" @@ -2065,72 +2133,55 @@ def gerar_qrcode(self, token, csc, xml, return_qr=False, online=True): class SerializacaoNfse(object): - def __init__(self, autorizador): + def __init__(self, autorizador, chave_autenticacao=None): "Recebe uma string com o nome do autorizador." self.autorizador = autorizador - - def gerar(self, nfse): - if self.autorizador.lower() == "betha": - from pynfe.processamento.autorizador_nfse import SerializacaoBetha - - return SerializacaoBetha().gerar(nfse) - else: - raise Exception("Este método só esta implementado no autorizador Betha.") - - def gerar_lote(self, nfse): - if self.autorizador.lower() == "ginfes": - from pynfe.processamento.autorizador_nfse import SerializacaoGinfes - - return SerializacaoGinfes().serializar_lote_assincrono(nfse) - else: - raise Exception("Este método só esta implementado no autorizador ginfes.") - - def consultar_nfse(self, emitente, numero=None, inicio=None, fim=None): - if self.autorizador.lower() == "ginfes": - from pynfe.processamento.autorizador_nfse import SerializacaoGinfes - - return SerializacaoGinfes().consultar_nfse(emitente, numero, inicio, fim) + self.chave_autenticacao = chave_autenticacao + + def consultar_faixa(self, emitente, numero_inicial, numero_final, pagina=1): + if self.autorizador.lower() == "campinas": + from pynfe.processamento.autorizador_nfse import SerializacaoCampinas + + return SerializacaoCampinas().consultar_faixa(emitente, numero_inicial, numero_final, pagina=pagina) + elif self.autorizador.lower() == "osasco": + from pynfe.processamento.autorizador_nfse import SerializacaoOsasco + return SerializacaoOsasco(self.chave_autenticacao).consultar(numero_nota_inicial=numero_inicial, numero_nota_final=numero_final) else: - raise Exception("Este método só esta implementado no autorizador ginfes.") - - def consultar_lote(self, emitente, numero): - if self.autorizador.lower() == "ginfes": + raise Exception(f"Este método não esta implementado para o autorizador {self.autorizador.upper()}") + + def consultar_periodo(self, emitente, data_inicio, data_fim, pagina=1): + if self.autorizador.lower() == "campinas": + from pynfe.processamento.autorizador_nfse import SerializacaoCampinas + + return SerializacaoCampinas().consultar_periodo(emitente, data_inicio, data_fim, pagina=pagina) + elif self.autorizador.lower() == "osasco": + from pynfe.processamento.autorizador_nfse import SerializacaoOsasco + + return SerializacaoOsasco(self.chave_autenticacao).consultar(data_inicial=data_inicio, data_final=data_fim) + elif self.autorizador.lower() == "giss": + from pynfe.processamento.autorizador_nfse import SerializacaoGiss + + return SerializacaoGiss().consultar_periodo(emitente, data_inicio, data_fim, pagina=pagina) + elif self.autorizador.lower() == "speedgov": + from pynfe.processamento.autorizador_nfse import SerializacaoSpeedgov + + return SerializacaoSpeedgov().consultar_periodo(emitente, data_inicio, data_fim) + elif self.autorizador.lower() == "ginfes": from pynfe.processamento.autorizador_nfse import SerializacaoGinfes - - return SerializacaoGinfes().consultar_lote(emitente, numero) + + return SerializacaoGinfes().consultar_periodo(emitente, data_inicio, data_fim, pagina=pagina) else: - raise Exception("Este método só esta implementado no autorizador ginfes.") + raise Exception(f"Este método não esta implementado para o autorizador {self.autorizador.upper()}") - def consultar_rps(self, emitente, numero, serie, tipo): - if self.autorizador.lower() == "ginfes": - from pynfe.processamento.autorizador_nfse import SerializacaoGinfes - return SerializacaoGinfes().consultar_rps(emitente, numero, serie, tipo) + def consultar_nfse(self, emitente, numero_nfse): + if self.autorizador.lower() == "osasco": + from pynfe.processamento.autorizador_nfse import SerializacaoOsasco + return SerializacaoOsasco(self.chave_autenticacao).consultar(numero_nota_inicial=numero_nfse, numero_nota_final=numero_nfse) else: - raise Exception("Este método só esta implementado no autorizador ginfes.") + raise Exception(f"Este método não esta implementado para o autorizador {self.autorizador.upper()}") - def consultar_situacao_lote(self, emitente, numero): - if self.autorizador.lower() == "ginfes": - from pynfe.processamento.autorizador_nfse import SerializacaoGinfes - return SerializacaoGinfes().consultar_situacao_lote(emitente, numero) - else: - raise Exception("Este método só esta implementado no autorizador ginfes.") - - def cancelar(self, nfse): - if self.autorizador.lower() == "ginfes": - from pynfe.processamento.autorizador_nfse import SerializacaoGinfes - - # versao 3 - # return SerializacaoGinfes().cancelar(nfse) - # versao 2 - return SerializacaoGinfes().cancelar_v2(nfse) - elif self.autorizador.lower() == "betha": - from pynfe.processamento.autorizador_nfse import SerializacaoBetha - - return SerializacaoBetha().cancelar(nfse) - else: - raise Exception("Autorizador não suportado para cancelamento!") class SerializacaoQrcodeMDFe(object): diff --git a/pynfe/utils/flags.py b/pynfe/utils/flags.py index 58519687..f6f8d6e4 100644 --- a/pynfe/utils/flags.py +++ b/pynfe/utils/flags.py @@ -21,6 +21,9 @@ NAMESPACE_CTE_METODO = "http://www.portalfiscal.inf.br/cte/wsdl/" VERSAO_CTE = "3.00" +NAMESPACE_NFCOM = "http://www.portalfiscal.inf.br/nfcom" +NAMESPACE_NFCOM_METODO = "http://www.portalfiscal.inf.br/nfcom/wsdl/" +VERSAO_NFCOM = "1.00" VERSAO_QRCODE = "2" TIPOS_DOCUMENTO = ( @@ -34,6 +37,12 @@ XSD_PD_CANCELAR_NFE = "procCancNFe_v1.07.xsd" XSD_PD_INUTILIZAR_NFE = "procInutNFe_v1.07.xsd" +XSD_NFE_LEIAUTE = "leiauteNFe_v4.00.xsd" +XSD_NFE_TIPOS = "DFeTiposBasicos_v1.00.xsd" + +SCHEMA_FOLDER_NFE = "pynfe/data/SCHEMAs/NF-e" +SCHEMA_NFE = "schemaNFe_v1.00.json" + XSD_FOLDER_MDFE = "pynfe/data/XSDs/MDF-e" XSD_MDFE = "mdfe_v3.00.xsd" XSD_MDFE_PROCESSADA = "procMDFe_v3.00.xsd" diff --git a/pynfe/utils/webservices.py b/pynfe/utils/webservices.py index 74af8900..1b2f72e3 100644 --- a/pynfe/utils/webservices.py +++ b/pynfe/utils/webservices.py @@ -299,9 +299,7 @@ NFE = { # Alguns serviços são disponibilizados apenas pelo ambiente nacional "AN": { - "EVENTOS": ( - "nfe.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx" - ), # versao: 4.00 + "EVENTOS": "nfe.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx", # versao: 4.00 "DISTRIBUICAO": "nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx", "HTTPS": "https://www", "HOMOLOGACAO": "https://hom1", @@ -317,7 +315,7 @@ "HTTPS": "https://", "HOMOLOGACAO": "https://hom", }, - "MA": {"CADASTRO": ("https://sistemas.sefaz.ma.gov.br/wscadastro/CadConsultaCadastro2?wsdl")}, + "MA": {"CADASTRO": "https://sistemas.sefaz.ma.gov.br/wscadastro/CadConsultaCadastro2?wsdl"}, "PE": { "STATUS": "sefaz.pe.gov.br/nfe-service/services/NFeStatusServico4", "AUTORIZACAO": "sefaz.pe.gov.br/nfe-service/services/NFeAutorizacao4", @@ -330,14 +328,12 @@ "HOMOLOGACAO": "https://nfehomolog.", }, "BA": { - "STATUS": ("nfe.sefaz.ba.gov.br/webservices/NFeStatusServico4/NFeStatusServico4.asmx"), - "AUTORIZACAO": ("nfe.sefaz.ba.gov.br/webservices/NFeAutorizacao4/NFeAutorizacao4.asmx"), - "RECIBO": ("nfe.sefaz.ba.gov.br/webservices/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx"), - "CHAVE": ( - "nfe.sefaz.ba.gov.br/webservices/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx" - ), - "INUTILIZACAO": ("nfe.sefaz.ba.gov.br/webservices/NFeInutilizacao4/NFeInutilizacao4.asmx"), - "EVENTOS": ("nfe.sefaz.ba.gov.br/webservices/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx"), + "STATUS": "nfe.sefaz.ba.gov.br/webservices/NFeStatusServico4/NFeStatusServico4.asmx", + "AUTORIZACAO": "nfe.sefaz.ba.gov.br/webservices/NFeAutorizacao4/NFeAutorizacao4.asmx", + "RECIBO": "nfe.sefaz.ba.gov.br/webservices/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx", + "CHAVE": "nfe.sefaz.ba.gov.br/webservices/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx", + "INUTILIZACAO": "nfe.sefaz.ba.gov.br/webservices/NFeInutilizacao4/NFeInutilizacao4.asmx", + "EVENTOS": "nfe.sefaz.ba.gov.br/webservices/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx", "CADASTRO": ( "nfe.sefaz.ba.gov.br/webservices/CadConsultaCadastro4/CadConsultaCadastro4.asmx" ), @@ -367,10 +363,10 @@ "HOMOLOGACAO": "https://homologacao.", }, "PR": { - "STATUS": ("nfe.sefa.pr.gov.br/nfe/NFeStatusServico4"), # CONSULTA STATUS DO SERVICO + "STATUS": "nfe.sefa.pr.gov.br/nfe/NFeStatusServico4", # CONSULTA STATUS DO SERVICO "AUTORIZACAO": "nfe.sefa.pr.gov.br/nfe/NFeAutorizacao4", # AUTORIZACAO "RECIBO": "nfe.sefa.pr.gov.br/nfe/NFeRetAutorizacao4", # CONSULTA RECIBO - "CHAVE": ("nfe.sefa.pr.gov.br/nfe/NFeConsultaProtocolo4"), # CONSULTA CHAVE DE ACESSO + "CHAVE": "nfe.sefa.pr.gov.br/nfe/NFeConsultaProtocolo4", # CONSULTA CHAVE DE ACESSO "INUTILIZACAO": "nfe.sefa.pr.gov.br/nfe/NFeInutilizacao4", # INUTILIZAÇAO "EVENTOS": "nfe.sefa.pr.gov.br/nfe/NFeRecepcaoEvento4", # REGISTRO DE EVENTOS "CADASTRO": "nfe.sefa.pr.gov.br/nfe/CadConsultaCadastro4", # CONSULTA CADASTRO @@ -427,12 +423,12 @@ "HOMOLOGACAO": "https://homolog.", }, "SVAN": { - "STATUS": ("sefazvirtual.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx"), - "AUTORIZACAO": ("sefazvirtual.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx"), - "RECIBO": ("sefazvirtual.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx"), + "STATUS": "sefazvirtual.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx", + "AUTORIZACAO": "sefazvirtual.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx", + "RECIBO": "sefazvirtual.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx", "CHAVE": "sefazvirtual.fazenda.gov.br/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx", - "INUTILIZACAO": ("sefazvirtual.fazenda.gov.br/NFeInutilizacao4/NFeInutilizacao4.asmx"), - "EVENTOS": ("sefazvirtual.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx"), + "INUTILIZACAO": "sefazvirtual.fazenda.gov.br/NFeInutilizacao4/NFeInutilizacao4.asmx", + "EVENTOS": "sefazvirtual.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx", "DOWNLOAD": "sefazvirtual.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx", "HTTPS": "https://www.", "HOMOLOGACAO": "https://hom.", @@ -472,6 +468,23 @@ # Nfs-e NFSE = { # + "SAO_PAULO": { + "ENVIAR_RPS": "EnviarRps", + "ENVIO_LOTE_RPS": "EnvioLoteRPS", + "TESTE_ENVIO_LOTE_RPS": "TesteEnvioLoteRPS", + "CONSULTA_RPS": "ConsultaNFe", + "CANCELAR_NFSE": "CancelamentoNFe", + # New URL supports both v1 and v2 (Reforma Tributária 2026) + # Old URL (v1 only): https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx?wsdl + "HTTPS": "https://nfews.prefeitura.sp.gov.br/lotenfe.asmx?WSDL", + }, + "BARUERI": { + "ENVIAR_RPS": "EnviarRPS", + "CONSULTA_RPS": "ConsultaNFe", + "CANCELAR_NFSE": "CancelamentoNFe", + "HTTPS": "https://www.barueri.sp.gov.br/nfeservice/wsrps.asmx?WSDL", + "HOMOLOGACAO": "https://testeeiss.barueri.sp.gov.br/nfeservice/wsrps.asmx?WSDL", + }, "BETHA": { "AUTORIZACAO": "GerarNfse", "CANCELAR": "CancelarNfse", @@ -481,20 +494,60 @@ "CONSULTA_SERVICO_TOMADO": "ConsultarNfseServicoTomado", "SUBSTITUIR": "SubstituirNfse", "HTTPS": "http://e-gov.betha.com.br/e-nota-contribuinte-ws/nfseWS?wsdl", - "HOMOLOGACAO": ("http://e-gov.betha.com.br/e-nota-contribuinte-test-ws/nfseWS?wsdl"), + "HOMOLOGACAO": "http://e-gov.betha.com.br/e-nota-contribuinte-test-ws/nfseWS?wsdl", }, # "GINFES": { "AUTORIZACAO": "GerarNfse", "CANCELAR": "CancelarNfse", - "CONSULTA_RPS": "ConsultarNfsePorRps", + "CONSULTA_RPS": "consultarNfsePorRps", "CONSULTA_FAIXA": "ConsultarNfseFaixa", "CONSULTA_SERVICO": "ConsultarNfseServicoPrestado", "CONSULTA_SERVICO_TOMADO": "ConsultarNfseServicoTomado", - "SUBSTITUIR": "SubstituirNfse", "HTTPS": "https://producao.ginfes.com.br/ServiceGinfesImpl?wsdl", "HOMOLOGACAO": "https://homologacao.ginfes.com.br/ServiceGinfesImpl?wsdl", }, + "OSASCO": { + "AUTORIZACAO": "Emitir", + "CANCELAR": "Cancelar", + "CONSULTA": "Consultar", + "CONSULTA_COMPLETA": "ConsultarNotaCompleta", + "HTTPS": "https://nfe.osasco.sp.gov.br/EISSNFEWebServices/NotaFiscalEletronica.svc?wsdl", + "HOMOLOGACAO": "", + "DOWNLOAD": "https://nfe.osasco.sp.gov.br/EissnfeWebApp/Sistema/Prestador/VisualizarNFENew.aspx?Id={identificador}", + }, + "CAMPINAS": { + "AUTORIZACAO": "GerarNfse", + "CANCELAR": "CancelarNfse", + "CONSULTA_RPS": "consultarNfsePorRps", + "CONSULTA_FAIXA": "ConsultarNfseFaixa", + "CONSULTA_SERVICO": "ConsultarNfseServicoPrestado", + "CONSULTA_SERVICO_TOMADO": "ConsultarNfseServicoTomado", + "HTTPS": "https://novanfse.campinas.sp.gov.br/notafiscal-abrasfv203-ws/NotaFiscalSoap?wsdl", + "HOMOLOGACAO": "", + "DOWNLOAD": ( + "https://novanfse.campinas.sp.gov.br/notafiscal-ws/servico/notafiscal/autenticacao/cpfCnpj/{cpf_cnpj}/inscricaoMunicipal/{im}/numeroNota/{numero_nfse}/codigoVerificacao/{codigo_verificacao}" + ), + }, + "SPEEDGOV": { + "CONSULTA_SERVICO": "ConsultarNfse", + "HTTPS": "https://speedgov.com.br/ws{suffix_municipio}/Nfes?wsdl", + "HOMOLOGACAO": "", + "DOWNLOAD": ( + "https://speedgov.com.br/sat{suffix_municipio}/servlet//com.satweb.aratb177e?1,1,1,1,{im},{numero_nfse},{codigo_verificacao}" + ), + "SUFFIX_MUNICIPIO": { + "2307650":"mar" + }, + }, + "GISS": { + "CONSULTA_SERVICO": "ConsultarNfseServicoPrestado", + "HTTPS": "https://ws-{municipio}.giss.com.br/service-ws/nf/nfse-ws?wsdl", + "HOMOLOGACAO": "", + "DOWNLOAD": ( + "https://gissv2-{codigo_ibge}.eiconbrasil.com.br/service-relatorio/api/relatorio/nota-autenticacao/{tipo_doc}/{codigo_ibge}/{identificador}/codigo-verificacao/{codigo_verificacao}" + ), + }, } # MDF-e @@ -521,51 +574,95 @@ "HOMOLOGACAO": "https://hom1", }, "MT": { + "EVENTOS": "sefaz.mt.gov.br/ctews2/services/CTeRecepcaoEventoV4?wsdl", "STATUS": "sefaz.mt.gov.br/ctews/services/CteStatusServico", "CONSULTA": "sefaz.mt.gov.br/ctews2/services/CTeConsultaV4?wsdl", "HTTPS": "https://cte.", "HOMOLOGACAO": "https://homologacao.", }, "MS": { + "EVENTOS": "cte.ms.gov.br/ws/CTeRecepcaoEventoV4", "STATUS": "cte.ms.gov.br/ws/CteStatusServico", "CONSULTA": "cte.ms.gov.br/ws/CTeConsultaV4", "HTTPS": "https://producao.", "HOMOLOGACAO": "https://homologacao.", }, "MG": { + "EVENTOS": "fazenda.mg.gov.br/cte/services/CTeRecepcaoEventoV4", "STATUS": "fazenda.mg.gov.br/cte/services/CteStatusServico", "CONSULTA": "fazenda.mg.gov.br/cte/services/CTeConsultaV4", "HTTPS": "https://cte.", "HOMOLOGACAO": "https://hcte.", }, "PR": { + "EVENTOS": "fazenda.pr.gov.br/cte4/CTeRecepcaoEventoV4?wsdl", "STATUS": "fazenda.pr.gov.br/cte/CteStatusServico?wsdl", "CONSULTA": "fazenda.pr.gov.br/cte4/CTeConsultaV4?wsdl", "HTTPS": "https://cte.", "HOMOLOGACAO": "https://homologacao.", }, "RS": { + "EVENTOS": "svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx", "STATUS": "svrs.rs.gov.br/ws/ctestatusservico/CteStatusServico.asmx", "CONSULTA": "svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx", "HTTPS": "https://cte.", "HOMOLOGACAO": "https://cte-homologacao.", }, "SP": { + "EVENTOS": "fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx", "STATUS": "fazenda.sp.gov.br/cteWEB/services/cteStatusServico.asmx", "CONSULTA": "fazenda.sp.gov.br/CTeWS/WS/CTeConsultaV4.asmx", "HTTPS": "https://nfe.", "HOMOLOGACAO": "https://homologacao.nfe.", }, "SVRS": { + "EVENTOS": "svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx", "STATUS": "svrs.rs.gov.br/ws/ctestatusservico/CteStatusServico.asmx", "CONSULTA": "svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx", "HTTPS": "https://cte.", "HOMOLOGACAO": "https://cte-homologacao.", }, "SVSP": { + "EVENTOS": "fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx", "STATUS": "fazenda.sp.gov.br/cteWEB/services/CteStatusServico.asmx", "CONSULTA": "fazenda.sp.gov.br/CTeWS/WS/CTeConsultaV4.asmx", "HTTPS": "https://nfe.", "HOMOLOGACAO": "https://homologacao.nfe.", }, } + +NFCOM = { + "MG": { + "AUTORIZACAO": "fazenda.mg.gov.br/nfcom/services/NFComRecepcao?wsdl", + "CHAVE": "fazenda.mg.gov.br/nfcom/services/NFComConsulta?wsdl", + "EVENTOS": "fazenda.mg.gov.br/nfcom/services/NFComRecepcaoEvento?wsdl", + "STATUS": "fazenda.mg.gov.br/nfcom/services/NFComStatusServico?wsdl", + "HTTPS": "https://nfcom.", + "HOMOLOGACAO": "https://hnfcom.", + }, + "MS": { + "AUTORIZACAO": "sefaz.ms.gov.br/ws/NFComRecepcao?wsdl", + "CHAVE": "sefaz.ms.gov.br/ws/NFComConsulta?wsdl", + "EVENTOS": "sefaz.ms.gov.br/ws/NFComRecepcaoEvento?wsdl", + "STATUS": "sefaz.ms.gov.br/ws/NFComStatusServico?wsdl", + "HTTPS": "https://nfcom.", + "HOMOLOGACAO": "https://hom.nfcom.", + }, + "MT": { + "AUTORIZACAO": "sefaz.mt.gov.br/nfcom/services/NFComRecepcao?wsdl", + "CHAVE": "sefaz.mt.gov.br/nfcom/services/NFComConsulta?wsdl", + "EVENTOS": "sefaz.mt.gov.br/nfcom/services/NFComRecepcaoEvento?wsdl", + "STATUS": "sefaz.mt.gov.br/nfcom/services/NFComStatusServico?wsdl", + "HTTPS": "https://www.", + "HOMOLOGACAO": "https://homologacao.", + }, + "SVRS": { + "DOWNLOAD": "https://dfe-portal.svrs.rs.gov.br/NfcomSSL/DownloadXmlDfe", + "AUTORIZACAO": "svrs.rs.gov.br/WS/NFComRecepcao/NFComRecepcao.asmx", + "CHAVE": "svrs.rs.gov.br/WS/NFComConsulta/NFComConsulta.asmx", + "EVENTOS": "svrs.rs.gov.br/WS/NFComRecepcaoEvento/NFComRecepcaoEvento.asmx", + "STATUS": "svrs.rs.gov.br/WS/NFComStatusServico/NFComStatusServico.asmx", + "HTTPS": "https://nfcom.", + "HOMOLOGACAO": "https://nfcom-homologacao.", + }, +} diff --git a/setup.py b/setup.py index a2ac4f8f..c9a8171b 100644 --- a/setup.py +++ b/setup.py @@ -27,13 +27,15 @@ ], packages=setuptools.find_packages(exclude=["tests"]), package_data={ - "pynfe": ["data/**/*.txt"], + "pynfe": ["data/**/*.txt", "data/**/*.json", "data/**/*.xsd", "data/**/*.csv"], }, install_requires=[ "pyopenssl>=23.0.0", "requests", "lxml", "signxml", + "suds-py3", + "zeep>=4.3.2", ], extras_require={ "nfse": [