Professional Documents
Culture Documents
SUMRIO
1
INTRODUO ..................................................................................................... 3
1.1
OBJETIVOS ..................................................................................................... 3
1.2
RESPONSABILIDADES ....................................................................................... 3
1.3
REFERNCIAS ................................................................................................. 4
ARQUITETURA ................................................................................................... 4
3.1
COMUNICAO ................................................................................................ 6
3.2
3.3
3.4
3.5
4.2
4.3
4.4
4.5
4.6
5.2
5.2.1
5.2.2
8.2
8.3
8.4
8.5
8.6
2
ESALES Solues de integrao
1 INTRODUO
1.1
Objetivos
1.2
Responsabilidades
3
ESALES Solues de integrao
1.3
Referncias
Data
Criao
Origem
Template de MAPEAMENTO_XML_TXT_Envio.xls
11/08/2008
Documentao
E-Sales
2 ARQUITETURA
A soluo Oobj-NFE se divide em trs mdulos: o Mdulo Central, o Mdulo
Perifrico e o Painel Gerencial.
O Mdulo Central fica fisicamente alocado em uma mquina servidora nica que
processa as operaes de todos os estabelecimentos, e responsvel por toda a
comunicao com a Secretaria de Fazenda. Ele executa as operaes de envio,
cancelamento, inutilizao e consultas de NFE.
O Mdulo Perifrico fica instalado em cada estao em que roda o sistema de
faturamento, e se presta a servir de ponte entre o sistema de faturamento e o
Mdulo Central. Deste modo, toda a interao do sistema de faturamento feita
diretamente com o Mdulo Perifrico. Outra incumbncia do Mdulo Perifrico o
controle das impresses do DANFE e do DANFE-FS (DANFE em formulrio de
segurana).
O Painel Gerencial oferece funes administrativas como configurao do
funcionamento do sistema, backups, listagem das NFE emitidas e operaes
posteriores sobre elas, como cancelamento, reimpresso de DANFE, etc. Ele
acessado de qualquer estao de trabalho atravs de um browser e pode ser
instalado no servidor onde est o Mdulo Central. O Painel Gerencial no depende
de integrao com o sistema de faturamento e, portanto, no objeto de discusso
deste documento.
A Figura 1 ilustra a distribuio dos componentes e a comunicao entre eles:
4
ESALES Solues de integrao
Comunicao
Pasta de Envio
Pasta de Respostas
grava
grava
Sistema de Faturamento
Mdulo Perifrico
Figure 2 - Pasta de Envio
3.2
Padro de Nomenclatura
Exemplo
Entrada
lote-<id-lote>.txt
lote-12345.txt
Sada
respLote-<id-lote>.txt
respLote-12345.txt
3.3
no
template
MAPEAMENTO_XML_Envio.xls
da
metodologia
de
7
ESALES Solues de integrao
3.4
Tamanho
chNFe
origemResp 1 digito
Observaes
Originador da resposta
SEFAZ; O: Oobj-NFE).
(S:
serie
nNF
8 digitos
Numero da NF-e
dhRecbto
cStat
3 digitos
xMotivo
255 digitos
8
ESALES Solues de integrao
3.5
Tamanho
Dom
2 Disponvel para Exportao,
modo normal.
3 Enviado, em processamento.
4 - Processado.
5 - Disponvel para Exportao, em
modo contingncia.
4.1
4.2
Quando ocorrer uma falha que impea a autorizao do lote de NFE, pode ser feita
a emisso do DANFE em formulrio de segurana. O Oobj-NFE pode ser
configurado para acionar este modo de contingncia automaticamente, ou sob
comando manual.
Seja acionado automtica ou manualmente, quando houver emisso de DANFE em
formulrio de segurana, o sistema retornar uma mensagem semelhante ao
exemplo a seguir:
A|12345|O|5001|Notas emitidas em contingncia DANFE-FS.|
4.3
4.4
O Oobj-NFE aplica uma srie de validaes prvias ao lote enviado pelo sistema de
faturamento. Primeiramente so feitas as seguintes validaes estruturais:
4.5
Caso o lote passe com sucesso pelas validaes estruturais, so feitas outras
validaes de natureza semntica, semelhantes s validaes feitas pela SEFAZ.
Por exemplo, verifica-se se o CNPJ do emitente e do destinatrio so CNPJs
vlidos, e outras validaes diversas. Essa pr-validao tem por objetivo antecipar
a rejeio, poupando tempo de transmisso e processamento, e economizando
recursos computacionais e de rede.
Se um erro de contedo for encontrado em alguma nota, o lote inteiro rejeitado.
Um erro especfico que se enquadra neste cenrio ocorre quando o sistema de
faturamento envia uma nota com numerao e srie anteriormente enviada
SEFAZ, acarretando em duplicidade.
A mensagem de retorno do Oobj-NFE, em caso de falha na validao do contedo
do lote, semelhante ao exemplo apresentado a seguir:
A|12345|O|5002|Falha na validao de uma ou mais NFE|52|
B|52071212345678000100550120000000014848581045|12|1| 200712-25T12:00:00|5208|CNPJ do destinatrio invlido|
12
ESALES Solues de integrao
Quando ocorrer este erro, espera-se que o usurio corrija a informao causadora
do problema e remeta o lote novamente ao Oobj-NFE.
4.6
Neste cenrio, espera-se que o usurio decida entre aguardar que o problema se
normalize, ou acionar manualmente o mecanismo de contingncia adequado,
remetendo novamente o lote.
Existe uma situao rara, mas possvel, em que a comunicao com a SEFAZ
interrompida aps o envio de um lote, mas antes da obteno do resultado do
processamento. Neste caso especfico, impossvel determinar se as notas foram
autorizadas, e no pode haver sada das mercadorias referentes s notas em
questo. Uma conseqncia a perda da numerao das notas, fazendo-se
necessrio re-emitir as notas com nova numerao, utilizando o mecanismo de
contingncia adequado. A ao esperada que o sistema de faturamento remeta
novamente o lote, alterando a numerao de suas notas para uma nova numerao.
13
ESALES Solues de integrao
5.1
canc-<chave-acesso-nfe>.txt
Exemplo :
canc-35090268733603000178550010000000350833154065.txt
Sada
respCanc-< chave-acesso-nfe>.xml
Exemplo :
respCanc-35090268733603000178550010000000350833154065.txt
Tamanho
Observaes
CANC
Constante
tpAmb
1 digito
Tipo de Ambiente (1
Produo, 2 Homologao),
opcional
chNFe
xJust
e.
Mais de 15 caracteres no mnimo.
Exemplo:
CANC||31090879655916000806550020000362545863277776|SOLICITACAO DE
CANCELAMENTO DO CLIENTE|
Tamanho
Observaes
RETCANC
Constante
tpAmb
1 digito
Tipo de Ambiente (1
Produo, 2 Homologao),
opcional
verAplic
1 20 caracteres
Verso do aplicativo
processou
o
pedido
cancelamento
cStat
3 caracteres
xMotivo
1 255 caracteres
cUF
2 caracteres
Cdigo da UF de atendimento
chNFe
que
de
nProt
5.2
15 caracteres
inut-<cdigo-numerico-qualquer>.txt
Exemplo :
inut-0001.txt
Sada
Tamanho
Observaes
Constante
tpAmb
1 digito
Tipo de Ambiente (1
Produo, 2 Homologao),
opcional
cUF
2 caracteres
Cdigo da UF de atendimento
16
ano
CNPJ
serie
nNFIni
nNFFin
Tamanho
Observaes
Constante
tpAmb
1 digito
Tipo de Ambiente (1
Produo, 2 Homologao),
opcional
cStat
3 caracteres
17
ESALES Solues de integrao
xMotivo
1 255 caracteres
cUF
2 caracteres
Cdigo da UF de atendimento
ano
CNPJ
serie
nNFIni
nNFFin
nProt
15 caracteres
18
ESALES Solues de integrao
Descrio
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5204
5207
5208
5209
5210
5211
5212
5214
5215
5228
5229
5232
5235
5237
5243
5251
5253
5254
5255
5266
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5287
5288
5402
5405
5406
5999
}
Caso no seja necessrio o preenchimento do grupo F mas seja necessrio o
preenchimento do grupo G, temos:
E|XPTO Ltda| ...
G|11222333000181| ...
Nota-se que o grupo E e G so inseridos, mas o grupo F, omitido.
Campos: identificados pelo cdigo do campo e separados por |.
Exemplo: cUF, cNF
Caso seja opcional ou no informado, deve-se substituir o contedo pelo
preenchimento de apenas UM espao em branco.
Exemplo:
No grupo E05, temos:
E05|XLgr|Nro|XCpl|XBairro|CMun|XMun|UF|CEP|CPais|XPais|Fone|
Caso no seja necessrio o preenchimento do complemento (xCpl),CEP (CEP) e do
Telefone (Fone), preenche-se estes campos com apenas UM espao em branco:
E05|Avenida Rangel Pestana|300| |Se|3550308|So Paulo| SP||1058|BRASIL| |
Expresses:
[ 0 a N ] { ... } : Expresso indicando que todo o contedo entre chaves ( { e } )
pode ser inserido de 0 (ou seja, nenhuma vez) ou mais vezes.
[ 0 a 1 ] { ... } : Expresso indicando que todo o contedo entre chaves ( { e } )
pode ser inserido de 0 (ou seja, nenhuma vez) ou 1 vez.
[ 1 a 990 ] { ... } : Expresso indicando que todo o contedo entre chaves ( { e } )
pode ser adicionado at um limite de 990, mas deve ser inserido pelo menos 1 vez.
[seleo entre X ou Y ] { X|... [ou] Y|... } : Expresso indicando que deve-se realizar
uma escolha entre o cdigo X ou o cdigo Y, lembrando que X e Y podem variar de
acordo com os cdigos do layout. Exemplo:
[seleo entre C02 ou C02a]{
C02|NrDocumento
22
ESALES Solues de integrao
[ou]
C02a|NrDocumento
}
Neste caso, deve-se realizar a escolha entre C02 ou C02a: caso insira C02
(C02|NrDocumento), no poder ser inserido C02a (C02a|NrDocumento) e viceversa.
[0 a N] { [seleo entre X ou Y] { X [ou] Y } }: Expresso indicando que todo
contedo entre chaves ( { e } ) pode ser inserido de 0 (ou seja, nenhuma vez) ou
mais vezes. Onde para esse contedo deve-se fazer uma escolha entre o cdigo X
ou o cdigo Y. Os ns X devem ser seguidos e os ns Y tambm devem ser seguidos.
Exemplo:
B|cUF|NatOp| ...
B13|refNFe|
B13|refNFe|
B13|refNFe|
B14|cUF|AAMM(ano ms)|CNPJ|Mod|serie|nNF|
B14|cUF|AAMM(ano ms)|CNPJ|Mod|serie|nNF|
C|XNome|XFant|IE|IEST|IM|CNAE|
Nesse exemplo B13 o X e B14 o Y. Observe que se pode ter ns B13 e B14, mas
todos os B13s esto juntos e todos os B14s esto juntos.
O10|VBC|PIPI|
[ou]
O11|QUnid|VUnid|
}
[ou]
O08|CST|
}
}
Neste caso, caso seja inserido o grupo O (O|ClEnq|CNPJProd|CSelo|QSelo|
CEnq|), a prxima linha a ser inserida deve ser a escolha entre O07
(O07|CST|VIPI|) ou O08 (O08|CST|). Caso seja escolhido O07, deve-se
escolher ainda entre O010 (O10|VBC|PIPI|) ou O011 (O11|QUnid|VUnid|).
Abaixo segue o layout do arquivo de forma hierrquica e com indentaco para
facilita a leitura. Ao realizar a criao dos arquivos, os grupos e campos no devem
apresentar { } ou os comandos entre [ ].
24
ESALES Solues de integrao
8.2
8.3
8.4
A|idLote|origemResp|cStat|xMotivo|cUF|
8.5
A|idLote|origemResp|cStat|xMotivo|cUF|
B|chNFe|serie|Nnf|dhRecbto|cStat|xMotivo|
8.6
A|idLote|origemResp|cStat|xMotivo|cUF|
25
ESALES Solues de integrao
26
C05|XLgr|Nro|XCpl|Bairro|CMun|XMun|UF|CEP|CPais|XPais|Fone|
[0 ou 1]{
D|CNPJ|XOrgao|Matr|XAgente|Fone|UF|NDAR|DEmi|VDAR|RepEmi|DPag|
}
E| XNome| IE|ISUF|
[seleo entre E02 ou E03]{
E02|CNPJ|
[ou]
E03|CPF|
}
E05|XLgr|Nro|XCpl|XBairro|CMun|XMun|UF|CEP|CPais|XPais|Fone|
[0 ou 1]{
F|CNPJ|XLgr|Nro|XCpl|XBairro|CMun|XMun|UF|
}
[0 ou 1]{
G|CNPJ|XLgr|Nro|XCpl|XBairro|CMun|XMun|UF|
}
[1 a 990]{
H|NItem|InfAdProd|
I|CProd|CEAN|XProd|NCM|EXTIPI|Genero|CFOP|UCom|QCom|VUnCom|VProd|CEANTrib|UTrib|QTrib|VUnTrib|VFrete|VSeg|VDesc|
[0 a N]{
I18|NDI|DDI|XLocDesemb|UFDesemb|DDesemb|CExportador|
[1 a N]{
27
ESALES Solues de integrao
I25|NAdicao|NSeqAdic|CFabricante|VDescDI|
}
}
[0 ou 1 apenas se veculo]{
J|TpOp|Chassi|CCor|XCor|Pot|CM3|PesoL|PesoB|NSerie|TpComb|NMotor|CMKG|Dist|RENAVAM|AnoMod|AnoFab|TpPint|TpVei
c|EspVeic|VIN|CondVeic|CMod|
}
[0 a N apenas se medicamento]{
K|NLote|QLote|DFab|DVal|VPMC|
}
[0 a N apenas se armamento]{
L|TpArma|NSerie|NCano|Descr|
}
[0 a N apenas se combustvel]{
L1| CProdANP|CODIF|QTemp|
[0 ou 1]{
L105|QBCProd|VAliqProd|VCIDE|
}
L109|VBCICMS|VICMS|VBCICMSST|VICMSST|
[0 ou 1]{
L114|VBCICMSSTDest|VICMSSTDest|
}
L117|VBCICMSSTCons|VICMSSTCons|UFCons|
28
ESALES Solues de integrao
}
M|
N|
[Seleo entre N02 ou N03 ou N04 ou N05 ou N06 ou N07 ou N08 ou N09 ou N10]{
N02|Orig|CST|ModBC|VBC|PICMS|VICMS|
[ou]
N03|Orig|CST|ModBC|VBC|PICMS|VICMS|ModBCST|PMVAST|PRedBCST|VBCST|PICMSST|VICMSST|
[ou]
N04|Orig|CST|ModBC|PRedBC|VBC|PICMS|VICMS|
[ou]
N05|Orig|CST|ModBCST|PMVAST|PRedBCST|VBCST|PICMSST|VICMSST|
[ou]
N06|Orig|CST|
[ou]
N07|Orig|CST|ModBC|PRedBC|VBC|PICMS|VICMS|
[ou]
N08|Orig|CST|VBCST|VICMSST|
[ou]
N09|Orig|CST|ModBC|PRedBC|VBC|PICMS|VICMS|ModBCST|PMVAST|PRedBCST|VBCST|PICMSST|VICMSST|
[ou]
N10|Orig|CST|ModBC|VBC|PRedBC|PICMS|VICMS|ModBCST|PMVAST|PRedBCST|VBCST|PICMSST|VICMSST|
}
[0 ou 1]{
29
ESALES Solues de integrao
O|ClEnq|CNPJProd|CSelo|QSelo|CEnq|
[seleo entre O07 ou O08]{
O07|CST|VIPI|
[seleo entre O10 ou O11]{
O10|VBC|PIPI|
[ou]
O11|QUnid|VUnid|
}
[ou]
O08|CST|
}
}
[0 ou 1]{
P|VBC|VDespAdu|VII|VIOF|
}
Q|
[Seleo entre Q02 ou Q03 ou Q04 ou Q05]{
Q02|CST|VBC|PPIS|VPIS|
[ou]
Q03|CST|QBCProd|VAliqProd|VPIS|
[ou]
Q04|CST|
[ou]
30
ESALES Solues de integrao
Q05|CST|VPIS|
[Seleo entre Q07 ou Q10]{
Q07|VBC|PPIS|
[ou]
Q10|QBCProd|VAliqProd|
}
}
R|
31
ESALES Solues de integrao
}
[0 ou 1]{
U|VBC|VAliq|VISSQN|CMunFG|CListServ|
}
}
W|
W02|VBC|VICMS|VBCST|VST|VProd|VFrete|VSeg|VDesc|VII|VIPI|VPIS|VCOFINS|VOutro|VNF|
[0 ou 1]{
W17|VServ|VBC|VISS|VPIS|VCOFINS|
32
ESALES Solues de integrao
}
[0 ou 1]{
W23|VRetPIS|VRetCOFINS|VRetCSLL|VBCIRRF|VIRRF|VBCRetPrev|VRetPrev|
}
X|ModFrete|
[0 ou 1]{
X03|XNome|IE|XEnder|UF|XMun|
[Seleo entre X04 ou X05]{
X04|CNPJ|
[ou]
X05|CPF|
}
}
[0 ou 1]{
X11|VServ|VBCRet|PICMSRet|VICMSRet|CFOP|CMunFG|
}
[0 ou 1]{
X18|Placa|UF|RNTC|
}
[0 a 2]{
X22|Placa|UF|RNTC|
}
[0 a N]{
33
ESALES Solues de integrao
X26|QVol|Esp|Marca|NVol|PesoL|PesoB|
[0 a N]{
X33|NLacre|
}
}
[0 ou 1]{
Y|
[0 ou 1]{
Y02|NFat|VOrig|VDesc|VLiq|
}
[0 a N]{
Y07|NDup|DVenc|VDup|
}
}
[0 ou 1]{
Z|InfAdFisco|InfCpl|
[0 a 10]{
Z04|XCampo|XTexto|
}
[0 a N]{
Z10|NProc|IndProc|
}
}
34
ESALES Solues de integrao
[0 ou 1]{
ZA|UFEmbarq|XLocEmbarq|
}
[0 ou 1]{
ZB|XNEmp|XPed|XCont|
}
[0 ou 1]{
OOBJBOL|
[1 a 99]{
OOBJBOL01|codigoBanco|codigoBarras|codigoBarrasFormatado|localPgto|dataVencimento|cedente|agenciaCodigoCedente|numeroDocumento|
especie|aceite|dataProcessamento|nossoNumero|cip|carteira|moeda|valorDuplicata|cndRepresentante|cdCliente|nnfe|
instrucao1|instrucao2|instrucao3|instrucao4|instrucao5|instrucao6|instrucao7|instrucao8|
sacadoIdentificacao|sacadoEndereco|sacadoTelefone|descontoAbatimento|nomeBanco|
}
35
ESALES Solues de integrao
Visando proteger o sistema de faturamento das freqentes alteraes na estrutura da NFE, foi retirado alguns campos do bloco
de identificao, que fazem somente parte do contexto NF-e no so necessrias ao ERP, e faz com que modificaes na legislao
no impacte em ter que modificar o sistema ERP.
Todos
os
campos,
incluindo
MAPEAMENTO_XML_TXT_Envio.xls.
os
citados
abaixo,
esto
descritos
no
documento
Template
de
Os campos retirados esto descritos abaixo em vermelho e tachado, no sendo necessrio informar os mesmos, sendo que
caso no sejam informados eles devem vir em branco.
Grupo
Campo
Descrio
Tipo
Ocorrncia
Tamanho
Dec
Observao
Atributos da NF-e
A
Versao
Verso do leiaute
Obrig
Id
Identificador da NF-e
Obrig
1a4
Verso do leiaute
Para a importao: informar apenas o literal NFe.
Para a exportao: ser preenchido com a chave de acesso da NF-e precedida
do literal NFe
Identificadores da NF-e
B
cUF
brig
cNF
cional
36
ESALES Solues de integrao
natOp
brig
1 a 60
indPag
brig
Mod
brig
Serie
nNF
dEmi
dSaiEnt
B
B
brig
1a3
brig
1a9
brig
Formato AAAA-MM-DD
cional
Formato AAAA-MM-DD
tpNF
cMunFG
tpImp
tpEmis
cDV
Opcional
tpAmb
Identificao do Ambiente
Obrig
finNFe
Obrig
procEmi
Obrig
0 a entrada / 1 a sada
Obrig
1 a Retrato/ 2-Paisagem
Obrig
1 a Normal/ 2-Contingncia
37
verProc
Obrig
1 a 20
Dados de Boletos
OOBJBOL
Opc.
0a1
OOBJBOL01 nomeBanco
Nome do banco
Obrig.
1 a 255
OOBJBOL01 codigoBanco
Cdigo do banco
Obrig.
1 a 255
OOBJBOL01 codigoBarras
Obrig.
1 a 255
OOBJBOL01 codigoBarrasFormatado
Obrig.
1 a 255
OOBJBOL01 localPgto
Local de pagamento
Opc.
1 a 255
OOBJBOL01 dataVencimento
Obrig.
1 a 255
OOBJBOL01 cedente
Cedente
Obrig.
1 a 255
OOBJBOL01 agenciaCodigoCedente
Agncia do Cedente
Obrig.
1 a 255
OOBJBOL01 numeroDocumento
Nmero do ttulo
Obrig.
1 a 255
OOBJBOL01 especie
Espcie
Opc.
1 a 255
OOBJBOL01 aceite
Aceite
Opc.
1 a 255
OOBJBOL01 dataProcessamento
Data de processamento
Opc.
1 a 255
OOBJBOL01 nossoNumero
Nosso nmero
Opc.
1 a 255
OOBJBOL01 cip
CIP
Opc.
1 a 255
OOBJBOL01 carteira
Carteira
Obrig.
1 a 255
OOBJBOL01 moeda
Moeda
Opc.
1 a 255
OOBJBOL01 valorDuplicata
Valor da Duplicata
Obrig.
1 a 255
Opc.
1 a 255
Opc.
1 a 255
OOBJBOL01 cndRepresentante
OOBJBOL01 cdCliente
Cdigo do cliente
OOBJBOL01 nnfe
Nmero da NFE
Opc.
1 a 255
OOBJBOL01 instrucao1
Linha de instrues 1
Opc.
1 a 255
OOBJBOL01 instrucao2
Linha de instrues 2
Opc.
1 a 255
OOBJBOL01 instrucao3
Linha de instrues 3
Opc.
1 a 255
38
ESALES Solues de integrao
OOBJBOL01 instrucao4
Linha de instrues 4
Opc.
1 a 255
OOBJBOL01 instrucao5
Linha de instrues 5
Opc.
1 a 255
OOBJBOL01 instrucao6
Linha de instrues 6
Opc.
1 a 255
OOBJBOL01 instrucao7
Linha de instrues 7
Opc.
1 a 255
OOBJBOL01 instrucao8
Linha de instrues 8
Opc.
1 a 255
OOBJBOL01 sacadoIdentificacao
Identificao do sacado
Obrig.
1 a 255
OOBJBOL01 sacadoEndereco
Endereo do sacado
Opc.
1 a 255
OOBJBOL01 sacadoTelefone
Telefone do sacado
Opc.
1 a 255
OOBJBOL01 descontoAbatimento
Desconto ou abatimento
Opc.
1 a 255
39
ESALES Solues de integrao