diff --git a/Curr_culo.pdf b/Curr_culo.pdf new file mode 100644 index 0000000..3f3f0f2 Binary files /dev/null and b/Curr_culo.pdf differ diff --git a/README.md b/README.md index 817b8c7..4aa490c 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,4 @@ -# Venha para Recomb - -O desafio é desenvolver um programa que permita realizar as seguintes buscas: - -1) Listar os valores e data de Vencimento dos boletos presentes em um nota fiscal conforme o CPF ou CNPJ de um fornecedor. -2) Apresentar o nome, identificador (CPF ou CNPJ), endereço dos clientes de um fornecedor. - -**Escolha as tecnologias que você vai usar e tente montar uma solução completa para rodar a aplicação.** - -Para enviar o resultado, basta realiazar um Fork deste repositório e abra um Pull Request, com seu nome. - -É importante comentar que deve ser enviado apenas o código fonte. Não aceitaremos códigos compilados. - -Por fim, o candidato deve atualizar o Readme.md com as seguintes informações: - - 1) Documentação da solução; - 2) Lista dos diferenciais implementados - -## Avaliação - -O programa será avaliado levando em conta os seguintes critérios: -|Critério| Valor| -|-------|--------| -|Legibilidade do Código |10| -|Organização do Código|10| -|Documentação do código |10| -|Documentação da solução |10| -|Tratamento de Erros |10| -|Total| 50| - -A pontuação do candidato será a soma dos valores obtidos nos critérios acima. - -## Diferenciais - -O candidato pode aumentar a sua pontuação na seleção implementando um ou mais dos itens abaixo: -|Item | Pontos Ganhos| -|-----|--------------| -|Criar um serviço com o problema |30| -|Utilizar banco de dados |30| -|Implementar Clean Code |20| -|Implementar o padrão de programação da tecnologia escolhida |20| -|Qualidade de Código com SonarQube| 15| -|Implementar testes unitários |15| -|Implementar testes comportamentais | 15| -|Implementar integração com Travis |10| -|Implementar integração com Travis + SonarQube |10| -|Implementar usando Docker |5| -|Total | 170| - -A nota final do candidato será acrescido dos pontos referente ao item implementado corretamente. - -## Penalizações - -O candidato será desclassifiado nas seguintes situações: - -1) Submeter um solução que não funcione; -2) Não cumprir os critérios presentes no seção Avaliação; -3) Plágio; - - - +# desafiorecomb +1. Documentação da solução se encontra na minha célula do notebook no qual o código está +2. Diferenciais: Utilizar banco de dados, Implementar testes unitários, Implementar testes comportamentais e Implementar Clean Code \ No newline at end of file diff --git a/desafioRecomb.ipynb b/desafioRecomb.ipynb new file mode 100644 index 0000000..606b8c3 --- /dev/null +++ b/desafioRecomb.ipynb @@ -0,0 +1 @@ +{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"desafioRecomb.ipynb","provenance":[],"collapsed_sections":[],"mount_file_id":"12PnXrGUVZ8zelcYaIIZZxstPjnCNAhdC","authorship_tag":"ABX9TyMc3SDpNA8Q8MeUWqJPoeWc"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","source":[""],"metadata":{"id":"5zw2oEmnZhvu"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["\n","## Desafio PS Estágio Recomb\n","### Rebeca Cecco \n","\n","

Descrição da solução :

\n","\n","* Leitura dos arquivos de notas fisicas utilizando os metódos disponibilizados pela biblioteca nfelib com tratamento de certos tipos de erros (mais detalhes sobre os tipos nos comentários do código)\n","* Persitência de dados e geração de relatórios foram implementados utilizando o SQlite3\n","\n","

Execução do Programa:

\n","\n","* Ultima célula de código contém a chamada de todos os metódos necessários para exibir as funcionalidades presentes na solução\n","* Existem duas opções de execução: Leitura de notas e geração de relatórios\n","* Na opção relatórios é preciso escolher qual tipo e inserir o identificador do fornecedor\n","* Se for escolhida uma opção de execução ou de relatório não esperada é exibida uma mensagem de erro e a execução acaba\n","* Na geração de relatórios se for fornecido um CPNJ inválido a execução também é encerrada\n","\n","

Testes:

\n","\n","* Cada tipo de erro tratado foi testado\n","* Erros previstos: Erros de Parser(mais detalhes nos comentários), arquivo inválido, erro de digitação de CPNJ para gerar relatórios, inserir nota já cadastrada\n","* Nome dos arquivos de teste seguem o padrão nfe_erro_{nome_do_tipo_de_erro}\n","* Caso de teste além do erro: cliente Pessoa Física\n","\n","

