br_nfe 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/br_nfe/active_model_base.rb +0 -5
  4. data/lib/br_nfe/base.rb +116 -7
  5. data/lib/br_nfe/helper/values_ts/service_v1.rb +15 -11
  6. data/lib/br_nfe/response/service/build_response.rb +230 -53
  7. data/lib/br_nfe/response/service/nota_fiscal.rb +9 -0
  8. data/lib/br_nfe/response/service/paths/base.rb +93 -59
  9. data/lib/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta.rb +2 -2
  10. data/lib/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta.rb +2 -2
  11. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta.rb +2 -2
  12. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta.rb +2 -2
  13. data/lib/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta.rb +4 -4
  14. data/lib/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta.rb +8 -8
  15. data/lib/br_nfe/response/service/paths/v1/tc_nfse.rb +201 -57
  16. data/lib/br_nfe/service/base.rb +104 -5
  17. data/lib/br_nfe/service/betha/base.rb +5 -0
  18. data/lib/br_nfe/service/betha/v1/cancelamento_nfs.rb +1 -4
  19. data/lib/br_nfe/service/betha/v1/consulta_lote_rps.rb +1 -4
  20. data/lib/br_nfe/service/betha/v1/consulta_nfs_por_rps.rb +1 -4
  21. data/lib/br_nfe/service/betha/v1/consulta_nfse.rb +1 -4
  22. data/lib/br_nfe/service/betha/v1/consulta_situacao_lote_rps.rb +1 -3
  23. data/lib/br_nfe/service/betha/v1/gateway.rb +1 -1
  24. data/lib/br_nfe/service/betha/v1/recepcao_lote_rps.rb +1 -3
  25. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta.rb +5 -1
  26. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta.rb +5 -1
  27. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +5 -1
  28. data/lib/br_nfe/service/concerns/rules/cancelamento_nfs.rb +5 -0
  29. data/lib/br_nfe/service/rps.rb +13 -4
  30. data/lib/br_nfe/service/simpliss/v1/base.rb +79 -0
  31. data/lib/br_nfe/service/simpliss/v1/cancela_nfse.rb +30 -0
  32. data/lib/br_nfe/service/simpliss/v1/consulta_lote_rps.rb +38 -0
  33. data/lib/br_nfe/service/simpliss/v1/consulta_nfs_por_rps.rb +31 -0
  34. data/lib/br_nfe/service/simpliss/v1/consulta_nfse.rb +30 -0
  35. data/lib/br_nfe/service/simpliss/v1/consulta_situacao_lote_rps.rb +29 -0
  36. data/lib/br_nfe/service/simpliss/v1/recepcao_lote_rps.rb +35 -0
  37. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_cancelar_nfse_resposta.rb +22 -0
  38. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_consultar_lote_rps_resposta.rb +25 -0
  39. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_consultar_nfse_resposta.rb +25 -0
  40. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +25 -0
  41. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_consultar_situacao_lote_rps_resposta.rb +31 -0
  42. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_enviar_lote_rps_resposta.rb +36 -0
  43. data/lib/br_nfe/service/simpliss/v1/xml/_login.xml.slim +3 -0
  44. data/lib/br_nfe/service/simpliss/v1/xml/_tc_dados_servico.xml.slim +18 -0
  45. data/lib/br_nfe/service/simpliss/v1/xml/_tc_item_servico.xml.slim +3 -0
  46. data/lib/br_nfe/service/simpliss/v1/xml/servico_cancelar_nfse_envio.xml.slim +11 -0
  47. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_lote_rps_envio.xml.slim +7 -0
  48. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_nfse_envio.xml.slim +22 -0
  49. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_nfse_rps_envio.xml.slim +8 -0
  50. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_situacao_lote_rps_envio.xml.slim +7 -0
  51. data/lib/br_nfe/service/simpliss/v1/xml/servico_enviar_lote_rps_envio.xml.slim +11 -0
  52. data/lib/br_nfe/service/thema/v1/base.rb +48 -2
  53. data/lib/br_nfe/service/thema/v1/cancela_nfse.rb +14 -5
  54. data/lib/br_nfe/service/thema/v1/consulta_lote_rps.rb +5 -4
  55. data/lib/br_nfe/service/thema/v1/consulta_nfs_por_rps.rb +5 -4
  56. data/lib/br_nfe/service/thema/v1/consulta_nfse.rb +5 -4
  57. data/lib/br_nfe/service/thema/v1/consulta_situacao_lote_rps.rb +1 -4
  58. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb +19 -5
  59. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps_limitado.rb +1 -1
  60. data/lib/br_nfe/service/thema/v1/response_paths/servico_cancelar_nfse_resposta.rb +17 -0
  61. data/lib/br_nfe/service/thema/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +19 -0
  62. data/lib/br_nfe/service/xml/v1/_tc_contato.xml.slim +2 -2
  63. data/lib/br_nfe/service/xml/v1/_tc_cpf_cnpj.xml.slim +2 -2
  64. data/lib/br_nfe/service/xml/v1/_tc_dados_construcao_civil.xml.slim +2 -2
  65. data/lib/br_nfe/service/xml/v1/_tc_dados_prestador.xml.slim +5 -5
  66. data/lib/br_nfe/service/xml/v1/_tc_dados_servico.xml.slim +6 -6
  67. data/lib/br_nfe/service/xml/v1/_tc_dados_tomador.xml.slim +4 -4
  68. data/lib/br_nfe/service/xml/v1/_tc_endereco.xml.slim +7 -7
  69. data/lib/br_nfe/service/xml/v1/_tc_identificacao_intermediario_servico.xml.slim +3 -3
  70. data/lib/br_nfe/service/xml/v1/_tc_identificacao_nfse.xml.slim +4 -4
  71. data/lib/br_nfe/service/xml/v1/_tc_identificacao_orgao_gerador.xml.slim +2 -2
  72. data/lib/br_nfe/service/xml/v1/_tc_identificacao_prestador.xml.slim +2 -2
  73. data/lib/br_nfe/service/xml/v1/_tc_identificacao_rps.xml.slim +3 -3
  74. data/lib/br_nfe/service/xml/v1/_tc_identificacao_tomador.xml.slim +2 -2
  75. data/lib/br_nfe/service/xml/v1/_tc_inf_pedido_cancelamento.xml.slim +2 -2
  76. data/lib/br_nfe/service/xml/v1/_tc_inf_rps.xml.slim +13 -13
  77. data/lib/br_nfe/service/xml/v1/_tc_lote_rps.xml.slim +6 -6
  78. data/lib/br_nfe/service/xml/v1/_tc_pedido_cancelamento.xml.slim +1 -1
  79. data/lib/br_nfe/service/xml/v1/_tc_rps.xml.slim +2 -2
  80. data/lib/br_nfe/service/xml/v1/_tc_valores.xml.slim +16 -17
  81. data/lib/br_nfe/service/xml/v1/servico_cancelar_nfse_envio.xml.slim +3 -4
  82. data/lib/br_nfe/service/xml/v1/servico_consultar_lote_rps_envio.xml.slim +3 -3
  83. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_envio.xml.slim +8 -8
  84. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_rps_envio.xml.slim +3 -3
  85. data/lib/br_nfe/service/xml/v1/servico_consultar_situacao_lote_rps_envio.xml.slim +3 -3
  86. data/lib/br_nfe/service/xml/v1/servico_enviar_lote_rps_envio.xml.slim +3 -3
  87. data/lib/br_nfe/version.rb +1 -1
  88. data/lib/br_nfe/xml/_signed_info_sh1.xml.slim +9 -9
  89. data/lib/br_nfe/xml/signature_sh1.xml.slim +5 -5
  90. data/lib/br_nfe.rb +26 -10
  91. data/test/br_nfe/base_test.rb +5 -5
  92. data/test/br_nfe/helper/values_ts/service_v1_test.rb +376 -0
  93. data/test/br_nfe/response/service/build_response_test.rb +1 -173
  94. data/test/br_nfe/response/service/paths/base_test.rb +61 -64
  95. data/test/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta_test.rb +2 -2
  96. data/test/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta_test.rb +2 -2
  97. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta_test.rb +2 -2
  98. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta_test.rb +2 -2
  99. data/test/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta_test.rb +3 -3
  100. data/test/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta_test.rb +4 -4
  101. data/test/br_nfe/response/service/paths/v1/tc_nfse_test.rb +27 -31
  102. data/test/br_nfe/service/base_test.rb +206 -11
  103. data/test/br_nfe/service/betha/base_test.rb +9 -0
  104. data/test/br_nfe/service/betha/v1/cancelamento_nfs_test.rb +0 -6
  105. data/test/br_nfe/service/betha/v1/consulta_lote_rps_test.rb +0 -6
  106. data/test/br_nfe/service/betha/v1/consulta_nfs_por_rps_test.rb +0 -4
  107. data/test/br_nfe/service/betha/v1/consulta_nfse_test.rb +0 -4
  108. data/test/br_nfe/service/betha/v1/consulta_situacao_lote_rps_test.rb +1 -5
  109. data/test/br_nfe/service/betha/v1/gateway_test.rb +4 -2
  110. data/test/br_nfe/service/betha/v1/recepcao_lote_rps_test.rb +0 -4
  111. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta_test.rb +1 -1
  112. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta_test.rb +1 -1
  113. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta_test.rb +1 -1
  114. data/test/br_nfe/service/rps_test.rb +39 -6
  115. data/test/br_nfe/service/simpliss/v1/base_test.rb +102 -0
  116. data/test/br_nfe/service/simpliss/v1/cancela_nfse_test.rb +97 -0
  117. data/test/br_nfe/service/simpliss/v1/consulta_lote_rps_test.rb +241 -0
  118. data/test/br_nfe/service/simpliss/v1/consulta_nfs_por_rps_test.rb +239 -0
  119. data/test/br_nfe/service/simpliss/v1/consulta_nfse_test.rb +226 -0
  120. data/test/br_nfe/service/simpliss/v1/consulta_situacao_lote_rps_test.rb +122 -0
  121. data/test/br_nfe/service/simpliss/v1/recepcao_lote_rps_test.rb +105 -0
  122. data/test/br_nfe/service/simpliss/v1/xsd/nfse_3.xsd +735 -0
  123. data/test/br_nfe/service/simpliss/v1/xsd/xmldsig-core-schema20020212.xsd +318 -0
  124. data/test/br_nfe/service/thema/v1/base_test.rb +23 -2
  125. data/test/br_nfe/service/thema/v1/cancela_nfse_test.rb +69 -3
  126. data/test/br_nfe/service/thema/v1/consulta_lote_rps_test.rb +134 -4
  127. data/test/br_nfe/service/thema/v1/consulta_nfs_por_rps_test.rb +131 -4
  128. data/test/br_nfe/service/thema/v1/consulta_nfse_test.rb +214 -4
  129. data/test/br_nfe/service/thema/v1/consulta_situacao_lote_rps_test.rb +97 -4
  130. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_limitado_test.rb +109 -0
  131. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test.rb +72 -4
  132. data/test/factories/service/rps.rb +17 -16
  133. data/test/factories/service/{sc/gaspar/recepcao_lote_rps_limitado.rb → simpliss/v1/base.rb} +1 -3
  134. data/test/factories/service/{sc/gaspar → simpliss/v1}/cancela_nfse.rb +2 -2
  135. data/test/factories/service/simpliss/v1/consulta_lote_rps.rb +7 -0
  136. data/test/factories/service/{sc/gaspar → simpliss/v1}/consulta_nfs_por_rps.rb +1 -1
  137. data/test/factories/service/{sc/gaspar → simpliss/v1}/consulta_nfse.rb +1 -1
  138. data/test/factories/service/simpliss/v1/consulta_situacao_lote_rps.rb +6 -0
  139. data/test/factories/service/{sc/gaspar → simpliss/v1}/recepcao_lote_rps.rb +1 -1
  140. data/test/fixtures/service/response/simpliss/v1/cancela_nfse/fault.xml +21 -0
  141. data/test/fixtures/service/response/simpliss/v1/cancela_nfse/success.xml +26 -0
  142. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/fault.xml +21 -0
  143. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/nfse_complete.xml +134 -0
  144. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/nfse_simple.xml +100 -0
  145. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/fault.xml +16 -0
  146. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfs_empty.xml +10 -0
  147. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfse_complete.xml +134 -0
  148. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfse_simple.xml +100 -0
  149. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/fault.xml +16 -0
  150. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/nfse_complete.xml +132 -0
  151. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/nfse_simple.xml +98 -0
  152. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/error.xml +11 -0
  153. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/fault.xml +16 -0
  154. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/success.xml +11 -0
  155. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/unprocessed.xml +11 -0
  156. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/unreceived.xml +11 -0
  157. data/test/fixtures/service/response/simpliss/v1/recepcao_lote_rps/error.xml +16 -0
  158. data/test/fixtures/service/response/simpliss/v1/recepcao_lote_rps/success.xml +12 -0
  159. data/test/fixtures/service/response/thema/v1/cancela_nfse/fault.xml +33 -0
  160. data/test/fixtures/service/response/thema/v1/cancela_nfse/success.xml +30 -0
  161. data/test/fixtures/service/response/thema/v1/consulta_lote_rps/fault.xml +19 -0
  162. data/test/fixtures/service/response/thema/v1/consulta_lote_rps/nfse_complete.xml +109 -0
  163. data/test/fixtures/service/response/thema/v1/consulta_nfse/fault.xml +20 -0
  164. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfs_empty.xml +14 -0
  165. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfse_complete.xml +111 -0
  166. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfse_simple.xml +111 -0
  167. data/test/fixtures/service/response/thema/v1/consulta_nfse_por_rps/fault.xml +23 -0
  168. data/test/fixtures/service/response/thema/v1/consulta_nfse_por_rps/nfse_complete.xml +110 -0
  169. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/error.xml +14 -0
  170. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/fault.xml +15 -0
  171. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/success.xml +14 -0
  172. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/unprocessed.xml +14 -0
  173. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/unreceived.xml +19 -0
  174. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps/error.xml +17 -0
  175. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps/success.xml +15 -0
  176. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps_limitado/error.xml +19 -0
  177. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps_limitado/success.xml +15 -0
  178. data/test/fixtures/service/thema/v1/cancelar_nfse_envio.xml +1 -0
  179. data/test/fixtures/service/thema/v1/cancelar_nfse_envio_signed.xml +2 -0
  180. data/test/fixtures/service/thema/v1/enviar_lote_rps.xml +1 -0
  181. data/test/fixtures/service/thema/v1/enviar_lote_rps_signed.xml +2 -0
  182. data/test/test_helper.rb +5 -0
  183. metadata +146 -37
  184. data/lib/br_nfe/service/sc/gaspar/cancela_nfse.rb +0 -13
  185. data/lib/br_nfe/service/sc/gaspar/consulta_lote_rps.rb +0 -13
  186. data/lib/br_nfe/service/sc/gaspar/consulta_nfs_por_rps.rb +0 -13
  187. data/lib/br_nfe/service/sc/gaspar/consulta_nfse.rb +0 -17
  188. data/lib/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps.rb +0 -13
  189. data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps.rb +0 -13
  190. data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado.rb +0 -13
  191. data/test/br_nfe/service/sc/gaspar/cancela_nfse_test.rb +0 -21
  192. data/test/br_nfe/service/sc/gaspar/consulta_nfs_por_rps_test.rb +0 -21
  193. data/test/br_nfe/service/sc/gaspar/consulta_nfse_test.rb +0 -21
  194. data/test/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps_test.rb +0 -21
  195. data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado_test.rb +0 -22
  196. data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_test.rb +0 -22
  197. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test_limitado.rb +0 -50
  198. data/test/factories/service/sc/gaspar/consulta_lote_rps.rb +0 -7
  199. data/test/factories/service/sc/gaspar/consulta_situacao_lote_rps.rb +0 -6
