br_nfe 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (760) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.travis.yml +0 -0
  4. data/Gemfile +0 -0
  5. data/Gemfile.lock +4 -4
  6. data/LICENSE +0 -0
  7. data/README.markdown +0 -0
  8. data/Rakefile +0 -0
  9. data/br_nfe.gemspec +2 -2
  10. data/lib/br_nfe.rb +22 -20
  11. data/lib/br_nfe/active_model/associations.rb +0 -0
  12. data/lib/br_nfe/active_model/has_many.rb +0 -0
  13. data/lib/br_nfe/active_model/has_one.rb +0 -0
  14. data/lib/br_nfe/active_model_base.rb +0 -0
  15. data/lib/br_nfe/association/have_address.rb +0 -0
  16. data/lib/br_nfe/association/have_condicao_pagamento.rb +0 -0
  17. data/lib/br_nfe/association/have_destinatario.rb +0 -0
  18. data/lib/br_nfe/association/have_emitente.rb +0 -0
  19. data/lib/br_nfe/base.rb +10 -22
  20. data/lib/br_nfe/calculos/fatores_de_multiplicacao.rb +0 -0
  21. data/lib/br_nfe/calculos/modulo11.rb +0 -0
  22. data/lib/br_nfe/calculos/modulo11_fator_de2a9.rb +0 -0
  23. data/lib/br_nfe/calculos/modulo11_fator_de2a9_resto_zero.rb +0 -0
  24. data/lib/br_nfe/condicao_pagamento.rb +0 -0
  25. data/lib/br_nfe/constants.rb +0 -2
  26. data/lib/br_nfe/endereco.rb +4 -0
  27. data/lib/br_nfe/helper/cpf_cnpj.rb +0 -0
  28. data/lib/br_nfe/helper/string_methods.rb +0 -0
  29. data/lib/br_nfe/person.rb +1 -0
  30. data/lib/br_nfe/product/destinatario.rb +3 -0
  31. data/lib/br_nfe/product/emitente.rb +0 -0
  32. data/lib/br_nfe/product/evento/base.rb +0 -0
  33. data/lib/br_nfe/product/evento/cancelamento.rb +0 -0
  34. data/lib/br_nfe/product/nf_xml_value.rb +1 -1
  35. data/lib/br_nfe/product/nfe/adicao_importacao.rb +0 -0
  36. data/lib/br_nfe/product/nfe/cobranca/duplicata.rb +0 -0
  37. data/lib/br_nfe/product/nfe/cobranca/fatura.rb +0 -0
  38. data/lib/br_nfe/product/nfe/cobranca/pagamento.rb +13 -0
  39. data/lib/br_nfe/product/nfe/declaracao_importacao.rb +0 -0
  40. data/lib/br_nfe/product/nfe/detalhe_exportacao.rb +0 -0
  41. data/lib/br_nfe/product/nfe/item.rb +0 -0
  42. data/lib/br_nfe/product/nfe/item_tax/cofins.rb +0 -0
  43. data/lib/br_nfe/product/nfe/item_tax/cofins_st.rb +0 -0
  44. data/lib/br_nfe/product/nfe/item_tax/icms.rb +0 -0
  45. data/lib/br_nfe/product/nfe/item_tax/icms_uf_destino.rb +0 -0
  46. data/lib/br_nfe/product/nfe/item_tax/importacao.rb +0 -0
  47. data/lib/br_nfe/product/nfe/item_tax/ipi.rb +0 -0
  48. data/lib/br_nfe/product/nfe/item_tax/issqn.rb +0 -0
  49. data/lib/br_nfe/product/nfe/item_tax/pis.rb +0 -0
  50. data/lib/br_nfe/product/nfe/item_tax/pis_st.rb +0 -0
  51. data/lib/br_nfe/product/nfe/processo_referencia.rb +0 -0
  52. data/lib/br_nfe/product/nfe/transporte/base.rb +0 -0
  53. data/lib/br_nfe/product/nfe/transporte/transportador.rb +0 -0
  54. data/lib/br_nfe/product/nfe/transporte/veiculo.rb +0 -0
  55. data/lib/br_nfe/product/nfe/transporte/volume.rb +0 -0
  56. data/lib/br_nfe/product/nota_fiscal.rb +5 -0
  57. data/lib/br_nfe/product/operation/base.rb +118 -44
  58. data/lib/br_nfe/product/operation/nfe_autorizacao.rb +3 -29
  59. data/lib/br_nfe/product/operation/nfe_consulta_protocolo.rb +2 -27
  60. data/lib/br_nfe/product/operation/nfe_download_nf.rb +6 -28
  61. data/lib/br_nfe/product/operation/nfe_inutilizacao.rb +2 -27
  62. data/lib/br_nfe/product/operation/nfe_recepcao_evento.rb +6 -27
  63. data/lib/br_nfe/product/operation/nfe_ret_autorizacao.rb +2 -27
  64. data/lib/br_nfe/product/operation/nfe_status_servico.rb +2 -27
  65. data/lib/br_nfe/product/reader/destinatario.rb +39 -0
  66. data/lib/br_nfe/product/reader/emitente.rb +39 -0
  67. data/lib/br_nfe/product/reader/endereco_retirada_entrega.rb +27 -0
  68. data/lib/br_nfe/product/reader/fatura.rb +41 -0
  69. data/lib/br_nfe/product/reader/item.rb +236 -0
  70. data/lib/br_nfe/product/reader/nfe.rb +200 -0
  71. data/lib/br_nfe/product/reader/transporte.rb +79 -0
  72. data/lib/br_nfe/product/response/base.rb +1 -1
  73. data/lib/br_nfe/product/response/build/base.rb +19 -9
  74. data/lib/br_nfe/product/response/build/nfe_autorizacao.rb +27 -15
  75. data/lib/br_nfe/product/response/build/nfe_consulta_protocolo.rb +35 -38
  76. data/lib/br_nfe/product/response/build/nfe_inutilizacao.rb +18 -16
  77. data/lib/br_nfe/product/response/build/nfe_recepcao_evento.rb +96 -0
  78. data/lib/br_nfe/product/response/build/nfe_ret_autorizacao.rb +11 -8
  79. data/lib/br_nfe/product/response/build/nfe_status_servico.rb +13 -10
  80. data/lib/br_nfe/product/response/event.rb +24 -3
  81. data/lib/br_nfe/product/response/nfe_autorizacao.rb +3 -2
  82. data/lib/br_nfe/product/response/nfe_consulta_protocolo.rb +1 -0
  83. data/lib/br_nfe/product/response/nfe_inutilizacao.rb +0 -0
  84. data/lib/br_nfe/product/response/nfe_recepcao_evento.rb +20 -0
  85. data/lib/br_nfe/product/response/nfe_ret_autorizacao.rb +0 -0
  86. data/lib/br_nfe/product/response/nfe_status_servico.rb +0 -0
  87. data/lib/br_nfe/product/xml/_signed_info_sh1.xml.slim +0 -0
  88. data/lib/br_nfe/product/xml/_tc_cpf_cnpj.xml.slim +0 -0
  89. data/lib/br_nfe/product/xml/signature_sh1.xml.slim +0 -0
  90. data/lib/br_nfe/product/xml/soap_env.xml.slim +1 -1
  91. data/lib/br_nfe/product/xml/v1_00/evento/infEventoCancelamento.xml.slim +0 -0
  92. data/lib/br_nfe/product/xml/v1_00/root/NfeDownloadNf.xml.slim +0 -0
  93. data/lib/br_nfe/product/xml/v1_00/root/NfeRecepcaoEvento.xml.slim +0 -0
  94. data/lib/br_nfe/product/xml/v2_00/_tc_endereco.xml.slim +0 -0
  95. data/lib/br_nfe/product/xml/v2_00/_tc_infNFe.xml.slim +0 -0
  96. data/lib/br_nfe/product/xml/v2_00/infInut.xml.slim +0 -0
  97. data/lib/br_nfe/product/xml/v2_00/infNFe.xml.slim +0 -0
  98. data/lib/br_nfe/product/xml/v2_00/infNFe/NFe.xml.slim +0 -0
  99. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_cobr.xml.slim +0 -0
  100. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_dest.xml.slim +0 -0
  101. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_det.xml.slim +0 -0
  102. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_emit.xml.slim +0 -0
  103. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_entrega.xml.slim +0 -0
  104. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_exporta.xml.slim +0 -0
  105. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_ide.xml.slim +0 -0
  106. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_infAdic.xml.slim +0 -0
  107. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_retirada.xml.slim +0 -0
  108. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_total.xml.slim +0 -0
  109. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_transp.xml.slim +0 -0
  110. data/lib/br_nfe/product/xml/v2_00/infNFe/det/_tc_imposto.xml.slim +0 -0
  111. data/lib/br_nfe/product/xml/v2_00/infNFe/det/_tc_prod.xml.slim +0 -0
  112. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS00.xml.slim +0 -0
  113. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS10.xml.slim +0 -0
  114. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS101.xml.slim +0 -0
  115. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS102.xml.slim +0 -0
  116. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS20.xml.slim +0 -0
  117. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS201.xml.slim +0 -0
  118. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS202.xml.slim +0 -0
  119. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS30.xml.slim +0 -0
  120. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS40.xml.slim +0 -0
  121. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS500.xml.slim +0 -0
  122. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS51.xml.slim +0 -0
  123. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS60.xml.slim +0 -0
  124. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS70.xml.slim +0 -0
  125. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS90.xml.slim +0 -0
  126. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS900.xml.slim +0 -0
  127. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_COFINS.xml.slim +0 -0
  128. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_COFINS_ST.xml.slim +0 -0
  129. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_ICMS.xml.slim +0 -0
  130. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_II.xml.slim +0 -0
  131. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_IPI.xml.slim +0 -0
  132. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_PIS.xml.slim +0 -0
  133. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_PIS_ST.xml.slim +0 -0
  134. data/lib/br_nfe/product/xml/v2_00/infNFe/det/prod/_tc_di.xml.slim +0 -0
  135. data/lib/br_nfe/product/xml/v2_00/infNFe/transp/_tc_retTransp.xml.slim +0 -0
  136. data/lib/br_nfe/product/xml/v2_00/infNFe/transp/_tc_transporta.xml.slim +0 -0
  137. data/lib/br_nfe/product/xml/v2_00/infNFe/transp/_tc_vol.xml.slim +0 -0
  138. data/lib/br_nfe/product/xml/v2_00/root/NfeAutorizacao.xml.slim +0 -0
  139. data/lib/br_nfe/product/xml/v2_00/root/NfeInutilizacao.xml.slim +0 -0
  140. data/lib/br_nfe/product/xml/v2_00/root/NfeRetAutorizacao.xml.slim +0 -0
  141. data/lib/br_nfe/product/xml/v2_00/root/NfeStatusServico.xml.slim +0 -0
  142. data/lib/br_nfe/product/xml/v2_01/root/NfeConsultaProtocolo.xml.slim +0 -0
  143. data/lib/br_nfe/product/xml/v3_10/_tc_infNFe.xml.slim +0 -0
  144. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_dest.xml.slim +1 -1
  145. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_det.xml.slim +0 -0
  146. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_exporta.xml.slim +0 -0
  147. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_ide.xml.slim +0 -0
  148. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_pag.xml.slim +0 -0
  149. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_total.xml.slim +0 -0
  150. data/lib/br_nfe/product/xml/v3_10/infNFe/det/_tc_imposto.xml.slim +0 -0
  151. data/lib/br_nfe/product/xml/v3_10/infNFe/det/_tc_prod.xml.slim +0 -0
  152. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS20.xml.slim +0 -0
  153. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS30.xml.slim +0 -0
  154. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS40.xml.slim +0 -0
  155. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS51.xml.slim +0 -0
  156. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS70.xml.slim +0 -0
  157. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS90.xml.slim +0 -0
  158. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/_tc_ICMSUFDest.xml.slim +0 -0
  159. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/_tc_ISSQN.xml.slim +0 -0
  160. data/lib/br_nfe/product/xml/v3_10/infNFe/det/prod/_tc_det_export.xml.slim +0 -0
  161. data/lib/br_nfe/product/xml/v3_10/infNFe/det/prod/_tc_di.xml.slim +0 -0
  162. data/lib/br_nfe/product/xml/v3_10/root/NfeAutorizacao.xml.slim +0 -0
  163. data/lib/br_nfe/service/association/have_intermediario.rb +0 -0
  164. data/lib/br_nfe/service/association/have_rps.rb +0 -0
  165. data/lib/br_nfe/service/base.rb +0 -0
  166. data/lib/br_nfe/service/betha/base.rb +0 -0
  167. data/lib/br_nfe/service/betha/v1/cancela_nfse.rb +1 -1
  168. data/lib/br_nfe/service/betha/v1/consulta_lote_rps.rb +1 -1
  169. data/lib/br_nfe/service/betha/v1/consulta_nfs_por_rps.rb +1 -1
  170. data/lib/br_nfe/service/betha/v1/consulta_nfse.rb +1 -1
  171. data/lib/br_nfe/service/betha/v1/consulta_situacao_lote_rps.rb +1 -1
  172. data/lib/br_nfe/service/betha/v1/gateway.rb +0 -0
  173. data/lib/br_nfe/service/betha/v1/recepcao_lote_rps.rb +1 -1
  174. data/lib/br_nfe/service/betha/v1/xml/_tc_identificacao_prestador.xml.slim +0 -0
  175. data/lib/br_nfe/service/betha/v1/xml/_tc_pedido_cancelamento.xml.slim +0 -0
  176. data/lib/br_nfe/service/concerns/rules/cancelamento_nfs.rb +0 -0
  177. data/lib/br_nfe/service/concerns/rules/consulta_nfs_por_rps.rb +0 -0
  178. data/lib/br_nfe/service/concerns/rules/consulta_nfse.rb +0 -0
  179. data/lib/br_nfe/service/concerns/rules/recepcao_lote_rps.rb +0 -0
  180. data/lib/br_nfe/service/concerns/values_ts/service_v1.rb +0 -0
  181. data/lib/br_nfe/service/destinatario.rb +0 -0
  182. data/lib/br_nfe/service/emitente.rb +0 -0
  183. data/lib/br_nfe/service/intermediario.rb +0 -0
  184. data/lib/br_nfe/service/item.rb +0 -0
  185. data/lib/br_nfe/service/response/build/base.rb +0 -0
  186. data/lib/br_nfe/service/response/build/cancelamento.rb +0 -0
  187. data/lib/br_nfe/service/response/build/consulta_lote_rps.rb +0 -0
  188. data/lib/br_nfe/service/response/build/consulta_nfs_por_rps.rb +0 -0
  189. data/lib/br_nfe/service/response/build/consulta_nfse.rb +0 -0
  190. data/lib/br_nfe/service/response/build/consulta_situacao_lote_rps.rb +0 -0
  191. data/lib/br_nfe/service/response/build/invoice_build.rb +0 -0
  192. data/lib/br_nfe/service/response/build/recepcao_lote_rps.rb +0 -0
  193. data/lib/br_nfe/service/response/cancelamento.rb +0 -0
  194. data/lib/br_nfe/service/response/consulta_lote_rps.rb +0 -0
  195. data/lib/br_nfe/service/response/consulta_nfs_por_rps.rb +0 -0
  196. data/lib/br_nfe/service/response/consulta_nfse.rb +0 -0
  197. data/lib/br_nfe/service/response/consulta_situacao_lote_rps.rb +0 -0
  198. data/lib/br_nfe/service/response/default.rb +0 -0
  199. data/lib/br_nfe/service/response/nota_fiscal.rb +0 -0
  200. data/lib/br_nfe/service/response/paths/v1/tc_nfse.rb +0 -0
  201. data/lib/br_nfe/service/response/recepcao_lote_rps.rb +0 -0
  202. data/lib/br_nfe/service/rps.rb +0 -0
  203. data/lib/br_nfe/service/sc/florianopolis/base.rb +0 -0
  204. data/lib/br_nfe/service/sc/florianopolis/cancellation.rb +0 -0
  205. data/lib/br_nfe/service/sc/florianopolis/emission_rps.rb +0 -0
  206. data/lib/br_nfe/service/sc/florianopolis/xml/_address.xml.slim +0 -0
  207. data/lib/br_nfe/service/sc/florianopolis/xml/_contact.xml.slim +0 -0
  208. data/lib/br_nfe/service/sc/florianopolis/xml/_service_item.xml.slim +0 -0
  209. data/lib/br_nfe/service/sc/florianopolis/xml/cancellation.xml.slim +0 -0
  210. data/lib/br_nfe/service/sc/florianopolis/xml/inf_requisicao.xml.slim +0 -0
  211. data/lib/br_nfe/service/simpliss/v1/base.rb +1 -1
  212. data/lib/br_nfe/service/simpliss/v1/cancela_nfse.rb +0 -0
  213. data/lib/br_nfe/service/simpliss/v1/consulta_lote_rps.rb +0 -0
  214. data/lib/br_nfe/service/simpliss/v1/consulta_nfs_por_rps.rb +0 -0
  215. data/lib/br_nfe/service/simpliss/v1/consulta_nfse.rb +0 -0
  216. data/lib/br_nfe/service/simpliss/v1/consulta_situacao_lote_rps.rb +0 -0
  217. data/lib/br_nfe/service/simpliss/v1/recepcao_lote_rps.rb +0 -0
  218. data/lib/br_nfe/service/simpliss/v1/xml/_login.xml.slim +0 -0
  219. data/lib/br_nfe/service/simpliss/v1/xml/_tc_dados_servico.xml.slim +0 -0
  220. data/lib/br_nfe/service/simpliss/v1/xml/_tc_item_servico.xml.slim +0 -0
  221. data/lib/br_nfe/service/simpliss/v1/xml/servico_cancelar_nfse_envio.xml.slim +0 -0
  222. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_lote_rps_envio.xml.slim +0 -0
  223. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_nfse_envio.xml.slim +0 -0
  224. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_nfse_rps_envio.xml.slim +0 -0
  225. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_situacao_lote_rps_envio.xml.slim +0 -0
  226. data/lib/br_nfe/service/simpliss/v1/xml/servico_enviar_lote_rps_envio.xml.slim +0 -0
  227. data/lib/br_nfe/service/thema/v1/base.rb +0 -0
  228. data/lib/br_nfe/service/thema/v1/cancela_nfse.rb +1 -1
  229. data/lib/br_nfe/service/thema/v1/consulta_lote_rps.rb +1 -1
  230. data/lib/br_nfe/service/thema/v1/consulta_nfs_por_rps.rb +1 -1
  231. data/lib/br_nfe/service/thema/v1/consulta_nfse.rb +1 -1
  232. data/lib/br_nfe/service/thema/v1/consulta_situacao_lote_rps.rb +0 -0
  233. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb +1 -1
  234. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps_limitado.rb +0 -0
  235. data/lib/br_nfe/service/xml/v1/_tc_contato.xml.slim +0 -0
  236. data/lib/br_nfe/service/xml/v1/_tc_cpf_cnpj.xml.slim +0 -0
  237. data/lib/br_nfe/service/xml/v1/_tc_dados_construcao_civil.xml.slim +0 -0
  238. data/lib/br_nfe/service/xml/v1/_tc_dados_prestador.xml.slim +0 -0
  239. data/lib/br_nfe/service/xml/v1/_tc_dados_servico.xml.slim +0 -0
  240. data/lib/br_nfe/service/xml/v1/_tc_dados_tomador.xml.slim +0 -0
  241. data/lib/br_nfe/service/xml/v1/_tc_endereco.xml.slim +0 -0
  242. data/lib/br_nfe/service/xml/v1/_tc_identificacao_intermediario_servico.xml.slim +0 -0
  243. data/lib/br_nfe/service/xml/v1/_tc_identificacao_nfse.xml.slim +0 -0
  244. data/lib/br_nfe/service/xml/v1/_tc_identificacao_orgao_gerador.xml.slim +0 -0
  245. data/lib/br_nfe/service/xml/v1/_tc_identificacao_prestador.xml.slim +0 -0
  246. data/lib/br_nfe/service/xml/v1/_tc_identificacao_rps.xml.slim +0 -0
  247. data/lib/br_nfe/service/xml/v1/_tc_identificacao_tomador.xml.slim +0 -0
  248. data/lib/br_nfe/service/xml/v1/_tc_inf_pedido_cancelamento.xml.slim +0 -0
  249. data/lib/br_nfe/service/xml/v1/_tc_inf_rps.xml.slim +0 -0
  250. data/lib/br_nfe/service/xml/v1/_tc_lote_rps.xml.slim +0 -0
  251. data/lib/br_nfe/service/xml/v1/_tc_pedido_cancelamento.xml.slim +0 -0
  252. data/lib/br_nfe/service/xml/v1/_tc_rps.xml.slim +0 -0
  253. data/lib/br_nfe/service/xml/v1/_tc_valores.xml.slim +0 -0
  254. data/lib/br_nfe/service/xml/v1/servico_cancelar_nfse_envio.xml.slim +0 -0
  255. data/lib/br_nfe/service/xml/v1/servico_consultar_lote_rps_envio.xml.slim +0 -0
  256. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_envio.xml.slim +0 -0
  257. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_rps_envio.xml.slim +0 -0
  258. data/lib/br_nfe/service/xml/v1/servico_consultar_situacao_lote_rps_envio.xml.slim +0 -0
  259. data/lib/br_nfe/service/xml/v1/servico_enviar_lote_rps_envio.xml.slim +0 -0
  260. data/lib/br_nfe/version.rb +1 -1
  261. data/lib/br_nfe/xml/_signed_info_sh1.xml.slim +0 -0
  262. data/lib/br_nfe/xml/signature_sh1.xml.slim +0 -0
  263. data/lib/br_nfe/xml/soap_env.xml.slim +0 -0
  264. data/lib/config/locales/br_nfe/en/product/nfe/cobranca/fatura.yml +0 -0
  265. data/lib/config/locales/br_nfe/en/product/nfe/declaracao_importacao.yml +0 -0
  266. data/lib/config/locales/br_nfe/en/product/nfe/item.yml +0 -0
  267. data/lib/config/locales/br_nfe/en/product/nfe/item_tax/icms_uf_destino.yml +0 -0
  268. data/lib/config/locales/br_nfe/en/product/nfe/transporte/base.yml +0 -0
  269. data/lib/config/locales/br_nfe/en/product/nota_fiscal.yml +0 -0
  270. data/lib/config/locales/br_nfe/en/product/operation/nfe_autorizacao.yml +0 -0
  271. data/lib/config/locales/br_nfe/en/product/operation/nfe_recepcao_evento.yml +0 -0
  272. data/lib/config/locales/br_nfe/pt-BR/product/nfe/cobranca/fatura.yml +0 -0
  273. data/lib/config/locales/br_nfe/pt-BR/product/nfe/declaracao_importacao.yml +0 -0
  274. data/lib/config/locales/br_nfe/pt-BR/product/nfe/item.yml +0 -0
  275. data/lib/config/locales/br_nfe/pt-BR/product/nfe/item_tax/icms_uf_destino.yml +0 -0
  276. data/lib/config/locales/br_nfe/pt-BR/product/nfe/transporte/base.yml +0 -0
  277. data/lib/config/locales/br_nfe/pt-BR/product/nota_fiscal.yml +0 -0
  278. data/lib/config/locales/br_nfe/pt-BR/product/operation/nfe_autorizacao.yml +0 -0
  279. data/lib/config/locales/br_nfe/pt-BR/product/operation/nfe_recepcao_evento.yml +0 -0
  280. data/lib/config/settings/nfe/reader_xml_paths.yml +372 -0
  281. data/lib/config/settings/nfe/v3_10/operation.yml +843 -0
  282. data/lib/config/settings/nfe/v3_10/soap_client.yml +804 -0
  283. data/lib/config/settings/nfe/v3_10/xml_paths.yml +577 -0
  284. data/lib/config/settings/nfse.yml +3 -0
  285. data/test/br_nfe/association/have_address_test.rb +0 -0
  286. data/test/br_nfe/association/have_condicao_pagamento_test.rb +0 -0
  287. data/test/br_nfe/association/have_destinatario_test.rb +0 -0
  288. data/test/br_nfe/association/have_emitente_test.rb +0 -0
  289. data/test/br_nfe/base_test.rb +26 -65
  290. data/test/br_nfe/condicao_pagamento_test.rb +0 -0
  291. data/test/br_nfe/endereco_test.rb +0 -0
  292. data/test/br_nfe/helper/cpf_cnpj_test.rb +0 -0
  293. data/test/br_nfe/person_test.rb +0 -0
  294. data/test/br_nfe/product/destinatario_test.rb +0 -0
  295. data/test/br_nfe/product/emitente_test.rb +0 -0
  296. data/test/br_nfe/product/evento/base_test.rb +0 -0
  297. data/test/br_nfe/product/evento/cancelamento_test.rb +0 -0
  298. data/test/br_nfe/product/nfe/adicao_importacao_test.rb +0 -0
  299. data/test/br_nfe/product/nfe/cobranca/duplicata_test.rb +0 -0
  300. data/test/br_nfe/product/nfe/cobranca/fatura_test.rb +0 -0
  301. data/test/br_nfe/product/nfe/cobranca/pagamento_test.rb +0 -0
  302. data/test/br_nfe/product/nfe/declaracao_importacao_test.rb +0 -0
  303. data/test/br_nfe/product/nfe/detalhe_exportacao_test.rb +0 -0
  304. data/test/br_nfe/product/nfe/item_tax/cofins_st_test.rb +0 -0
  305. data/test/br_nfe/product/nfe/item_tax/cofins_test.rb +0 -0
  306. data/test/br_nfe/product/nfe/item_tax/icms_test.rb +0 -0
  307. data/test/br_nfe/product/nfe/item_tax/icms_uf_destino_test.rb +0 -0
  308. data/test/br_nfe/product/nfe/item_tax/importacao_test.rb +0 -0
  309. data/test/br_nfe/product/nfe/item_tax/ipi_test.rb +0 -0
  310. data/test/br_nfe/product/nfe/item_tax/issqn_test.rb +0 -0
  311. data/test/br_nfe/product/nfe/item_tax/pis_st_test.rb +0 -0
  312. data/test/br_nfe/product/nfe/item_tax/pis_test.rb +0 -0
  313. data/test/br_nfe/product/nfe/item_test.rb +0 -0
  314. data/test/br_nfe/product/nfe/processo_referencia_test.rb +0 -0
  315. data/test/br_nfe/product/nfe/transporte/base_test.rb +0 -0
  316. data/test/br_nfe/product/nfe/transporte/transportador_test.rb +0 -0
  317. data/test/br_nfe/product/nfe/transporte/veiculo_test.rb +0 -0
  318. data/test/br_nfe/product/nfe/transporte/volume_test.rb +0 -0
  319. data/test/br_nfe/product/nota_fiscal_test.rb +0 -0
  320. data/test/br_nfe/product/operation/base_test.rb +197 -175
  321. data/test/br_nfe/product/operation/nfe_autorizacao_test.rb +719 -282
  322. data/test/br_nfe/product/operation/nfe_consulta_protocolo_test.rb +745 -305
  323. data/test/br_nfe/product/operation/nfe_download_nf_test.rb +0 -51
  324. data/test/br_nfe/product/operation/nfe_inutilizacao_test.rb +505 -88
  325. data/test/br_nfe/product/operation/nfe_recepcao_evento_test.rb +83 -36
  326. data/test/br_nfe/product/operation/nfe_ret_autorizacao_test.rb +683 -244
  327. data/test/br_nfe/product/operation/nfe_status_servico_test.rb +515 -74
  328. data/test/br_nfe/product/reader/nfe_test.rb +2535 -0
  329. data/test/br_nfe/product/response/base_test.rb +0 -0
  330. data/test/br_nfe/product/response/build/base_test.rb +0 -0
  331. data/test/br_nfe/product/response/nfe_ret_autorizacao_test.rb +0 -0
  332. data/test/br_nfe/service/association/have_intermediario_test.rb +0 -0
  333. data/test/br_nfe/service/association/have_rps_test.rb +0 -0
  334. data/test/br_nfe/service/base_test.rb +1 -1
  335. data/test/br_nfe/service/betha/base_test.rb +0 -0
  336. data/test/br_nfe/service/betha/v1/cancela_nfse_test.rb +4 -4
  337. data/test/br_nfe/service/betha/v1/consulta_lote_rps_test.rb +4 -4
  338. data/test/br_nfe/service/betha/v1/consulta_nfs_por_rps_test.rb +4 -4
  339. data/test/br_nfe/service/betha/v1/consulta_nfse_test.rb +4 -4
  340. data/test/br_nfe/service/betha/v1/consulta_situacao_lote_rps_test.rb +4 -4
  341. data/test/br_nfe/service/betha/v1/gateway_test.rb +0 -0
  342. data/test/br_nfe/service/betha/v1/recepcao_lote_rps_test.rb +4 -4
  343. data/test/br_nfe/service/betha/v1/xsd/TiposNFe_v01.xsd +0 -0
  344. data/test/br_nfe/service/betha/v1/xsd/nfse_v01.xsd +0 -0
  345. data/test/br_nfe/service/betha/v1/xsd/servico_cancelar_nfse_envio_v01.xsd +0 -0
  346. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_lote_rps_envio_v01.xsd +0 -0
  347. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_envio_v01.xsd +0 -0
  348. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_rps_envio_v01.xsd +0 -0
  349. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_situacao_lote_rps_envio_v01.xsd +0 -0
  350. data/test/br_nfe/service/betha/v1/xsd/servico_enviar_lote_rps_envio_v01.xsd +0 -0
  351. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema.xsd +0 -0
  352. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema_v01.xsd +0 -0
  353. data/test/br_nfe/service/concerns/rules/cancelamento_nfs_test.rb +0 -0
  354. data/test/br_nfe/service/concerns/rules/consulta_nfs_por_rps_test.rb +0 -0
  355. data/test/br_nfe/service/concerns/rules/consulta_nfse_test.rb +0 -0
  356. data/test/br_nfe/service/concerns/rules/recepcao_lote_rps_test.rb +0 -0
  357. data/test/br_nfe/service/concerns/values_ts/service_v1_test.rb +0 -0
  358. data/test/br_nfe/service/destinatario_test.rb +0 -0
  359. data/test/br_nfe/service/emitente_test.rb +0 -0
  360. data/test/br_nfe/service/intermediario_test.rb +0 -0
  361. data/test/br_nfe/service/item_test.rb +0 -0
  362. data/test/br_nfe/service/response/build/base_test.rb +0 -0
  363. data/test/br_nfe/service/response/default_test.rb +0 -0
  364. data/test/br_nfe/service/response/nota_fiscal_test.rb +0 -0
  365. data/test/br_nfe/service/response/paths/v1/tc_nfse_test.rb +0 -0
  366. data/test/br_nfe/service/rps_test.rb +0 -0
  367. data/test/br_nfe/service/sc/florianopolis/XSD/TiposNFSe_v2.0.xsd +0 -0
  368. data/test/br_nfe/service/sc/florianopolis/XSD/xmldsig-core-schema.xsd +0 -0
  369. data/test/br_nfe/service/sc/florianopolis/base_test.rb +0 -0
  370. data/test/br_nfe/service/sc/florianopolis/cancellation_test.rb +0 -0
  371. data/test/br_nfe/service/sc/florianopolis/emission_rps_test.rb +0 -0
  372. data/test/br_nfe/service/simpliss/v1/base_test.rb +3 -3
  373. data/test/br_nfe/service/simpliss/v1/cancela_nfse_test.rb +1 -1
  374. data/test/br_nfe/service/simpliss/v1/consulta_lote_rps_test.rb +1 -1
  375. data/test/br_nfe/service/simpliss/v1/consulta_nfs_por_rps_test.rb +1 -1
  376. data/test/br_nfe/service/simpliss/v1/consulta_nfse_test.rb +1 -1
  377. data/test/br_nfe/service/simpliss/v1/consulta_situacao_lote_rps_test.rb +1 -1
  378. data/test/br_nfe/service/simpliss/v1/recepcao_lote_rps_test.rb +1 -1
  379. data/test/br_nfe/service/simpliss/v1/xsd/nfse_3.xsd +0 -0
  380. data/test/br_nfe/service/simpliss/v1/xsd/xmldsig-core-schema20020212.xsd +0 -0
  381. data/test/br_nfe/service/thema/v1/base_test.rb +0 -0
  382. data/test/br_nfe/service/thema/v1/cancela_nfse_test.rb +6 -6
  383. data/test/br_nfe/service/thema/v1/consulta_lote_rps_test.rb +6 -6
  384. data/test/br_nfe/service/thema/v1/consulta_nfs_por_rps_test.rb +6 -6
  385. data/test/br_nfe/service/thema/v1/consulta_nfse_test.rb +6 -6
  386. data/test/br_nfe/service/thema/v1/consulta_situacao_lote_rps_test.rb +6 -6
  387. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_limitado_test.rb +6 -6
  388. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test.rb +6 -6
  389. data/test/br_nfe/service/thema/v1/xsd/nfse.xsd +0 -0
  390. data/test/br_nfe/service/thema/v1/xsd/xmldsig-core-schema20020212.xsd +0 -0
  391. data/test/br_nfe/service/xsd/v1/nfse.xsd +0 -0
  392. data/test/br_nfe/service/xsd/v1/xmldsig-core-schema20020212.xsd +0 -0
  393. data/test/cert.pfx +0 -0
  394. data/test/factories/base.rb +0 -0
  395. data/test/factories/condicao_pagamento.rb +0 -0
  396. data/test/factories/endereco.rb +0 -0
  397. data/test/factories/person.rb +0 -0
  398. data/test/factories/product/destinatario.rb +0 -0
  399. data/test/factories/product/emitente.rb +0 -0
  400. data/test/factories/product/evento/base.rb +0 -0
  401. data/test/factories/product/evento/cancelamento.rb +0 -0
  402. data/test/factories/product/nfe/adicao_importacao.rb +0 -0
  403. data/test/factories/product/nfe/cobranca/duplicata.rb +0 -0
  404. data/test/factories/product/nfe/cobranca/fatura.rb +0 -0
  405. data/test/factories/product/nfe/cobranca/pagamento.rb +0 -0
  406. data/test/factories/product/nfe/declaracao_importacao.rb +0 -0
  407. data/test/factories/product/nfe/detalhe_exportacao.rb +0 -0
  408. data/test/factories/product/nfe/item.rb +0 -0
  409. data/test/factories/product/nfe/item_tax/cofins.rb +0 -0
  410. data/test/factories/product/nfe/item_tax/cofins_st.rb +0 -0
  411. data/test/factories/product/nfe/item_tax/icms.rb +0 -0
  412. data/test/factories/product/nfe/item_tax/icms_uf_destino.rb +0 -0
  413. data/test/factories/product/nfe/item_tax/importacao.rb +0 -0
  414. data/test/factories/product/nfe/item_tax/ipi.rb +0 -0
  415. data/test/factories/product/nfe/item_tax/issqn.rb +0 -0
  416. data/test/factories/product/nfe/item_tax/pis.rb +0 -0
  417. data/test/factories/product/nfe/item_tax/pis_st.rb +0 -0
  418. data/test/factories/product/nfe/processo_referencia.rb +0 -0
  419. data/test/factories/product/nfe/transporte/base.rb +0 -0
  420. data/test/factories/product/nfe/transporte/transportador.rb +0 -0
  421. data/test/factories/product/nfe/transporte/veiculo.rb +0 -0
  422. data/test/factories/product/nfe/transporte/volume.rb +0 -0
  423. data/test/factories/product/nota_fiscal.rb +0 -0
  424. data/test/factories/product/operation/base.rb +0 -0
  425. data/test/factories/product/operation/nfe_autorizacao.rb +0 -0
  426. data/test/factories/product/operation/nfe_consulta_protocolo.rb +0 -0
  427. data/test/factories/product/operation/nfe_download_nf.rb +0 -0
  428. data/test/factories/product/operation/nfe_inutilizacao.rb +0 -0
  429. data/test/factories/product/operation/nfe_recepcao_evento.rb +0 -0
  430. data/test/factories/product/operation/nfe_ret_autorizacao.rb +0 -0
  431. data/test/factories/product/operation/nfe_status_servico.rb +0 -0
  432. data/test/factories/product/response/base.rb +0 -0
  433. data/test/factories/product/response/build/base.rb +0 -0
  434. data/test/factories/product/response/nfe_ret_autorizacao.rb +0 -0
  435. data/test/factories/service/base.rb +0 -0
  436. data/test/factories/service/betha/base.rb +0 -0
  437. data/test/factories/service/betha/v1/cancela_nfse.rb +0 -0
  438. data/test/factories/service/betha/v1/consulta_lote_rps.rb +0 -0
  439. data/test/factories/service/betha/v1/consulta_nfs_por_rps.rb +0 -0
  440. data/test/factories/service/betha/v1/consulta_nfse.rb +0 -0
  441. data/test/factories/service/betha/v1/consulta_situacao_lote_rps.rb +0 -0
  442. data/test/factories/service/betha/v1/gateway.rb +0 -0
  443. data/test/factories/service/betha/v1/recepcao_lote_rps.rb +0 -0
  444. data/test/factories/service/destinatario.rb +0 -0
  445. data/test/factories/service/emitente.rb +0 -0
  446. data/test/factories/service/intermediario.rb +0 -0
  447. data/test/factories/service/item.rb +0 -0
  448. data/test/factories/service/response/build_response.rb +0 -0
  449. data/test/factories/service/response/default.rb +0 -0
  450. data/test/factories/service/response/nota_fiscal.rb +0 -0
  451. data/test/factories/service/rps.rb +0 -0
  452. data/test/factories/service/sc/florianopolis/base.rb +0 -0
  453. data/test/factories/service/sc/florianopolis/cancellation.rb +0 -0
  454. data/test/factories/service/sc/florianopolis/emission_rps.rb +0 -0
  455. data/test/factories/service/simpliss/v1/base.rb +0 -0
  456. data/test/factories/service/simpliss/v1/cancela_nfse.rb +0 -0
  457. data/test/factories/service/simpliss/v1/consulta_lote_rps.rb +0 -0
  458. data/test/factories/service/simpliss/v1/consulta_nfs_por_rps.rb +0 -0
  459. data/test/factories/service/simpliss/v1/consulta_nfse.rb +0 -0
  460. data/test/factories/service/simpliss/v1/consulta_situacao_lote_rps.rb +0 -0
  461. data/test/factories/service/simpliss/v1/recepcao_lote_rps.rb +0 -0
  462. data/test/factories/service/thema/v1/base.rb +0 -0
  463. data/test/factories/service/thema/v1/cancela_nfse.rb +0 -0
  464. data/test/factories/service/thema/v1/consulta_lote_rps.rb +0 -0
  465. data/test/factories/service/thema/v1/consulta_nfs_por_rps.rb +0 -0
  466. data/test/factories/service/thema/v1/consulta_nfse.rb +0 -0
  467. data/test/factories/service/thema/v1/consulta_situacao_lote_rps.rb +0 -0
  468. data/test/factories/service/thema/v1/recepcao_lote_rps.rb +0 -0
  469. data/test/factories/service/thema/v1/recepcao_lote_rps_limitado.rb +0 -0
  470. data/test/fixtures/product/nfe/v3_10/cancelada.xml +246 -0
  471. data/test/fixtures/product/nfe/v3_10/completa.xml +1650 -0
  472. data/test/fixtures/product/nfe/v3_10/without_proc.xml +264 -0
  473. data/test/fixtures/product/operation/nfe_autorizacao/nfe_signed.xml +0 -0
  474. data/test/fixtures/product/response/v3.10/nfe_autorizacao/async_fail.xml +0 -0
  475. data/test/fixtures/product/response/v3.10/nfe_autorizacao/async_success.xml +0 -0
  476. data/test/fixtures/product/response/v3.10/nfe_autorizacao/nfe/with_proc.xml +0 -0
  477. data/test/fixtures/product/response/v3.10/nfe_autorizacao/nfe/without_proc.xml +0 -0
  478. data/test/fixtures/product/response/v3.10/nfe_autorizacao/original_xml.xml +0 -0
  479. data/test/fixtures/product/response/v3.10/nfe_autorizacao/sync_fail.xml +0 -0
  480. data/test/fixtures/product/response/v3.10/nfe_autorizacao/sync_success.xml +0 -0
  481. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/event_1.xml +0 -0
  482. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/event_2.xml +0 -0
  483. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/event_3.xml +0 -0
  484. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/event_cancel.xml +0 -0
  485. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/one_event.xml +0 -0
  486. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/fail.xml +0 -0
  487. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/nfe_original/with_proc.xml +0 -0
  488. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/nfe_original/without_proc.xml +0 -0
  489. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/success_many_with_cancel.xml +0 -0
  490. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/success_many_without_cancel.xml +0 -0
  491. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/success_one.xml +0 -0
  492. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/success_without.xml +0 -0
  493. data/test/fixtures/product/response/v3.10/nfe_inutilizacao/fail.xml +0 -0
  494. data/test/fixtures/product/response/v3.10/nfe_inutilizacao/success.xml +0 -0
  495. data/test/fixtures/product/response/v3.10/nfe_recepcao_evento/cancelamento/fail.xml +2 -2
  496. data/test/fixtures/product/response/v3.10/nfe_recepcao_evento/cancelamento/success.xml +0 -0
  497. data/test/fixtures/product/response/v3.10/nfe_recepcao_evento/cancelamento/xml_result_fail_formatted.xml +1 -0
  498. data/test/fixtures/product/response/v3.10/nfe_recepcao_evento/cancelamento/xml_result_success_formatted.xml +1 -0
  499. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_fail.xml +0 -0
  500. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_fail.xml +0 -0
  501. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_fail_and_one_ok.xml +0 -0
  502. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_ok.xml +0 -0
  503. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_two_invoice_fail.xml +0 -0
  504. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_two_invoice_ok.xml +0 -0
  505. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_with_protocol.xml +0 -0
  506. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_without_protocol.xml +0 -0
  507. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_with_protocol.xml +0 -0
  508. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_without_protocol.xml +0 -0
  509. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/original_xml/lot.xml +0 -0
  510. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/original_xml/nfe.xml +0 -0
  511. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/original_xml/nfeProc.xml +0 -0
  512. data/test/fixtures/product/response/v3.10/nfe_status_servico/fail.xml +0 -0
  513. data/test/fixtures/product/response/v3.10/nfe_status_servico/success.xml +0 -0
  514. data/test/fixtures/product/schemas/CCe_v1.00.xsd +0 -0
  515. data/test/fixtures/product/schemas/EPEC_v1.00.xsd +0 -0
  516. data/test/fixtures/product/schemas/LeiauteCadastroEmissorDFe_v1.01.xsd +0 -0
  517. data/test/fixtures/product/schemas/SuframaInternaliza_v1.00.xsd +0 -0
  518. data/test/fixtures/product/schemas/SuframaVistoria_v1.00.xsd +0 -0
  519. data/test/fixtures/product/schemas/atuCadEmiDFe_v1.01.xsd +0 -0
  520. data/test/fixtures/product/schemas/cabecMsg_v1.02.xsd +0 -0
  521. data/test/fixtures/product/schemas/cadEmiDFe_v1.01.xsd +0 -0
  522. data/test/fixtures/product/schemas/cancNFe_v2.00.xsd +0 -0
  523. data/test/fixtures/product/schemas/confRecebto_v1.00.xsd +0 -0
  524. data/test/fixtures/product/schemas/consCad_v2.00.xsd +0 -0
  525. data/test/fixtures/product/schemas/consDPEC_v1.01.xsd +0 -0
  526. data/test/fixtures/product/schemas/consNFeDest_v1.01.xsd +0 -0
  527. data/test/fixtures/product/schemas/consReciNFe_v2.00.xsd +0 -0
  528. data/test/fixtures/product/schemas/consReciNFe_v3.10.xsd +0 -0
  529. data/test/fixtures/product/schemas/consSitNFe_v2.01.xsd +0 -0
  530. data/test/fixtures/product/schemas/consSitNFe_v3.10.xsd +0 -0
  531. data/test/fixtures/product/schemas/consStatServ_v2.00.xsd +0 -0
  532. data/test/fixtures/product/schemas/consStatServ_v3.10.xsd +0 -0
  533. data/test/fixtures/product/schemas/distDFeInt_v1.00.xsd +0 -0
  534. data/test/fixtures/product/schemas/downloadNFe_v1.00.xsd +0 -0
  535. data/test/fixtures/product/schemas/e110110_v1.00.xsd +0 -0
  536. data/test/fixtures/product/schemas/e110111_v1.00.xsd +0 -0
  537. data/test/fixtures/product/schemas/e110140_v1.00.xsd +0 -0
  538. data/test/fixtures/product/schemas/e111500_v1.00.xsd +0 -0
  539. data/test/fixtures/product/schemas/e111501_v1.00.xsd +0 -0
  540. data/test/fixtures/product/schemas/e111502_v1.00.xsd +0 -0
  541. data/test/fixtures/product/schemas/e111503_v1.00.xsd +0 -0
  542. data/test/fixtures/product/schemas/e210200_v1.00.xsd +0 -0
  543. data/test/fixtures/product/schemas/e210210_v1.00.xsd +0 -0
  544. data/test/fixtures/product/schemas/e210220_v1.00.xsd +0 -0
  545. data/test/fixtures/product/schemas/e210240_v1.00.xsd +0 -0
  546. data/test/fixtures/product/schemas/e411500_v1.00.xsd +0 -0
  547. data/test/fixtures/product/schemas/e411501_v1.00.xsd +0 -0
  548. data/test/fixtures/product/schemas/e411502_v1.00.xsd +0 -0
  549. data/test/fixtures/product/schemas/e411503_v1.00.xsd +0 -0
  550. data/test/fixtures/product/schemas/e990900_v1.00.xsd +0 -0
  551. data/test/fixtures/product/schemas/e990910_v1.00.xsd +0 -0
  552. data/test/fixtures/product/schemas/envCCe_v1.00.xsd +0 -0
  553. data/test/fixtures/product/schemas/envCancelPProrrogNFe_v1.0.xsd +0 -0
  554. data/test/fixtures/product/schemas/envConfRecebto_v1.00.xsd +0 -0
  555. data/test/fixtures/product/schemas/envDPEC_v1.01.xsd +0 -0
  556. data/test/fixtures/product/schemas/envEPEC_v1.00.xsd +0 -0
  557. data/test/fixtures/product/schemas/envEventoCancNFe_v1.00.xsd +0 -0
  558. data/test/fixtures/product/schemas/envEvento_v1.00.xsd +0 -0
  559. data/test/fixtures/product/schemas/envFiscoNfe_v1.0.xsd +0 -0
  560. data/test/fixtures/product/schemas/envPProrrogNFe_v1.0.xsd +0 -0
  561. data/test/fixtures/product/schemas/envRemIndus_v1.00.xsd +0 -0
  562. data/test/fixtures/product/schemas/envSuframaInternaliza_v1.00.xsd +0 -0
  563. data/test/fixtures/product/schemas/envSuframaVistoria_v1.00.xsd +0 -0
  564. data/test/fixtures/product/schemas/enviNFe_v2.00.xsd +0 -0
  565. data/test/fixtures/product/schemas/enviNFe_v3.10.xsd +0 -0
  566. data/test/fixtures/product/schemas/eventoCancNFe_v1.00.xsd +0 -0
  567. data/test/fixtures/product/schemas/eventoEPEC_v0.01.xsd +0 -0
  568. data/test/fixtures/product/schemas/eventoEPEC_v1.00.xsd +0 -0
  569. data/test/fixtures/product/schemas/eventoRemIndus_v1.00.xsd +0 -0
  570. data/test/fixtures/product/schemas/inutNFe_v2.00.xsd +0 -0
  571. data/test/fixtures/product/schemas/inutNFe_v3.10.xsd +0 -0
  572. data/test/fixtures/product/schemas/leiauteCCe_v1.00.xsd +0 -0
  573. data/test/fixtures/product/schemas/leiauteCancNFe_v2.00.xsd +0 -0
  574. data/test/fixtures/product/schemas/leiauteConfRecebto_v1.00.xsd +0 -0
  575. data/test/fixtures/product/schemas/leiauteConsNFeDest_v1.01.xsd +0 -0
  576. data/test/fixtures/product/schemas/leiauteConsSitNFe_v2.01.xsd +0 -0
  577. data/test/fixtures/product/schemas/leiauteConsSitNFe_v3.10.xsd +0 -0
  578. data/test/fixtures/product/schemas/leiauteConsStatServ_v2.00.xsd +0 -0
  579. data/test/fixtures/product/schemas/leiauteConsStatServ_v3.10.xsd +0 -0
  580. data/test/fixtures/product/schemas/leiauteConsultaCadastro_v1.01.xsd +0 -0
  581. data/test/fixtures/product/schemas/leiauteConsultaCadastro_v2.00.xsd +0 -0
  582. data/test/fixtures/product/schemas/leiauteDPEC_v1.01.xsd +0 -0
  583. data/test/fixtures/product/schemas/leiauteDownloadNFe_v1.00.xsd +0 -0
  584. data/test/fixtures/product/schemas/leiauteEPEC_v1.00.xsd +0 -0
  585. data/test/fixtures/product/schemas/leiauteEventoCancNFe_v1.00.xsd +0 -0
  586. data/test/fixtures/product/schemas/leiauteEvento_v1.00.xsd +0 -0
  587. data/test/fixtures/product/schemas/leiauteInutNFe_v2.00.xsd +0 -0
  588. data/test/fixtures/product/schemas/leiauteInutNFe_v3.10.xsd +0 -0
  589. data/test/fixtures/product/schemas/leiauteNFe_v2.00.xsd +0 -0
  590. data/test/fixtures/product/schemas/leiauteNFe_v3.10.xsd +0 -0
  591. data/test/fixtures/product/schemas/leiauteRemIndus_v1.00.xsd +0 -0
  592. data/test/fixtures/product/schemas/leiauteSRE_v1.00.xsd +0 -0
  593. data/test/fixtures/product/schemas/leiauteSuframaInternaliza_v1.00.xsd +0 -0
  594. data/test/fixtures/product/schemas/leiauteSuframaVistoria_v1.00.xsd +0 -0
  595. data/test/fixtures/product/schemas/nfe_v2.00.xsd +0 -0
  596. data/test/fixtures/product/schemas/nfe_v3.10.xsd +0 -0
  597. data/test/fixtures/product/schemas/procCCeNFe_v1.00.xsd +0 -0
  598. data/test/fixtures/product/schemas/procCancNFe_v2.00.xsd +0 -0
  599. data/test/fixtures/product/schemas/procConfRecebtoNFe_v1.00.xsd +0 -0
  600. data/test/fixtures/product/schemas/procEPEC_v1.00.xsd +0 -0
  601. data/test/fixtures/product/schemas/procEventoCancNFe_v1.00.xsd +0 -0
  602. data/test/fixtures/product/schemas/procEventoNFe_v1.00.xsd +0 -0
  603. data/test/fixtures/product/schemas/procEventoNFe_v99.99.xsd +0 -0
  604. data/test/fixtures/product/schemas/procInutNFe_v2.00.xsd +0 -0
  605. data/test/fixtures/product/schemas/procInutNFe_v3.10.xsd +0 -0
  606. data/test/fixtures/product/schemas/procNFe_v2.00.xsd +0 -0
  607. data/test/fixtures/product/schemas/procNFe_v3.10.xsd +0 -0
  608. data/test/fixtures/product/schemas/procRemIndus_v1.00.xsd +0 -0
  609. data/test/fixtures/product/schemas/resEvento_v1.00.xsd +0 -0
  610. data/test/fixtures/product/schemas/resNFe_v1.00.xsd +0 -0
  611. data/test/fixtures/product/schemas/retAtuCadEmiDFe_v1.01.xsd +0 -0
  612. data/test/fixtures/product/schemas/retCancNFe_v2.00.xsd +0 -0
  613. data/test/fixtures/product/schemas/retConsCad_v2.00.xsd +0 -0
  614. data/test/fixtures/product/schemas/retConsDPEC_v1.01.xsd +0 -0
  615. data/test/fixtures/product/schemas/retConsReciNFe_v2.00.xsd +0 -0
  616. data/test/fixtures/product/schemas/retConsReciNFe_v3.10.xsd +0 -0
  617. data/test/fixtures/product/schemas/retConsSitNFe_v2.01.xsd +0 -0
  618. data/test/fixtures/product/schemas/retConsSitNFe_v3.10.xsd +0 -0
  619. data/test/fixtures/product/schemas/retConsStatServ_v2.00.xsd +0 -0
  620. data/test/fixtures/product/schemas/retConsStatServ_v3.10.xsd +0 -0
  621. data/test/fixtures/product/schemas/retDPEC_v1.01.xsd +0 -0
  622. data/test/fixtures/product/schemas/retDistDFeInt_v1.00.xsd +0 -0
  623. data/test/fixtures/product/schemas/retDownloadNFe_v1.00.xsd +0 -0
  624. data/test/fixtures/product/schemas/retEnvCCe_v1.00.xsd +0 -0
  625. data/test/fixtures/product/schemas/retEnvCancelPProrrogNFe_v1.0.xsd +0 -0
  626. data/test/fixtures/product/schemas/retEnvConfRecebto_v1.00.xsd +0 -0
  627. data/test/fixtures/product/schemas/retEnvEPEC_v1.00.xsd +0 -0
  628. data/test/fixtures/product/schemas/retEnvEventoCancNFe_v1.00.xsd +0 -0
  629. data/test/fixtures/product/schemas/retEnvEvento_v1.00.xsd +0 -0
  630. data/test/fixtures/product/schemas/retEnvFiscoNFe_v1.0.xsd +0 -0
  631. data/test/fixtures/product/schemas/retEnvRemIndus_v1.00.xsd +0 -0
  632. data/test/fixtures/product/schemas/retEnvSuframaInternaliza_v1.00.xsd +0 -0
  633. data/test/fixtures/product/schemas/retEnvSuframaVistoria_v1.00.xsd +0 -0
  634. data/test/fixtures/product/schemas/retEnviNFe_v2.00.xsd +0 -0
  635. data/test/fixtures/product/schemas/retEnviNFe_v3.10.xsd +0 -0
  636. data/test/fixtures/product/schemas/retEventoEPEC_v0.01.xsd +0 -0
  637. data/test/fixtures/product/schemas/retInutNFe_v2.00.xsd +0 -0
  638. data/test/fixtures/product/schemas/retInutNFe_v3.10.xsd +0 -0
  639. data/test/fixtures/product/schemas/retPProrrogNFe_v1.0.xsd +0 -0
  640. data/test/fixtures/product/schemas/retconsNFeDest_v1.01.xsd +0 -0
  641. data/test/fixtures/product/schemas/tiposBasico_v1.03.xsd +0 -0
  642. data/test/fixtures/product/schemas/tiposBasico_v1.03_OPENSSL.xsd +0 -0
  643. data/test/fixtures/product/schemas/tiposBasico_v3.10.xsd +0 -0
  644. data/test/fixtures/product/schemas/tiposBasico_v3.10_OPENSSL.xsd +0 -0
  645. data/test/fixtures/product/schemas/tiposDistDFe_v1.00.xsd +0 -0
  646. data/test/fixtures/product/schemas/xmldsig-core-schema_v1.01.xsd +0 -0
  647. data/test/fixtures/product/wsdl/NFeRetAutorizacao.xml +0 -0
  648. data/test/fixtures/product/wsdl/NfeAutorizacao.xml +0 -0
  649. data/test/fixtures/product/wsdl/NfeConsulta2.xml +0 -0
  650. data/test/fixtures/product/wsdl/NfeStatusServico2.xml +0 -0
  651. data/test/fixtures/product/wsdl/RecepcaoEvento.xml +78 -0
  652. data/test/fixtures/product/wsdl/nfeinutilizacao2.xml +0 -0
  653. data/test/fixtures/service/response/betha/v1/cancela_nfse/fault.xml +0 -0
  654. data/test/fixtures/service/response/betha/v1/cancela_nfse/success.xml +0 -0
  655. data/test/fixtures/service/response/betha/v1/consulta_lote_rps/fault.xml +0 -0
  656. data/test/fixtures/service/response/betha/v1/consulta_lote_rps/success.xml +0 -0
  657. data/test/fixtures/service/response/betha/v1/consulta_nfse/fault.xml +0 -0
  658. data/test/fixtures/service/response/betha/v1/consulta_nfse/nfs_empty.xml +0 -0
  659. data/test/fixtures/service/response/betha/v1/consulta_nfse/success.xml +0 -0
  660. data/test/fixtures/service/response/betha/v1/consulta_nfse_por_rps/fault.xml +0 -0
  661. data/test/fixtures/service/response/betha/v1/consulta_nfse_por_rps/success.xml +0 -0
  662. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/error.xml +0 -0
  663. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/fault.xml +0 -0
  664. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/success.xml +0 -0
  665. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unprocessed.xml +0 -0
  666. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unprocessed_by_code_error.xml +0 -0
  667. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unreceived.xml +0 -0
  668. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unreceived_by_code_error.xml +0 -0
  669. data/test/fixtures/service/response/betha/v1/recepcao_lote_rps/error.xml +0 -0
  670. data/test/fixtures/service/response/betha/v1/recepcao_lote_rps/success.xml +0 -0
  671. data/test/fixtures/service/response/simpliss/v1/cancela_nfse/fault.xml +0 -0
  672. data/test/fixtures/service/response/simpliss/v1/cancela_nfse/success.xml +0 -0
  673. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/fault.xml +0 -0
  674. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/nfse_complete.xml +0 -0
  675. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/nfse_simple.xml +0 -0
  676. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/fault.xml +0 -0
  677. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfs_empty.xml +0 -0
  678. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfse_complete.xml +0 -0
  679. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfse_simple.xml +0 -0
  680. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/fault.xml +0 -0
  681. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/nfse_complete.xml +0 -0
  682. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/nfse_simple.xml +0 -0
  683. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/error.xml +0 -0
  684. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/fault.xml +0 -0
  685. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/success.xml +0 -0
  686. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/unprocessed.xml +0 -0
  687. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/unreceived.xml +0 -0
  688. data/test/fixtures/service/response/simpliss/v1/recepcao_lote_rps/error.xml +0 -0
  689. data/test/fixtures/service/response/simpliss/v1/recepcao_lote_rps/success.xml +0 -0
  690. data/test/fixtures/service/response/thema/v1/cancela_nfse/fault.xml +0 -0
  691. data/test/fixtures/service/response/thema/v1/cancela_nfse/success.xml +0 -0
  692. data/test/fixtures/service/response/thema/v1/consulta_lote_rps/fault.xml +0 -0
  693. data/test/fixtures/service/response/thema/v1/consulta_lote_rps/nfse_complete.xml +0 -0
  694. data/test/fixtures/service/response/thema/v1/consulta_nfse/fault.xml +0 -0
  695. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfs_empty.xml +0 -0
  696. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfse_complete.xml +0 -0
  697. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfse_simple.xml +0 -0
  698. data/test/fixtures/service/response/thema/v1/consulta_nfse_por_rps/fault.xml +0 -0
  699. data/test/fixtures/service/response/thema/v1/consulta_nfse_por_rps/nfse_complete.xml +0 -0
  700. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/error.xml +0 -0
  701. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/fault.xml +0 -0
  702. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/success.xml +0 -0
  703. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/unprocessed.xml +0 -0
  704. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/unreceived.xml +0 -0
  705. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps/error.xml +0 -0
  706. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps/success.xml +0 -0
  707. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps_limitado/error.xml +0 -0
  708. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps_limitado/success.xml +0 -0
  709. data/test/fixtures/service/thema/v1/cancelar_nfse_envio.xml +0 -0
  710. data/test/fixtures/service/thema/v1/cancelar_nfse_envio_signed.xml +0 -0
  711. data/test/fixtures/service/thema/v1/enviar_lote_rps.xml +0 -0
  712. data/test/fixtures/service/thema/v1/enviar_lote_rps_signed.xml +0 -0
  713. data/test/fixtures/service/wsdl/betha/v1/cancelar_nfse.xml +0 -0
  714. data/test/fixtures/service/wsdl/betha/v1/consultar_lote_rps.xml +0 -0
  715. data/test/fixtures/service/wsdl/betha/v1/consultar_nfse.xml +0 -0
  716. data/test/fixtures/service/wsdl/betha/v1/consultar_nfse_por_rps.xml +0 -0
  717. data/test/fixtures/service/wsdl/betha/v1/consultar_situacao_lote_rps.xml +0 -0
  718. data/test/fixtures/service/wsdl/betha/v1/recepcionar_lote_rps.xml +0 -0
  719. data/test/fixtures/service/wsdl/simpliss/v1/nfseservice.xml +0 -0
  720. data/test/fixtures/service/wsdl/thema/v1/nfse_cancelamento.xml +0 -0
  721. data/test/fixtures/service/wsdl/thema/v1/nfse_consulta.xml +0 -0
  722. data/test/fixtures/service/wsdl/thema/v1/nfse_remessa.xml +0 -0
  723. data/test/test_helper.rb +0 -0
  724. metadata +35 -63
  725. data/lib/br_nfe/product/gateway/base.rb +0 -35
  726. data/lib/br_nfe/product/gateway/web_service_am.rb +0 -140
  727. data/lib/br_nfe/product/gateway/web_service_ba.rb +0 -140
  728. data/lib/br_nfe/product/gateway/web_service_ce.rb +0 -162
  729. data/lib/br_nfe/product/gateway/web_service_go.rb +0 -140
  730. data/lib/br_nfe/product/gateway/web_service_mg.rb +0 -140
  731. data/lib/br_nfe/product/gateway/web_service_ms.rb +0 -140
  732. data/lib/br_nfe/product/gateway/web_service_mt.rb +0 -140
  733. data/lib/br_nfe/product/gateway/web_service_pe.rb +0 -140
  734. data/lib/br_nfe/product/gateway/web_service_pr.rb +0 -140
  735. data/lib/br_nfe/product/gateway/web_service_rs.rb +0 -140
  736. data/lib/br_nfe/product/gateway/web_service_sp.rb +0 -140
  737. data/lib/br_nfe/product/gateway/web_service_svan.rb +0 -162
  738. data/lib/br_nfe/product/gateway/web_service_svc_an.rb +0 -131
  739. data/lib/br_nfe/product/gateway/web_service_svc_rs.rb +0 -20
  740. data/lib/br_nfe/product/gateway/web_service_svrs.rb +0 -140
  741. data/test/br_nfe/product/gateway/base_test.rb +0 -16
  742. data/test/br_nfe/product/gateway/web_service_am_test.rb +0 -242
  743. data/test/br_nfe/product/gateway/web_service_ba_test.rb +0 -242
  744. data/test/br_nfe/product/gateway/web_service_ce_test.rb +0 -242
  745. data/test/br_nfe/product/gateway/web_service_go_test.rb +0 -242
  746. data/test/br_nfe/product/gateway/web_service_mg_test.rb +0 -242
  747. data/test/br_nfe/product/gateway/web_service_ms_test.rb +0 -242
  748. data/test/br_nfe/product/gateway/web_service_mt_test.rb +0 -408
  749. data/test/br_nfe/product/gateway/web_service_pe_test.rb +0 -408
  750. data/test/br_nfe/product/gateway/web_service_pr_test.rb +0 -408
  751. data/test/br_nfe/product/gateway/web_service_rs_test.rb +0 -407
  752. data/test/br_nfe/product/gateway/web_service_sp_test.rb +0 -408
  753. data/test/br_nfe/product/gateway/web_service_svan_test.rb +0 -242
  754. data/test/br_nfe/product/gateway/web_service_svc_an_test.rb +0 -185
  755. data/test/br_nfe/product/gateway/web_service_svc_rs_test.rb +0 -185
  756. data/test/br_nfe/product/gateway/web_service_svrs_test.rb +0 -242
  757. data/test/factories/product/gateway/base.rb +0 -5
  758. data/test/factories/product/gateway/web_service_am.rb +0 -5
  759. data/test/factories/product/gateway/web_service_ba.rb +0 -5
  760. data/test/factories/product/gateway/web_service_svrs.rb +0 -5