Observações\n","\n","* Comportamento não desejado da biblioteca: Imprime o xml após o parsing, na documentação disponível não consta como impedir isso"],"metadata":{"id":"LQem7JvLLTQR"}},{"cell_type":"code","execution_count":1,"metadata":{"id":"MKGTAHjZuqny","executionInfo":{"status":"ok","timestamp":1649440799808,"user_tz":180,"elapsed":6955,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}},"colab":{"base_uri":"https://localhost:8080/"},"outputId":"58e3b6cb-c06b-4823-835d-dca63c080e31"},"outputs":[{"output_type":"stream","name":"stdout","text":["Collecting nfelib\n"," Cloning https://github.com/akretion/nfelib.git (to revision master_gen_v4_00) to /tmp/pip-install-xx6awzrs/nfelib_2f0c866ca73e4d07bda428ef1da931a3\n"," Running command git clone -q https://github.com/akretion/nfelib.git /tmp/pip-install-xx6awzrs/nfelib_2f0c866ca73e4d07bda428ef1da931a3\n"]}],"source":["import sqlite3\n","import xml.etree.ElementTree as ET\n","import datetime\n","import re\n","\n","! pip install git+https://github.com/akretion/nfelib.git@master_gen_v4_00#egg=nfelib"]},{"cell_type":"code","source":["from nfelib.v4_00 import leiauteNFe_sub as parser"],"metadata":{"id":"Iv_iO_mpFO4S","executionInfo":{"status":"ok","timestamp":1649440799808,"user_tz":180,"elapsed":8,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":2,"outputs":[]},{"cell_type":"code","source":["#O desafio é desenvolver um programa que permita realizar as seguintes buscas:\n","\n","#Listar os valores e data de Vencimento dos boletos presentes em um nota fiscal conforme o CPF ou CNPJ de um fornecedor.\n","#Apresentar o nome, identificador (CPF ou CNPJ), endereço dos clientes de um fornecedor."],"metadata":{"id":"DiIUrmkyuyqW","executionInfo":{"status":"ok","timestamp":1649440799809,"user_tz":180,"elapsed":7,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":3,"outputs":[]},{"cell_type":"code","source":["#Metódo que trata erros de parser do tipo:\n","# 1- Falta de nome de cliente ou do fornecedor\n","# 2- Falta de CNPJ ou CPF do cliente ou do fornecedor\n","# 3- Endereço incompleto do cliente\n","\n","#Interessante implementar verificações mais sofisticadas de erro\n","# validar tanto a existência quanto corretude de CPF, CEP e CNPJ por exemplo\n","\n","def tratamento_erros_parser(nota_fiscal):\n"," #Pessoa Física não pode emitir nota por isso o programa só espera CNPJ do fornecedor\n","\n"," #Tipo 1 e 2 de Erro para caso do fornecedor\n"," if nota_fiscal.infNFe.emit.CNPJ == \"\" or nota_fiscal.infNFe.emit.xNome == \"\":\n"," print(\"***** Erro na Leitura da Nota Fiscal de ID = {} *****\\n Dados do Fornecedor faltando \".format(nota_fiscal.infNFe.Id))\n"," return True\n"," #Tipo 1 e 2 de Erro para o caso de Cliente\n"," elif nota_fiscal.infNFe.dest.CNPJ == \"\" or nota_fiscal.infNFe.dest.CPF == \"\" or nota_fiscal.infNFe.dest.xNome == \"\":\n"," print(\"***** Erro na Leitura da Nota Fiscal de ID = {} *****\\n Dados do Cliente faltando \".format(nota_fiscal.infNFe.Id))\n"," return True\n"," #Tipo 3 de erro\n"," elif nota_fiscal.infNFe.dest.enderDest.CEP == \"\" or nota_fiscal.infNFe.dest.enderDest.xLgr == \"\" or nota_fiscal.infNFe.dest.enderDest.nro == \"\" :\n"," print(\"***** Erro na Leitura da Nota Fiscal de ID = {} *****\\n Dados Endereço do Cliente Incompleto \".format(nota_fiscal.infNFe.Id))\n"," return True\n"," else :\n"," print(\"***** Leitura concluída com sucesso *****\")\n"," return False\n"],"metadata":{"id":"CILTnLXtJBpC","executionInfo":{"status":"ok","timestamp":1649440799809,"user_tz":180,"elapsed":6,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":4,"outputs":[]},{"cell_type":"code","source":["# Metódo de Leitura dos dados necessários para gerar os relatórios pedidos\n","\n","def parser_notas(arquivo_nota):\n"," erro = True\n"," #metódo de parser da biblioteca\n"," nota_fiscal = parser.parse(arquivo_nota)\n"," erro = tratamento_erros_parser(nota_fiscal)\n"," \n"," if (not erro) : \n"," id_nota = nota_fiscal.infNFe.Id\n"," atributos_fornecedor = [nota_fiscal.infNFe.total.ICMSTot.vNF, \n"," #a bib tem um comportamento diferente para estruturas de aninhamento similares\n"," #para a tag dub os filhos são representados por lista\n"," #por isso não é possível fazer o acesso padrão com .\n"," nota_fiscal.infNFe.cobr.dup[0].dVenc,\n"," nota_fiscal.infNFe.emit.CNPJ,\n"," nota_fiscal.infNFe.emit.xNome]\n"," if nota_fiscal.infNFe.dest.CNPJ == None :\n"," atributos_cliente = [nota_fiscal.infNFe.dest.CPF, nota_fiscal.infNFe.dest.xNome]\n"," else:\n"," atributos_cliente = [nota_fiscal.infNFe.dest.CNPJ, nota_fiscal.infNFe.dest.xNome]\n"," endereco_cliente = [nota_fiscal.infNFe.dest.enderDest.xLgr,\n"," nota_fiscal.infNFe.dest.enderDest.nro,\n"," nota_fiscal.infNFe.dest.enderDest.xBairro,\n"," nota_fiscal.infNFe.dest.enderDest.xMun,\n"," nota_fiscal.infNFe.dest.enderDest.UF,\n"," nota_fiscal.infNFe.dest.enderDest.CEP]\n"," atributos_cliente = atributos_cliente + endereco_cliente\n","\n"," #escolha de projeto fazer como tupla e não lista de acordo com a espeficição do problema\n"," #afinal está sendo feito apenas uma leitura, não há necessidade de alteração e nem deveria ser possível\n"," nota_lida = ((id_nota),(atributos_fornecedor),(atributos_cliente))\n"," return nota_lida\n"," else: return False\n","\n"],"metadata":{"id":"VEYp8X0C00gL","executionInfo":{"status":"ok","timestamp":1649440899119,"user_tz":180,"elapsed":391,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":16,"outputs":[]},{"cell_type":"code","source":["#Checar se a Tabela está vazia\n","\n","def checar_tabela(cur):\n"," cur.execute('''SELECT COUNT(*) from nota_fiscal ''')\n"," resultado = cur.fetchall()\n"," \n"," # se não há nehuma linha como resultado da query significa que a tabela está vazia\n"," if resultado == 0 :\n"," print(\"Não existem notas fiscais para gerar o relatório\")\n"," return True\n"," else :\n"," return False"],"metadata":{"id":"PkcXfryI7Qf8","executionInfo":{"status":"ok","timestamp":1649440800454,"user_tz":180,"elapsed":14,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":6,"outputs":[]},{"cell_type":"code","source":["def impressao_relatorio(opcao_rel,cnpj):\n","\n"," if(opcao_rel == \"1\"):\n"," print(\"Imprimindo Boletos do Fornecedor com CPNJ: {}\\n\".format(cnpj))\n"," linhas_rel = listar_boletos(cnpj) \n"," else: \n"," print(\"Imprimindo clientes do Fornecedor com CPNJ: {} \\n\",format(cnpj))\n"," linhas_rel = listar_clientes(cnpj)\n","\n"," "],"metadata":{"id":"DAcKJzNd_3Ae","executionInfo":{"status":"ok","timestamp":1649440800455,"user_tz":180,"elapsed":14,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":7,"outputs":[]},{"cell_type":"code","source":["#Listar os valores e data de Vencimento dos boletos presentes em um nota fiscal conforme o CPF ou CNPJ de um fornecedor.\n","def listar_boletos(cnpj):\n"," con = sqlite3.connect('nfe.db')\n"," cur = con.cursor()\n","\n"," tabela_vazia = checar_tabela(cur)\n","\n"," if (not tabela_vazia):\n"," for linha in cur.execute(\"SELECT valor, dataVencimento FROM nota_fiscal WHERE CNPJForncedor=? \", (cnpj,)) :\n"," print(linha)\n"," print(\"Valor Boleto: {} Data de Vencimento: {} \\n\".format(linha[0],linha[1]))\n","\n"," qtd_linhas = cur.fetchall()\n"," if len(qtd_linhas) == 0:\n"," print(\"Não há notas desse Fornecedor na base de dados\")\n","\n"," con.close()"],"metadata":{"id":"1VCsK3nBOMRC","executionInfo":{"status":"ok","timestamp":1649440800455,"user_tz":180,"elapsed":14,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":8,"outputs":[]},{"cell_type":"code","source":["#Apresentar o nome, identificador (CPF ou CNPJ), endereço dos clientes de um fornecedor.\n","def listar_clientes(cnpj):\n"," con = sqlite3.connect('nfe.db')\n"," cur = con.cursor()\n","\n"," tabela_vazia = checar_tabela(cur)\n","\n"," if (not tabela_vazia):\n"," for linha in cur.execute(\"SELECT nomeCliente, idCliente, enderecoCliente FROM nota_fiscal WHERE CNPJForncedor=? \", (cnpj,)) :\n"," print(\"Nome Cliente: {}, Identificador do Cliente: {}, Endereço Cliente: {}\".format(linha[0],linha[1],linha[2]))\n","\n"," qtd_linhas = cur.fetchall()\n"," if len(qtd_linhas) == 0:\n"," print(\"Não há notas desse Fornecedor na base de dados\")\n"," \n"," con.close()"],"metadata":{"id":"9uOHIC_AOMF8","executionInfo":{"status":"ok","timestamp":1649440800455,"user_tz":180,"elapsed":14,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":9,"outputs":[]},{"cell_type":"code","source":["def persistir_dados(nota_lida):\n"," id_nota = nota_lida[0]\n"," #retirar o \"NFe\" do começo do Id para que a chave seja númerica (idealmente)\n"," #um problema: da esse erro \"Python int too large to convert to SQLite INTEGER\"\n"," id_nota = id_nota[3:]\n"," atr_for = nota_lida[1]\n"," atr_cli = nota_lida[2]\n"," #removendo o nome e o cpf ou cnpj do cliente dos atributos pra concatenar as infos de endereço\n"," end_cli = atr_cli[2:]\n"," \n"," #transformando o endereço em uma string unica\n"," #idealmente fazer uma tabela endereço e guardar cada campo separadamente\n"," #como não havia nenhum requisito de busca por endereço fiz a simplificação\n"," endereco = end_cli[0] + \",\" + end_cli[1] + \",\" + end_cli[2] + \",\" + end_cli[3] + \",\" + end_cli[4] + \",\" + end_cli[5]\n"," con = sqlite3.connect('nfe.db')\n","\n"," cur = con.cursor()\n"," #cur.execute(\"drop table nota_fiscal\")\n"," cur.execute ('''CREATE TABLE IF NOT EXISTS nota_fiscal\n"," (idNota text, valor real, dataVencimento text, CNPJForncedor text, nomeFornecedor text, idCliente text, nomeCliente text, enderecoCliente text)''')\n"," #Verificação se já a nota já foi inserida anteriormente\n"," cur.execute(\"SELECT idNota=? FROM nota_fiscal\",(id_nota,))\n"," nota = cur.fetchall()\n"," if(len(nota) > 0): print(\"Erro Nota Fiscal já cadastrada\")\n"," else:\n"," cur.execute(\"INSERT INTO nota_fiscal VALUES (?,?,?,?,?,?,?,?) \",(id_nota, #id\n"," (float (atr_for[0])), #valor do boleto\n"," atr_for[1], #data de Vencimento\n"," atr_for[2], #CNPJ Fornecedor\n"," atr_for[3], #Nome do Fornecedor\n"," atr_cli[0], #CPF ou CNPJ Cliente\n"," atr_cli[1], #nome Cliente\n"," endereco) )\n"," con.commit()\n"," \n"," con.close()\n"],"metadata":{"id":"TXWQNKv38uyP","executionInfo":{"status":"ok","timestamp":1649441740761,"user_tz":180,"elapsed":464,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":24,"outputs":[]},{"cell_type":"code","source":["def checar_cnpj(cnpj):\n"," valido = False\n","\n"," #checando se não houve erro de digitação e o cnpj possui algum caracter não númerico\n"," valido = str.isdigit(cnpj)\n","\n"," \n"," if(valido):\n"," #checando se não existe algum digito faltando no cnpj\n"," if(len(cnpj) == 14) : return True\n"," else: return False\n"," else:\n"," return False\n"," #retonei os valores booleanos literais pra ficar mais claro "],"metadata":{"id":"WhIKjgoFPVQe","executionInfo":{"status":"ok","timestamp":1649440800456,"user_tz":180,"elapsed":14,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":12,"outputs":[]},{"cell_type":"code","source":["def checar_arquivo(nome_arquivo):\n"," caminho_valido = re.match('^((\\.\\.|[a-zA-Z0-9_/\\-\\\\ ])*\\.[a-zA-Z0-9]+)$', nome_arquivo)\n"," \n"," if(caminho_valido):\n"," return caminho_valido\n"," else:\n"," return caminho_valido"],"metadata":{"id":"VkjXEYWcO9xo","executionInfo":{"status":"ok","timestamp":1649440800456,"user_tz":180,"elapsed":14,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":13,"outputs":[]},{"cell_type":"code","source":["####### CÉLULA PRINCIPAL DE CÓDIGO #######\n","#To do: fazer o programa rodar até que fosse digitado uma opção válida e não matar a execução\n","\n","tipo_exec = input(\"Modos de Execução \\n 1 - Leitura de NFe \\n 2 - Relatórios \\n\")\n","\n","#Execução de Leitura de Notas\n","if tipo_exec == \"1\":\n"," arquivo_nfe = input(\"Entre com Nome do Arquivo \\n\")\n"," if(checar_arquivo(arquivo_nfe) != None):\n"," nota_lida = parser_notas(arquivo_nfe)\n"," #se nota_lida for uma tupla ao inves de False guarda no BD\n"," if(nota_lida):persistir_dados(nota_lida)\n"," else:\n"," print(\"Arquivo inválido\")\n","\n","#Execução de relatórios\n","elif tipo_exec == \"2\":\n"," relatorio = input(\"Relatórios disponíveis: \\n 1 - Boletos de um Fornecedor \\n 2 - Clientes de um Fornecedor \\n\")\n"," if relatorio != \"1\" and relatorio != \"2\":\n"," print(\"Tipo de Relatório não suportado\\n\")\n"," else:\n"," fornecedor = input(\"Entre com CPNJ do Fornecedor \\n\")\n"," cnpj_valido = checar_cnpj(fornecedor)\n"," if(cnpj_valido):impressao_relatorio(relatorio,fornecedor)\n"," else:\n"," print(\"CNPJ inválido\")\n"," \n","else: \n"," print(\"Tipo de execução não suportado\\n\") \n"," \n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"10YFjI2TIkIZ","executionInfo":{"status":"ok","timestamp":1649441749094,"user_tz":180,"elapsed":5317,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}},"outputId":"47ebd54c-bb4a-447f-b44d-e7e283a031f9"},"execution_count":25,"outputs":[{"output_type":"stream","name":"stdout","text":["Modos de Execução \n"," 1 - Leitura de NFe \n"," 2 - Relatórios \n","1\n","Entre com Nome do Arquivo \n","/content/drive/MyDrive/Colab Notebooks/nfe_cliente_pf.xml\n","\n","\n","\n"," \n"," \n"," 31\n"," 00464032\n"," Vendas a prazo\n"," 55\n"," 2\n"," 3103\n"," 2019-04-10T17:24:03-02:00\n"," 2019-04-11T17:17:30-02:00\n"," 1\n"," 1\n"," 3170206\n"," 1\n"," 1\n"," 7\n"," 1\n"," 1\n"," 0\n"," 1\n"," 0\n"," 001\n"," \n"," \n"," 06273476000182\n"," MECA Office Mobil. Eireli-ME\n"," MECA Office Mobil. Eireli-ME\n"," \n"," AV. MARCOS DE FREITAS COSTA\n"," 1055\n"," DANIEL FOSECA\n"," 3170206\n"," Uberlandia\n"," MG\n"," 38400328\n"," 1058\n"," BRASIL\n"," 3432385585\n"," \n"," 7022916720058\n"," 1\n"," \n"," \n"," 25587387000155\n"," HLTS ENGENHARIA E CONSTRUCOES LTDA\n"," \n"," RUA MACHADO DE ASSIS\n"," 1324\n"," LIDICE\n"," 3170206\n"," Uberlandia\n"," MG\n"," 38400081\n"," 1058\n"," BRASIL\n"," 3432235966\n"," \n"," 1\n"," 7021771340054\n"," \n"," \n"," \n"," 00331\n"," SEM GTIN\n"," CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO\n"," 94019090\n"," 5102\n"," UN\n"," 2\n"," 165.00000\n"," 330.00\n"," SEM GTIN\n"," UN\n"," 2\n"," 165.00000\n"," 1\n"," \n"," \n"," 77.68\n"," \n"," \n"," 0\n"," 102\n"," \n"," \n"," \n"," \n"," 08\n"," \n"," \n"," \n"," \n"," 08\n"," \n"," \n"," \n"," IMOBILIZADO IMOB - 2317 CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO - IMOBILIZADO EQUIP. MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO.\n"," \n"," \n"," \n"," 01228\n"," SEM GTIN\n"," CADEIRA GIRATORIA C/ BRACO ALMOFADADA PRETO\n"," 94019090\n"," 5102\n"," UN\n"," 1\n"," 215.00000\n"," 215.00\n"," SEM GTIN\n"," UN\n"," 1\n"," 215.00000\n"," 1\n"," \n"," \n"," 50.61\n"," \n"," \n"," 0\n"," 102\n"," \n"," \n"," \n"," \n"," 08\n"," \n"," \n"," \n"," \n"," 08\n"," \n"," \n"," \n"," IMOBILIZADO EQUIP/MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO\n"," \n"," \n"," \n"," 01324\n"," SEM GTIN\n"," BANQUETA ALTA 70CM PARA BALCAO ASSENTO 30 OU\n"," 94019090\n"," 5102\n"," PC\n"," 1\n"," 90.00000\n"," 90.00\n"," SEM GTIN\n"," PC\n"," 1\n"," 90.00000\n"," 1\n"," \n"," \n"," 21.19\n"," \n"," \n"," 0\n"," 102\n"," \n"," \n"," \n"," \n"," 08\n"," \n"," \n"," \n"," \n"," 08\n"," \n"," \n"," \n"," 40CM NA COR PRETA - IMOBILIZADO EQUIP./MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO\n"," \n"," \n"," \n"," 01644\n"," SEM GTIN\n"," ESTANTE ACO C/ 06 PRATELEIRAS 0,93X040X1,98M\n"," 94069020\n"," 5102\n"," PC\n"," 2\n"," 234.00000\n"," 468.00\n"," SEM GTIN\n"," PC\n"," 2\n"," 234.00000\n"," 1\n"," \n"," \n"," 45.87\n"," \n"," \n"," 0\n"," 102\n"," \n"," \n"," \n"," \n"," 08\n"," \n"," \n"," \n"," \n"," 08\n"," \n"," \n"," \n"," (REFORCADA) AMAPA - IMOBILIZADO.\n"," \n"," \n"," \n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 1103.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 0.00\n"," 1103.00\n"," 195.35\n"," \n"," \n"," \n"," 0\n"," \n"," 6\n"," VOLUME\n"," VARIAS\n"," 0.000\n"," 0.000\n"," \n"," \n"," \n"," \n"," 000003103\n"," 1103.00\n"," 0.00\n"," 1103.00\n"," \n"," \n"," 001\n"," 2019-05-11\n"," 1103.00\n"," \n"," \n"," \n"," \n"," 14\n"," 1103.00\n"," \n"," 0.00\n"," \n"," \n"," ORDEM DE FORNECIMENTO 36994 - 28DD - INFORMACOES COMPLEMENTARES a seguinte informacao. EMPRESA ENQUADRADA NO SIMPLES NACIONAL. NAO GERA CREDITO DE IPI/ISS. GERA CREDITO DE ICMS. Trib aprox R$: 54,84 Federal 140,51 Estadual Fonte: IBPT empresometro.com.br S3A6R4\n"," \n"," \n","\n","\n","***** Leitura concluída com sucesso *****\n","**** Persistência concluída com sucesso ****\n","Erro Nota Fiscal já cadastrada\n"]}]},{"cell_type":"code","source":[""],"metadata":{"id":"x6y4sf40Kd6y","executionInfo":{"status":"aborted","timestamp":1649440818709,"user_tz":180,"elapsed":7,"user":{"displayName":"Rebeca Cecco","userId":"04252482099431918266"}}},"execution_count":null,"outputs":[]}]} \ No newline at end of file diff --git a/testes/nfe.xml b/testes/nfe.xml new file mode 100644 index 0000000..7a51de2 --- /dev/null +++ b/testes/nfe.xml @@ -0,0 +1,307 @@ + + + + + + + 31 + 00464032 + Vendas a prazo + 55 + 2 + 3103 + 2019-04-10T17:24:03-02:00 + 2019-04-11T17:17:30-02:00 + 1 + 1 + 3170206 + 1 + 1 + 7 + 1 + 1 + 0 + 1 + 0 + 001 + + + + 06273476000182 + MECA Office Mobil. Eireli-ME + MECA Office Mobil. Eireli-ME + + + AV. MARCOS DE FREITAS COSTA + 1055 + DANIEL FOSECA + 3170206 + Uberlandia + MG + 38400328 + 1058 + BRASIL + 3432385585 + + + 7022916720058 + 1 + + + + 25587387000155 + HLTS ENGENHARIA E CONSTRUCOES LTDA + + + RUA MACHADO DE ASSIS + 1324 + LIDICE + 3170206 + Uberlandia + MG + 38400081 + 1058 + BRASIL + 3432235966 + + + 1 + 7021771340054 + + + + + + 00331 + SEM GTIN + CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 2 + 165.00000 + 330.00 + SEM GTIN + UN + 2 + 165.00000 + 1 + + + + 77.68 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + IMOBILIZADO IMOB - 2317 CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO - IMOBILIZADO EQUIP. MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO. + + + + + 01228 + SEM GTIN + CADEIRA GIRATORIA C/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 1 + 215.00000 + 215.00 + SEM GTIN + UN + 1 + 215.00000 + 1 + + + + 50.61 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + IMOBILIZADO EQUIP/MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01324 + SEM GTIN + BANQUETA ALTA 70CM PARA BALCAO ASSENTO 30 OU + 94019090 + 5102 + PC1 + 90.00000 + 90.00 + SEM GTIN + PC + 1 + 90.00000 + 1 + + + 21.19 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + 40CM NA COR PRETA - IMOBILIZADO EQUIP./MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01644 + SEM GTIN + ESTANTE ACO C/ 06 PRATELEIRAS 0,93X040X1,98M + 94069020 + 5102 + PC + 2 + 234.00000 + 468.00 + SEM GTIN + PC + 2 + 234.00000 + 1 + + + + 45.87 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + (REFORCADA) AMAPA - IMOBILIZADO. + + + + + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 195.35 + + + + + 0 + + 6 + VOLUME + VARIAS + 0.000 + 0.000 + + + + + 000003103 + 1103.00 + 0.00 + 1103.00 + + + 001 + 2019-05-11 + 1103.00 + + + + + 14 + 1103.00 + + 0.00 + + + ORDEM DE FORNECIMENTO 36994 - 28DD - INFORMACOES COMPLEMENTARES a seguinte informacao. EMPRESA ENQUADRADA NO SIMPLES NACIONAL. NAO GERA CREDITO DE IPI/ISS. GERA CREDITO DE ICMS. Trib aprox R$: 54,84 Federal 140,51 Estadual Fonte: IBPT empresometro.com.br S3A6R4 + + + + ngqVwH6QNCAHyRuI529RIAr7Nyk=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 + + + 1 + 14.2.26 + 31190406273476000182550020000031031004640327 + 2019-04-10T17:23:27-03:00 + 131193257591884 + ngqVwH6QNCAHyRuI529RIAr7Nyk= + 100 + Autorizado o uso da NF-e + + + diff --git a/testes/nfe_cliente_pf.xml b/testes/nfe_cliente_pf.xml new file mode 100644 index 0000000..9c7b16d --- /dev/null +++ b/testes/nfe_cliente_pf.xml @@ -0,0 +1,307 @@ + + + + + + + 31 + 00464032 + Vendas a prazo + 55 + 2 + 3103 + 2019-04-10T17:24:03-02:00 + 2019-04-11T17:17:30-02:00 + 1 + 1 + 3170206 + 1 + 1 + 7 + 1 + 1 + 0 + 1 + 0 + 001 + + + + 06273476000182 + MECA Office Mobil. Eireli-ME + MECA Office Mobil. Eireli-ME + + + AV. MARCOS DE FREITAS COSTA + 1055 + DANIEL FOSECA + 3170206 + Uberlandia + MG + 38400328 + 1058 + BRASIL + 3432385585 + + + 7022916720058 + 1 + + + + 25587387000155 + HLTS ENGENHARIA E CONSTRUCOES LTDA + + + RUA MACHADO DE ASSIS + 1324 + LIDICE + 3170206 + Uberlandia + MG + 38400081 + 1058 + BRASIL + 3432235966 + + + 1 + 7021771340054 + + + + + + 00331 + SEM GTIN + CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 2 + 165.00000 + 330.00 + SEM GTIN + UN + 2 + 165.00000 + 1 + + + + 77.68 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + IMOBILIZADO IMOB - 2317 CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO - IMOBILIZADO EQUIP. MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO. + + + + + 01228 + SEM GTIN + CADEIRA GIRATORIA C/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 1 + 215.00000 + 215.00 + SEM GTIN + UN + 1 + 215.00000 + 1 + + + + 50.61 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + IMOBILIZADO EQUIP/MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01324 + SEM GTIN + BANQUETA ALTA 70CM PARA BALCAO ASSENTO 30 OU + 94019090 + 5102 + PC1 + 90.00000 + 90.00 + SEM GTIN + PC + 1 + 90.00000 + 1 + + + 21.19 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + 40CM NA COR PRETA - IMOBILIZADO EQUIP./MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01644 + SEM GTIN + ESTANTE ACO C/ 06 PRATELEIRAS 0,93X040X1,98M + 94069020 + 5102 + PC + 2 + 234.00000 + 468.00 + SEM GTIN + PC + 2 + 234.00000 + 1 + + + + 45.87 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + (REFORCADA) AMAPA - IMOBILIZADO. + + + + + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 195.35 + + + + + 0 + + 6 + VOLUME + VARIAS + 0.000 + 0.000 + + + + + 000003103 + 1103.00 + 0.00 + 1103.00 + + + 001 + 2019-05-11 + 1103.00 + + + + + 14 + 1103.00 + + 0.00 + + + ORDEM DE FORNECIMENTO 36994 - 28DD - INFORMACOES COMPLEMENTARES a seguinte informacao. EMPRESA ENQUADRADA NO SIMPLES NACIONAL. NAO GERA CREDITO DE IPI/ISS. GERA CREDITO DE ICMS. Trib aprox R$: 54,84 Federal 140,51 Estadual Fonte: IBPT empresometro.com.br S3A6R4 + + + + ngqVwH6QNCAHyRuI529RIAr7Nyk=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 + + + 1 + 14.2.26 + 31190406273476000182550020000031031004640327 + 2019-04-10T17:23:27-03:00 + 131193257591884 + ngqVwH6QNCAHyRuI529RIAr7Nyk= + 100 + Autorizado o uso da NF-e + + + diff --git a/testes/nfe_erro_cli_sem_nome.xml b/testes/nfe_erro_cli_sem_nome.xml new file mode 100644 index 0000000..83291de --- /dev/null +++ b/testes/nfe_erro_cli_sem_nome.xml @@ -0,0 +1,307 @@ + + + + + + + 31 + 00464032 + Vendas a prazo + 55 + 2 + 3103 + 2019-04-10T17:24:03-02:00 + 2019-04-11T17:17:30-02:00 + 1 + 1 + 3170206 + 1 + 1 + 7 + 1 + 1 + 0 + 1 + 0 + 001 + + + + 06273476000182 + MECA Office Mobil. Eireli-ME + MECA Office Mobil. Eireli-ME + + + AV. MARCOS DE FREITAS COSTA + 1055 + DANIEL FOSECA + 3170206 + Uberlandia + MG + 38400328 + 1058 + BRASIL + 3432385585 + + + 7022916720058 + 1 + + + + 25587387000155 + + + + RUA MACHADO DE ASSIS + 1324 + LIDICE + 3170206 + Uberlandia + MG + 38400081 + 1058 + BRASIL + 3432235966 + + + 1 + 7021771340054 + + + + + + 00331 + SEM GTIN + CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 2 + 165.00000 + 330.00 + SEM GTIN + UN + 2 + 165.00000 + 1 + + + + 77.68 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + IMOBILIZADO IMOB - 2317 CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO - IMOBILIZADO EQUIP. MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO. + + + + + 01228 + SEM GTIN + CADEIRA GIRATORIA C/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 1 + 215.00000 + 215.00 + SEM GTIN + UN + 1 + 215.00000 + 1 + + + + 50.61 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + IMOBILIZADO EQUIP/MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01324 + SEM GTIN + BANQUETA ALTA 70CM PARA BALCAO ASSENTO 30 OU + 94019090 + 5102 + PC1 + 90.00000 + 90.00 + SEM GTIN + PC + 1 + 90.00000 + 1 + + + 21.19 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + 40CM NA COR PRETA - IMOBILIZADO EQUIP./MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01644 + SEM GTIN + ESTANTE ACO C/ 06 PRATELEIRAS 0,93X040X1,98M + 94069020 + 5102 + PC + 2 + 234.00000 + 468.00 + SEM GTIN + PC + 2 + 234.00000 + 1 + + + + 45.87 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + (REFORCADA) AMAPA - IMOBILIZADO. + + + + + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 195.35 + + + + + 0 + + 6 + VOLUME + VARIAS + 0.000 + 0.000 + + + + + 000003103 + 1103.00 + 0.00 + 1103.00 + + + 001 + 2019-05-11 + 1103.00 + + + + + 14 + 1103.00 + + 0.00 + + + ORDEM DE FORNECIMENTO 36994 - 28DD - INFORMACOES COMPLEMENTARES a seguinte informacao. EMPRESA ENQUADRADA NO SIMPLES NACIONAL. NAO GERA CREDITO DE IPI/ISS. GERA CREDITO DE ICMS. Trib aprox R$: 54,84 Federal 140,51 Estadual Fonte: IBPT empresometro.com.br S3A6R4 + + + + ngqVwH6QNCAHyRuI529RIAr7Nyk=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 + + + 1 + 14.2.26 + 31190406273476000182550020000031031004640327 + 2019-04-10T17:23:27-03:00 + 131193257591884 + ngqVwH6QNCAHyRuI529RIAr7Nyk= + 100 + Autorizado o uso da NF-e + + + diff --git a/testes/nfe_erro_end_cli_incompleto.xml b/testes/nfe_erro_end_cli_incompleto.xml new file mode 100644 index 0000000..80ea460 --- /dev/null +++ b/testes/nfe_erro_end_cli_incompleto.xml @@ -0,0 +1,307 @@ + + + + + + + 31 + 00464032 + Vendas a prazo + 55 + 2 + 3103 + 2019-04-10T17:24:03-02:00 + 2019-04-11T17:17:30-02:00 + 1 + 1 + 3170206 + 1 + 1 + 7 + 1 + 1 + 0 + 1 + 0 + 001 + + + + 06273476000182 + MECA Office Mobil. Eireli-ME + MECA Office Mobil. Eireli-ME + + + AV. MARCOS DE FREITAS COSTA + 1055 + DANIEL FOSECA + 3170206 + Uberlandia + MG + 38400328 + 1058 + BRASIL + 3432385585 + + + 7022916720058 + 1 + + + + 25587387000155 + HLTS ENGENHARIA E CONSTRUCOES LTDA + + + + 1324 + LIDICE + 3170206 + Uberlandia + MG + 38400081 + 1058 + BRASIL + 3432235966 + + + 1 + 7021771340054 + + + + + + 00331 + SEM GTIN + CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 2 + 165.00000 + 330.00 + SEM GTIN + UN + 2 + 165.00000 + 1 + + + + 77.68 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + IMOBILIZADO IMOB - 2317 CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO - IMOBILIZADO EQUIP. MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO. + + + + + 01228 + SEM GTIN + CADEIRA GIRATORIA C/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 1 + 215.00000 + 215.00 + SEM GTIN + UN + 1 + 215.00000 + 1 + + + + 50.61 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + IMOBILIZADO EQUIP/MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01324 + SEM GTIN + BANQUETA ALTA 70CM PARA BALCAO ASSENTO 30 OU + 94019090 + 5102 + PC1 + 90.00000 + 90.00 + SEM GTIN + PC + 1 + 90.00000 + 1 + + + 21.19 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + 40CM NA COR PRETA - IMOBILIZADO EQUIP./MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01644 + SEM GTIN + ESTANTE ACO C/ 06 PRATELEIRAS 0,93X040X1,98M + 94069020 + 5102 + PC + 2 + 234.00000 + 468.00 + SEM GTIN + PC + 2 + 234.00000 + 1 + + + + 45.87 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + (REFORCADA) AMAPA - IMOBILIZADO. + + + + + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 195.35 + + + + + 0 + + 6 + VOLUME + VARIAS + 0.000 + 0.000 + + + + + 000003103 + 1103.00 + 0.00 + 1103.00 + + + 001 + 2019-05-11 + 1103.00 + + + + + 14 + 1103.00 + + 0.00 + + + ORDEM DE FORNECIMENTO 36994 - 28DD - INFORMACOES COMPLEMENTARES a seguinte informacao. EMPRESA ENQUADRADA NO SIMPLES NACIONAL. NAO GERA CREDITO DE IPI/ISS. GERA CREDITO DE ICMS. Trib aprox R$: 54,84 Federal 140,51 Estadual Fonte: IBPT empresometro.com.br S3A6R4 + + + + ngqVwH6QNCAHyRuI529RIAr7Nyk=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 + + + 1 + 14.2.26 + 31190406273476000182550020000031031004640327 + 2019-04-10T17:23:27-03:00 + 131193257591884 + ngqVwH6QNCAHyRuI529RIAr7Nyk= + 100 + Autorizado o uso da NF-e + + + diff --git a/testes/nfe_erro_sem_CNPJ_cli.xml b/testes/nfe_erro_sem_CNPJ_cli.xml new file mode 100644 index 0000000..ef54f09 --- /dev/null +++ b/testes/nfe_erro_sem_CNPJ_cli.xml @@ -0,0 +1,307 @@ + + + + + + + 31 + 00464032 + Vendas a prazo + 55 + 2 + 3103 + 2019-04-10T17:24:03-02:00 + 2019-04-11T17:17:30-02:00 + 1 + 1 + 3170206 + 1 + 1 + 7 + 1 + 1 + 0 + 1 + 0 + 001 + + + + 06273476000182 + MECA Office Mobil. Eireli-ME + MECA Office Mobil. Eireli-ME + + + AV. MARCOS DE FREITAS COSTA + 1055 + DANIEL FOSECA + 3170206 + Uberlandia + MG + 38400328 + 1058 + BRASIL + 3432385585 + + + 7022916720058 + 1 + + + + + HLTS ENGENHARIA E CONSTRUCOES LTDA + + + RUA MACHADO DE ASSIS + 1324 + LIDICE + 3170206 + Uberlandia + MG + 38400081 + 1058 + BRASIL + 3432235966 + + + 1 + 7021771340054 + + + + + + 00331 + SEM GTIN + CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 2 + 165.00000 + 330.00 + SEM GTIN + UN + 2 + 165.00000 + 1 + + + + 77.68 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + IMOBILIZADO IMOB - 2317 CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO - IMOBILIZADO EQUIP. MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO. + + + + + 01228 + SEM GTIN + CADEIRA GIRATORIA C/ BRACO ALMOFADADA PRETO + 94019090 + 5102 + UN + 1 + 215.00000 + 215.00 + SEM GTIN + UN + 1 + 215.00000 + 1 + + + + 50.61 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + IMOBILIZADO EQUIP/MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01324 + SEM GTIN + BANQUETA ALTA 70CM PARA BALCAO ASSENTO 30 OU + 94019090 + 5102 + PC1 + 90.00000 + 90.00 + SEM GTIN + PC + 1 + 90.00000 + 1 + + + 21.19 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + 40CM NA COR PRETA - IMOBILIZADO EQUIP./MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO + + + + + 01644 + SEM GTIN + ESTANTE ACO C/ 06 PRATELEIRAS 0,93X040X1,98M + 94069020 + 5102 + PC + 2 + 234.00000 + 468.00 + SEM GTIN + PC + 2 + 234.00000 + 1 + + + + 45.87 + + + 0 + 102 + + + + + 08 + + + + + 08 + + + + + (REFORCADA) AMAPA - IMOBILIZADO. + + + + + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 0.00 + 1103.00 + 195.35 + + + + + 0 + + 6 + VOLUME + VARIAS + 0.000 + 0.000 + + + + + 000003103 + 1103.00 + 0.00 + 1103.00 + + + 001 + 2019-05-11 + 1103.00 + + + + + 14 + 1103.00 + + 0.00 + + + ORDEM DE FORNECIMENTO 36994 - 28DD - INFORMACOES COMPLEMENTARES a seguinte informacao. EMPRESA ENQUADRADA NO SIMPLES NACIONAL. NAO GERA CREDITO DE IPI/ISS. GERA CREDITO DE ICMS. Trib aprox R$: 54,84 Federal 140,51 Estadual Fonte: IBPT empresometro.com.br S3A6R4 + + + + ngqVwH6QNCAHyRuI529RIAr7Nyk=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 + + + 1 + 14.2.26 + 31190406273476000182550020000031031004640327 + 2019-04-10T17:23:27-03:00 + 131193257591884 + ngqVwH6QNCAHyRuI529RIAr7Nyk= + 100 + Autorizado o uso da NF-e + + +