@@ -2,6 +2,19 @@ module BrNfe
2
2
  module Service
3
3
  class Base < BrNfe::Base
4
4
  include BrNfe::Helper::ValuesTs::ServiceV1
5
+
6
+ # Alguns orgãos emissores necessitam que seja
7
+ # passado junto ao XML o Usuário e Senha do acesso do sistema
8
+ # da prefeitura.
9
+ #
10
+ attr_accessor :username
11
+ attr_accessor :password
12
+
13
+ # Código IBGE da cidade emitente
14
+ attr_accessor :ibge_code_of_issuer_city
15
+ def ibge_code_of_issuer_city
16
+ "#{@ibge_code_of_issuer_city ||= emitente.endereco.codigo_municipio}"
17
+ end
5
18
 
6
19
  # Declaro que o método `render_xml` irá verificar os arquivos também presentes
7
20
  # no diretório especificado
@@ -12,10 +25,6 @@ module BrNfe
12
25
  ["#{BrNfe.root}/lib/br_nfe/service/xml/#{xml_version}"]+super
13
26
  end
14
27
 
15
- def response_path_module
16
- raise "Não implementado."
17
- end
18
-
19
28
  def response_root_path
20
29
  []
21
30
  end
@@ -49,8 +58,98 @@ module BrNfe
49
58
  savon_response: resp, # Rsposta da requisição SOAP
