Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exportação da NF-e em XML #139

Open
Zaimison opened this issue Dec 20, 2016 · 13 comments
Open

Exportação da NF-e em XML #139

Zaimison opened this issue Dec 20, 2016 · 13 comments

Comments

@Zaimison
Copy link

Prezados amigos, estou com um problema para exportação da NF-e para XML, para que possamos assinar com certificado A3 em outro validador:
Erro: "ImportError: No module named l10n_br_account_product.sped.nfe.serializer.xml"
O ambiente é o de produção e o status da nota é "Enviar para Receita". Todo odoo-brazil-eletronic-documents está instalado.

Que módulo ausente seria esse?

Obrigado.

@leorochael
Copy link
Contributor

Olá Zaimison,

Você poderia, por favor, mostrar o traceback inteiro que contém esse erro?

@Zaimison
Copy link
Author

Boa noite, segue:

Traceback (most recent call last):
File "/opt/odoo/odoo/openerp/http.py", line 537, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo/openerp/http.py", line 574, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/odoo/openerp/http.py", line 310, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo/openerp/http.py", line 307, in checked_call
return self.endpoint(*a, **kw)
File "/opt/odoo/odoo/openerp/http.py", line 803, in call
return self.method(*args, **kw)
File "/opt/odoo/odoo/openerp/http.py", line 403, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 952, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 940, in _call_kw
return checked_call(request.db, *args, **kwargs)
File "/opt/odoo/odoo/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 939, in checked_call
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/opt/odoo/odoo/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo/localizacao/l10n-brazil/l10n_br_account_product/wizard/l10n_br_account_nfe_export_invoice.py", line 141, in nfe_export
data['file_type'], globals(), locals(), data['file_type'])
ImportError: No module named l10n_br_account_product.sped.nfe.serializer.xml

@leorochael
Copy link
Contributor

Que módulo ausente seria esse?

Pelo nome do módulo, e pelo arquivo onde a mensagem de erro acontece, o módulo que ele tentou importar seria este aqui:

https://github.com/OCA/l10n-brazil/blob/8.0/l10n_br_account_product/sped/nfe/serializer/xml.py

E como ele pertence ao mesmo módulo onde o erro ocorreu, não faz sentido que ele esteja ausente, a não ser que tenha algo errado na sua instalação.

O que eu posso sugerir é que você abra um console de python no contexto do Odoo e tente importar este arquivo para ver se existe algum outro erro que está impedindo esse arquivo de ser importado.

De todo modo, no seu traceback a última linha mencionada é a 141 do arquivo l10n_br_account_product/wizard/l10n_br_account_nfe_export_invoice.py, mas a versão mais recente no github a linha onde esse erro poderia ocorrer é a linha 128.

Então sugiro verificar se sua instalação está íntegra e assegurar que você esteja executando a versão mais recente deste módulo no github.

@Zaimison
Copy link
Author

Boa tarde, tem esse outro erro:
25 from .sped.nfe.nfe_factory import NfeFactory
26 from .sped.nfe.validator.xml import XMLValidator
---> 27 from openerp.addons.nfe.sped.nfe.processing.xml import send, cancel
28 from openerp.addons.nfe.sped.nfe.processing.xml import monta_caminho_nfe
29 from openerp.addons.nfe.sped.nfe.validator.config_check import \

ImportError: No module named nfe.sped.nfe.processing.xml

@leorochael
Copy link
Contributor

@Zaimison, não estou conseguindo fazer sentido desse erro. Você poderia fazer um resumo, o mais completo possível, de como começar com uma máquina sem Odoo instalado e seguir uma sequência de passos, mas a mais simples possível, que garanta a execução deste erro que você encontrou?

@Zaimison
Copy link
Author

Boa tarde, seguem os passos seguidos:
Bibliotecas: apt-get install python-dev python-yaml python-feedparser python-geoip python-imaging python-pybabel python-unicodecsv wkhtmltopdf libxml2-dev libxmlsec1-dev python-argparse python-Babel python-cups python-dateutil python-decorator python-docutils python-feedparser python-gdata python-gevent python-greenlet python-Jinja2 python-libxslt1 python-lxml python-Mako python-MarkupSafe python-mock python-openid python-passlib python-psutil python-psycopg2 python-pychart python-pydot python-pyparsing python-pyPdf python-ldap python-yaml python-reportlab python-requests python-simplejson python-six python-tz python-unittest2 python-vatnumber python-vobject python-webdav python-Werkzeug python-wsgiref python-xlwt python-zsi python-dev libpq-dev poppler-utils python-pdftools antiword

sudo pip install pyserial==2.7

sudo pip install psycogreen==1.0