@@ -0,0 +1,2535 @@
1
+ require 'test_helper'
2
+
3
+ describe BrNfe::Product::Reader::Nfe do
4
+ describe "XML Version 3.10" do
5
+ let(:nfe_completa) { read_fixture('product/nfe/v3_10/completa.xml') }
6
+ let(:nfe_without_proc) { read_fixture('product/nfe/v3_10/without_proc.xml') }
7
+ describe "Valores da nota fiscal" do
8
+ it "Deve carregar os totais da nota fiscal" do
9
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
10
+ invoice = reader.invoice
11
+ # Valores dos Produtos
12
+ invoice.total_icms_base_calculo.must_equal 1.0
13
+ invoice.total_icms.must_equal 2.0
14
+ invoice.total_icms_desonerado.must_equal 3.0
15
+ invoice.total_icms_fcp_uf_destino.must_equal 4.0
16
+ invoice.total_icms_uf_destino.must_equal 5.0
17
+ invoice.total_icms_uf_origem.must_equal 6.0
18
+ invoice.total_icms_base_calculo_st.must_equal 7.0
19
+ invoice.total_icms_st.must_equal 8.0
20
+ invoice.total_produtos.must_equal 1800.00
21
+ invoice.total_frete.must_equal 100.00
22
+ invoice.total_seguro.must_equal 10.00
23
+ invoice.total_desconto.must_equal 199.50
24
+ invoice.total_imposto_importacao.must_equal 1.0
25
+ invoice.total_ipi.must_equal 2.0
26
+ invoice.total_pis.must_equal 3.0
27
+ invoice.total_cofins.must_equal 4.0
28
+ invoice.total_outras_despesas.must_equal 5.0
29
+ invoice.total_nf.must_equal 1700.50
30
+ invoice.total_tributos.must_equal 157.87
31
+ # Valores dos Serviços
32
+ invoice.total_servicos.must_equal 1.0
33
+ invoice.total_servicos_base_calculo.must_equal 2.0
34
+ invoice.total_servicos_iss.must_equal 3.0
35
+ invoice.total_servicos_pis.must_equal 4.0
36
+ invoice.total_servicos_cofins.must_equal 5.0
37
+ invoice.servicos_data_prestacao.must_equal Date.parse('2017-03-20')
38
+ invoice.total_servicos_deducao.must_equal 7.0
39
+ invoice.total_servicos_outras_retencoes.must_equal 8.0
40
+ invoice.total_servicos_desconto_incondicionado.must_equal 9.0
41
+ invoice.total_servicos_desconto_condicionado.must_equal 10.0
42
+ invoice.total_servicos_iss_retido.must_equal 11.0
43
+ invoice.regime_tributario_servico.must_equal 7
44
+ # Retenções
45
+ invoice.total_retencao_pis.must_equal 50.0
46
+ invoice.total_retencao_cofins.must_equal 51.0
47
+ invoice.total_retencao_csll.must_equal 52.0
48
+ invoice.total_retencao_base_calculo_irrf.must_equal 53.0
49
+ invoice.total_retencao_irrf.must_equal 54.0
50
+ invoice.total_retencao_base_calculo_previdencia.must_equal 55.0
51
+ invoice.total_retencao_previdencia.must_equal 56.0
52
+ end
53
+ end
54
+ describe 'Dados diversos da Nota Fiscal' do
55
+ it 'Deve carregar os dados da nota fiscal' do
56
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
57
+ invoice = reader.invoice
58
+
59
+ invoice.codigo_tipo_emissao.must_equal '1'
60
+ invoice.chave_de_acesso.must_equal '170685525646000145550010000000181201601017'
61
+ invoice.codigo_nf.must_equal '20160101'
62
+ invoice.serie.must_equal '1'
63
+ invoice.numero_nf.must_equal 18
64
+ invoice.natureza_operacao.must_equal 'Venda'
65
+ invoice.forma_pagamento.must_equal '0'
66
+ invoice.modelo_nf.must_equal '55'
67
+ invoice.data_hora_emissao.must_equal Time.parse('2017-06-06T09:11:39-03:00')
68
+ invoice.data_hora_expedicao.must_equal Time.parse('2017-06-06T09:11:39-03:10')
69
+ invoice.tipo_operacao.must_equal '1'
70
+ invoice.tipo_impressao.must_equal '1'
71
+ invoice.finalidade_emissao.must_equal '2'
72
+ invoice.tipo_ambiente.must_equal '2'
73
+ invoice.consumidor_final.must_equal true
74
+ invoice.presenca_comprador.must_equal '9'
75
+ invoice.processo_emissao.must_equal '0'
76
+ invoice.versao_aplicativo.must_equal '0'
77
+ invoice.informacoes_fisco.must_equal 'INFO ao Fisco'
78
+ invoice.informacoes_contribuinte.must_equal 'Info ao Contribuinte'
79
+ # Exportação
80
+ invoice.exportacao_uf_saida.must_equal 'SC'
81
+ invoice.exportacao_local_embarque.must_equal 'Porto Sao Francisco do Sul'
82
+ invoice.exportacao_local_despacho.must_equal 'Pier 2'
83
+ end
84
+ end
85
+ describe '#Emitente' do
86
+ it "Deve ler os dados do Emitente quando a NF-e possui a tag <nfeProc>" do
87
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
88
+ emit = reader.invoice.emitente
89
+ emit.inscricao_estadual_st.must_equal ''
90
+ emit.cnae_code.must_equal ''
91
+ emit.cpf_cnpj.must_equal '85525646000145'
92
+ emit.razao_social.must_equal 'DIGBOX COMERCIO DE SISTEMAS PARA AUTOMACAO RESIDENCIAL LTDA'
93
+ emit.nome_fantasia.must_equal 'DIGBOX'
94
+ emit.telefone.must_equal '4933124411'
95
+ emit.inscricao_municipal.must_equal '326070'
96
+ emit.inscricao_estadual.must_equal '255422470'
97
+ emit.codigo_regime_tributario.must_equal '1'
98
+ emit.endereco_uf.must_equal 'SC'
99
+ emit.endereco_cep.must_equal '89805045'
100
+ emit.endereco_bairro.must_equal 'LIDER'
101
+ emit.endereco_numero.must_equal '333'
102
+ emit.endereco_nome_pais.must_equal ''
103
+ emit.endereco_logradouro.must_equal 'AV. GETULIO VARGAS - N'
104
+ emit.endereco_codigo_pais.must_equal ''
105
+ emit.endereco_complemento.must_equal ''
106
+ emit.endereco_nome_municipio.must_equal 'CHAPECO'
107
+ end
108
+ it "Deve ler os dados do Emitente quando a NF-e não possui a tag <nfeProc>" do
109
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_without_proc)
110
+ emit = reader.invoice.emitente
111
+ emit.inscricao_estadual_st.must_equal '257855416'
112
+ emit.cnae_code.must_equal ''
113
+ emit.cpf_cnpj.must_equal '10864846000204'
114
+ emit.razao_social.must_equal 'PETSUPERMARKET COM PROD PARA ANIMAIS SA'
115
+ emit.nome_fantasia.must_equal ''
116
+ emit.telefone.must_equal '8007711660'
117
+ emit.inscricao_municipal.must_equal ''
118
+ emit.inscricao_estadual.must_equal '492666714119'
119
+ emit.codigo_regime_tributario.must_equal '3'
120
+ emit.endereco_uf.must_equal 'SP'
121
+ emit.endereco_cep.must_equal '06268110'
122
+ emit.endereco_bairro.must_equal 'PQ.IND.MAZZEI'
123
+ emit.endereco_numero.must_equal '1429'
124
+ emit.endereco_nome_pais.must_equal 'BRASIL'
125
+ emit.endereco_logradouro.must_equal 'AV.LOURENCO BELLOLI'
126
+ emit.endereco_codigo_pais.must_equal '1058'
127
+ emit.endereco_complemento.must_equal '1429-1415 L60'
128
+ emit.endereco_nome_municipio.must_equal 'OSASCO'
129
+ end
130
+ end
131
+ describe '#Destinatário' do
132
+ it "Deve ler os dados do Destinatário quando a NF-e possui a tag <nfeProc>" do
133
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
134
+ dest = reader.invoice.destinatario
135
+ dest.cpf_cnpj.must_equal '22174841509'
136
+ dest.razao_social.must_equal 'NINA CLARICE'
137
+ dest.nome_fantasia.must_equal ''
138
+ dest.telefone.must_equal '4732781411'
139
+ dest.inscricao_municipal.must_equal ''
140
+ dest.inscricao_estadual.must_equal ''
141
+ dest.endereco_uf.must_equal 'SC'
142
+ dest.endereco_cep.must_equal '89237100'
143
+ dest.endereco_bairro.must_equal 'VILA NOVA'
144
+ dest.endereco_numero.must_equal '311'
145
+ dest.endereco_nome_pais.must_equal ''
146
+ dest.endereco_logradouro.must_equal 'RUA BENTO T DA ROCHA'
147
+ dest.endereco_codigo_pais.must_equal ''
148
+ dest.endereco_complemento.must_equal 'LETRA E'
149
+ dest.endereco_nome_municipio.must_equal 'JOINVILLE'
150
+ dest.suframa.must_equal ''
151
+ end
152
+ it "Deve ler os dados do Destinatário quando a NF-e não possui a tag <nfeProc>" do
153
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_without_proc)
154
+ dest = reader.invoice.destinatario
155
+ dest.cpf_cnpj.must_equal '70560009402'
156
+ dest.razao_social.must_equal 'FELIPE LUCCA LIMA'
157
+ dest.nome_fantasia.must_equal ''
158
+ dest.endereco_logradouro.must_equal 'RUA AFONSO PENA-D'
159
+ dest.endereco_numero.must_equal '444'
160
+ dest.endereco_complemento.must_equal 'PROXIMO AO POSTO'
161
+ dest.endereco_bairro.must_equal 'SAO JOAO'
162
+ dest.endereco_codigo_municipio.must_equal '4204202'
163
+ dest.endereco_nome_municipio.must_equal 'CAPINZAL'
164
+ dest.endereco_uf.must_equal 'SC'
165
+ dest.endereco_cep.must_equal '89804023'
166
+ dest.endereco_codigo_pais.must_equal '1058'
167
+ dest.endereco_nome_pais.must_equal 'BRASIL'
168
+ dest.telefone.must_equal '49991471446'
169
+ dest.indicador_ie.must_equal 9
170
+ dest.email.must_equal 'felipe_lucca@live.ie'
171
+ dest.inscricao_estadual.must_equal '99999999'
172
+ dest.suframa.must_equal '66547'
173
+ dest.inscricao_municipal.must_equal '4654564'
174
+ end
175
+ end
176
+ describe 'Transporte' do
177
+ it "Quando não há transporte deve carregar apenas a modalidade do frete" do
178
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_without_proc)
179
+ transporte = reader.invoice.transporte
180
+ transporte.modalidade_frete.must_equal '9'
181
+ transporte.retencao_valor_sevico.must_be_nil
182
+ transporte.retencao_base_calculo_icms.must_be_nil
183
+ transporte.retencao_aliquota.must_be_nil
184
+ transporte.retencao_valor_icms.must_equal 0.0
185
+ transporte.retencao_cfop.must_be_nil
186
+ transporte.retencao_codigo_municipio.must_be_nil
187
+ # transporte.forma_transporte.must_be_nil
188
+ transporte.veiculo.must_be_nil
189
+ transporte.identificacao_balsa.must_be_nil
190
+ transporte.identificacao_vagao.must_be_nil
191
+ transporte.reboques.must_be_empty
192
+ transporte.volumes.must_be_empty
193
+ transporte.transportador.must_be_nil
194
+ end
195
+ it "Quando há transporte deve carregar todas as informações do transporte" do
196
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
197
+ transporte = reader.invoice.transporte
198
+ transporte.modalidade_frete.must_equal '1'
199
+ transporte.retencao_valor_sevico.must_equal 1.0
200
+ transporte.retencao_base_calculo_icms.must_equal 2.0
201
+ transporte.retencao_aliquota.must_equal 3.0
202
+ transporte.retencao_valor_icms.must_equal 4.0
203
+ transporte.retencao_cfop.must_equal '6304'
204
+ transporte.retencao_codigo_municipio.must_equal '1720903'
205
+ transporte.forma_transporte.must_equal :veiculo
206
+ # Transportador
207
+ transp = transporte.transportador
208
+ transp.cpf_cnpj.must_equal '15114195000178'
209
+ transp.razao_social.must_equal 'SARAH E VALENTINA ALIMENTOS LTDA'
210
+ transp.inscricao_estadual.must_equal '25464478'
211
+ transp.endereco.descricao.must_equal 'CAPIBARIBE-RUA ITAJAI-453'
212
+ transp.endereco_uf.must_equal 'PE'
213
+ transp.endereco_nome_municipio.must_equal 'SAO LOURENCO DA MATA'
214
+
215
+ # Veiculo
216
+ transporte.veiculo.placa.must_equal 'UJC5786'
217
+ transporte.veiculo.uf.must_equal 'SC'
218
+ transporte.veiculo.rntc.must_equal '215423'
219
+ transporte.identificacao_balsa.must_be_nil
220
+ transporte.identificacao_vagao.must_be_nil
221
+ # Reboques
222
+ transporte.reboques.size.must_equal 2
223
+ transporte.reboques[0].placa.must_equal 'UJC5786'
224
+ transporte.reboques[0].uf.must_equal 'SC'
225
+ transporte.reboques[0].rntc.must_equal '215423'
226
+ transporte.reboques[1].placa.must_equal 'DUO1107'
227
+ transporte.reboques[1].uf.must_equal 'RS'
228
+ transporte.reboques[1].rntc.must_equal '654899'
229
+ # Volumes
230
+ transporte.volumes.size.must_equal 2
231
+ transporte.volumes[0].quantidade.must_equal '5'
232
+ transporte.volumes[0].especie.must_equal 'CAIXA'
233
+ transporte.volumes[0].marca.must_equal 'DUO'
234
+ transporte.volumes[0].numercao.must_equal '1'
235
+ transporte.volumes[0].peso_liquido.must_equal 10.000
236
+ transporte.volumes[0].peso_bruto.must_equal 11.000
237
+ transporte.volumes[0].lacres.must_equal( ['LAC001', 'LAC002'] )
238
+ transporte.volumes[1].quantidade.must_equal '10'
239
+ transporte.volumes[1].especie.must_equal 'SACOLA'
240
+ transporte.volumes[1].marca.must_equal 'BR'
241
+ transporte.volumes[1].numercao.must_equal '2'
242
+ transporte.volumes[1].peso_liquido.must_equal 2.000
243
+ transporte.volumes[1].peso_bruto.must_equal 2.250
244
+ transporte.volumes[1].lacres.must_equal( ['LAC003', 'LAC004'] )
245
+ end
246
+ end
247
+ describe '#EndereçoRetirada' do
248
+ it "Quando possui endereço de retirada deve instanciar" do
249
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
250
+ endereco = reader.invoice.endereco_retirada
251
+ reader.invoice.endereco_retirada_cpf_cnpj.must_equal '23020443000140'
252
+ endereco.logradouro.must_equal 'RUA AFONSO PENA - D'
253
+ endereco.numero.must_equal '420'
254
+ endereco.complemento.must_equal 'D'
255
+ endereco.bairro.must_equal 'SAO CRISTOVAO'
256
+ endereco.codigo_municipio.must_equal '4204202'
257
+ endereco.nome_municipio.must_equal 'CHAPECO'
258
+ endereco.uf.must_equal 'SC'
259
+ end
260
+ it "Quando não possui endereço de retirada deve ficar nil" do
261
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_without_proc)
262
+ reader.invoice.endereco_retirada.must_be_nil
263
+ reader.invoice.endereco_retirada_cpf_cnpj.must_be_nil
264
+ end
265
+ end
266
+ describe '#EndereçoEntrega' do
267
+ it "Quando possui endereço de entrega deve instanciar" do
268
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
269
+ endereco = reader.invoice.endereco_entrega
270
+ reader.invoice.endereco_entrega_cpf_cnpj.must_equal '74604254273'
271
+ endereco.logradouro.must_equal 'RUA JUCA BALA'
272
+ endereco.numero.must_equal '444'
273
+ endereco.complemento.must_equal 'D'
274
+ endereco.bairro.must_equal 'SAO JUCA'
275
+ endereco.codigo_municipio.must_equal '4204204'
276
+ endereco.nome_municipio.must_equal 'SAO CARLOS'
277
+ endereco.uf.must_equal 'SC'
278
+ end
279
+ it "Quando não possui endereço de entrega deve ficar nil" do
280
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_without_proc)
281
+ reader.invoice.endereco_entrega.must_be_nil
282
+ reader.invoice.endereco_entrega_cpf_cnpj.must_be_nil
283
+ end
284
+ end
285
+ describe '#Fatura' do
286
+ it "Quando não há fatura não deve isntanciar o objeto" do
287
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_without_proc)
288
+ reader.invoice.fatura.must_be_nil
289
+ end
290
+ it "Quando há fatura deve isntanciar o objeto com os valores" do
291
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
292
+ fat = reader.invoice.fatura
293
+ fat.numero_fatura.must_equal 'FAT646498'
294
+ fat.valor_original.must_equal 2000.00
295
+ fat.valor_desconto.must_equal 199.50
296
+ fat.valor_liquido.must_equal 1800.50
297
+ fat.duplicatas.size.must_equal 2
298
+ fat.duplicatas[0].numero_duplicata.must_equal 'DUP646498'
299
+ fat.duplicatas[0].vencimento.must_equal Date.parse('2017-07-06')
300
+ fat.duplicatas[0].total.must_equal 900.25
301
+
302
+ fat.duplicatas[1].numero_duplicata.must_equal 'DUP646499'
303
+ fat.duplicatas[1].vencimento.must_equal Date.parse('2017-08-06')
304
+ fat.duplicatas[1].total.must_equal 900.25
305
+ end
306
+ end
307
+ describe '#Pagamentos' do
308
+ it "Se não possui nenhum pagamento não deve instanciar pagamento vazio" do
309
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_without_proc)
310
+ reader.invoice.pagamentos.must_be_empty
311
+ end
312
+ it "Deve instanciar os pagamentos se existirs" do
313
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
314
+ pagamentos = reader.invoice.pagamentos
315
+ pagamentos.size.must_equal 2
316
+ pagamentos[0].forma_pagamento.must_equal '03'
317
+ pagamentos[0].total.must_equal 900.25
318
+ pagamentos[0].tipo_integracao.must_equal '2'
319
+ pagamentos[0].cartao_cnpj.must_equal '00259231000114'
320
+ pagamentos[0].cartao_bandeira.must_equal '01'
321
+ pagamentos[0].cartao_autorizacao.must_equal '6498916984994'
322
+
323
+ pagamentos[1].forma_pagamento.must_equal '01'
324
+ pagamentos[1].total.must_equal 900.25
325
+ pagamentos[1].tipo_integracao.must_equal ''
326
+ pagamentos[1].cartao_cnpj.must_be_nil
327
+ pagamentos[1].cartao_bandeira.must_equal ''
328
+ pagamentos[1].cartao_autorizacao.must_equal ''
329
+ end
330
+ end
331
+ describe '#Protocolo de autorização e situação da NF-e' do
332
+ it "Quando a nota fiscal não tem protocolo deve setar com a situação de rascunho" do
333
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_without_proc)
334
+ nf = reader.invoice
335
+ nf.protocol.must_be_nil
336
+ nf.digest_value.must_be_nil
337
+ nf.processed_at.must_be_nil
338
+ nf.status_code.must_be_nil
339
+ nf.situation.must_equal :draft
340
+ end
341
+ it "Quando a nota fiscal possui o protocolo de autorização deve trazer o protocolo e situação :authorized" do
342
+ reader = BrNfe::Product::Reader::Nfe.new(nfe_completa)
343
+ nf = reader.invoice
344
+ nf.protocol.must_equal '342170067070649'
345
+ nf.digest_value.must_equal '2kA5WLPGvBWAruvJmk6HhNxO/vI='
346
+ nf.processed_at.must_equal Time.parse('2017-06-02T10:10:07-03:00')
347
+ nf.status_code.must_equal '100'
348
+ nf.situation.must_equal :authorized
349
+ end
350
+ it "Quando a nota fiscal possui protocolo de autorização e de cancelamento deve trazer o status como :canceled" do
351
+ reader = BrNfe::Product::Reader::Nfe.new(read_fixture('product/nfe/v3_10/cancelada.xml'))
352
+ nf = reader.invoice
353
+ nf.protocol.must_equal '342170035680552'
354
+ nf.digest_value.must_equal '2kA5WLPGvBWAruvJmk6HhNxO/vI='
355
+ nf.processed_at.must_equal Time.parse('2017-03-24T10:59:56-03:00')
356
+ nf.status_code.must_equal '135'
357
+ nf.situation.must_equal :canceled
358
+ end
359
+ end
360
+ describe '#Itens da nota fiscal' do
361
+ let(:invoice) { BrNfe::Product::Reader::Nfe.new(nfe_completa).invoice }
362
+ it "Deve ler o Item 1 - ICMS-00" do
363
+ item = invoice.itens[0]
364
+ # Atributos
365
+ item.tipo_produto.must_equal :product
366
+ item.codigo_produto.must_equal '018-1520'
367
+ item.codigo_ean.must_equal ''
368
+ item.descricao_produto.must_equal 'PIX - CABO HDMI 15m 2.0 4K ULTRAHD'
369
+ item.codigo_ncm.must_equal '85444200'
370
+ item.codigos_nve.must_equal ['55556','66548']
371
+ item.codigo_extipi.must_equal ''
372
+ item.cfop.must_equal '5101'
373
+ item.unidade_comercial.must_equal 'PC'
374
+ item.quantidade_comercial.must_equal 1.0
375
+ item.valor_unitario_comercial.must_equal 261.25
376
+ item.valor_total_produto.must_equal 261.25
377
+ item.codigo_ean_tributavel.must_equal '33546896546321'
378
+ item.unidade_tributavel.must_equal 'PC'
379
+ item.quantidade_tributavel.must_equal 1.0
380
+ item.valor_unitario_tributavel.must_equal 261.25
381
+ item.total_frete.must_equal 0.0
382
+ item.total_seguro.must_equal 0.0
383
+ item.total_desconto.must_equal 0.0
384
+ item.total_outros.must_equal 0.0
385
+ item.soma_total_nfe.must_equal true
386
+ item.codigo_cest.must_equal ''
387
+ item.numero_pedido_compra.must_equal '654879'
388
+ item.item_pedido_compra.must_equal '7'
389
+ item.numero_fci.must_equal ''
390
+ item.percentual_devolucao.must_equal 3.0
391
+ item.total_ipi_devolucao.must_equal 1.58
392
+ item.informacoes_adicionais.must_equal 'Info adicionais produto'
393
+ item.total_tributos.must_equal 0.0
394
+
395
+ ###################### Associações HasMany ######################
396
+ item.declaracoes_importacao.must_be_empty
397
+ item.detalhes_exportacao.must_be_empty
398
+
399
+ ###################### Associações HasOne #########################
400
+ ### ICMS
401
+ icms = item.icms
402
+ icms.origem.must_equal 0
403
+ icms.codigo_cst.must_equal '00'
404
+ icms.modalidade_base_calculo.must_equal 3
405
+ icms.reducao_base_calculo.must_equal 0.0
406
+ icms.total_base_calculo.must_equal 264.46
407
+ icms.aliquota.must_equal 2.0
408
+ icms.total.must_equal 5.29
409
+ icms.modalidade_base_calculo_st.must_be_nil
410
+ icms.mva_st.must_equal 0.0
411
+ icms.reducao_base_calculo_st.must_equal 0.0
412
+ icms.total_base_calculo_st.must_equal 0.0
413
+ icms.aliquota_st.must_equal 0.0
414
+ icms.total_st.must_equal 0.0
415
+ icms.total_desoneracao.must_equal 0.0
416
+ icms.motivo_desoneracao.must_be_nil
417
+ icms.total_icms_operacao.must_equal 0.0
418
+ icms.percentual_diferimento.must_equal 0.0
419
+ icms.total_icms_diferido.must_equal 0.0
420
+ icms.total_base_calculo_st_retido.must_equal 0.0
421
+ icms.total_st_retido.must_equal 0.0
422
+ icms.aliquota_credito_sn.must_equal 0.0
423
+ icms.total_credito_sn.must_equal 0.0
424
+ # IPI
425
+ ipi = item.ipi
426
+ ipi.codigo_cst.must_equal '52'
427
+ ipi.classe_enquadramento.must_equal ''
428
+ ipi.cnpj_produtor.must_equal ''
429
+ ipi.codigo_selo.must_equal ''
430
+ ipi.quantidade_selo.must_equal ''
431
+ ipi.codigo_enquadramento.must_equal '999'
432
+ ipi.base_calculo.must_equal 0.0
433
+ ipi.aliquota.must_equal 0.0
434
+ ipi.quantidade_unidade.must_equal 0.0
435
+ ipi.total_unidade.must_equal 0.0
436
+ ipi.total.must_equal 0.0
437
+ # PIS
438
+ pis = item.pis
439
+ pis.codigo_cst.must_equal '03'
440
+ pis.total_base_calculo.must_equal 0.0
441
+ pis.aliquota.must_equal 0.0
442
+ pis.total.must_equal 5.56
443
+ pis.quantidade_vendida.must_equal 1.0
444
+ pis.total_aliquota.must_equal 5.56
445
+ # COFINS
446
+ cofins = item.cofins
447
+ cofins.codigo_cst.must_equal '01'
448
+ cofins.total_base_calculo.must_equal 261.25
449
+ cofins.aliquota.must_equal 0.0
450
+ cofins.total.must_equal 0.0
451
+ cofins.quantidade_vendida.must_equal 0.0
452
+ cofins.total_aliquota.must_equal 0.0
453
+ # Importação
454
+ item.importacao.must_be_nil
455
+ # ISSQN
456
+ item.issqn.must_be_nil
457
+ # PIS-ST
458
+ item.pis_st.must_be_nil
459
+ # COFINS-ST
460
+ item.cofins_st.must_be_nil
461
+ # ICMS UF DESTINO
462
+ icms_uf_destino = item.icms_uf_destino
463
+ icms_uf_destino.total_base_calculo.must_equal 0.0
464
+ icms_uf_destino.percentual_fcp.must_equal 0.0
465
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
466
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
467
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
468
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
469
+ icms_uf_destino.total_destino.must_equal 0.0
470
+ icms_uf_destino.total_origem.must_equal 0.0
471
+ end
472
+ it "Deve ler o Item 2 - ICMS-10" do
473
+ item = invoice.itens[1]
474
+ # Atributos
475
+ item.tipo_produto.must_equal :product
476
+ item.codigo_produto.must_equal '6450'
477
+ item.codigo_ean.must_equal ''
478
+ item.descricao_produto.must_equal 'DISCABOS - PARALELO SPEAKER 2x1,50mm2 PT'
479
+ item.codigo_ncm.must_equal '85444900'
480
+ item.codigo_cest.must_equal ''
481
+ item.codigos_nve.must_equal []
482
+ item.codigo_extipi.must_equal ''
483
+ item.cfop.must_equal '5253'
484
+ item.unidade_comercial.must_equal 'MT'
485
+ item.quantidade_comercial.must_equal 70.0
486
+ item.valor_unitario_comercial.must_equal 4.62
487
+ item.valor_total_produto.must_equal 313.40
488
+ item.codigo_ean_tributavel.must_equal ''
489
+ item.unidade_tributavel.must_equal 'MT'
490
+ item.quantidade_tributavel.must_equal 70.0
491
+ item.valor_unitario_tributavel.must_equal 4.62
492
+ item.total_frete.must_equal 5.0
493
+ item.total_seguro.must_equal 5.0
494
+ item.total_desconto.must_equal 10.0
495
+ item.total_outros.must_equal 5.0
496
+ item.soma_total_nfe.must_equal true
497
+ item.numero_pedido_compra.must_equal ''
498
+ item.item_pedido_compra.must_equal ''
499
+ item.numero_fci.must_equal ''
500
+ item.percentual_devolucao.must_equal 0.0
501
+ item.total_ipi_devolucao.must_equal 0.0
502
+ item.informacoes_adicionais.must_equal ''
503
+ item.total_tributos.must_equal 5.0
504
+
505
+ ###################### Associações HasMany ######################
506
+ item.declaracoes_importacao.must_be_empty
507
+ item.detalhes_exportacao.must_be_empty
508
+
509
+ ###################### Associações HasOne #########################
510
+ ### ICMS
511
+ icms = item.icms
512
+ icms.origem.must_equal 0
513
+ icms.codigo_cst.must_equal '10'
514
+ icms.modalidade_base_calculo.must_equal 3
515
+ icms.reducao_base_calculo.must_equal 0.0
516
+ icms.total_base_calculo.must_equal 334.67
517
+ icms.aliquota.must_equal 2.0
518
+ icms.total.must_equal 6.69
519
+ icms.modalidade_base_calculo_st.must_equal 1
520
+ icms.mva_st.must_equal 10.0
521
+ icms.reducao_base_calculo_st.must_equal 10.0
522
+ icms.total_base_calculo_st.must_equal 331.33
523
+ icms.aliquota_st.must_equal 40.0
524
+ icms.total_st.must_equal 92.37
525
+ icms.total_desoneracao.must_equal 0.0
526
+ icms.motivo_desoneracao.must_be_nil
527
+ icms.total_icms_operacao.must_equal 0.0
528
+ icms.percentual_diferimento.must_equal 0.0
529
+ icms.total_icms_diferido.must_equal 0.0
530
+ icms.total_base_calculo_st_retido.must_equal 0.0
531
+ icms.total_st_retido.must_equal 0.0
532
+ icms.aliquota_credito_sn.must_equal 0.0
533
+ icms.total_credito_sn.must_equal 0.0
534
+ # IPI
535
+ ipi = item.ipi
536
+ ipi.codigo_enquadramento.must_equal '999'
537
+ ipi.codigo_cst.must_equal '50'
538
+ ipi.classe_enquadramento.must_equal ''
539
+ ipi.cnpj_produtor.must_equal ''
540
+ ipi.codigo_selo.must_equal ''
541
+ ipi.quantidade_selo.must_equal ''
542
+ ipi.base_calculo.must_equal 313.40
543
+ ipi.aliquota.must_equal 2.0
544
+ ipi.quantidade_unidade.must_equal 0.0
545
+ ipi.total_unidade.must_equal 0.0
546
+ ipi.total.must_equal 6.27
547
+ # PIS
548
+ pis = item.pis
549
+ pis.codigo_cst.must_equal '05'
550
+ pis.total_base_calculo.must_equal 0.0
551
+ pis.aliquota.must_equal 0.0
552
+ pis.total.must_equal 0.0
553
+ pis.quantidade_vendida.must_equal 0.0
554
+ pis.total_aliquota.must_equal 0.0
555
+ # COFINS
556
+ cofins = item.cofins
557
+ cofins.codigo_cst.must_equal '01'
558
+ cofins.total_base_calculo.must_equal 313.40
559
+ cofins.aliquota.must_equal 2.5
560
+ cofins.total.must_equal 7.84
561
+ cofins.quantidade_vendida.must_equal 0.0
562
+ cofins.total_aliquota.must_equal 0.0
563
+ # Importação
564
+ item.importacao.must_be_nil
565
+ # ISSQN
566
+ item.issqn.must_be_nil
567
+ # PIS-ST
568
+ item.pis_st.must_be_nil
569
+ # COFINS-ST
570
+ item.cofins_st.must_be_nil
571
+ # ICMS UF DESTINO
572
+ icms_uf_destino = item.icms_uf_destino
573
+ icms_uf_destino.total_base_calculo.must_equal 0.0
574
+ icms_uf_destino.percentual_fcp.must_equal 0.0
575
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
576
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
577
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
578
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
579
+ icms_uf_destino.total_destino.must_equal 0.0
580
+ icms_uf_destino.total_origem.must_equal 0.0
581
+ end
582
+ it "Deve ler o Item 3 - ICMS-20" do
583
+ item = invoice.itens[2]
584
+ # Atributos
585
+ item.tipo_produto.must_equal :product
586
+ item.codigo_produto.must_equal '11114'
587
+ item.codigo_ean.must_equal ''
588
+ item.descricao_produto.must_equal 'CONTROLLER - FIO PP 3X1,00MM2 750V PT'
589
+ item.codigo_ncm.must_equal '85444900'
590
+ item.codigo_cest.must_equal ''
591
+ item.codigos_nve.must_equal []
592
+ item.codigo_extipi.must_equal ''
593
+ item.cfop.must_equal '5101'
594
+ item.unidade_comercial.must_equal 'MT'
595
+ item.quantidade_comercial.must_equal 30.0
596
+ item.valor_unitario_comercial.must_equal 5.28
597
+ item.valor_total_produto.must_equal 158.4
598
+ item.codigo_ean_tributavel.must_equal ''
599
+ item.unidade_tributavel.must_equal 'MT'
600
+ item.quantidade_tributavel.must_equal 30.0
601
+ item.valor_unitario_tributavel.must_equal 5.28
602
+ item.total_frete.must_equal 0.0
603
+ item.total_seguro.must_equal 0.0
604
+ item.total_desconto.must_equal 0.0
605
+ item.total_outros.must_equal 0.0
606
+ item.soma_total_nfe.must_equal false
607
+ item.numero_pedido_compra.must_equal ''
608
+ item.item_pedido_compra.must_equal ''
609
+ item.numero_fci.must_equal ''
610
+ item.percentual_devolucao.must_equal 0.0
611
+ item.total_ipi_devolucao.must_equal 0.0
612
+ item.informacoes_adicionais.must_equal ''
613
+ item.total_tributos.must_equal 0.0
614
+
615
+ ###################### Associações HasMany ######################
616
+ item.declaracoes_importacao.must_be_empty
617
+ item.detalhes_exportacao.must_be_empty
618
+
619
+ ###################### Associações HasOne #########################
620
+ ### ICMS
621
+ icms = item.icms
622
+ icms.origem.must_equal 0
623
+ icms.codigo_cst.must_equal '20'
624
+ icms.modalidade_base_calculo.must_equal 3
625
+ icms.reducao_base_calculo.must_equal 10.0
626
+ icms.total_base_calculo.must_equal 142.56
627
+ icms.aliquota.must_equal 25.0
628
+ icms.total.must_equal 35.64
629
+ icms.modalidade_base_calculo_st.must_be_nil
630
+ icms.mva_st.must_equal 0.0
631
+ icms.reducao_base_calculo_st.must_equal 0.0
632
+ icms.total_base_calculo_st.must_equal 0.0
633
+ icms.aliquota_st.must_equal 0.0
634
+ icms.total_st.must_equal 0.0
635
+ icms.total_desoneracao.must_equal 0.0
636
+ icms.motivo_desoneracao.must_be_nil
637
+ icms.total_icms_operacao.must_equal 0.0
638
+ icms.percentual_diferimento.must_equal 0.0
639
+ icms.total_icms_diferido.must_equal 0.0
640
+ icms.total_base_calculo_st_retido.must_equal 0.0
641
+ icms.total_st_retido.must_equal 0.0
642
+ icms.aliquota_credito_sn.must_equal 0.0
643
+ icms.total_credito_sn.must_equal 0.0
644
+ # IPI
645
+ item.ipi.must_be_nil
646
+ # PIS
647
+ pis = item.pis
648
+ pis.codigo_cst.must_equal '07'
649
+ pis.total_base_calculo.must_equal 0.0
650
+ pis.aliquota.must_equal 0.0
651
+ pis.total.must_equal 0.0
652
+ pis.quantidade_vendida.must_equal 0.0
653
+ pis.total_aliquota.must_equal 0.0
654
+ # COFINS
655
+ cofins = item.cofins
656
+ cofins.codigo_cst.must_equal '07'
657
+ cofins.total_base_calculo.must_equal 0.0
658
+ cofins.aliquota.must_equal 0.0
659
+ cofins.total.must_equal 0.0
660
+ cofins.quantidade_vendida.must_equal 0.0
661
+ cofins.total_aliquota.must_equal 0.0
662
+ # Importação
663
+ item.importacao.must_be_nil
664
+ # ISSQN
665
+ item.issqn.must_be_nil
666
+ # PIS-ST
667
+ item.pis_st.must_be_nil
668
+ # COFINS-ST
669
+ item.cofins_st.must_be_nil
670
+ # ICMS UF DESTINO
671
+ icms_uf_destino = item.icms_uf_destino
672
+ icms_uf_destino.total_base_calculo.must_equal 0.0
673
+ icms_uf_destino.percentual_fcp.must_equal 0.0
674
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
675
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
676
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
677
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
678
+ icms_uf_destino.total_destino.must_equal 0.0
679
+ icms_uf_destino.total_origem.must_equal 0.0
680
+ end
681
+ it "Deve ler o Item 4 - ICMS-30" do
682
+ item = invoice.itens[3]
683
+ # Atributos
684
+ item.tipo_produto.must_equal :product
685
+ item.codigo_produto.must_equal 'CM640'
686
+ item.codigo_ean.must_equal ''
687
+ item.descricao_produto.must_equal 'AERTECNICA - ACOPLADOR PARA RESPIRO MOD CENTR'
688
+ item.codigo_ncm.must_equal '85087000'
689
+ item.codigo_cest.must_equal ''
690
+ item.codigos_nve.must_equal []
691
+ item.codigo_extipi.must_equal ''
692
+ item.cfop.must_equal '5102'
693
+ item.unidade_comercial.must_equal 'PC'
694
+ item.quantidade_comercial.must_equal 6.0
695
+ item.valor_unitario_comercial.must_equal 95.44
696
+ item.valor_total_produto.must_equal 572.64
697
+ item.codigo_ean_tributavel.must_equal ''
698
+ item.unidade_tributavel.must_equal 'PC'
699
+ item.quantidade_tributavel.must_equal 6.0
700
+ item.valor_unitario_tributavel.must_equal 95.44
701
+ item.total_frete.must_equal 1.0
702
+ item.total_seguro.must_equal 1.0
703
+ item.total_desconto.must_equal 0.0
704
+ item.total_outros.must_equal 1.0
705
+ item.soma_total_nfe.must_equal true
706
+ item.numero_pedido_compra.must_equal ''
707
+ item.item_pedido_compra.must_equal ''
708
+ item.numero_fci.must_equal ''
709
+ item.percentual_devolucao.must_equal 0.0
710
+ item.total_ipi_devolucao.must_equal 0.0
711
+ item.informacoes_adicionais.must_equal ''
712
+ item.total_tributos.must_equal 1.0
713
+
714
+ ###################### Associações HasMany ######################
715
+ item.declaracoes_importacao.must_be_empty
716
+ item.detalhes_exportacao.must_be_empty
717
+
718
+ ###################### Associações HasOne #########################
719
+ ### ICMS
720
+ icms = item.icms
721
+ icms.origem.must_equal 0
722
+ icms.codigo_cst.must_equal '30'
723
+ icms.modalidade_base_calculo.must_be_nil
724
+ icms.reducao_base_calculo.must_equal 0.0
725
+ icms.total_base_calculo.must_equal 0.0
726
+ icms.aliquota.must_equal 0.0
727
+ icms.total.must_equal 0.0
728
+
729
+ icms.modalidade_base_calculo_st.must_equal 4
730
+ icms.mva_st.must_equal 40.0
731
+ icms.reducao_base_calculo_st.must_equal 5.0
732
+ icms.total_base_calculo_st.must_equal 765.60
733
+ icms.aliquota_st.must_equal 3.5
734
+ icms.total_st.must_equal 26.22
735
+ icms.total_desoneracao.must_equal 0.0
736
+ icms.motivo_desoneracao.must_be_nil
737
+ icms.total_icms_operacao.must_equal 0.0
738
+ icms.percentual_diferimento.must_equal 0.0
739
+ icms.total_icms_diferido.must_equal 0.0
740
+ icms.total_base_calculo_st_retido.must_equal 0.0
741
+ icms.total_st_retido.must_equal 0.0
742
+ icms.aliquota_credito_sn.must_equal 0.0
743
+ icms.total_credito_sn.must_equal 0.0
744
+ # IPI
745
+ item.ipi.must_be_nil
746
+ # PIS
747
+ pis = item.pis
748
+ pis.codigo_cst.must_equal '07'
749
+ pis.total_base_calculo.must_equal 0.0
750
+ pis.aliquota.must_equal 0.0
751
+ pis.total.must_equal 0.0
752
+ pis.quantidade_vendida.must_equal 0.0
753
+ pis.total_aliquota.must_equal 0.0
754
+ # COFINS
755
+ cofins = item.cofins
756
+ cofins.codigo_cst.must_equal '07'
757
+ cofins.total_base_calculo.must_equal 0.0
758
+ cofins.aliquota.must_equal 0.0
759
+ cofins.total.must_equal 0.0
760
+ cofins.quantidade_vendida.must_equal 0.0
761
+ cofins.total_aliquota.must_equal 0.0
762
+ # Importação
763
+ item.importacao.must_be_nil
764
+ # ISSQN
765
+ item.issqn.must_be_nil
766
+ # PIS-ST
767
+ item.pis_st.must_be_nil
768
+ # COFINS-ST
769
+ item.cofins_st.must_be_nil
770
+ # ICMS UF DESTINO
771
+ icms_uf_destino = item.icms_uf_destino
772
+ icms_uf_destino.total_base_calculo.must_equal 0.0
773
+ icms_uf_destino.percentual_fcp.must_equal 0.0
774
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
775
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
776
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
777
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
778
+ icms_uf_destino.total_destino.must_equal 0.0
779
+ icms_uf_destino.total_origem.must_equal 0.0
780
+ end
781
+ it "Deve ler o Item 5 - ICMS-40" do
782
+ item = invoice.itens[4]
783
+ # Atributos
784
+ item.tipo_produto.must_equal :product
785
+ item.codigo_produto.must_equal '241088'
786
+ item.codigo_ean.must_equal ''
787
+ item.descricao_produto.must_equal 'BELKIN - BRACADEIRA SMARTPHONE PTO/AMAR'
788
+ item.codigo_ncm.must_equal '42023200'
789
+ item.codigo_cest.must_equal ''
790
+ item.codigos_nve.must_equal []
791
+ item.codigo_extipi.must_equal ''
792
+ item.cfop.must_equal '5103'
793
+ item.unidade_comercial.must_equal 'PC'
794
+ item.quantidade_comercial.must_equal 70.0
795
+ item.valor_unitario_comercial.must_equal 56.99
796
+ item.valor_total_produto.must_equal 3_989.30
797
+ item.codigo_ean_tributavel.must_equal ''
798
+ item.unidade_tributavel.must_equal 'PC'
799
+ item.quantidade_tributavel.must_equal 70.0
800
+ item.valor_unitario_tributavel.must_equal 56.99
801
+ item.total_frete.must_equal 0.0
802
+ item.total_seguro.must_equal 0.0
803
+ item.total_desconto.must_equal 0.0
804
+ item.total_outros.must_equal 0.0
805
+ item.soma_total_nfe.must_equal true
806
+ item.numero_pedido_compra.must_equal ''
807
+ item.item_pedido_compra.must_equal ''
808
+ item.numero_fci.must_equal ''
809
+ item.percentual_devolucao.must_equal 0.0
810
+ item.total_ipi_devolucao.must_equal 0.0
811
+ item.informacoes_adicionais.must_equal ''
812
+ item.total_tributos.must_equal 0.0
813
+
814
+ ###################### Associações HasMany ######################
815
+ item.declaracoes_importacao.must_be_empty
816
+ item.detalhes_exportacao.must_be_empty
817
+
818
+ ###################### Associações HasOne #########################
819
+ ### ICMS
820
+ icms = item.icms
821
+ icms.origem.must_equal 2
822
+ icms.codigo_cst.must_equal '40'
823
+ icms.modalidade_base_calculo.must_be_nil
824
+ icms.reducao_base_calculo.must_equal 0.0
825
+ icms.total_base_calculo.must_equal 0.0
826
+ icms.aliquota.must_equal 0.0
827
+ icms.total.must_equal 0.0
828
+ icms.modalidade_base_calculo_st.must_be_nil
829
+ icms.mva_st.must_equal 0.0
830
+ icms.reducao_base_calculo_st.must_equal 0.0
831
+ icms.total_base_calculo_st.must_equal 0.0
832
+ icms.aliquota_st.must_equal 0.0
833
+ icms.total_st.must_equal 0.0
834
+ icms.total_desoneracao.must_equal 0.0
835
+ icms.motivo_desoneracao.must_be_nil
836
+ icms.total_icms_operacao.must_equal 0.0
837
+ icms.percentual_diferimento.must_equal 0.0
838
+ icms.total_icms_diferido.must_equal 0.0
839
+ icms.total_base_calculo_st_retido.must_equal 0.0
840
+ icms.total_st_retido.must_equal 0.0
841
+ icms.aliquota_credito_sn.must_equal 0.0
842
+ icms.total_credito_sn.must_equal 0.0
843
+ # IPI
844
+ ipi = item.ipi
845
+ ipi.codigo_enquadramento.must_equal '999'
846
+ ipi.codigo_cst.must_equal '55'
847
+ ipi.classe_enquadramento.must_equal ''
848
+ ipi.cnpj_produtor.must_equal ''
849
+ ipi.codigo_selo.must_equal ''
850
+ ipi.quantidade_selo.must_equal ''
851
+ ipi.base_calculo.must_equal 0.0
852
+ ipi.aliquota.must_equal 0.0
853
+ ipi.quantidade_unidade.must_equal 0.0
854
+ ipi.total_unidade.must_equal 0.0
855
+ ipi.total.must_equal 0.0
856
+ # PIS
857
+ pis = item.pis
858
+ pis.codigo_cst.must_equal '07'
859
+ pis.total_base_calculo.must_equal 0.0
860
+ pis.aliquota.must_equal 0.0
861
+ pis.total.must_equal 0.0
862
+ pis.quantidade_vendida.must_equal 0.0
863
+ pis.total_aliquota.must_equal 0.0
864
+ # COFINS
865
+ cofins = item.cofins
866
+ cofins.codigo_cst.must_equal '07'
867
+ cofins.total_base_calculo.must_equal 0.0
868
+ cofins.aliquota.must_equal 0.0
869
+ cofins.total.must_equal 0.0
870
+ cofins.quantidade_vendida.must_equal 0.0
871
+ cofins.total_aliquota.must_equal 0.0
872
+ # Importação
873
+ item.importacao.must_be_nil
874
+ # ISSQN
875
+ item.issqn.must_be_nil
876
+ # PIS-ST
877
+ item.pis_st.must_be_nil
878
+ # COFINS-ST
879
+ item.cofins_st.must_be_nil
880
+ # ICMS UF DESTINO
881
+ icms_uf_destino = item.icms_uf_destino
882
+ icms_uf_destino.total_base_calculo.must_equal 0.0
883
+ icms_uf_destino.percentual_fcp.must_equal 0.0
884
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
885
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
886
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
887
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
888
+ icms_uf_destino.total_destino.must_equal 0.0
889
+ icms_uf_destino.total_origem.must_equal 0.0
890
+ end
891
+ it "Deve ler o Item 6 - ICMS-41" do
892
+ item = invoice.itens[5]
893
+ # Atributos
894
+ item.tipo_produto.must_equal :product
895
+ item.codigo_produto.must_equal '0000936'
896
+ item.codigo_ean.must_equal ''
897
+ item.descricao_produto.must_equal 'MIL EMBALAGENS - BOBINA PLASTICO BOLHA'
898
+ item.codigo_ncm.must_equal '39211900'
899
+ item.codigo_cest.must_equal ''
900
+ item.codigos_nve.must_equal []
901
+ item.codigo_extipi.must_equal ''
902
+ item.cfop.must_equal '5102'
903
+ item.unidade_comercial.must_equal 'PC'
904
+ item.quantidade_comercial.must_equal 2.0
905
+ item.valor_unitario_comercial.must_equal 100.0
906
+ item.valor_total_produto.must_equal 200.0
907
+ item.codigo_ean_tributavel.must_equal ''
908
+ item.unidade_tributavel.must_equal 'PC'
909
+ item.quantidade_tributavel.must_equal 2.0
910
+ item.valor_unitario_tributavel.must_equal 100.0
911
+ item.total_frete.must_equal 0.0
912
+ item.total_seguro.must_equal 0.0
913
+ item.total_desconto.must_equal 0.0
914
+ item.total_outros.must_equal 0.0
915
+ item.soma_total_nfe.must_equal true
916
+ item.numero_pedido_compra.must_equal ''
917
+ item.item_pedido_compra.must_equal ''
918
+ item.numero_fci.must_equal ''
919
+ item.percentual_devolucao.must_equal 0.0
920
+ item.total_ipi_devolucao.must_equal 0.0
921
+ item.informacoes_adicionais.must_equal ''
922
+ item.total_tributos.must_equal 0.0
923
+
924
+ ###################### Associações HasMany ######################
925
+ item.declaracoes_importacao.must_be_empty
926
+ item.detalhes_exportacao.must_be_empty
927
+
928
+ ###################### Associações HasOne #########################
929
+ ### ICMS
930
+ icms = item.icms
931
+ icms.origem.must_equal 7
932
+ icms.codigo_cst.must_equal '41'
933
+ icms.modalidade_base_calculo.must_be_nil
934
+ icms.reducao_base_calculo.must_equal 0.0
935
+ icms.total_base_calculo.must_equal 0.0
936
+ icms.aliquota.must_equal 0.0
937
+ icms.total.must_equal 0.0
938
+ icms.modalidade_base_calculo_st.must_be_nil
939
+ icms.mva_st.must_equal 0.0
940
+ icms.reducao_base_calculo_st.must_equal 0.0
941
+ icms.total_base_calculo_st.must_equal 0.0
942
+ icms.aliquota_st.must_equal 0.0
943
+ icms.total_st.must_equal 0.0
944
+ icms.total_desoneracao.must_equal 0.0
945
+ icms.motivo_desoneracao.must_be_nil
946
+ icms.total_icms_operacao.must_equal 0.0
947
+ icms.percentual_diferimento.must_equal 0.0
948
+ icms.total_icms_diferido.must_equal 0.0
949
+ icms.total_base_calculo_st_retido.must_equal 0.0
950
+ icms.total_st_retido.must_equal 0.0
951
+ icms.aliquota_credito_sn.must_equal 0.0
952
+ icms.total_credito_sn.must_equal 0.0
953
+ # IPI
954
+ item.ipi.must_be_nil
955
+ # PIS
956
+ pis = item.pis
957
+ pis.codigo_cst.must_equal '56'
958
+ pis.total_base_calculo.must_equal 0.0
959
+ pis.aliquota.must_equal 0.0
960
+ pis.total.must_equal 20.0
961
+ pis.quantidade_vendida.must_equal 2.0
962
+ pis.total_aliquota.must_equal 20.0
963
+ # COFINS
964
+ cofins = item.cofins
965
+ cofins.codigo_cst.must_equal '07'
966
+ cofins.total_base_calculo.must_equal 0.0
967
+ cofins.aliquota.must_equal 0.0
968
+ cofins.total.must_equal 0.0
969
+ cofins.quantidade_vendida.must_equal 0.0
970
+ cofins.total_aliquota.must_equal 0.0
971
+ # Importação
972
+ item.importacao.must_be_nil
973
+ # ISSQN
974
+ item.issqn.must_be_nil
975
+ # PIS-ST
976
+ item.pis_st.must_be_nil
977
+ # COFINS-ST
978
+ item.cofins_st.must_be_nil
979
+ # ICMS UF DESTINO
980
+ icms_uf_destino = item.icms_uf_destino
981
+ icms_uf_destino.total_base_calculo.must_equal 0.0
982
+ icms_uf_destino.percentual_fcp.must_equal 0.0
983
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
984
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
985
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
986
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
987
+ icms_uf_destino.total_destino.must_equal 0.0
988
+ icms_uf_destino.total_origem.must_equal 0.0
989
+ end
990
+ it "Deve ler o Item 7 - ICMS-50" do
991
+ item = invoice.itens[6]
992
+ # Atributos
993
+ item.tipo_produto.must_equal :product
994
+ item.codigo_produto.must_equal 'P15009'
995
+ item.codigo_ean.must_equal '1232132132133123'
996
+ item.descricao_produto.must_equal '7BALL - CAPA MESA HOME COURISSIMO PRETO'
997
+ item.codigo_ncm.must_equal '95042000'
998
+ item.codigo_cest.must_equal ''
999
+ item.codigos_nve.must_equal []
1000
+ item.codigo_extipi.must_equal ''
1001
+ item.cfop.must_equal '5103'
1002
+ item.unidade_comercial.must_equal 'PC'
1003
+ item.quantidade_comercial.must_equal 1.0
1004
+ item.valor_unitario_comercial.must_equal 511.81
1005
+ item.valor_total_produto.must_equal 511.81
1006
+ item.codigo_ean_tributavel.must_equal ''
1007
+ item.unidade_tributavel.must_equal 'PC'
1008
+ item.quantidade_tributavel.must_equal 1.0
1009
+ item.valor_unitario_tributavel.must_equal 511.81
1010
+ item.total_frete.must_equal 0.0
1011
+ item.total_seguro.must_equal 0.0
1012
+ item.total_desconto.must_equal 0.0
1013
+ item.total_outros.must_equal 0.0
1014
+ item.soma_total_nfe.must_equal true
1015
+ item.numero_pedido_compra.must_equal ''
1016
+ item.item_pedido_compra.must_equal ''
1017
+ item.numero_fci.must_equal ''
1018
+ item.percentual_devolucao.must_equal 0.0
1019
+ item.total_ipi_devolucao.must_equal 0.0
1020
+ item.informacoes_adicionais.must_equal ''
1021
+ item.total_tributos.must_equal 0.0
1022
+
1023
+ ###################### Associações HasMany ######################
1024
+ item.declaracoes_importacao.must_be_empty
1025
+ item.detalhes_exportacao.must_be_empty
1026
+
1027
+ ###################### Associações HasOne #########################
1028
+ ### ICMS
1029
+ icms = item.icms
1030
+ icms.origem.must_equal 0
1031
+ icms.codigo_cst.must_equal '50'
1032
+ icms.modalidade_base_calculo.must_be_nil
1033
+ icms.reducao_base_calculo.must_equal 0.0
1034
+ icms.total_base_calculo.must_equal 0.0
1035
+ icms.aliquota.must_equal 0.0
1036
+ icms.total.must_equal 0.0
1037
+ icms.modalidade_base_calculo_st.must_be_nil
1038
+ icms.mva_st.must_equal 0.0
1039
+ icms.reducao_base_calculo_st.must_equal 0.0
1040
+ icms.total_base_calculo_st.must_equal 0.0
1041
+ icms.aliquota_st.must_equal 0.0
1042
+ icms.total_st.must_equal 0.0
1043
+ icms.total_desoneracao.must_equal 0.0
1044
+ icms.motivo_desoneracao.must_be_nil
1045
+ icms.total_icms_operacao.must_equal 0.0
1046
+ icms.percentual_diferimento.must_equal 0.0
1047
+ icms.total_icms_diferido.must_equal 0.0
1048
+ icms.total_base_calculo_st_retido.must_equal 0.0
1049
+ icms.total_st_retido.must_equal 0.0
1050
+ icms.aliquota_credito_sn.must_equal 0.0
1051
+ icms.total_credito_sn.must_equal 0.0
1052
+ # IPI
1053
+ item.ipi.must_be_nil
1054
+ # PIS
1055
+ pis = item.pis
1056
+ pis.codigo_cst.must_equal '07'
1057
+ pis.total_base_calculo.must_equal 0.0
1058
+ pis.aliquota.must_equal 0.0
1059
+ pis.total.must_equal 0.0
1060
+ pis.quantidade_vendida.must_equal 0.0
1061
+ pis.total_aliquota.must_equal 0.0
1062
+ # COFINS
1063
+ cofins = item.cofins
1064
+ cofins.codigo_cst.must_equal '07'
1065
+ cofins.total_base_calculo.must_equal 0.0
1066
+ cofins.aliquota.must_equal 0.0
1067
+ cofins.total.must_equal 0.0
1068
+ cofins.quantidade_vendida.must_equal 0.0
1069
+ cofins.total_aliquota.must_equal 0.0
1070
+ # Importação
1071
+ item.importacao.must_be_nil
1072
+ # ISSQN
1073
+ item.issqn.must_be_nil
1074
+ # PIS-ST
1075
+ item.pis_st.must_be_nil
1076
+ # COFINS-ST
1077
+ item.cofins_st.must_be_nil
1078
+ # ICMS UF DESTINO
1079
+ icms_uf_destino = item.icms_uf_destino
1080
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1081
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1082
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1083
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1084
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1085
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1086
+ icms_uf_destino.total_destino.must_equal 0.0
1087
+ icms_uf_destino.total_origem.must_equal 0.0
1088
+ end
1089
+ it "Deve ler o Item 8 - ICMS-51" do
1090
+ item = invoice.itens[7]
1091
+ # Atributos
1092
+ item.tipo_produto.must_equal :product
1093
+ item.codigo_produto.must_equal '1654'
1094
+ item.codigo_ean.must_equal '3333333333333333'
1095
+ item.descricao_produto.must_equal 'ABSOLUTE - HDA4 - CAIXA ACUSTICA 100 WATTS'
1096
+ item.codigo_ncm.must_equal '85182100'
1097
+ item.codigo_cest.must_equal ''
1098
+ item.codigos_nve.must_equal []
1099
+ item.codigo_extipi.must_equal ''
1100
+ item.cfop.must_equal '5104'
1101
+ item.unidade_comercial.must_equal 'PC'
1102
+ item.quantidade_comercial.must_equal 1.0
1103
+ item.valor_unitario_comercial.must_equal 603.9
1104
+ item.valor_total_produto.must_equal 602.67
1105
+ item.codigo_ean_tributavel.must_equal ''
1106
+ item.unidade_tributavel.must_equal 'PC'
1107
+ item.quantidade_tributavel.must_equal 1.0
1108
+ item.valor_unitario_tributavel.must_equal 603.9
1109
+ item.total_frete.must_equal 1.23
1110
+ item.total_seguro.must_equal 1.23
1111
+ item.total_desconto.must_equal 1.23
1112
+ item.total_outros.must_equal 1.23
1113
+ item.soma_total_nfe.must_equal true
1114
+ item.numero_pedido_compra.must_equal ''
1115
+ item.item_pedido_compra.must_equal ''
1116
+ item.numero_fci.must_equal ''
1117
+ item.percentual_devolucao.must_equal 0.0
1118
+ item.total_ipi_devolucao.must_equal 0.0
1119
+ item.informacoes_adicionais.must_equal ''
1120
+ item.total_tributos.must_equal 1.23
1121
+
1122
+ ###################### Associações HasMany ######################
1123
+ item.declaracoes_importacao.must_be_empty
1124
+ item.detalhes_exportacao.must_be_empty
1125
+
1126
+ ###################### Associações HasOne #########################
1127
+ ### ICMS
1128
+ icms = item.icms
1129
+ icms.origem.must_equal 0
1130
+ icms.codigo_cst.must_equal '51'
1131
+ icms.modalidade_base_calculo.must_equal 1
1132
+ icms.reducao_base_calculo.must_equal 1.23
1133
+ icms.total_base_calculo.must_equal 598.9
1134
+ icms.aliquota.must_equal 3.33
1135
+ icms.total.must_equal 19.94
1136
+
1137
+ icms.modalidade_base_calculo_st.must_be_nil
1138
+ icms.mva_st.must_equal 0.0
1139
+ icms.reducao_base_calculo_st.must_equal 0.0
1140
+ icms.total_base_calculo_st.must_equal 0.0
1141
+ icms.aliquota_st.must_equal 0.0
1142
+ icms.total_st.must_equal 0.0
1143
+ icms.total_desoneracao.must_equal 0.0
1144
+ icms.motivo_desoneracao.must_be_nil
1145
+ icms.total_icms_operacao.must_equal 0.0
1146
+ icms.percentual_diferimento.must_equal 0.0
1147
+ icms.total_icms_diferido.must_equal 0.0
1148
+ icms.total_base_calculo_st_retido.must_equal 0.0
1149
+ icms.total_st_retido.must_equal 0.0
1150
+ icms.aliquota_credito_sn.must_equal 0.0
1151
+ icms.total_credito_sn.must_equal 0.0
1152
+ # IPI
1153
+ item.ipi.must_be_nil
1154
+ # PIS
1155
+ pis = item.pis
1156
+ pis.codigo_cst.must_equal '07'
1157
+ pis.total_base_calculo.must_equal 0.0
1158
+ pis.aliquota.must_equal 0.0
1159
+ pis.total.must_equal 0.0
1160
+ pis.quantidade_vendida.must_equal 0.0
1161
+ pis.total_aliquota.must_equal 0.0
1162
+ # COFINS
1163
+ cofins = item.cofins
1164
+ cofins.codigo_cst.must_equal '07'
1165
+ cofins.total_base_calculo.must_equal 0.0
1166
+ cofins.aliquota.must_equal 0.0
1167
+ cofins.total.must_equal 0.0
1168
+ cofins.quantidade_vendida.must_equal 0.0
1169
+ cofins.total_aliquota.must_equal 0.0
1170
+ # Importação
1171
+ item.importacao.must_be_nil
1172
+ # ISSQN
1173
+ item.issqn.must_be_nil
1174
+ # PIS-ST
1175
+ item.pis_st.must_be_nil
1176
+ # COFINS-ST
1177
+ item.cofins_st.must_be_nil
1178
+ # ICMS UF DESTINO
1179
+ icms_uf_destino = item.icms_uf_destino
1180
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1181
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1182
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1183
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1184
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1185
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1186
+ icms_uf_destino.total_destino.must_equal 0.0
1187
+ icms_uf_destino.total_origem.must_equal 0.0
1188
+ end
1189
+ it "Deve ler o Item 9 - ICMS-60" do
1190
+ item = invoice.itens[8]
1191
+ # Atributos
1192
+ item.tipo_produto.must_equal :product
1193
+ item.codigo_produto.must_equal '1300'
1194
+ item.codigo_ean.must_equal ''
1195
+ item.descricao_produto.must_equal 'PURE ACOUSTICS - CAIXA DE SOM PX255'
1196
+ item.codigo_ncm.must_equal '85182200'
1197
+ item.codigo_cest.must_equal ''
1198
+ item.codigos_nve.must_equal []
1199
+ item.codigo_extipi.must_equal ''
1200
+ item.cfop.must_equal '5102'
1201
+ item.unidade_comercial.must_equal 'PC'
1202
+ item.quantidade_comercial.must_equal 1.0
1203
+ item.valor_unitario_comercial.must_equal 834.91
1204
+ item.valor_total_produto.must_equal 834.91
1205
+ item.codigo_ean_tributavel.must_equal ''
1206
+ item.unidade_tributavel.must_equal 'PC'
1207
+ item.quantidade_tributavel.must_equal 1.0
1208
+ item.valor_unitario_tributavel.must_equal 834.91
1209
+ item.total_frete.must_equal 0.0
1210
+ item.total_seguro.must_equal 0.0
1211
+ item.total_desconto.must_equal 0.0
1212
+ item.total_outros.must_equal 0.0
1213
+ item.soma_total_nfe.must_equal true
1214
+ item.numero_pedido_compra.must_equal ''
1215
+ item.item_pedido_compra.must_equal ''
1216
+ item.numero_fci.must_equal ''
1217
+ item.percentual_devolucao.must_equal 0.0
1218
+ item.total_ipi_devolucao.must_equal 0.0
1219
+ item.informacoes_adicionais.must_equal ''
1220
+ item.total_tributos.must_equal 0.0
1221
+
1222
+ ###################### Associações HasMany ######################
1223
+ item.declaracoes_importacao.must_be_empty
1224
+ item.detalhes_exportacao.must_be_empty
1225
+
1226
+ ###################### Associações HasOne #########################
1227
+ ### ICMS
1228
+ icms = item.icms
1229
+ icms.origem.must_equal 5
1230
+ icms.codigo_cst.must_equal '60'
1231
+ icms.modalidade_base_calculo.must_be_nil
1232
+ icms.reducao_base_calculo.must_equal 0.0
1233
+ icms.total_base_calculo.must_equal 0.0
1234
+ icms.aliquota.must_equal 0.0
1235
+ icms.total.must_equal 0.0
1236
+ icms.modalidade_base_calculo_st.must_be_nil
1237
+ icms.mva_st.must_equal 0.0
1238
+ icms.reducao_base_calculo_st.must_equal 0.0
1239
+ icms.total_base_calculo_st.must_equal 0.0
1240
+ icms.aliquota_st.must_equal 0.0
1241
+ icms.total_st.must_equal 0.0
1242
+ icms.total_desoneracao.must_equal 0.0
1243
+ icms.motivo_desoneracao.must_be_nil
1244
+ icms.total_icms_operacao.must_equal 0.0
1245
+ icms.percentual_diferimento.must_equal 0.0
1246
+ icms.total_icms_diferido.must_equal 0.0
1247
+ icms.total_base_calculo_st_retido.must_equal 0.0
1248
+ icms.total_st_retido.must_equal 0.0
1249
+ icms.aliquota_credito_sn.must_equal 0.0
1250
+ icms.total_credito_sn.must_equal 0.0
1251
+ # IPI
1252
+ ipi = item.ipi
1253
+ ipi.codigo_enquadramento.must_equal '999'
1254
+ ipi.codigo_cst.must_equal '99'
1255
+ ipi.classe_enquadramento.must_equal ''
1256
+ ipi.cnpj_produtor.must_equal ''
1257
+ ipi.codigo_selo.must_equal ''
1258
+ ipi.quantidade_selo.must_equal ''
1259
+ ipi.base_calculo.must_equal 834.91
1260
+ ipi.aliquota.must_equal 12.33
1261
+ ipi.quantidade_unidade.must_equal 0.0
1262
+ ipi.total_unidade.must_equal 0.0
1263
+ ipi.total.must_equal 102.94
1264
+ # PIS
1265
+ pis = item.pis
1266
+ pis.codigo_cst.must_equal '71'
1267
+ pis.total_base_calculo.must_equal 0.0
1268
+ pis.aliquota.must_equal 0.0
1269
+ pis.total.must_equal 37.99
1270
+ pis.quantidade_vendida.must_equal 1.0
1271
+ pis.total_aliquota.must_equal 37.99
1272
+ # COFINS
1273
+ cofins = item.cofins
1274
+ cofins.codigo_cst.must_equal '73'
1275
+ cofins.total_base_calculo.must_equal 0.0
1276
+ cofins.aliquota.must_equal 0.0
1277
+ cofins.total.must_equal 0.0
1278
+ cofins.quantidade_vendida.must_equal 1.0
1279
+ cofins.total_aliquota.must_equal 0.0
1280
+ # Importação
1281
+ item.importacao.must_be_nil
1282
+ # ISSQN
1283
+ item.issqn.must_be_nil
1284
+ # PIS-ST
1285
+ item.pis_st.must_be_nil
1286
+ # COFINS-ST
1287
+ item.cofins_st.must_be_nil
1288
+ # ICMS UF DESTINO
1289
+ icms_uf_destino = item.icms_uf_destino
1290
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1291
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1292
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1293
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1294
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1295
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1296
+ icms_uf_destino.total_destino.must_equal 0.0
1297
+ icms_uf_destino.total_origem.must_equal 0.0
1298
+ end
1299
+ it "Deve ler o Item 10 - ICMS-70" do
1300
+ item = invoice.itens[9]
1301
+ # Atributos
1302
+ item.tipo_produto.must_equal :product
1303
+ item.codigo_produto.must_equal 'SU-07'
1304
+ item.codigo_ean.must_equal ''
1305
+ item.descricao_produto.must_equal 'AIRON - SUPORTE CAIXA PAREDE SU-07'
1306
+ item.codigo_ncm.must_equal '85189090'
1307
+ item.codigo_cest.must_equal ''
1308
+ item.codigos_nve.must_equal []
1309
+ item.codigo_extipi.must_equal ''
1310
+ item.cfop.must_equal '5102'
1311
+ item.unidade_comercial.must_equal 'PAR'
1312
+ item.quantidade_comercial.must_equal 1.0
1313
+ item.valor_unitario_comercial.must_equal 90.85
1314
+ item.valor_total_produto.must_equal 90.85
1315
+ item.codigo_ean_tributavel.must_equal ''
1316
+ item.unidade_tributavel.must_equal 'PAR'
1317
+ item.quantidade_tributavel.must_equal 1.0
1318
+ item.valor_unitario_tributavel.must_equal 90.85
1319
+ item.total_frete.must_equal 0.0
1320
+ item.total_seguro.must_equal 0.0
1321
+ item.total_desconto.must_equal 0.0
1322
+ item.total_outros.must_equal 0.0
1323
+ item.soma_total_nfe.must_equal true
1324
+ item.numero_pedido_compra.must_equal ''
1325
+ item.item_pedido_compra.must_equal ''
1326
+ item.numero_fci.must_equal ''
1327
+ item.percentual_devolucao.must_equal 0.0
1328
+ item.total_ipi_devolucao.must_equal 0.0
1329
+ item.informacoes_adicionais.must_equal ''
1330
+ item.total_tributos.must_equal 0.0
1331
+
1332
+ ###################### Associações HasMany ######################
1333
+ item.declaracoes_importacao.must_be_empty
1334
+ item.detalhes_exportacao.must_be_empty
1335
+
1336
+ ###################### Associações HasOne #########################
1337
+ ### ICMS
1338
+ icms = item.icms
1339
+ icms.origem.must_equal 0
1340
+ icms.codigo_cst.must_equal '70'
1341
+ icms.modalidade_base_calculo.must_equal 3
1342
+ icms.reducao_base_calculo.must_equal 3.44
1343
+ icms.total_base_calculo.must_equal 87.72
1344
+ icms.aliquota.must_equal 12.0
1345
+ icms.total.must_equal 10.53
1346
+
1347
+ icms.modalidade_base_calculo_st.must_equal 0
1348
+ icms.mva_st.must_equal 50.0
1349
+ icms.reducao_base_calculo_st.must_equal 10.0
1350
+ icms.total_base_calculo_st.must_equal 122.64
1351
+ icms.aliquota_st.must_equal 20.0
1352
+ icms.total_st.must_equal 12.18
1353
+ icms.total_desoneracao.must_equal 0.0
1354
+ icms.motivo_desoneracao.must_be_nil
1355
+ icms.total_icms_operacao.must_equal 0.0
1356
+ icms.percentual_diferimento.must_equal 0.0
1357
+ icms.total_icms_diferido.must_equal 0.0
1358
+ icms.total_base_calculo_st_retido.must_equal 0.0
1359
+ icms.total_st_retido.must_equal 0.0
1360
+ icms.aliquota_credito_sn.must_equal 0.0
1361
+ icms.total_credito_sn.must_equal 0.0
1362
+ # IPI
1363
+ item.ipi.must_be_nil
1364
+ # PIS
1365
+ pis = item.pis
1366
+ pis.codigo_cst.must_equal '07'
1367
+ pis.total_base_calculo.must_equal 0.0
1368
+ pis.aliquota.must_equal 0.0
1369
+ pis.total.must_equal 0.0
1370
+ pis.quantidade_vendida.must_equal 0.0
1371
+ pis.total_aliquota.must_equal 0.0
1372
+ # COFINS
1373
+ cofins = item.cofins
1374
+ cofins.codigo_cst.must_equal '07'
1375
+ cofins.total_base_calculo.must_equal 0.0
1376
+ cofins.aliquota.must_equal 0.0
1377
+ cofins.total.must_equal 0.0
1378
+ cofins.quantidade_vendida.must_equal 0.0
1379
+ cofins.total_aliquota.must_equal 0.0
1380
+ # Importação
1381
+ item.importacao.must_be_nil
1382
+ # ISSQN
1383
+ item.issqn.must_be_nil
1384
+ # PIS-ST
1385
+ item.pis_st.must_be_nil
1386
+ # COFINS-ST
1387
+ item.cofins_st.must_be_nil
1388
+ # ICMS UF DESTINO
1389
+ icms_uf_destino = item.icms_uf_destino
1390
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1391
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1392
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1393
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1394
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1395
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1396
+ icms_uf_destino.total_destino.must_equal 0.0
1397
+ icms_uf_destino.total_origem.must_equal 0.0
1398
+ end
1399
+ it "Deve ler o Item 11 - ICMS-90" do
1400
+ item = invoice.itens[10]
1401
+ # Atributos
1402
+ item.tipo_produto.must_equal :product
1403
+ item.codigo_produto.must_equal '1514'
1404
+ item.codigo_ean.must_equal ''
1405
+ item.descricao_produto.must_equal 'GAIA - SUPORTE DE TETO PARA TV COM GIRO MANUAL ATE 300? GSP - 251'
1406
+ item.codigo_ncm.must_equal '38151900'
1407
+ item.codigo_cest.must_equal '2804200'
1408
+ item.codigos_nve.must_equal []
1409
+ item.codigo_extipi.must_equal ''
1410
+ item.cfop.must_equal '5103'
1411
+ item.unidade_comercial.must_equal 'PC'
1412
+ item.quantidade_comercial.must_equal 1.0
1413
+ item.valor_unitario_comercial.must_equal 1190.00
1414
+ item.valor_total_produto.must_equal 1190.00
1415
+ item.codigo_ean_tributavel.must_equal ''
1416
+ item.unidade_tributavel.must_equal 'PC'
1417
+ item.quantidade_tributavel.must_equal 1.0
1418
+ item.valor_unitario_tributavel.must_equal 1190.00
1419
+ item.total_frete.must_equal 0.0
1420
+ item.total_seguro.must_equal 0.0
1421
+ item.total_desconto.must_equal 0.0
1422
+ item.total_outros.must_equal 0.0
1423
+ item.soma_total_nfe.must_equal true
1424
+ item.numero_pedido_compra.must_equal ''
1425
+ item.item_pedido_compra.must_equal ''
1426
+ item.numero_fci.must_equal ''
1427
+ item.percentual_devolucao.must_equal 0.0
1428
+ item.total_ipi_devolucao.must_equal 0.0
1429
+ item.informacoes_adicionais.must_equal ''
1430
+ item.total_tributos.must_equal 0.0
1431
+
1432
+ ###################### Associações HasMany ######################
1433
+ item.declaracoes_importacao.must_be_empty
1434
+ item.detalhes_exportacao.must_be_empty
1435
+
1436
+ ###################### Associações HasOne #########################
1437
+ ### ICMS
1438
+ icms = item.icms
1439
+ icms.origem.must_equal 0
1440
+ icms.codigo_cst.must_equal '90'
1441
+ icms.modalidade_base_calculo.must_equal 3
1442
+ icms.reducao_base_calculo.must_equal 12.33
1443
+ icms.total_base_calculo.must_equal 1043.27
1444
+ icms.aliquota.must_equal 12.33
1445
+ icms.total.must_equal 128.64
1446
+
1447
+ icms.modalidade_base_calculo_st.must_equal 0
1448
+ icms.mva_st.must_equal 40.0
1449
+ icms.reducao_base_calculo_st.must_equal 3.0
1450
+ icms.total_base_calculo_st.must_equal 1616.02
1451
+ icms.aliquota_st.must_equal 30.0
1452
+ icms.total_st.must_equal 320.47
1453
+ icms.total_desoneracao.must_equal 0.0
1454
+ icms.motivo_desoneracao.must_be_nil
1455
+ icms.total_icms_operacao.must_equal 0.0
1456
+ icms.percentual_diferimento.must_equal 0.0
1457
+ icms.total_icms_diferido.must_equal 0.0
1458
+ icms.total_base_calculo_st_retido.must_equal 0.0
1459
+ icms.total_st_retido.must_equal 0.0
1460
+ icms.aliquota_credito_sn.must_equal 0.0
1461
+ icms.total_credito_sn.must_equal 0.0
1462
+ # IPI
1463
+ item.ipi.must_be_nil
1464
+ # PIS
1465
+ pis = item.pis
1466
+ pis.codigo_cst.must_equal '07'
1467
+ pis.total_base_calculo.must_equal 0.0
1468
+ pis.aliquota.must_equal 0.0
1469
+ pis.total.must_equal 0.0
1470
+ pis.quantidade_vendida.must_equal 0.0
1471
+ pis.total_aliquota.must_equal 0.0
1472
+ # COFINS
1473
+ cofins = item.cofins
1474
+ cofins.codigo_cst.must_equal '07'
1475
+ cofins.total_base_calculo.must_equal 0.0
1476
+ cofins.aliquota.must_equal 0.0
1477
+ cofins.total.must_equal 0.0
1478
+ cofins.quantidade_vendida.must_equal 0.0
1479
+ cofins.total_aliquota.must_equal 0.0
1480
+ # Importação
1481
+ item.importacao.must_be_nil
1482
+ # ISSQN
1483
+ item.issqn.must_be_nil
1484
+ # PIS-ST
1485
+ item.pis_st.must_be_nil
1486
+ # COFINS-ST
1487
+ item.cofins_st.must_be_nil
1488
+ # ICMS UF DESTINO
1489
+ icms_uf_destino = item.icms_uf_destino
1490
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1491
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1492
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1493
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1494
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1495
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1496
+ icms_uf_destino.total_destino.must_equal 0.0
1497
+ icms_uf_destino.total_origem.must_equal 0.0
1498
+ end
1499
+ it "Deve ler o Item 12 - ICMS-101" do
1500
+ item = invoice.itens[11]
1501
+ # Atributos
1502
+ item.tipo_produto.must_equal :product
1503
+ item.codigo_produto.must_equal '250705022'
1504
+ item.codigo_ean.must_equal ''
1505
+ item.descricao_produto.must_equal 'AIRON - BASE GIRATORIA DE TV PLASMA / LCD'
1506
+ item.codigo_ncm.must_equal '94032000'
1507
+ item.codigo_cest.must_equal ''
1508
+ item.codigos_nve.must_equal []
1509
+ item.codigo_extipi.must_equal ''
1510
+ item.cfop.must_equal '2251'
1511
+ item.unidade_comercial.must_equal 'PC'
1512
+ item.quantidade_comercial.must_equal 1.0
1513
+ item.valor_unitario_comercial.must_equal 776.44
1514
+ item.valor_total_produto.must_equal 776.44
1515
+ item.codigo_ean_tributavel.must_equal ''
1516
+ item.unidade_tributavel.must_equal 'PC'
1517
+ item.quantidade_tributavel.must_equal 1.0
1518
+ item.valor_unitario_tributavel.must_equal 776.44
1519
+ item.total_frete.must_equal 122.22
1520
+ item.total_seguro.must_equal 12.22
1521
+ item.total_desconto.must_equal 0.0
1522
+ item.total_outros.must_equal 33.33
1523
+ item.soma_total_nfe.must_equal true
1524
+ item.numero_pedido_compra.must_equal ''
1525
+ item.item_pedido_compra.must_equal ''
1526
+ item.numero_fci.must_equal ''
1527
+ item.percentual_devolucao.must_equal 0.0
1528
+ item.total_ipi_devolucao.must_equal 0.0
1529
+ item.informacoes_adicionais.must_equal ''
1530
+ item.total_tributos.must_equal 44.12
1531
+
1532
+ ###################### Associações HasMany ######################
1533
+ item.declaracoes_importacao.must_be_empty
1534
+ item.detalhes_exportacao.must_be_empty
1535
+
1536
+ ###################### Associações HasOne #########################
1537
+ ### ICMS
1538
+ icms = item.icms
1539
+ icms.origem.must_equal 0
1540
+ icms.codigo_cst.must_equal '101'
1541
+ icms.modalidade_base_calculo.must_be_nil
1542
+ icms.reducao_base_calculo.must_equal 0.0
1543
+ icms.total_base_calculo.must_equal 0.0
1544
+ icms.aliquota.must_equal 0.0
1545
+ icms.total.must_equal 0.0
1546
+
1547
+ icms.modalidade_base_calculo_st.must_be_nil
1548
+ icms.mva_st.must_equal 0.0
1549
+ icms.reducao_base_calculo_st.must_equal 0.0
1550
+ icms.total_base_calculo_st.must_equal 0.0
1551
+ icms.aliquota_st.must_equal 0.0
1552
+ icms.total_st.must_equal 0.0
1553
+ icms.total_desoneracao.must_equal 0.0
1554
+ icms.motivo_desoneracao.must_be_nil
1555
+ icms.total_icms_operacao.must_equal 0.0
1556
+ icms.percentual_diferimento.must_equal 0.0
1557
+ icms.total_icms_diferido.must_equal 0.0
1558
+ icms.total_base_calculo_st_retido.must_equal 0.0
1559
+ icms.total_st_retido.must_equal 0.0
1560
+ icms.aliquota_credito_sn.must_equal 12.31
1561
+ icms.total_credito_sn.must_equal 95.58
1562
+ # IPI
1563
+ item.ipi.must_be_nil
1564
+ # PIS
1565
+ pis = item.pis
1566
+ pis.codigo_cst.must_equal '07'
1567
+ pis.total_base_calculo.must_equal 0.0
1568
+ pis.aliquota.must_equal 0.0
1569
+ pis.total.must_equal 0.0
1570
+ pis.quantidade_vendida.must_equal 0.0
1571
+ pis.total_aliquota.must_equal 0.0
1572
+ # COFINS
1573
+ cofins = item.cofins
1574
+ cofins.codigo_cst.must_equal '07'
1575
+ cofins.total_base_calculo.must_equal 0.0
1576
+ cofins.aliquota.must_equal 0.0
1577
+ cofins.total.must_equal 0.0
1578
+ cofins.quantidade_vendida.must_equal 0.0
1579
+ cofins.total_aliquota.must_equal 0.0
1580
+ # Importação
1581
+ item.importacao.must_be_nil
1582
+ # ISSQN
1583
+ item.issqn.must_be_nil
1584
+ # PIS-ST
1585
+ item.pis_st.must_be_nil
1586
+ # COFINS-ST
1587
+ item.cofins_st.must_be_nil
1588
+ # ICMS UF DESTINO
1589
+ icms_uf_destino = item.icms_uf_destino
1590
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1591
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1592
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1593
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1594
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1595
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1596
+ icms_uf_destino.total_destino.must_equal 0.0
1597
+ icms_uf_destino.total_origem.must_equal 0.0
1598
+ end
1599
+ it "Deve ler o Item 13 - ICMS-102" do
1600
+ item = invoice.itens[12]
1601
+ # Atributos
1602
+ item.tipo_produto.must_equal :product
1603
+ item.codigo_produto.must_equal 'CM080P'
1604
+ item.codigo_ean.must_equal ''
1605
+ item.descricao_produto.must_equal 'AERTECNICA - CENTRAL DE ASPIRACAO PERFETTO P80'
1606
+ item.codigo_ncm.must_equal '85087000'
1607
+ item.codigo_cest.must_equal ''
1608
+ item.codigos_nve.must_equal []
1609
+ item.codigo_extipi.must_equal ''
1610
+ item.cfop.must_equal '5111'
1611
+ item.unidade_comercial.must_equal 'PC'
1612
+ item.quantidade_comercial.must_equal 1.0
1613
+ item.valor_unitario_comercial.must_equal 3959.00
1614
+ item.valor_total_produto.must_equal 3909.00
1615
+ item.codigo_ean_tributavel.must_equal ''
1616
+ item.unidade_tributavel.must_equal 'PC'
1617
+ item.quantidade_tributavel.must_equal 1.0
1618
+ item.valor_unitario_tributavel.must_equal 3959.00
1619
+ item.total_frete.must_equal 30.0
1620
+ item.total_seguro.must_equal 40.0
1621
+ item.total_desconto.must_equal 50.0
1622
+ item.total_outros.must_equal 40.0
1623
+ item.soma_total_nfe.must_equal true
1624
+ item.numero_pedido_compra.must_equal ''
1625
+ item.item_pedido_compra.must_equal ''
1626
+ item.numero_fci.must_equal ''
1627
+ item.percentual_devolucao.must_equal 0.0
1628
+ item.total_ipi_devolucao.must_equal 0.0
1629
+ item.informacoes_adicionais.must_equal ''
1630
+ item.total_tributos.must_equal 123.33
1631
+
1632
+ ###################### Associações HasMany ######################
1633
+ item.declaracoes_importacao.must_be_empty
1634
+ item.detalhes_exportacao.must_be_empty
1635
+
1636
+ ###################### Associações HasOne #########################
1637
+ ### ICMS
1638
+ icms = item.icms
1639
+ icms.origem.must_equal 0
1640
+ icms.codigo_cst.must_equal '102'
1641
+ icms.modalidade_base_calculo.must_be_nil
1642
+ icms.reducao_base_calculo.must_equal 0.0
1643
+ icms.total_base_calculo.must_equal 0.0
1644
+ icms.aliquota.must_equal 0.0
1645
+ icms.total.must_equal 0.0
1646
+
1647
+ icms.modalidade_base_calculo_st.must_be_nil
1648
+ icms.mva_st.must_equal 0.0
1649
+ icms.reducao_base_calculo_st.must_equal 0.0
1650
+ icms.total_base_calculo_st.must_equal 0.0
1651
+ icms.aliquota_st.must_equal 0.0
1652
+ icms.total_st.must_equal 0.0
1653
+ icms.total_desoneracao.must_equal 0.0
1654
+ icms.motivo_desoneracao.must_be_nil
1655
+ icms.total_icms_operacao.must_equal 0.0
1656
+ icms.percentual_diferimento.must_equal 0.0
1657
+ icms.total_icms_diferido.must_equal 0.0
1658
+ icms.total_base_calculo_st_retido.must_equal 0.0
1659
+ icms.total_st_retido.must_equal 0.0
1660
+ icms.aliquota_credito_sn.must_equal 0.0
1661
+ icms.total_credito_sn.must_equal 0.0
1662
+ # IPI
1663
+ item.ipi.must_be_nil
1664
+ # PIS
1665
+ pis = item.pis
1666
+ pis.codigo_cst.must_equal '07'
1667
+ pis.total_base_calculo.must_equal 0.0
1668
+ pis.aliquota.must_equal 0.0
1669
+ pis.total.must_equal 0.0
1670
+ pis.quantidade_vendida.must_equal 0.0
1671
+ pis.total_aliquota.must_equal 0.0
1672
+ # COFINS
1673
+ cofins = item.cofins
1674
+ cofins.codigo_cst.must_equal '07'
1675
+ cofins.total_base_calculo.must_equal 0.0
1676
+ cofins.aliquota.must_equal 0.0
1677
+ cofins.total.must_equal 0.0
1678
+ cofins.quantidade_vendida.must_equal 0.0
1679
+ cofins.total_aliquota.must_equal 0.0
1680
+ # Importação
1681
+ item.importacao.must_be_nil
1682
+ # ISSQN
1683
+ item.issqn.must_be_nil
1684
+ # PIS-ST
1685
+ item.pis_st.must_be_nil
1686
+ # COFINS-ST
1687
+ item.cofins_st.must_be_nil
1688
+ # ICMS UF DESTINO
1689
+ icms_uf_destino = item.icms_uf_destino
1690
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1691
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1692
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1693
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1694
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1695
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1696
+ icms_uf_destino.total_destino.must_equal 0.0
1697
+ icms_uf_destino.total_origem.must_equal 0.0
1698
+ end
1699
+ it "Deve ler o Item 14 - ICMS-103" do
1700
+ item = invoice.itens[13]
1701
+ # Atributos
1702
+ item.tipo_produto.must_equal :product
1703
+ item.codigo_produto.must_equal '348'
1704
+ item.codigo_ean.must_equal ''
1705
+ item.descricao_produto.must_equal 'KEF - CONJUNTO DE CAIXA DE SOM T105'
1706
+ item.codigo_ncm.must_equal '85182100'
1707
+ item.codigo_cest.must_equal ''
1708
+ item.codigos_nve.must_equal []
1709
+ item.codigo_extipi.must_equal ''
1710
+ item.cfop.must_equal '1151'
1711
+ item.unidade_comercial.must_equal 'PC'
1712
+ item.quantidade_comercial.must_equal 1.0
1713
+ item.valor_unitario_comercial.must_equal 14734.37
1714
+ item.valor_total_produto.must_equal 14734.37
1715
+ item.codigo_ean_tributavel.must_equal ''
1716
+ item.unidade_tributavel.must_equal 'PC'
1717
+ item.quantidade_tributavel.must_equal 1.0
1718
+ item.valor_unitario_tributavel.must_equal 14734.37
1719
+ item.total_frete.must_equal 0
1720
+ item.total_seguro.must_equal 0
1721
+ item.total_desconto.must_equal 0
1722
+ item.total_outros.must_equal 0
1723
+ item.soma_total_nfe.must_equal true
1724
+ item.numero_pedido_compra.must_equal ''
1725
+ item.item_pedido_compra.must_equal ''
1726
+ item.numero_fci.must_equal ''
1727
+ item.percentual_devolucao.must_equal 0.0
1728
+ item.total_ipi_devolucao.must_equal 0.0
1729
+ item.informacoes_adicionais.must_equal ''
1730
+ item.total_tributos.must_equal 0
1731
+
1732
+ ###################### Associações HasMany ######################
1733
+ item.declaracoes_importacao.must_be_empty
1734
+ item.detalhes_exportacao.must_be_empty
1735
+
1736
+ ###################### Associações HasOne #########################
1737
+ ### ICMS
1738
+ icms = item.icms
1739
+ icms.origem.must_equal 0
1740
+ icms.codigo_cst.must_equal '103'
1741
+ icms.modalidade_base_calculo.must_be_nil
1742
+ icms.reducao_base_calculo.must_equal 0.0
1743
+ icms.total_base_calculo.must_equal 0.0
1744
+ icms.aliquota.must_equal 0.0
1745
+ icms.total.must_equal 0.0
1746
+
1747
+ icms.modalidade_base_calculo_st.must_be_nil
1748
+ icms.mva_st.must_equal 0.0
1749
+ icms.reducao_base_calculo_st.must_equal 0.0
1750
+ icms.total_base_calculo_st.must_equal 0.0
1751
+ icms.aliquota_st.must_equal 0.0
1752
+ icms.total_st.must_equal 0.0
1753
+ icms.total_desoneracao.must_equal 0.0
1754
+ icms.motivo_desoneracao.must_be_nil
1755
+ icms.total_icms_operacao.must_equal 0.0
1756
+ icms.percentual_diferimento.must_equal 0.0
1757
+ icms.total_icms_diferido.must_equal 0.0
1758
+ icms.total_base_calculo_st_retido.must_equal 0.0
1759
+ icms.total_st_retido.must_equal 0.0
1760
+ icms.aliquota_credito_sn.must_equal 0.0
1761
+ icms.total_credito_sn.must_equal 0.0
1762
+ # IPI
1763
+ item.ipi.must_be_nil
1764
+ # PIS
1765
+ pis = item.pis
1766
+ pis.codigo_cst.must_equal '07'
1767
+ pis.total_base_calculo.must_equal 0.0
1768
+ pis.aliquota.must_equal 0.0
1769
+ pis.total.must_equal 0.0
1770
+ pis.quantidade_vendida.must_equal 0.0
1771
+ pis.total_aliquota.must_equal 0.0
1772
+ # COFINS
1773
+ cofins = item.cofins
1774
+ cofins.codigo_cst.must_equal '07'
1775
+ cofins.total_base_calculo.must_equal 0.0
1776
+ cofins.aliquota.must_equal 0.0
1777
+ cofins.total.must_equal 0.0
1778
+ cofins.quantidade_vendida.must_equal 0.0
1779
+ cofins.total_aliquota.must_equal 0.0
1780
+ # Importação
1781
+ item.importacao.must_be_nil
1782
+ # ISSQN
1783
+ item.issqn.must_be_nil
1784
+ # PIS-ST
1785
+ item.pis_st.must_be_nil
1786
+ # COFINS-ST
1787
+ item.cofins_st.must_be_nil
1788
+ # ICMS UF DESTINO
1789
+ icms_uf_destino = item.icms_uf_destino
1790
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1791
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1792
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1793
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1794
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1795
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1796
+ icms_uf_destino.total_destino.must_equal 0.0
1797
+ icms_uf_destino.total_origem.must_equal 0.0
1798
+ end
1799
+ it "Deve ler o Item 15 - ICMS-201" do
1800
+ item = invoice.itens[14]
1801
+ # Atributos
1802
+ item.tipo_produto.must_equal :product
1803
+ item.codigo_produto.must_equal '139'
1804
+ item.codigo_ean.must_equal ''
1805
+ item.descricao_produto.must_equal 'CONECTOR FEMEA GIGALAN CAT6'
1806
+ item.codigo_ncm.must_equal '85369010'
1807
+ item.codigo_cest.must_equal ''
1808
+ item.codigos_nve.must_equal []
1809
+ item.codigo_extipi.must_equal ''
1810
+ item.cfop.must_equal '5101'
1811
+ item.unidade_comercial.must_equal 'PC'
1812
+ item.quantidade_comercial.must_equal 1.0
1813
+ item.valor_unitario_comercial.must_equal 66.00
1814
+ item.valor_total_produto.must_equal 66.00
1815
+ item.codigo_ean_tributavel.must_equal ''
1816
+ item.unidade_tributavel.must_equal 'PC'
1817
+ item.quantidade_tributavel.must_equal 1.0
1818
+ item.valor_unitario_tributavel.must_equal 66.00
1819
+ item.total_frete.must_equal 0
1820
+ item.total_seguro.must_equal 0
1821
+ item.total_desconto.must_equal 0
1822
+ item.total_outros.must_equal 0
1823
+ item.soma_total_nfe.must_equal true
1824
+ item.numero_pedido_compra.must_equal ''
1825
+ item.item_pedido_compra.must_equal ''
1826
+ item.numero_fci.must_equal ''
1827
+ item.percentual_devolucao.must_equal 0.0
1828
+ item.total_ipi_devolucao.must_equal 0.0
1829
+ item.informacoes_adicionais.must_equal ''
1830
+ item.total_tributos.must_equal 0
1831
+
1832
+ ###################### Associações HasMany ######################
1833
+ item.declaracoes_importacao.must_be_empty
1834
+ item.detalhes_exportacao.must_be_empty
1835
+
1836
+ ###################### Associações HasOne #########################
1837
+ ### ICMS
1838
+ icms = item.icms
1839
+ icms.origem.must_equal 0
1840
+ icms.codigo_cst.must_equal '201'
1841
+ icms.modalidade_base_calculo.must_be_nil
1842
+ icms.reducao_base_calculo.must_equal 0.0
1843
+ icms.total_base_calculo.must_equal 0.0
1844
+ icms.aliquota.must_equal 0.0
1845
+ icms.total.must_equal 0.0
1846
+
1847
+ icms.modalidade_base_calculo_st.must_equal 0
1848
+ icms.mva_st.must_equal 40.0
1849
+ icms.reducao_base_calculo_st.must_equal 0.0
1850
+ icms.total_base_calculo_st.must_equal 92.40
1851
+ icms.aliquota_st.must_equal 20.0
1852
+ icms.total_st.must_equal 18.11
1853
+ icms.total_desoneracao.must_equal 0.0
1854
+ icms.motivo_desoneracao.must_be_nil
1855
+ icms.total_icms_operacao.must_equal 0.0
1856
+ icms.percentual_diferimento.must_equal 0.0
1857
+ icms.total_icms_diferido.must_equal 0.0
1858
+ icms.total_base_calculo_st_retido.must_equal 0.0
1859
+ icms.total_st_retido.must_equal 0.0
1860
+ icms.aliquota_credito_sn.must_equal 12.31
1861
+ icms.total_credito_sn.must_equal 8.12
1862
+ # IPI
1863
+ item.ipi.must_be_nil
1864
+ # PIS
1865
+ pis = item.pis
1866
+ pis.codigo_cst.must_equal '07'
1867
+ pis.total_base_calculo.must_equal 0.0
1868
+ pis.aliquota.must_equal 0.0
1869
+ pis.total.must_equal 0.0
1870
+ pis.quantidade_vendida.must_equal 0.0
1871
+ pis.total_aliquota.must_equal 0.0
1872
+ # COFINS
1873
+ cofins = item.cofins
1874
+ cofins.codigo_cst.must_equal '07'
1875
+ cofins.total_base_calculo.must_equal 0.0
1876
+ cofins.aliquota.must_equal 0.0
1877
+ cofins.total.must_equal 0.0
1878
+ cofins.quantidade_vendida.must_equal 0.0
1879
+ cofins.total_aliquota.must_equal 0.0
1880
+ # Importação
1881
+ item.importacao.must_be_nil
1882
+ # ISSQN
1883
+ item.issqn.must_be_nil
1884
+ # PIS-ST
1885
+ item.pis_st.must_be_nil
1886
+ # COFINS-ST
1887
+ item.cofins_st.must_be_nil
1888
+ # ICMS UF DESTINO
1889
+ icms_uf_destino = item.icms_uf_destino
1890
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1891
+ icms_uf_destino.percentual_fcp.must_equal 0.0
1892
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
1893
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
1894
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1895
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1896
+ icms_uf_destino.total_destino.must_equal 0.0
1897
+ icms_uf_destino.total_origem.must_equal 0.0
1898
+ end
1899
+ it "Deve ler o Item 16 - ICMS-202" do
1900
+ item = invoice.itens[15]
1901
+ # Atributos
1902
+ item.tipo_produto.must_equal :product
1903
+ item.codigo_produto.must_equal '44'
1904
+ item.codigo_ean.must_equal ''
1905
+ item.descricao_produto.must_equal 'ROYAL - VIDRO TEMPERADO INCOLOR'
1906
+ item.codigo_ncm.must_equal '70071900'
1907
+ item.codigo_cest.must_equal ''
1908
+ item.codigos_nve.must_equal []
1909
+ item.codigo_extipi.must_equal ''
1910
+ item.cfop.must_equal '5102'
1911
+ item.unidade_comercial.must_equal 'PC'
1912
+ item.quantidade_comercial.must_equal 1.0
1913
+ item.valor_unitario_comercial.must_equal 50.00
1914
+ item.valor_total_produto.must_equal 50.00
1915
+ item.codigo_ean_tributavel.must_equal ''
1916
+ item.unidade_tributavel.must_equal 'PC'
1917
+ item.quantidade_tributavel.must_equal 1.0
1918
+ item.valor_unitario_tributavel.must_equal 50.00
1919
+ item.total_frete.must_equal 0
1920
+ item.total_seguro.must_equal 0
1921
+ item.total_desconto.must_equal 0
1922
+ item.total_outros.must_equal 0
1923
+ item.soma_total_nfe.must_equal true
1924
+ item.numero_pedido_compra.must_equal ''
1925
+ item.item_pedido_compra.must_equal ''
1926
+ item.numero_fci.must_equal ''
1927
+ item.percentual_devolucao.must_equal 0.0
1928
+ item.total_ipi_devolucao.must_equal 0.0
1929
+ item.informacoes_adicionais.must_equal ''
1930
+ item.total_tributos.must_equal 0
1931
+
1932
+ ###################### Associações HasMany ######################
1933
+ item.declaracoes_importacao.must_be_empty
1934
+ item.detalhes_exportacao.must_be_empty
1935
+
1936
+ ###################### Associações HasOne #########################
1937
+ ### ICMS
1938
+ icms = item.icms
1939
+ icms.origem.must_equal 0
1940
+ icms.codigo_cst.must_equal '202'
1941
+ icms.modalidade_base_calculo.must_be_nil
1942
+ icms.reducao_base_calculo.must_equal 0.0
1943
+ icms.total_base_calculo.must_equal 0.0
1944
+ icms.aliquota.must_equal 0.0
1945
+ icms.total.must_equal 0.0
1946
+
1947
+ icms.modalidade_base_calculo_st.must_equal 0
1948
+ icms.mva_st.must_equal 40.0
1949
+ icms.reducao_base_calculo_st.must_equal 30.55
1950
+ icms.total_base_calculo_st.must_equal 48.62
1951
+ icms.aliquota_st.must_equal 12.33
1952
+ icms.total_st.must_equal 4.99
1953
+ icms.total_desoneracao.must_equal 0.0
1954
+ icms.motivo_desoneracao.must_be_nil
1955
+ icms.total_icms_operacao.must_equal 0.0
1956
+ icms.percentual_diferimento.must_equal 0.0
1957
+ icms.total_icms_diferido.must_equal 0.0
1958
+ icms.total_base_calculo_st_retido.must_equal 0.0
1959
+ icms.total_st_retido.must_equal 0.0
1960
+ icms.aliquota_credito_sn.must_equal 0.0
1961
+ icms.total_credito_sn.must_equal 0.0
1962
+ # IPI
1963
+ item.ipi.must_be_nil
1964
+ # PIS
1965
+ pis = item.pis
1966
+ pis.codigo_cst.must_equal '07'
1967
+ pis.total_base_calculo.must_equal 0.0
1968
+ pis.aliquota.must_equal 0.0
1969
+ pis.total.must_equal 0.0
1970
+ pis.quantidade_vendida.must_equal 0.0
1971
+ pis.total_aliquota.must_equal 0.0
1972
+ # COFINS
1973
+ cofins = item.cofins
1974
+ cofins.codigo_cst.must_equal '07'
1975
+ cofins.total_base_calculo.must_equal 0.0
1976
+ cofins.aliquota.must_equal 0.0
1977
+ cofins.total.must_equal 0.0
1978
+ cofins.quantidade_vendida.must_equal 0.0
1979
+ cofins.total_aliquota.must_equal 0.0
1980
+ # Importação
1981
+ item.importacao.must_be_nil
1982
+ # ISSQN
1983
+ item.issqn.must_be_nil
1984
+ # PIS-ST
1985
+ item.pis_st.must_be_nil
1986
+ # COFINS-ST
1987
+ item.cofins_st.must_be_nil
1988
+ # ICMS UF DESTINO
1989
+ icms_uf_destino = item.icms_uf_destino
1990
+ icms_uf_destino.total_base_calculo.must_equal 0.0
1991
+ icms_uf_destino.percentual_fcp.must_equal 1.11
1992
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 18.00
1993
+ icms_uf_destino.aliquota_interestadual.must_equal 12.00
1994
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
1995
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
1996
+ icms_uf_destino.total_destino.must_equal 0.0
1997
+ icms_uf_destino.total_origem.must_equal 0.0
1998
+ end
1999
+ it "Deve ler o Item 17 - ICMS-203" do
2000
+ item = invoice.itens[16]
2001
+ # Atributos
2002
+ item.tipo_produto.must_equal :product
2003
+ item.codigo_produto.must_equal 'MEXXF17014S'
2004
+ item.codigo_ean.must_equal ''
2005
+ item.descricao_produto.must_equal '7BALL - PEBOLIN BUENOS AIRES FREIJO'
2006
+ item.codigo_ncm.must_equal '95042000'
2007
+ item.codigo_cest.must_equal ''
2008
+ item.codigos_nve.must_equal []
2009
+ item.codigo_extipi.must_equal ''
2010
+ item.cfop.must_equal '5101'
2011
+ item.unidade_comercial.must_equal 'PC'
2012
+ item.quantidade_comercial.must_equal 1.0
2013
+ item.valor_unitario_comercial.must_equal 2228.00
2014
+ item.valor_total_produto.must_equal 2228.00
2015
+ item.codigo_ean_tributavel.must_equal ''
2016
+ item.unidade_tributavel.must_equal 'PC'
2017
+ item.quantidade_tributavel.must_equal 1.0
2018
+ item.valor_unitario_tributavel.must_equal 2228.00
2019
+ item.total_frete.must_equal 0
2020
+ item.total_seguro.must_equal 0
2021
+ item.total_desconto.must_equal 0
2022
+ item.total_outros.must_equal 0
2023
+ item.soma_total_nfe.must_equal true
2024
+ item.numero_pedido_compra.must_equal ''
2025
+ item.item_pedido_compra.must_equal ''
2026
+ item.numero_fci.must_equal ''
2027
+ item.percentual_devolucao.must_equal 0.0
2028
+ item.total_ipi_devolucao.must_equal 0.0
2029
+ item.informacoes_adicionais.must_equal ''
2030
+ item.total_tributos.must_equal 0
2031
+
2032
+ ###################### Associações HasMany ######################
2033
+ item.declaracoes_importacao.must_be_empty
2034
+ item.detalhes_exportacao.must_be_empty
2035
+
2036
+ ###################### Associações HasOne #########################
2037
+ ### ICMS
2038
+ icms = item.icms
2039
+ icms.origem.must_equal 0
2040
+ icms.codigo_cst.must_equal '203'
2041
+ icms.modalidade_base_calculo.must_be_nil
2042
+ icms.reducao_base_calculo.must_equal 0.0
2043
+ icms.total_base_calculo.must_equal 0.0
2044
+ icms.aliquota.must_equal 0.0
2045
+ icms.total.must_equal 0.0
2046
+
2047
+ icms.modalidade_base_calculo_st.must_equal 0
2048
+ icms.mva_st.must_equal 0.0
2049
+ icms.reducao_base_calculo_st.must_equal 0.0
2050
+ icms.total_base_calculo_st.must_equal 2228.00
2051
+ icms.aliquota_st.must_equal 0.0
2052
+ icms.total_st.must_equal 0.0
2053
+ icms.total_desoneracao.must_equal 0.0
2054
+ icms.motivo_desoneracao.must_be_nil
2055
+ icms.total_icms_operacao.must_equal 0.0
2056
+ icms.percentual_diferimento.must_equal 0.0
2057
+ icms.total_icms_diferido.must_equal 0.0
2058
+ icms.total_base_calculo_st_retido.must_equal 0.0
2059
+ icms.total_st_retido.must_equal 0.0
2060
+ icms.aliquota_credito_sn.must_equal 0.0
2061
+ icms.total_credito_sn.must_equal 0.0
2062
+ # IPI
2063
+ item.ipi.must_be_nil
2064
+ # PIS
2065
+ pis = item.pis
2066
+ pis.codigo_cst.must_equal '07'
2067
+ pis.total_base_calculo.must_equal 0.0
2068
+ pis.aliquota.must_equal 0.0
2069
+ pis.total.must_equal 0.0
2070
+ pis.quantidade_vendida.must_equal 0.0
2071
+ pis.total_aliquota.must_equal 0.0
2072
+ # COFINS
2073
+ cofins = item.cofins
2074
+ cofins.codigo_cst.must_equal '07'
2075
+ cofins.total_base_calculo.must_equal 0.0
2076
+ cofins.aliquota.must_equal 0.0
2077
+ cofins.total.must_equal 0.0
2078
+ cofins.quantidade_vendida.must_equal 0.0
2079
+ cofins.total_aliquota.must_equal 0.0
2080
+ # Importação
2081
+ item.importacao.must_be_nil
2082
+ # ISSQN
2083
+ item.issqn.must_be_nil
2084
+ # PIS-ST
2085
+ item.pis_st.must_be_nil
2086
+ # COFINS-ST
2087
+ item.cofins_st.must_be_nil
2088
+ # ICMS UF DESTINO
2089
+ icms_uf_destino = item.icms_uf_destino
2090
+ icms_uf_destino.total_base_calculo.must_equal 0.0
2091
+ icms_uf_destino.percentual_fcp.must_equal 2.0
2092
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 12.00
2093
+ icms_uf_destino.aliquota_interestadual.must_equal 17.00
2094
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
2095
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
2096
+ icms_uf_destino.total_destino.must_equal 0.0
2097
+ icms_uf_destino.total_origem.must_equal 0.0
2098
+ end
2099
+ it "Deve ler o Item 18 - ICMS-300" do
2100
+ item = invoice.itens[17]
2101
+ # Atributos
2102
+ item.tipo_produto.must_equal :product
2103
+ item.codigo_produto.must_equal 'FINUS72000ZV'
2104
+ item.codigo_ean.must_equal ''
2105
+ item.descricao_produto.must_equal 'FLEX - CONFIGURADOR USB Z-FLEX'
2106
+ item.codigo_ncm.must_equal '85176294'
2107
+ item.codigo_cest.must_equal ''
2108
+ item.codigos_nve.must_equal []
2109
+ item.codigo_extipi.must_equal ''
2110
+ item.cfop.must_equal '5102'
2111
+ item.unidade_comercial.must_equal 'PC'
2112
+ item.quantidade_comercial.must_equal 1.0
2113
+ item.valor_unitario_comercial.must_equal 174.92
2114
+ item.valor_total_produto.must_equal 174.92
2115
+ item.codigo_ean_tributavel.must_equal ''
2116
+ item.unidade_tributavel.must_equal 'PC'
2117
+ item.quantidade_tributavel.must_equal 1.0
2118
+ item.valor_unitario_tributavel.must_equal 174.92
2119
+ item.total_frete.must_equal 0
2120
+ item.total_seguro.must_equal 0
2121
+ item.total_desconto.must_equal 0
2122
+ item.total_outros.must_equal 0
2123
+ item.soma_total_nfe.must_equal true
2124
+ item.numero_pedido_compra.must_equal ''
2125
+ item.item_pedido_compra.must_equal ''
2126
+ item.numero_fci.must_equal ''
2127
+ item.percentual_devolucao.must_equal 0.0
2128
+ item.total_ipi_devolucao.must_equal 0.0
2129
+ item.informacoes_adicionais.must_equal ''
2130
+ item.total_tributos.must_equal 0
2131
+
2132
+ ###################### Associações HasMany ######################
2133
+ item.declaracoes_importacao.must_be_empty
2134
+ item.detalhes_exportacao.must_be_empty
2135
+
2136
+ ###################### Associações HasOne #########################
2137
+ ### ICMS
2138
+ icms = item.icms
2139
+ icms.origem.must_equal 0
2140
+ icms.codigo_cst.must_equal '300'
2141
+ icms.modalidade_base_calculo.must_be_nil
2142
+ icms.reducao_base_calculo.must_equal 0.0
2143
+ icms.total_base_calculo.must_equal 0.0
2144
+ icms.aliquota.must_equal 0.0
2145
+ icms.total.must_equal 0.0
2146
+
2147
+ icms.modalidade_base_calculo_st.must_be_nil
2148
+ icms.mva_st.must_equal 0.0
2149
+ icms.reducao_base_calculo_st.must_equal 0.0
2150
+ icms.total_base_calculo_st.must_equal 0.0
2151
+ icms.aliquota_st.must_equal 0.0
2152
+ icms.total_st.must_equal 0.0
2153
+ icms.total_desoneracao.must_equal 0.0
2154
+ icms.motivo_desoneracao.must_be_nil
2155
+ icms.total_icms_operacao.must_equal 0.0
2156
+ icms.percentual_diferimento.must_equal 0.0
2157
+ icms.total_icms_diferido.must_equal 0.0
2158
+ icms.total_base_calculo_st_retido.must_equal 0.0
2159
+ icms.total_st_retido.must_equal 0.0
2160
+ icms.aliquota_credito_sn.must_equal 0.0
2161
+ icms.total_credito_sn.must_equal 0.0
2162
+ # IPI
2163
+ item.ipi.must_be_nil
2164
+ # PIS
2165
+ pis = item.pis
2166
+ pis.codigo_cst.must_equal '07'
2167
+ pis.total_base_calculo.must_equal 0.0
2168
+ pis.aliquota.must_equal 0.0
2169
+ pis.total.must_equal 0.0
2170
+ pis.quantidade_vendida.must_equal 0.0
2171
+ pis.total_aliquota.must_equal 0.0
2172
+ # COFINS
2173
+ cofins = item.cofins
2174
+ cofins.codigo_cst.must_equal '07'
2175
+ cofins.total_base_calculo.must_equal 0.0
2176
+ cofins.aliquota.must_equal 0.0
2177
+ cofins.total.must_equal 0.0
2178
+ cofins.quantidade_vendida.must_equal 0.0
2179
+ cofins.total_aliquota.must_equal 0.0
2180
+ # Importação
2181
+ item.importacao.must_be_nil
2182
+ # ISSQN
2183
+ item.issqn.must_be_nil
2184
+ # PIS-ST
2185
+ item.pis_st.must_be_nil
2186
+ # COFINS-ST
2187
+ item.cofins_st.must_be_nil
2188
+ # ICMS UF DESTINO
2189
+ icms_uf_destino = item.icms_uf_destino
2190
+ icms_uf_destino.total_base_calculo.must_equal 0.0
2191
+ icms_uf_destino.percentual_fcp.must_equal 0.0
2192
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
2193
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
2194
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
2195
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
2196
+ icms_uf_destino.total_destino.must_equal 0.0
2197
+ icms_uf_destino.total_origem.must_equal 0.0
2198
+ end
2199
+ it "Deve ler o Item 19 - ICMS-400" do
2200
+ item = invoice.itens[18]
2201
+ # Atributos
2202
+ item.tipo_produto.must_equal :product
2203
+ item.codigo_produto.must_equal 'CM080P'
2204
+ item.codigo_ean.must_equal ''
2205
+ item.descricao_produto.must_equal 'AERTECNICA - CENTRAL DE ASPIRACAO PERFETTO P80'
2206
+
2207
+ ###################### Associações HasMany ######################
2208
+ item.declaracoes_importacao.must_be_empty
2209
+ item.detalhes_exportacao.must_be_empty
2210
+
2211
+ ###################### Associações HasOne #########################
2212
+ ### ICMS
2213
+ icms = item.icms
2214
+ icms.origem.must_equal 0
2215
+ icms.codigo_cst.must_equal '400'
2216
+ # IPI
2217
+ item.ipi.must_be_nil
2218
+ # PIS
2219
+ item.pis.codigo_cst.must_equal '07'
2220
+ # COFINS
2221
+ item.cofins.codigo_cst.must_equal '07'
2222
+ # Importação
2223
+ item.importacao.must_be_nil
2224
+ # ISSQN
2225
+ item.issqn.must_be_nil
2226
+ # PIS-ST
2227
+ item.pis_st.must_be_nil
2228
+ # COFINS-ST
2229
+ item.cofins_st.must_be_nil
2230
+ # ICMS UF DESTINO
2231
+ icms_uf_destino = item.icms_uf_destino
2232
+ icms_uf_destino.total_base_calculo.must_equal 0.0
2233
+ icms_uf_destino.percentual_fcp.must_equal 0.0
2234
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
2235
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
2236
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
2237
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
2238
+ icms_uf_destino.total_destino.must_equal 0.0
2239
+ icms_uf_destino.total_origem.must_equal 0.0
2240
+ end
2241
+ it "Deve ler o Item 20 - ICMS-500" do
2242
+ item = invoice.itens[19]
2243
+ # Atributos
2244
+ item.tipo_produto.must_equal :product
2245
+ item.codigo_produto.must_equal '164125'
2246
+ item.codigo_ean.must_equal ''
2247
+ item.descricao_produto.must_equal 'BELKIN - CAPA PARA IPHONE HALO TRANSPARENTE'
2248
+
2249
+ ###################### Associações HasMany ######################
2250
+ item.declaracoes_importacao.must_be_empty
2251
+ item.detalhes_exportacao.must_be_empty
2252
+
2253
+ ###################### Associações HasOne #########################
2254
+ ### ICMS
2255
+ icms = item.icms
2256
+ icms.origem.must_equal 0
2257
+ icms.codigo_cst.must_equal '500'
2258
+ # IPI
2259
+ ipi = item.ipi
2260
+ ipi.codigo_enquadramento.must_equal '999'
2261
+ ipi.codigo_cst.must_equal '54'
2262
+ # PIS
2263
+ pis = item.pis
2264
+ pis.codigo_cst.must_equal '53'
2265
+ pis.total_base_calculo.must_equal 0.0
2266
+ pis.aliquota.must_equal 0.0
2267
+ pis.quantidade_vendida.must_equal 1.0
2268
+ pis.total_aliquota.must_equal 1.39
2269
+ pis.total.must_equal 1.39
2270
+ # COFINS
2271
+ item.cofins.codigo_cst.must_equal '07'
2272
+ # Importação
2273
+ item.importacao.must_be_nil
2274
+ # ISSQN
2275
+ item.issqn.must_be_nil
2276
+ # PIS-ST
2277
+ item.pis_st.must_be_nil
2278
+ # COFINS-ST
2279
+ item.cofins_st.must_be_nil
2280
+ # ICMS UF DESTINO
2281
+ icms_uf_destino = item.icms_uf_destino
2282
+ icms_uf_destino.total_base_calculo.must_equal 0.0
2283
+ icms_uf_destino.percentual_fcp.must_equal 0.0
2284
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 0.0
2285
+ icms_uf_destino.aliquota_interestadual.must_equal 0.0
2286
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
2287
+ icms_uf_destino.total_fcp_destino.must_equal 0.0
2288
+ icms_uf_destino.total_destino.must_equal 0.0
2289
+ icms_uf_destino.total_origem.must_equal 0.0
2290
+ end
2291
+ it "Deve ler o Item 21 - ICMS-900" do
2292
+ item = invoice.itens[20]
2293
+ # Atributos
2294
+ item.tipo_produto.must_equal :product
2295
+ item.codigo_produto.must_equal 'TQF110039'
2296
+ item.codigo_ean.must_equal ''
2297
+ item.descricao_produto.must_equal '7BALL - TAQUEIRA DE CHAO BUENOS AIRES PRETA'
2298
+
2299
+ ###################### Associações HasMany ######################
2300
+ item.declaracoes_importacao.must_be_empty
2301
+ item.detalhes_exportacao.must_be_empty
2302
+
2303
+ ###################### Associações HasOne #########################
2304
+ ### ICMS
2305
+ icms = item.icms
2306
+ icms.origem.must_equal 0
2307
+ icms.codigo_cst.must_equal '900'
2308
+ icms.modalidade_base_calculo.must_equal 2
2309
+ icms.reducao_base_calculo.must_equal 2.0
2310
+ icms.total_base_calculo.must_equal 411.80
2311
+ icms.aliquota.must_equal 17.0
2312
+ icms.total.must_equal 70.01
2313
+ icms.modalidade_base_calculo_st.must_equal 0
2314
+ icms.mva_st.must_equal 55.0
2315
+ icms.reducao_base_calculo_st.must_equal 1.0
2316
+ icms.total_base_calculo_st.must_equal 644.80
2317
+ icms.aliquota_st.must_equal 12.0
2318
+ icms.total_st.must_equal 4.22
2319
+ icms.total_desoneracao.must_equal 0.0
2320
+ icms.motivo_desoneracao.must_be_nil
2321
+ icms.total_icms_operacao.must_equal 0.0
2322
+ icms.percentual_diferimento.must_equal 0.0
2323
+ icms.total_icms_diferido.must_equal 0.0
2324
+ icms.total_base_calculo_st_retido.must_equal 0.0
2325
+ icms.total_st_retido.must_equal 0.0
2326
+ icms.aliquota_credito_sn.must_equal 2.0
2327
+ icms.total_credito_sn.must_equal 8.4
2328
+ # IPI
2329
+ item.ipi.must_be_nil
2330
+ # PIS
2331
+ pis = item.pis
2332
+ pis.codigo_cst.must_equal '07'
2333
+ # COFINS
2334
+ item.cofins.codigo_cst.must_equal '07'
2335
+ # Importação
2336
+ item.importacao.must_be_nil
2337
+ # ISSQN
2338
+ item.issqn.must_be_nil
2339
+ # PIS-ST
2340
+ item.pis_st.must_be_nil
2341
+ # COFINS-ST
2342
+ item.cofins_st.must_be_nil
2343
+ # ICMS UF DESTINO
2344
+ icms_uf_destino = item.icms_uf_destino
2345
+ icms_uf_destino.total_base_calculo.must_equal 411.80
2346
+ icms_uf_destino.percentual_fcp.must_equal 1.50
2347
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 17.00
2348
+ icms_uf_destino.aliquota_interestadual.must_equal 12.00
2349
+ icms_uf_destino.percentual_partilha_destino.must_equal 60.0
2350
+ icms_uf_destino.total_fcp_destino.must_equal 6.18
2351
+ icms_uf_destino.total_destino.must_equal 12.35
2352
+ icms_uf_destino.total_origem.must_equal 8.24
2353
+ end
2354
+ it "Deve ler o Item 22 - Com DI e exportação" do
2355
+ item = invoice.itens[21]
2356
+ # Atributos
2357
+ item.tipo_produto.must_equal :product
2358
+ item.codigo_produto.must_equal 'PD854KL'
2359
+ item.codigo_ean.must_equal ''
2360
+ item.descricao_produto.must_equal 'MICROCOMPUTADOR DELL ALL IN ONE INSPIRON 20 3059'
2361
+ item.codigo_ncm.must_equal '84715010'
2362
+ item.codigo_cest.must_equal ''
2363
+ item.codigos_nve.must_equal []
2364
+ item.codigo_extipi.must_equal ''
2365
+ item.cfop.must_equal '6101'
2366
+ item.unidade_comercial.must_equal 'UN'
2367
+ item.quantidade_comercial.must_equal 1.0
2368
+ item.valor_unitario_comercial.must_equal 1400.50
2369
+ item.valor_total_produto.must_equal 1400.50
2370
+ item.codigo_ean_tributavel.must_equal ''
2371
+ item.unidade_tributavel.must_equal 'UN'
2372
+ item.quantidade_tributavel.must_equal 1.0
2373
+ item.valor_unitario_tributavel.must_equal 1400.50
2374
+ item.total_frete.must_equal 50.0
2375
+ item.total_seguro.must_equal 0.0
2376
+ item.total_desconto.must_equal 199.50
2377
+ item.total_outros.must_equal 0.0
2378
+ item.soma_total_nfe.must_equal true
2379
+ item.numero_pedido_compra.must_equal '79813168'
2380
+ item.item_pedido_compra.must_equal '000001'
2381
+ item.numero_fci.must_equal 'B01F70AF-10BF-4B1F-848C-65FF57F616FE'
2382
+ item.percentual_devolucao.must_equal 0.0
2383
+ item.total_ipi_devolucao.must_equal 0.0
2384
+ item.informacoes_adicionais.must_equal 'OBSERVACOES DO PRODUTO 1'
2385
+ item.total_tributos.must_equal 147.87
2386
+
2387
+ ###################### Associações HasMany ######################
2388
+ # Declarações de importação
2389
+ item.declaracoes_importacao.size.must_equal 1
2390
+ di = item.declaracoes_importacao[0]
2391
+ di.numero_documento.must_equal 'DOC123'
2392
+ di.data_registro.must_equal Date.parse('2017-06-06')
2393
+ di.local_desembaraco.must_equal 'Pier 12'
2394
+ di.uf_desembaraco.must_equal 'SC'
2395
+ di.data_desembaraco.must_equal Date.parse '2017-05-30'
2396
+ di.via_transporte.must_equal 1
2397
+ di.valor_afrmm.must_equal 150.00
2398
+ di.tipo_intermediacao.must_equal 3
2399
+ di.cnpj_adquirente.must_equal '85956707000129'
2400
+ di.uf_terceiro.must_equal 'PR'
2401
+ di.codigo_exportador.must_equal '945123'
2402
+ # Adições da importação
2403
+ di.adicoes.size.must_equal 1
2404
+ adi = di.adicoes[0]
2405
+ adi.numero_adicao.must_equal '123'
2406
+ adi.sequencial.must_equal 1
2407
+ adi.codigo_fabricante.must_equal 'XINGLING'
2408
+ adi.valor_desconto.must_equal 0.98
2409
+ adi.numero_drawback.must_equal '20160000012'
2410
+
2411
+ # Detalhes da Exportação
2412
+ item.detalhes_exportacao.size.must_equal 1
2413
+ det_exp = item.detalhes_exportacao[0]
2414
+ det_exp.numero_drawback.must_equal '201612347'
2415
+ det_exp.numero_registro.must_equal '201612347'
2416
+ det_exp.chave_nfe_recebida.must_equal '42000082176985000186540000000000006313331836'
2417
+ det_exp.quantidade.must_equal 147.0
2418
+
2419
+ ###################### Associações HasOne #########################
2420
+ ### ICMS
2421
+ icms = item.icms
2422
+ icms.origem.must_equal 0
2423
+ icms.codigo_cst.must_equal '102'
2424
+ # IPI
2425
+ ipi = item.ipi
2426
+ ipi.classe_enquadramento.must_equal 'C1324'
2427
+ ipi.cnpj_produtor.must_equal '00916702000110'
2428
+ ipi.codigo_selo.must_equal 'SEL8724'
2429
+ ipi.quantidade_selo.must_equal '10'
2430
+ ipi.codigo_enquadramento.must_equal '999'
2431
+ ipi.codigo_cst.must_equal '50'
2432
+ ipi.base_calculo.must_equal 1400.50
2433
+ ipi.aliquota.must_equal 2.5000
2434
+ ipi.quantidade_unidade.must_equal 0.0
2435
+ ipi.total_unidade.must_equal 0.0
2436
+ ipi.total.must_equal 45.01
2437
+ # PIS
2438
+ pis = item.pis
2439
+ pis.codigo_cst.must_equal '04'
2440
+ pis.total_base_calculo.must_equal 0.0
2441
+ pis.aliquota.must_equal 0.0
2442
+ pis.total.must_equal 0.0
2443
+ pis.quantidade_vendida.must_equal 0.0
2444
+ pis.total_aliquota.must_equal 0.0
2445
+ # COFINS
2446
+ cofins = item.cofins
2447
+ cofins.codigo_cst.must_equal '01'
2448
+ cofins.total_base_calculo.must_equal 1400.50
2449
+ cofins.aliquota.must_equal 3.0000
2450
+ cofins.total.must_equal 54.02
2451
+ cofins.quantidade_vendida.must_equal 0.0
2452
+ cofins.total_aliquota.must_equal 0.0
2453
+ # Importação
2454
+ importacao = item.importacao
2455
+ importacao.total_base_calculo.must_equal 1400.50
2456
+ importacao.total_despesas_aduaneiras.must_equal 300.00
2457
+ importacao.total_imposto.must_equal 300.00
2458
+ importacao.total_iof.must_equal 34.70
2459
+ # ISSQN
2460
+ item.issqn.must_be_nil
2461
+ # PIS-ST
2462
+ pis_st = item.pis_st
2463
+ pis_st.total_base_calculo.must_equal 0.0
2464
+ pis_st.aliquota.must_equal 0.0
2465
+ pis_st.total.must_equal 54.02
2466
+ pis_st.quantidade_vendida.must_equal 1.0
2467
+ pis_st.total_aliquota.must_equal 54.02
2468
+ # COFINS-ST
2469
+ cofins_st = item.cofins_st
2470
+ cofins_st.total_base_calculo.must_equal 2.0
2471
+ cofins_st.aliquota.must_equal 3.0
2472
+ cofins_st.quantidade_vendida.must_equal 1.0000
2473
+ cofins_st.total_aliquota.must_equal 4.0
2474
+ cofins_st.total.must_equal 54.02
2475
+ # ICMS UF DESTINO
2476
+ icms_uf_destino = item.icms_uf_destino
2477
+ icms_uf_destino.total_base_calculo.must_equal 1400.50
2478
+ icms_uf_destino.percentual_fcp.must_equal 1.50
2479
+ icms_uf_destino.aliquota_interna_uf_destino.must_equal 12.00
2480
+ icms_uf_destino.aliquota_interestadual.must_equal 17.00
2481
+ icms_uf_destino.percentual_partilha_destino.must_equal 80.00
2482
+ icms_uf_destino.total_fcp_destino.must_equal 27.01
2483
+ icms_uf_destino.total_destino.must_equal 244.87
2484
+ icms_uf_destino.total_origem.must_equal 61.22
2485
+ end
2486
+ it "Deve ler o Item 23 - Com ISSQN" do
2487
+ item = invoice.itens[22]
2488
+ # Atributos
2489
+ item.tipo_produto.must_equal :service
2490
+ item.codigo_produto.must_equal '123457'
2491
+ item.codigo_ean.must_equal ''
2492
+ item.descricao_produto.must_equal 'DESCRICAO DO SERVICO'
2493
+ item.codigo_ncm.must_equal '99'
2494
+ item.codigo_cest.must_equal ''
2495
+ item.codigos_nve.must_equal []
2496
+ item.codigo_extipi.must_equal ''
2497
+ item.cfop.must_equal '5933'
2498
+ item.unidade_comercial.must_equal 'UN'
2499
+ item.quantidade_comercial.must_equal 1.0
2500
+ item.valor_unitario_comercial.must_equal 100.0
2501
+ item.valor_total_produto.must_equal 100.0
2502
+ item.codigo_ean_tributavel.must_equal ''
2503
+ item.unidade_tributavel.must_equal 'UN'
2504
+ item.quantidade_tributavel.must_equal 1.0
2505
+ item.valor_unitario_tributavel.must_equal 100.0
2506
+ item.total_frete.must_equal 0.0
2507
+ item.total_seguro.must_equal 0.0
2508
+ item.total_desconto.must_equal 0.0
2509
+ item.total_outros.must_equal 0.0
2510
+ item.soma_total_nfe.must_equal true
2511
+ item.informacoes_adicionais.must_equal 'Informacao Adicional do Servico'
2512
+ item.total_tributos.must_equal 0.0
2513
+
2514
+ # ISSQN
2515
+ issqn = item.issqn
2516
+ issqn.total_base_calculo.must_equal 100.00
2517
+ issqn.aliquota.must_equal 2.00
2518
+ issqn.total.must_equal 2.00
2519
+ issqn.municipio_ocorrencia.must_equal '3554003'
2520
+ issqn.codigo_servico.must_equal '14.02'
2521
+ issqn.total_deducao_bc.must_equal 10.0
2522
+ issqn.total_outras_retencoes.must_equal 12.65
2523
+ issqn.total_desconto_incondicionado.must_equal 22.77
2524
+ issqn.total_desconto_condicionado.must_equal 10.47
2525
+ issqn.total_iss_retido.must_equal 2.45
2526
+ issqn.indicador_iss.must_equal 1
2527
+ issqn.codigo_servico_municipio.must_equal '1752464'
2528
+ issqn.municipio_incidencia.must_equal '4265778'
2529
+ issqn.codigo_pais.must_equal '128'
2530
+ issqn.numero_processo.must_equal '88782561'
2531
+ issqn.incentivo_fiscal.must_equal false
2532
+ end
2533
+ end
2534
+ end
2535
+ end