50
59
  keys_root_path: response_root_path, # Caminho inicial da resposta / Chave pai principal
51
60
  nfe_xml_path: nfse_xml_path, # Caminho para encontrar a NF dentro do XML
52
- module_methods: response_path_module, # Module que contém os caminhos para encontrar cada informação pertinente para cada requisição
53
61
  body_xml_path: body_xml_path,
62
+ xml_encode: response_encoding, # Codificação do xml de resposta
63
+ lot_number_path: response_lot_number_path,
64
+ protocol_path: response_protocol_path,
65
+ received_date_path: response_received_date_path,
66
+ situation_path: response_situation_path,
67
+ situation_key_values: response_situation_key_values,
68
+ cancelation_date_time_path: response_cancelation_date_time_path,
69
+ message_errors_path: response_message_errors_path,
70
+ message_code_key: response_message_code_key,
71
+ message_msg_key: response_message_msg_key,
72
+ message_solution_key: response_message_solution_key,
73
+ invoices_path: response_invoices_path,
74
+ invoice_numero_nf_path: response_invoice_numero_nf_path,
75
+ invoice_codigo_verificacao_path: response_invoice_codigo_verificacao_path,
76
+ invoice_data_emissao_path: response_invoice_data_emissao_path,
77
+ invoice_url_nf_path: response_invoice_url_nf_path,
78
+ invoice_rps_numero_path: response_invoice_rps_numero_path,
79
+ invoice_rps_serie_path: response_invoice_rps_serie_path,
80
+ invoice_rps_tipo_path: response_invoice_rps_tipo_path,
81
+ invoice_rps_situacao_path: response_invoice_rps_situacao_path,
82
+ invoice_rps_substituido_numero_path: response_invoice_rps_substituido_numero_path,
83
+ invoice_rps_substituido_serie_path: response_invoice_rps_substituido_serie_path,
84
+ invoice_rps_substituido_tipo_path: response_invoice_rps_substituido_tipo_path,
85
+ invoice_data_emissao_rps_path: response_invoice_data_emissao_rps_path,
86
+ invoice_competencia_path: response_invoice_competencia_path,
87
+ invoice_natureza_operacao_path: response_invoice_natureza_operacao_path,
88
+ invoice_regime_especial_tributacao_path: response_invoice_regime_especial_tributacao_path,
89
+ invoice_optante_simples_nacional_path: response_invoice_optante_simples_nacional_path,
90
+ invoice_incentivador_cultural_path: response_invoice_incentivador_cultural_path,
91
+ invoice_outras_informacoes_path: response_invoice_outras_informacoes_path,
92
+ invoice_item_lista_servico_path: response_invoice_item_lista_servico_path,
93
+ invoice_cnae_code_path: response_invoice_cnae_code_path,
94
+ invoice_description_path: response_invoice_description_path,
95
+ invoice_codigo_municipio_path: response_invoice_codigo_municipio_path,
96
+ invoice_total_services_path: response_invoice_total_services_path,
97
+ invoice_deductions_path: response_invoice_deductions_path,
98
+ invoice_valor_pis_path: response_invoice_valor_pis_path,
99
+ invoice_valor_cofins_path: response_invoice_valor_cofins_path,
100
+ invoice_valor_inss_path: response_invoice_valor_inss_path,
101
+ invoice_valor_ir_path: response_invoice_valor_ir_path,
102
+ invoice_valor_csll_path: response_invoice_valor_csll_path,
103
+ invoice_iss_retained_path: response_invoice_iss_retained_path,
104
+ invoice_outras_retencoes_path: response_invoice_outras_retencoes_path,
105
+ invoice_total_iss_path: response_invoice_total_iss_path,
106
+ invoice_base_calculation_path: response_invoice_base_calculation_path,
107
+ invoice_iss_tax_rate_path: response_invoice_iss_tax_rate_path,
108
+ invoice_valor_liquido_path: response_invoice_valor_liquido_path,
109
+ invoice_desconto_condicionado_path: response_invoice_desconto_condicionado_path,
110
+ invoice_desconto_incondicionado_path: response_invoice_desconto_incondicionado_path,
111
+ invoice_responsavel_retencao_path: response_invoice_responsavel_retencao_path,
112
+ invoice_numero_processo_path: response_invoice_numero_processo_path,
113
+ invoice_municipio_incidencia_path: response_invoice_municipio_incidencia_path,
114
+ invoice_orgao_gerador_municipio_path: response_invoice_orgao_gerador_municipio_path,
115
+ invoice_orgao_gerador_uf_path: response_invoice_orgao_gerador_uf_path,
116
+ invoice_cancelamento_codigo_path: response_invoice_cancelamento_codigo_path,
117
+ invoice_cancelamento_numero_nf_path: response_invoice_cancelamento_numero_nf_path,
118
+ invoice_cancelamento_cnpj_path: response_invoice_cancelamento_cnpj_path,
119
+ invoice_cancelamento_municipio_path: response_invoice_cancelamento_municipio_path,
120
+ invoice_cancelamento_data_hora_path: response_invoice_cancelamento_data_hora_path,
121
+ invoice_cancelamento_inscricao_municipal_path: response_invoice_cancelamento_inscricao_municipal_path,
122
+ invoice_nfe_substituidora_path: response_invoice_nfe_substituidora_path,
123
+ invoice_codigo_obra_path: response_invoice_codigo_obra_path,
124
+ invoice_codigo_art_path: response_invoice_codigo_art_path,
125
+ invoice_emitente_cnpj_path: response_invoice_emitente_cnpj_path,
126
+ invoice_emitente_inscricao_municipal_path: response_invoice_emitente_inscricao_municipal_path,
127
+ invoice_emitente_razao_social_path: response_invoice_emitente_razao_social_path,
128
+ invoice_emitente_nome_fantasia_path: response_invoice_emitente_nome_fantasia_path,
129
+ invoice_emitente_telefone_path: response_invoice_emitente_telefone_path,
130
+ invoice_emitente_email_path: response_invoice_emitente_email_path,
131
+ invoice_emitente_endereco_logradouro_path: response_invoice_emitente_endereco_logradouro_path,
132
+ invoice_emitente_endereco_numero_path: response_invoice_emitente_endereco_numero_path,
133
+ invoice_emitente_endereco_complemento_path: response_invoice_emitente_endereco_complemento_path,
134
+ invoice_emitente_endereco_bairro_path: response_invoice_emitente_endereco_bairro_path,
135
+ invoice_emitente_endereco_codigo_municipio_path: response_invoice_emitente_endereco_codigo_municipio_path,
136
+ invoice_emitente_endereco_uf_path: response_invoice_emitente_endereco_uf_path,
137
+ invoice_emitente_endereco_cep_path: response_invoice_emitente_endereco_cep_path,
138
+ invoice_destinatario_cpf_path: response_invoice_destinatario_cpf_path,
139
+ invoice_destinatario_cnpj_path: response_invoice_destinatario_cnpj_path,
140
+ invoice_destinatario_inscricao_municipal_path: response_invoice_destinatario_inscricao_municipal_path,
141
+ invoice_destinatario_inscricao_estadual_path: response_invoice_destinatario_inscricao_estadual_path,
142
+ invoice_destinatario_inscricao_suframa_path: response_invoice_destinatario_inscricao_suframa_path,
143
+ invoice_destinatario_razao_social_path: response_invoice_destinatario_razao_social_path,
144
+ invoice_destinatario_telefone_path: response_invoice_destinatario_telefone_path,
145
+ invoice_destinatario_email_path: response_invoice_destinatario_email_path,
146
+ invoice_destinatario_endereco_logradouro_path: response_invoice_destinatario_endereco_logradouro_path,
147
+ invoice_destinatario_endereco_numero_path: response_invoice_destinatario_endereco_numero_path,
148
+ invoice_destinatario_endereco_complemento_path: response_invoice_destinatario_endereco_complemento_path,
149
+ invoice_destinatario_endereco_bairro_path: response_invoice_destinatario_endereco_bairro_path,
150
+ invoice_destinatario_endereco_codigo_municipio_path: response_invoice_destinatario_endereco_codigo_municipio_path,
151
+ invoice_destinatario_endereco_uf_path: response_invoice_destinatario_endereco_uf_path,
152
+ invoice_destinatario_endereco_cep_path: response_invoice_destinatario_endereco_cep_path,
54
153
  ).response
55
154
  end
56
155
 
@@ -2,6 +2,11 @@ module BrNfe
2
2
  module Service
3
3
  module Betha
4
4
  class Base < BrNfe::Service::Base
5
+ # Código de item da lista de serviço
6
+ #
7
+ def ts_item_lista_servico value
8
+ BrNfe::Helper.only_number(value).max_size(5).rjust(4, '0')
9
+ end
5
10
  end
6
11
  end
7
12
  end
@@ -4,6 +4,7 @@ module BrNfe
4
4
  module V1
5
5
  class CancelamentoNfs < BrNfe::Service::Betha::V1::Gateway
6
6
  include BrNfe::Service::Concerns::Rules::CancelamentoNfs
7
+ include BrNfe::Service::Response::Paths::V1::ServicoCancelarNfseResposta
7
8
 
8
9
  def certificado_obrigatorio?
9
10
  true
@@ -17,10 +18,6 @@ module BrNfe
17
18
  :cancelar_nfse_envio
18
19
  end
19
20
 
20
- def response_path_module
21
- BrNfe::Service::Response::Paths::V1::ServicoCancelarNfseResposta
22
- end
23
-
24
21
  def response_root_path
25
22
  [:cancelar_nfse_envio_response]
26
23
  end
@@ -3,6 +3,7 @@ module BrNfe
3
3
  module Betha
4
4
  module V1
5
5
  class ConsultaLoteRps < BrNfe::Service::Betha::V1::Gateway
6
+ include BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarLoteRpsResposta
6
7
 
7
8
  attr_accessor :protocolo
8
9
 
@@ -16,10 +17,6 @@ module BrNfe
16
17
  :consultar_lote_rps_envio
17
18
  end
18
19
 
19
- def response_path_module
20
- BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarLoteRpsResposta
21
- end
22
-
23
20
  def response_root_path
24
21
  [:consultar_lote_rps_envio_response]
25
22
  end
@@ -4,6 +4,7 @@ module BrNfe
4
4
  module V1
5
5
  class ConsultaNfsPorRps < BrNfe::Service::Betha::V1::Gateway
6
6
  include BrNfe::Service::Concerns::Rules::ConsultaNfsPorRps
7
+ include BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarNfseRpsResposta
7
8
 
8
9
  def wsdl
9
10
  "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/consultarNfsePorRps?wsdl"
@@ -13,10 +14,6 @@ module BrNfe
13
14
  :consultar_nfse_por_rps_envio
14
15
  end
15
16
 
16
- def response_path_module
17
- BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarNfseRpsResposta
18
- end
19
-
20
17
  def response_root_path
21
18
  [:consultar_nfse_rps_envio_response]