sudo pip install pyusb==1.0.0b1

sudo pip install qrcode==5.0.1

sudo pip install Pillow==2.5.1

sudo pip install boto==2.38.0

sudo pip install oerplib==0.8.4

sudo pip install jcconv==0.2.3

sudo pip install pytz==2014.4
apt-get install xfonts-base xfonts-75dpi xfonts-encodings xfonts-utils fontconfig fontconfig-config libexpat1 libfontconfig1 libfreetype6 libjbig0 libjpeg8 libpng12-0 libssl1.0.0 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxfont1 libfontenc1 libxrender1 ttf-dejavu-core ucf x11-common

Odoo Base: https://www.github.com/odoo/odoo --depth 1 --branch 8.0 --single-branch
Localização Brasileira
https://github.com/Trust-Code/l10n-brazil.git

NF-e
https://github.com/Trust-Code/odoo-brazil-eletronic-documents.git

PySped necessário para emissão de NF-e automática
https://github.com/Trust-Code/PySPED.git

Dependência da localização
https://github.com/Trust-Code/server-tools.git

Dependência da localização – Permite criar regras fiscais
https://github.com/odoo-brazil/account-fiscal-rule.git --branch 8.0 --depth 1

A única coisa que vejo como diferente das dicas do Danimar é o módulo base do Odoo e Account Fiscal Rule que peguei do Odoo-Brazil.

Obrigado.

@leorochael
Copy link
Contributor

Olá @Zaimison, as instruções que você passou mostram (parcialmente) como instalar uma instância de odoo, mas não mostram como chegar no erro do qual você está reclamando. Faltam informações sobre:

  • Quais módulos você instalou (e se eles carregaram ou não os dados de demonstração)
  • Que passos executar exatamente até chegar no erro.

Mas uma informação que você de fato passou é a seguinte:

NF-e
https://github.com/Trust-Code/odoo-brazil-eletronic-documents.git

Ou seja, você não está usando o odoo-brazil-eletronic-documents deste repositório, mas sim do repositório da Trust-Code.

Sugiro você criar uma issue naquele repositório ao invés deste.

@Zaimison
Copy link
Author

Boa noite descobri o erro de código:
mod_serializer = import(
'l10n_br_account_product.sped.nfe.serializer.' +
data['file_type'], globals(), locals(), data['file_type'])

dava erro de importação, substitui por:

mod_serializer = import(
'openerp.addons.l10n_br_account_product.sped.nfe.serializer.' +
data['file_type'], globals(), locals(), data['file_type'])

Resolvi o problema da exportação em txt também, fazendo o import: "from openerp import pooler"

Agora ta exportando tanto em XML quanto em TXT.

O único problema agora é em relação a tag do xml: na minha opinião, não era para ser gerada uma vez que no momento da exportação, não marquei a opção "assinar xml". Você saberia como poderia omitir a geração dessa tag, quando a opção "assinar xml" estiver desmarcada?
Obrigado.

@mileo
Copy link
Member

mileo commented Jan 27, 2017

@Zamison

A opção assinar xml não é um campo utilizado. O modulo de "nfe" instalado permite a transmissão do xml diretamente ao sefaz com certificado A1.

Não me lembro do fluxo suportar A3. Vc tem 3 opções:

  • Trocar para A1;
  • Implementar o suporte do A3;
  • Alterar o codigo para exportar o xml e vc assinar-lo localmente;

@leorochael
Copy link
Contributor

@mileo, o @Zaimison explicitamente mencionou que ele quer exportar o XML e assinar em um outro sistema com certificado A3.

@Zaimison, não entendi sua frase:

O único problema agora é em relação a tag do xml: na minha opinião, não era para ser gerada uma vez que no momento da exportação, não marquei a opção "assinar xml".

Todo XML tem muitas tags. A qual tag vc está se referindo exatamente? Pode dar um exemplo (o mais enxuto possível) de como o XML está e a como você gostaria que ele ficasse?

@Zaimison
Copy link
Author

Foi mal a não ter colocado a tal. Então seria a tag . Em testes com o uninfe o XML não é validado devido a esta tag, pois como o XML não foi assinado ela não é válida. Após remover a tag a validação e transmissão funciona perfeitamente com certificado a3.

@Zaimison
Copy link
Author

Tag "signature"

@ChristopherNicolasSMM
Copy link

Boa tarde, não estou conseguindo configurar a versão 10.0 do odoo para NF-e estou usando a versão para windows, cada hora é um erro diferente, atualmente na biblioteca num2words que já esta instalada.
Alguém tem um tutorial legal ? Pode ser o caso do S.O. que estou usando no caso win 10 ? abç.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants