br_nfe 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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