22
19
  end
@@ -4,6 +4,7 @@ module BrNfe
4
4
  module V1
5
5
  class ConsultaNfse < BrNfe::Service::Betha::V1::Gateway
6
6
  include BrNfe::Service::Concerns::Rules::ConsultaNfse
7
+ include BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarNfseResposta
7
8
 
8
9
  def wsdl
9
10
  "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/consultarNfse?wsdl"
@@ -13,10 +14,6 @@ module BrNfe
13
14
  :consultar_nfse_envio
14
15
  end
15
16
 
16
- def response_path_module
17
- BrNfe::Service::Betha::V1::ResponsePaths::ServicoConsultarNfseResposta
18
- end
19
-
20
17
  def response_root_path
21
18
  [:consultar_nfse_envio_response]
22
19
  end
@@ -3,6 +3,7 @@ module BrNfe
3
3
  module Betha
4
4
  module V1
5
5
  class ConsultaSituacaoLoteRps < BrNfe::Service::Betha::V1::ConsultaLoteRps
6
+ include BrNfe::Service::Response::Paths::V1::ServicoConsultarSituacaoLoteRpsResposta
6
7
 
7
8
  def wsdl
8
9
  "http://e-gov.betha.com.br/e-nota-contribuinte-#{'test-' if env == :test}ws/consultarSituacaoLoteRps?wsdl"
@@ -12,9 +13,6 @@ module BrNfe
12
13
  :consultar_situacao_lote_rps_envio
13
14
  end
14
15
 
15
- def response_path_module
16
- BrNfe::Service::Response::Paths::V1::ServicoConsultarSituacaoLoteRpsResposta
17
- end
18
16
  def response_root_path
19
17
  [:consultar_situacao_lote_rps_envio_response]
20
18
  end
@@ -12,7 +12,7 @@ module BrNfe
12
12
  end
13
13
 
14
14
  def namespace_identifier
15
- :ns1
15
+ 'ns1:'
16
16
  end
17
17
  end
18
18
  end
@@ -4,6 +4,7 @@ module BrNfe
4
4
  module V1
5
5
  class RecepcaoLoteRps < BrNfe::Service::Betha::V1::Gateway
6
6
  include BrNfe::Service::Concerns::Rules::RecepcaoLoteRps
7
+ include BrNfe::Service::Response::Paths::V1::ServicoEnviarLoteRpsResposta
7
8
 
8
9
  def certificado_obrigatorio?
9
10
  true
@@ -16,9 +17,6 @@ module BrNfe
16
17
  :enviar_lote_rps_envio
17
18
  end
18
19
 
19
- def response_path_module
20
- BrNfe::Service::Response::Paths::V1::ServicoEnviarLoteRpsResposta
21
- end
22
20
  def response_root_path
23
21
  [:enviar_lote_rps_envio_response]
24
22
  end
@@ -8,9 +8,13 @@ module BrNfe
8
8
 
9
9
  # Caminho referente ao caminho onde se encontra as notas fiscais
10
10
  # poderá encontrar apenas uma ou várias
11
- def invoices_path
11
+ def response_invoices_path
12
12
  [:consultar_lote_rps_resposta, :lista_nfse, :compl_nfse]
13
13
  end
14
+
15
+ def response_invoice_url_nf_path
16
+ response_default_path_to_nf + [:outras_informacoes]
17
+ end
14
18
  end
15
19
  end
16
20
  end
@@ -6,9 +6,13 @@ module BrNfe
6
6
  module ServicoConsultarNfseResposta
7
7
  include BrNfe::Service::Response::Paths::V1::ServicoConsultarNfseResposta
8
8
 
9
- def invoices_path
9
+ def response_invoices_path
10
10
  [:consultar_nfse_resposta, :lista_nfse, :compl_nfse]
11
11
  end
12
+
13
+ def response_invoice_url_nf_path
14
+ response_default_path_to_nf + [:outras_informacoes]
15
+ end
12
16
  end
13
17
  end
14
18
  end
@@ -6,9 +6,13 @@ module BrNfe
6
6
  module ServicoConsultarNfseRpsResposta
7
7
  include BrNfe::Service::Response::Paths::V1::ServicoConsultarNfseRpsResposta
8
8
 
9
- def invoices_path
9
+ def response_invoices_path
10
10
  [:consultar_nfse_rps_resposta, :compl_nfse]
11
11
  end
12
+
13
+ def response_invoice_url_nf_path
14
+ response_default_path_to_nf + [:outras_informacoes]
15
+ end
12
16
  end
13
17
  end
14
18
  end
@@ -9,8 +9,13 @@ module BrNfe
9
9
 
10
10
  attr_accessor :nfe_number
11
11
  attr_accessor :codigo_cancelamento
12
+ attr_accessor :id_cancelamento
12
13
 
13
14
  validates :nfe_number, :codigo_cancelamento, presence: true
15
+
16
+ def id_cancelamento
17
+ @id_cancelamento ||= Time.now.strftime('%Y%m%d%H%M%S%9N')
18
+ end
14
19
  end
15
20
  end
16
21
  end
@@ -133,6 +133,11 @@ module BrNfe
133
133
  # Utilizado para as cidades que não possuem multiplos itens de serviço na nota.
134
134
  # Caso não seja definido então irá pegar a aliquota do 1º item que encontrar
135
135
  #
136
+ # O Valor informado deve ser o percentual real do ISS
137
+ # EXEMPLO:
138
+ # 2% = 2.0
139
+ # 3.5% = 3.5
140
+ #
136
141
  # <b>Tipo: </b> _Float_
137
142
  attr_accessor :iss_tax_rate
138
143
  def iss_tax_rate
@@ -140,14 +145,18 @@ module BrNfe
140
145
  end
141
146
 
142
147
  # Valor líquido da NF (R$)
143
- #
144
- # Normalmente esse valor é adquirido a partir da seguinte fórmula:
145
- # (ValorServicos - ValorPIS -ValorCOFINS - ValorINSS - ValorIR - ValorCSLL -
146
- # OutrasRetençoes - ValorISSRetido -DescontoIncondicionado -DescontoCondicionado)
148
+ # Caso não seja setado um valor manualmente irá calcular o valor
147
149
  #
148
150
  # <b>Tipo: </b> _Float_
149
151
  #
150
152
  attr_accessor :net_value
153
+ def net_value
154
+ @net_value ||= total_services.to_f - (
155
+ valor_pis.to_f + valor_cofins.to_f + valor_inss.to_f +
156
+ valor_ir.to_f + valor_csll.to_f + outras_retencoes.to_f +
157
+ total_iss_retained.to_f + desconto_incondicionado.to_f + desconto_condicionado.to_f
158
+ )
159
+ end
151
160
 
152
161
  attr_accessor :valor_pis
153
162
  attr_accessor :valor_cofins
@@ -0,0 +1,79 @@
1
+ module BrNfe
2
+ module Service
3
+ module Simpliss
4
+ module V1
5
+ class Base < BrNfe::Service::Base
6
+
7
+ def wsdl
8
+ if env == :test
9
+ 'http://wshomologacao.simplissweb.com.br/nfseservice.svc?wsdl'
10
+ elsif ibge_code_of_issuer_city == '4202008' # Balneário Camboriú
11
+ 'http://wsbalneariocamboriu.simplissweb.com.br/nfseservice.svc?wsdl'
12
+ end
13
+ end
14
+
15
+ # Declaro que o método `render_xml` irá verificar os arquivos também presentes
16
+ # no diretório especificado
17
+ #
18
+ # <b>Tipo de retorno: </b> _Array_
19
+ #
20
+ def xml_current_dir_path
21
+ ["#{BrNfe.root}/lib/br_nfe/service/simpliss/v1/xml"]+super
22
+ end
23
+
24
+ def canonicalization_method_algorithm
25
+ 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315'
26
+ end
27
+
28
+ def message_namespaces
29
+ {}
30
+ end
31
+
32
+ def soap_namespaces
33
+ super.merge({
34
+ 'xmlns:ns1' => "http://www.sistema.com.br/Nfse/arquivos/nfse_3.xsd",
35
+ 'xmlns:ns2' => "http://www.w3.org/2000/09/xmldsig#",
36
+ 'xmlns:ns3' => "http://www.sistema.com.br/Sistema.Ws.Nfse",
37
+ 'xmlns:ns4' => "http://www.sistema.com.br/Sistema.Ws.Nfse.Cn"
38
+ })
39
+ end
40
+
41
+ def namespace_identifier
42
+ 'ns3:'
43
+ end
44
+
45
+ def namespace_for_tags
46
+ 'ns1:'
47
+ end
48
+
49
+ def namespace_for_signature
50
+ 'ns2:'
51
+ end
52
+
53
+ # Método que deve ser sobrescrito em cada subclass.
54
+ # É utilizado para saber qual a tag root de cada requisição
55
+ #
56
+ # <b><Tipo de retorno: /b> _String_
57
+ #
58
+ def soap_body_root_tag
59
+ # 'recepcionarLoteRps' < Exemplo
60
+ raise "Deve ser sobrescrito nas subclasses"
61
+ end
62
+
63
+ # Método é sobrescrito para atender o padrão do órgão emissor.
64
+ # Deve ser enviado o XML da requsiução dentro da tag CDATA
65
+ # seguindo a estrutura requerida.
66
+ #
67
+ # <b><Tipo de retorno: /b> _String_ XML
68
+ #
69
+ def content_xml
70
+ dados = "<ns3:#{soap_body_root_tag}>"
71
+ dados += xml_builder.html_safe
72
+ dados += "</ns3:#{soap_body_root_tag}>"
73
+ dados
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,30 @@
1
+ module BrNfe
2
+ module Service
3
+ module Simpliss
4
+ module V1
5
+ class CancelaNfse < BrNfe::Service::Simpliss::V1::Base
6
+ include BrNfe::Service::Concerns::Rules::CancelamentoNfs
7
+ include BrNfe::Service::Simpliss::V1::ResponsePaths::ServicoCancelarNfseResposta
8
+
9
+ def method_wsdl
10
+ :cancelar_nfse
11
+ end
12
+
13
+ def xml_builder
14
+ render_xml 'servico_cancelar_nfse_envio'
15
+ end
16
+
17
+ def response_root_path
18
+ [:cancelar_nfse_response]
19
+ end
20
+
21
+ # Tag root da requisição
22
+ #
23
+ def soap_body_root_tag
24
+ 'CancelarNfse'
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,38 @@
1
+ module BrNfe
2
+ module Service
3
+ module Simpliss
4
+ module V1
5
+ class ConsultaLoteRps < BrNfe::Service::Simpliss::V1::Base
6
+ include BrNfe::Service::Simpliss::V1::ResponsePaths::ServicoConsultarLoteRpsResposta
7
+
8
+ attr_accessor :protocolo
9
+ validates :protocolo, presence: true
10
+
11
+ def method_wsdl
12
+ :consultar_lote_rps
13
+ end
14
+
15
+ def xml_builder
16
+ render_xml 'servico_consultar_lote_rps_envio'
17
+ end
18
+
19
+ def response_root_path
20
+ [:consultar_lote_rps_response]
21
+ end
22
+
23
+ def nfse_xml_path
24
+ #//Envelope/Body/ConsultarLoteRpsResponse/ConsultarLoteRpsResult/ListaNfse/CompNfse/Nfse
25
+ '//*/*/*/*/*/*/*'
26
+ end
27
+
28
+
29
+ # Tag root da requisição
30
+ #
31
+ def soap_body_root_tag
32
+ 'ConsultarLoteRps'
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,31 @@
1
+ module BrNfe
2
+ module Service
3
+ module Simpliss
4
+ module V1
5
+ class ConsultaNfsPorRps < BrNfe::Service::Simpliss::V1::Base
6
+ include BrNfe::Service::Concerns::Rules::ConsultaNfsPorRps
7
+ include BrNfe::Service::Simpliss::V1::ResponsePaths::ServicoConsultarNfseRpsResposta
8
+
9
+ def method_wsdl
10
+ :consultar_nfse_por_rps
11
+ end
12
+
13
+ def xml_builder
14
+ render_xml 'servico_consultar_nfse_rps_envio'
15
+ end
16
+
17
+ def response_root_path
18
+ [:consultar_nfse_por_rps_response]
19
+ end
20
+
21
+ # Tag root da requisição
22
+ #
23
+ def soap_body_root_tag
24
+ 'ConsultarNfsePorRps'
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ module BrNfe
2
+ module Service
3
+ module Simpliss
4
+ module V1
5
+ class ConsultaNfse < BrNfe::Service::Simpliss::V1::Base
6
+ include BrNfe::Service::Concerns::Rules::ConsultaNfse
7
+ include BrNfe::Service::Simpliss::V1::ResponsePaths::ServicoConsultarNfseResposta
8
+
9
+ def method_wsdl
10
+ :consultar_nfse
11
+ end
12
+
13
+ def xml_builder
14
+ render_xml 'servico_consultar_nfse_envio'
15
+ end
16
+
17
+ def response_root_path
18
+ [:consultar_nfse_response]
19
+ end
20
+
21
+ # Tag root da requisição
22
+ #
23
+ def soap_body_root_tag
24
+ 'ConsultarNfse'
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,29 @@
1
+ module BrNfe
2
+ module Service
3
+ module Simpliss
4
+ module V1
5
+ class ConsultaSituacaoLoteRps < BrNfe::Service::Simpliss::V1::ConsultaLoteRps
6
+ include BrNfe::Service::Simpliss::V1::ResponsePaths::ServicoConsultarSituacaoLoteRpsResposta
7
+
8
+ def method_wsdl
9
+ :consultar_situacao_lote_rps
10
+ end
11
+
12
+ def xml_builder
13
+ render_xml 'servico_consultar_situacao_lote_rps_envio'
14
+ end
15
+
16
+ def response_root_path
17
+ [:consultar_situacao_lote_rps_response]
18
+ end
19
+
20
+ # Tag root da requisição
21
+ #
22
+ def soap_body_root_tag
23
+ 'ConsultarSituacaoLoteRps'
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,35 @@
1
+ module BrNfe
2
+ module Service
3
+ module Simpliss
4
+ module V1
5
+ class RecepcaoLoteRps < BrNfe::Service::Simpliss::V1::Base
6
+ include BrNfe::Service::Concerns::Rules::RecepcaoLoteRps
7
+ include BrNfe::Service::Simpliss::V1::ResponsePaths::ServicoEnviarLoteRpsResposta
8
+
9
+ def certificado_obrigatorio?
10
+ true
11
+ end
12
+
13
+ def method_wsdl
14
+ :recepcionar_lote_rps
15
+ end
16
+
17
+ # Tag root da requisição
18
+ #
19
+ def soap_body_root_tag
20
+ 'RecepcionarLoteRps'
21
+ end
22
+
23
+ def xml_builder
24
+ render_xml 'servico_enviar_lote_rps_envio'
25
+ end
26
+
27
+
28
+ def response_root_path
29
+ [:recepcionar_lote_rps_response]
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,22 @@
1
+ module BrNfe
2
+ module Service
3
+ module Simpliss
4
+ module V1
5
+ module ResponsePaths
6
+ module ServicoCancelarNfseResposta
7
+ include BrNfe::Service::Response::Paths::Base
8
+
9
+ # def message_alerts_path; [] end
10
+ def response_message_errors_path
11
+ [:cancelar_nfse_result, :lista_mensagem_retorno, :mensagem_retorno]
12
+ end
13
+
14
+ def response_cancelation_date_time_path
15
+ [:cancelar_nfse_result, :cancelamento, :confirmacao, :data_hora_cancelamento]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end