br_nfe 1.1.0 → 2.0.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.
- checksums.yaml +4 -4
- data/.gitignore +5 -0
- data/.travis.yml +8 -0
- data/Gemfile +16 -0
- data/Gemfile.lock +27 -3
- data/LICENSE +1 -1
- data/README.markdown +10 -12
- data/Rakefile +13 -0
- data/br_nfe.gemspec +18 -21
- data/lib/br_nfe/active_model_base.rb +7 -1
- data/lib/br_nfe/base.rb +175 -37
- data/lib/br_nfe/endereco.rb +7 -1
- data/lib/br_nfe/helper/have_rps.rb +1 -1
- data/lib/br_nfe/helper/values_ts/service_v1.rb +313 -0
- data/lib/br_nfe/response/service/build_response.rb +286 -0
- data/lib/br_nfe/response/service/default.rb +185 -0
- data/lib/br_nfe/{servico/response → response/service}/nota_fiscal.rb +11 -10
- data/lib/br_nfe/response/service/paths/base.rb +93 -0
- data/lib/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta.rb +22 -0
- data/lib/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta.rb +25 -0
- data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta.rb +25 -0
- data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta.rb +25 -0
- data/lib/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta.rb +31 -0
- data/lib/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta.rb +36 -0
- data/lib/br_nfe/response/service/paths/v1/tc_nfse.rb +127 -0
- data/lib/br_nfe/service/base.rb +59 -0
- data/lib/br_nfe/service/betha/base.rb +8 -0
- data/lib/br_nfe/service/betha/v1/cancelamento_nfs.rb +39 -0
- data/lib/br_nfe/service/betha/v1/consulta_lote_rps.rb +34 -0
- data/lib/br_nfe/service/betha/v1/consulta_nfs_por_rps.rb +32 -0
- data/lib/br_nfe/service/betha/v1/consulta_nfse.rb +32 -0
- data/lib/br_nfe/service/betha/v1/consulta_situacao_lote_rps.rb +30 -0
- data/lib/br_nfe/service/betha/v1/gateway.rb +21 -0
- data/lib/br_nfe/service/betha/v1/recepcao_lote_rps.rb +37 -0
- data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta.rb +19 -0
- data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta.rb +17 -0
- data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +17 -0
- data/lib/br_nfe/service/concerns/rules/cancelamento_nfs.rb +20 -0
- data/lib/br_nfe/service/concerns/rules/consulta_nfs_por_rps.rb +18 -0
- data/lib/br_nfe/service/concerns/rules/consulta_nfse.rb +29 -0
- data/lib/br_nfe/service/concerns/rules/recepcao_lote_rps.rb +50 -0
- data/lib/br_nfe/{servico → service}/intermediario.rb +1 -1
- data/lib/br_nfe/service/item.rb +70 -0
- data/lib/br_nfe/service/rps.rb +231 -0
- data/lib/br_nfe/service/sc/florianopolis/base.rb +25 -0
- data/lib/br_nfe/service/sc/florianopolis/cancellation.rb +30 -0
- data/lib/br_nfe/service/sc/florianopolis/emission_rps.rb +19 -0
- data/lib/br_nfe/service/sc/florianopolis/xml/_address.xml.slim +21 -0
- data/lib/br_nfe/service/sc/florianopolis/xml/_contact.xml.slim +3 -0
- data/lib/br_nfe/service/sc/florianopolis/xml/_service_item.xml.slim +9 -0
- data/lib/br_nfe/service/sc/florianopolis/xml/cancellation.xml.slim +6 -0
- data/lib/br_nfe/service/sc/florianopolis/xml/inf_requisicao.xml.slim +55 -0
- data/lib/br_nfe/service/sc/gaspar/cancela_nfse.rb +13 -0
- data/lib/br_nfe/service/sc/gaspar/consulta_lote_rps.rb +13 -0
- data/lib/br_nfe/service/sc/gaspar/consulta_nfs_por_rps.rb +13 -0
- data/lib/br_nfe/service/sc/gaspar/consulta_nfse.rb +17 -0
- data/lib/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps.rb +13 -0
- data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps.rb +13 -0
- data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado.rb +13 -0
- data/lib/br_nfe/service/thema/v1/base.rb +55 -0
- data/lib/br_nfe/service/thema/v1/cancela_nfse.rb +48 -0
- data/lib/br_nfe/service/thema/v1/consulta_lote_rps.rb +49 -0
- data/lib/br_nfe/service/thema/v1/consulta_nfs_por_rps.rb +48 -0
- data/lib/br_nfe/service/thema/v1/consulta_nfse.rb +47 -0
- data/lib/br_nfe/service/thema/v1/consulta_situacao_lote_rps.rb +46 -0
- data/lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb +51 -0
- data/lib/br_nfe/service/thema/v1/recepcao_lote_rps_limitado.rb +30 -0
- data/lib/br_nfe/service/xml/v1/_tc_contato.xml.slim +7 -0
- data/lib/br_nfe/service/xml/v1/_tc_cpf_cnpj.xml.slim +5 -0
- data/lib/br_nfe/service/xml/v1/_tc_dados_construcao_civil.xml.slim +2 -0
- data/lib/br_nfe/service/xml/v1/_tc_dados_prestador.xml.slim +15 -0
- data/lib/br_nfe/service/xml/v1/_tc_dados_servico.xml.slim +14 -0
- data/lib/br_nfe/service/xml/v1/_tc_dados_tomador.xml.slim +15 -0
- data/lib/br_nfe/service/xml/v1/_tc_endereco.xml.slim +13 -0
- data/lib/br_nfe/service/xml/v1/_tc_identificacao_intermediario_servico.xml.slim +7 -0
- data/lib/br_nfe/service/xml/v1/_tc_identificacao_nfse.xml.slim +7 -0
- data/lib/br_nfe/service/xml/v1/_tc_identificacao_orgao_gerador.xml.slim +8 -0
- data/lib/br_nfe/service/xml/v1/_tc_identificacao_prestador.xml.slim +3 -0
- data/lib/br_nfe/service/xml/v1/_tc_identificacao_rps.xml.slim +16 -0
- data/lib/br_nfe/service/xml/v1/_tc_identificacao_tomador.xml.slim +4 -0
- data/lib/br_nfe/service/xml/v1/_tc_inf_pedido_cancelamento.xml.slim +4 -0
- data/lib/br_nfe/service/xml/v1/_tc_inf_rps.xml.slim +47 -0
- data/lib/br_nfe/service/xml/v1/_tc_lote_rps.xml.slim +9 -0
- data/lib/br_nfe/service/xml/v1/_tc_pedido_cancelamento.xml.slim +4 -0
- data/lib/br_nfe/service/xml/v1/_tc_rps.xml.slim +8 -0
- data/lib/br_nfe/service/xml/v1/_tc_valores.xml.slim +48 -0
- data/lib/br_nfe/service/xml/v1/servico_cancelar_nfse_envio.xml.slim +9 -0
- data/lib/br_nfe/service/xml/v1/servico_consultar_lote_rps_envio.xml.slim +4 -0
- data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_envio.xml.slim +19 -0
- data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_rps_envio.xml.slim +5 -0
- data/lib/br_nfe/service/xml/v1/servico_consultar_situacao_lote_rps_envio.xml.slim +4 -0
- data/lib/br_nfe/service/xml/v1/servico_enviar_lote_rps_envio.xml.slim +9 -0
- data/lib/br_nfe/version.rb +2 -2
- data/lib/br_nfe/xml/_signed_info_sh1.xml.slim +9 -0
- data/lib/br_nfe/xml/signature_sh1.xml.slim +12 -0
- data/lib/br_nfe/xml/soap_env.xml.slim +3 -0
- data/lib/br_nfe.rb +72 -20
- data/test/br_nfe/base_test.rb +257 -108
- data/test/br_nfe/helper/have_intermediario_test.rb +2 -2
- data/test/br_nfe/helper/have_rps_test.rb +4 -4
- data/test/br_nfe/response/service/build_response_test.rb +377 -0
- data/test/br_nfe/response/service/default_test.rb +218 -0
- data/test/br_nfe/{servico/response → response/service}/nota_fiscal_test.rb +2 -2
- data/test/br_nfe/response/service/paths/base_test.rb +199 -0
- data/test/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta_test.rb +25 -0
- data/test/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta_test.rb +30 -0
- data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta_test.rb +30 -0
- data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta_test.rb +30 -0
- data/test/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta_test.rb +30 -0
- data/test/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta_test.rb +34 -0
- data/test/br_nfe/response/service/paths/v1/tc_nfse_test.rb +122 -0
- data/test/br_nfe/service/base_test.rb +138 -0
- data/test/br_nfe/service/betha/base_test.rb +9 -0
- data/test/br_nfe/service/betha/v1/cancelamento_nfs_test.rb +60 -0
- data/test/br_nfe/service/betha/v1/consulta_lote_rps_test.rb +55 -0
- data/test/br_nfe/service/betha/v1/consulta_nfs_por_rps_test.rb +55 -0
- data/test/br_nfe/service/betha/v1/consulta_nfse_test.rb +53 -0
- data/test/br_nfe/service/betha/v1/consulta_situacao_lote_rps_test.rb +49 -0
- data/test/br_nfe/service/betha/v1/gateway_test.rb +35 -0
- data/test/br_nfe/service/betha/v1/recepcao_lote_rps_test.rb +84 -0
- data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta_test.rb +16 -0
- data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta_test.rb +16 -0
- data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta_test.rb +16 -0
- data/test/br_nfe/service/betha/v1/xsd/TiposNFe_v01.xsd +583 -0
- data/test/br_nfe/service/betha/v1/xsd/nfse_v01.xsd +652 -0
- data/test/br_nfe/service/betha/v1/xsd/servico_cancelar_nfse_envio_v01.xsd +17 -0
- data/test/br_nfe/service/betha/v1/xsd/servico_consultar_lote_rps_envio_v01.xsd +16 -0
- data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_envio_v01.xsd +28 -0
- data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_rps_envio_v01.xsd +16 -0
- data/test/br_nfe/service/betha/v1/xsd/servico_consultar_situacao_lote_rps_envio_v01.xsd +16 -0
- data/test/br_nfe/service/betha/v1/xsd/servico_enviar_lote_rps_envio_v01.xsd +17 -0
- data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema.xsd +308 -0
- data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema_v01.xsd +95 -0
- data/test/br_nfe/service/concerns/rules/cancelamento_nfs_test.rb +15 -0
- data/test/br_nfe/service/concerns/rules/consulta_nfs_por_rps_test.rb +36 -0
- data/test/br_nfe/service/concerns/rules/consulta_nfse_test.rb +42 -0
- data/test/br_nfe/{servico/base_test.rb → service/concerns/rules/recepcao_lote_rps_test.rb} +12 -4
- data/test/br_nfe/{servico → service}/intermediario_test.rb +1 -1
- data/test/br_nfe/service/item_test.rb +34 -0
- data/test/br_nfe/{servico → service}/rps_test.rb +191 -43
- data/test/br_nfe/service/sc/florianopolis/XSD/TiposNFSe_v2.0.xsd +863 -0
- data/test/br_nfe/service/sc/florianopolis/XSD/xmldsig-core-schema.xsd +309 -0
- data/test/br_nfe/service/sc/florianopolis/base_test.rb +20 -0
- data/test/br_nfe/service/sc/florianopolis/cancellation_test.rb +36 -0
- data/test/br_nfe/service/sc/florianopolis/emission_rps_test.rb +145 -0
- data/test/br_nfe/service/sc/gaspar/cancela_nfse_test.rb +21 -0
- data/test/br_nfe/service/sc/gaspar/consulta_nfs_por_rps_test.rb +21 -0
- data/test/br_nfe/service/sc/gaspar/consulta_nfse_test.rb +21 -0
- data/test/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps_test.rb +21 -0
- data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado_test.rb +22 -0
- data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_test.rb +22 -0
- data/test/br_nfe/service/thema/v1/base_test.rb +65 -0
- data/test/br_nfe/service/thema/v1/cancela_nfse_test.rb +56 -0
- data/test/br_nfe/service/thema/v1/consulta_lote_rps_test.rb +47 -0
- data/test/br_nfe/service/thema/v1/consulta_nfs_por_rps_test.rb +50 -0
- data/test/br_nfe/service/thema/v1/consulta_nfse_test.rb +50 -0
- data/test/br_nfe/service/thema/v1/consulta_situacao_lote_rps_test.rb +47 -0
- data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test.rb +62 -0
- data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test_limitado.rb +50 -0
- data/test/br_nfe/service/thema/v1/xsd/nfse.xsd +656 -0
- data/test/br_nfe/service/thema/v1/xsd/xmldsig-core-schema20020212.xsd +318 -0
- data/test/br_nfe/service/xsd/v1/nfse.xsd +779 -0
- data/test/br_nfe/service/xsd/v1/xmldsig-core-schema20020212.xsd +316 -0
- data/test/cert.pfx +0 -0
- data/test/factories/base.rb +2 -0
- data/test/factories/destinatario.rb +3 -3
- data/test/factories/response/service/build_response.rb +5 -0
- data/test/factories/response/service/default.rb +10 -0
- data/test/factories/{servico/response → response/service}/nota_fiscal.rb +9 -9
- data/test/factories/service/base.rb +6 -0
- data/test/factories/service/betha/base.rb +4 -0
- data/test/factories/service/betha/v1/cancelamento_nfs.rb +9 -0
- data/test/factories/{servico → service}/betha/v1/consulta_lote_rps.rb +2 -2
- data/test/factories/{servico → service}/betha/v1/consulta_nfs_por_rps.rb +1 -1
- data/test/factories/service/betha/v1/consulta_nfse.rb +8 -0
- data/test/factories/{servico → service}/betha/v1/consulta_situacao_lote_rps.rb +2 -2
- data/test/factories/{servico → service}/betha/v1/gateway.rb +1 -1
- data/test/factories/service/betha/v1/recepcao_lote_rps.rb +8 -0
- data/test/factories/{servico → service}/intermediario.rb +2 -2
- data/test/factories/service/item.rb +12 -0
- data/test/factories/service/rps.rb +50 -0
- data/test/factories/service/sc/florianopolis/base.rb +5 -0
- data/test/factories/service/sc/florianopolis/cancellation.rb +7 -0
- data/test/factories/service/sc/florianopolis/emission_rps.rb +7 -0
- data/test/factories/service/sc/gaspar/cancela_nfse.rb +9 -0
- data/test/factories/service/sc/gaspar/consulta_lote_rps.rb +7 -0
- data/test/factories/service/sc/gaspar/consulta_nfs_por_rps.rb +6 -0
- data/test/factories/service/sc/gaspar/consulta_nfse.rb +8 -0
- data/test/factories/service/sc/gaspar/consulta_situacao_lote_rps.rb +6 -0
- data/test/factories/service/sc/gaspar/recepcao_lote_rps.rb +9 -0
- data/test/factories/service/sc/gaspar/recepcao_lote_rps_limitado.rb +9 -0
- data/test/factories/service/thema/v1/base.rb +7 -0
- data/test/factories/service/thema/v1/cancela_nfse.rb +9 -0
- data/test/factories/service/thema/v1/consulta_lote_rps.rb +7 -0
- data/test/factories/service/thema/v1/consulta_nfs_por_rps.rb +6 -0
- data/test/factories/service/thema/v1/consulta_nfse.rb +8 -0
- data/test/factories/service/thema/v1/consulta_situacao_lote_rps.rb +6 -0
- data/test/factories/service/thema/v1/recepcao_lote_rps.rb +9 -0
- data/test/factories/service/thema/v1/recepcao_lote_rps_limitado.rb +8 -0
- data/test/test_helper.rb +42 -0
- metadata +338 -121
- data/lib/br_nfe/servico/base.rb +0 -35
- data/lib/br_nfe/servico/betha/base.rb +0 -85
- data/lib/br_nfe/servico/betha/build_response.rb +0 -141
- data/lib/br_nfe/servico/betha/v1/build_response.rb +0 -121
- data/lib/br_nfe/servico/betha/v1/cancelamento_nfs.rb +0 -52
- data/lib/br_nfe/servico/betha/v1/consulta_lote_rps.rb +0 -33
- data/lib/br_nfe/servico/betha/v1/consulta_nfs_por_rps.rb +0 -37
- data/lib/br_nfe/servico/betha/v1/consulta_nfse.rb +0 -51
- data/lib/br_nfe/servico/betha/v1/consulta_situacao_lote_rps.rb +0 -18
- data/lib/br_nfe/servico/betha/v1/gateway.rb +0 -125
- data/lib/br_nfe/servico/betha/v1/recepcao_lote_rps.rb +0 -97
- data/lib/br_nfe/servico/betha/v2/build_response.rb +0 -159
- data/lib/br_nfe/servico/betha/v2/cancelamento_nfs.rb +0 -30
- data/lib/br_nfe/servico/betha/v2/consulta_lote_rps.rb +0 -30
- data/lib/br_nfe/servico/betha/v2/consulta_nfse_por_rps.rb +0 -27
- data/lib/br_nfe/servico/betha/v2/envio_lote_rps_sincrono.rb +0 -30
- data/lib/br_nfe/servico/betha/v2/gateway.rb +0 -230
- data/lib/br_nfe/servico/betha/v2/gera_nfse.rb +0 -30
- data/lib/br_nfe/servico/betha/v2/recepcao_lote_rps.rb +0 -52
- data/lib/br_nfe/servico/betha/v2/substituicao_nfse.rb +0 -43
- data/lib/br_nfe/servico/response/default.rb +0 -34
- data/lib/br_nfe/servico/rps.rb +0 -108
- data/test/br_nfe/servico/betha/base_test.rb +0 -135
- data/test/br_nfe/servico/betha/v1/build_response_test.rb +0 -557
- data/test/br_nfe/servico/betha/v1/cancelamento_nfs_test.rb +0 -72
- data/test/br_nfe/servico/betha/v1/consulta_lote_rps_test.rb +0 -46
- data/test/br_nfe/servico/betha/v1/consulta_nfs_por_rps_test.rb +0 -68
- data/test/br_nfe/servico/betha/v1/consulta_nfse_test.rb +0 -74
- data/test/br_nfe/servico/betha/v1/consulta_situacao_lote_rps_test.rb +0 -27
- data/test/br_nfe/servico/betha/v1/gateway_test.rb +0 -151
- data/test/br_nfe/servico/betha/v1/recepcao_lote_rps_test.rb +0 -249
- data/test/br_nfe/servico/betha/v2/cancelamento_nfs_test.rb +0 -44
- data/test/br_nfe/servico/betha/v2/consulta_lote_rps_test.rb +0 -38
- data/test/br_nfe/servico/betha/v2/consulta_nfse_por_rps_test.rb +0 -36
- data/test/br_nfe/servico/betha/v2/envio_lote_rps_sincrono_test.rb +0 -51
- data/test/br_nfe/servico/betha/v2/gateway_test.rb +0 -372
- data/test/br_nfe/servico/betha/v2/gera_nfse_test.rb +0 -62
- data/test/br_nfe/servico/betha/v2/recepcao_lote_rps_test.rb +0 -108
- data/test/br_nfe/servico/betha/v2/substituicao_nfse_test.rb +0 -84
- data/test/br_nfe/servico/response/default_test.rb +0 -54
- data/test/factories/servico/base.rb +0 -5
- data/test/factories/servico/betha/base.rb +0 -5
- data/test/factories/servico/betha/v1/build_response.rb +0 -6
- data/test/factories/servico/betha/v1/cancelamento_nfs.rb +0 -7
- data/test/factories/servico/betha/v1/consulta_nfse.rb +0 -8
- data/test/factories/servico/betha/v1/recepcao_lote_rps.rb +0 -6
- data/test/factories/servico/betha/v2/cancelamento_nfs.rb +0 -7
- data/test/factories/servico/betha/v2/consulta_lote_rps.rb +0 -6
- data/test/factories/servico/betha/v2/consulta_nfse_por_rps.rb +0 -6
- data/test/factories/servico/betha/v2/envio_lote_rps_sincrono.rb +0 -5
- data/test/factories/servico/betha/v2/gateway.rb +0 -5
- data/test/factories/servico/betha/v2/gera_nfse.rb +0 -6
- data/test/factories/servico/betha/v2/recepcao_lote_rps.rb +0 -5
- data/test/factories/servico/betha/v2/substituicao_nfse.rb +0 -8
- data/test/factories/servico/response/default.rb +0 -10
- data/test/factories/servico/rps.rb +0 -44
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module BrNfe
|
|
2
|
+
module Service
|
|
3
|
+
module Thema
|
|
4
|
+
module V1
|
|
5
|
+
class ConsultaNfsPorRps < BrNfe::Service::Thema::V1::Base
|
|
6
|
+
include BrNfe::Service::Concerns::Rules::ConsultaNfsPorRps
|
|
7
|
+
|
|
8
|
+
def method_wsdl
|
|
9
|
+
:consultar_nfse_por_rps
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def response_path_module
|
|
13
|
+
BrNfe::Service::Response::Paths::V1::ServicoConsultarNfseRpsResposta
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def xml_builder
|
|
17
|
+
render_xml 'servico_consultar_nfse_rps_envio'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Não é utilizado o response_root_path pois
|
|
21
|
+
# esse órgão emissor trata o XML de forma diferente
|
|
22
|
+
# e para instanciar a resposta adequadamente é utilizado o
|
|
23
|
+
# body_xml_path.
|
|
24
|
+
# A resposta contém outro XML dentro do Body.
|
|
25
|
+
#
|
|
26
|
+
def response_root_path
|
|
27
|
+
[]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Caminho de hash através do body da resposta SOAP até encontrar
|
|
31
|
+
# o XML correspondente na qual contém as informações necessárias
|
|
32
|
+
# para encontrar os valores para setar na resposta
|
|
33
|
+
#
|
|
34
|
+
def body_xml_path
|
|
35
|
+
[:consultar_nfse_por_rps_response, :return]
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Tag root da requisição
|
|
39
|
+
#
|
|
40
|
+
def soap_body_root_tag
|
|
41
|
+
'consultarNfsePorRps'
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module BrNfe
|
|
2
|
+
module Service
|
|
3
|
+
module Thema
|
|
4
|
+
module V1
|
|
5
|
+
class ConsultaNfse < BrNfe::Service::Thema::V1::Base
|
|
6
|
+
include BrNfe::Service::Concerns::Rules::ConsultaNfse
|
|
7
|
+
|
|
8
|
+
def method_wsdl
|
|
9
|
+
:consultar_nfse
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def xml_builder
|
|
13
|
+
render_xml 'servico_consultar_nfse_envio'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def response_path_module
|
|
17
|
+
BrNfe::Service::Response::Paths::V1::ServicoConsultarNfseResposta
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Não é utilizado o response_root_path pois
|
|
21
|
+
# esse órgão emissor trata o XML de forma diferente
|
|
22
|
+
# e para instanciar a resposta adequadamente é utilizado o
|
|
23
|
+
# body_xml_path.
|
|
24
|
+
# A resposta contém outro XML dentro do Body.
|
|
25
|
+
#
|
|
26
|
+
def response_root_path
|
|
27
|
+
[]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Caminho de hash através do body da resposta SOAP até encontrar
|
|
31
|
+
# o XML correspondente na qual contém as informações necessárias
|
|
32
|
+
# para encontrar os valores para setar na resposta
|
|
33
|
+
#
|
|
34
|
+
def body_xml_path
|
|
35
|
+
[:consultar_nfse_response, :return]
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Tag root da requisição
|
|
39
|
+
#
|
|
40
|
+
def soap_body_root_tag
|
|
41
|
+
'consultarNfse'
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module BrNfe
|
|
2
|
+
module Service
|
|
3
|
+
module Thema
|
|
4
|
+
module V1
|
|
5
|
+
class ConsultaSituacaoLoteRps < BrNfe::Service::Thema::V1::ConsultaLoteRps
|
|
6
|
+
|
|
7
|
+
def method_wsdl
|
|
8
|
+
:consultar_situacao_lote_rps
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def xml_builder
|
|
12
|
+
render_xml 'servico_consultar_situacao_lote_rps_envio'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def response_path_module
|
|
16
|
+
BrNfe::Service::Response::Paths::V1::ServicoConsultarSituacaoLoteRpsResposta
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Não é utilizado o response_root_path pois
|
|
20
|
+
# esse órgão emissor trata o XML de forma diferente
|
|
21
|
+
# e para instanciar a resposta adequadamente é utilizado o
|
|
22
|
+
# body_xml_path.
|
|
23
|
+
# A resposta contém outro XML dentro do Body.
|
|
24
|
+
#
|
|
25
|
+
def response_root_path
|
|
26
|
+
[]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Caminho de hash através do body da resposta SOAP até encontrar
|
|
30
|
+
# o XML correspondente na qual contém as informações necessárias
|
|
31
|
+
# para encontrar os valores para setar na resposta
|
|
32
|
+
#
|
|
33
|
+
def body_xml_path
|
|
34
|
+
[:consultar_situacao_lote_rps_response, :return]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Tag root da requisição
|
|
38
|
+
#
|
|
39
|
+
def soap_body_root_tag
|
|
40
|
+
'consultarSituacaoLoteRps'
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module BrNfe
|
|
2
|
+
module Service
|
|
3
|
+
module Thema
|
|
4
|
+
module V1
|
|
5
|
+
class RecepcaoLoteRps < BrNfe::Service::Thema::V1::Base
|
|
6
|
+
include BrNfe::Service::Concerns::Rules::RecepcaoLoteRps
|
|
7
|
+
|
|
8
|
+
def certificado_obrigatorio?
|
|
9
|
+
true
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def method_wsdl
|
|
13
|
+
:recepcionar_lote_rps
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Tag root da requisição
|
|
17
|
+
#
|
|
18
|
+
def soap_body_root_tag
|
|
19
|
+
'recepcionarLoteRps'
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def xml_builder
|
|
23
|
+
render_xml 'servico_enviar_lote_rps_envio'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def response_path_module
|
|
27
|
+
BrNfe::Service::Response::Paths::V1::ServicoEnviarLoteRpsResposta
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Não é utilizado o response_root_path pois
|
|
31
|
+
# esse órgão emissor trata o XML de forma diferente
|
|
32
|
+
# e para instanciar a resposta adequadamente é utilizado o
|
|
33
|
+
# body_xml_path.
|
|
34
|
+
# A resposta contém outro XML dentro do Body.
|
|
35
|
+
#
|
|
36
|
+
def response_root_path
|
|
37
|
+
[]
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Caminho de hash através do body da resposta SOAP até encontrar
|
|
41
|
+
# o XML correspondente na qual contém as informações necessárias
|
|
42
|
+
# para encontrar os valores para setar na resposta
|
|
43
|
+
#
|
|
44
|
+
def body_xml_path
|
|
45
|
+
[:recepcionar_lote_rps_response, :return]
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module BrNfe
|
|
2
|
+
module Service
|
|
3
|
+
module Thema
|
|
4
|
+
module V1
|
|
5
|
+
class RecepcaoLoteRpsLimitado < BrNfe::Service::Thema::V1::RecepcaoLoteRps
|
|
6
|
+
|
|
7
|
+
validates :lote_rps, length: { maximum: 3 }
|
|
8
|
+
|
|
9
|
+
def method_wsdl
|
|
10
|
+
:recepcionar_lote_rps_limitado
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Tag root da requisição
|
|
14
|
+
#
|
|
15
|
+
def soap_body_root_tag
|
|
16
|
+
'recepcionarLoteRpsLimitado'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Caminho de hash através do body da resposta SOAP até encontrar
|
|
20
|
+
# o XML correspondente na qual contém as informações necessárias
|
|
21
|
+
# para encontrar os valores para setar na resposta
|
|
22
|
+
#
|
|
23
|
+
def body_xml_path
|
|
24
|
+
[:recepcionar_lote_rps_limitado_response, :return]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
IdentificacaoPrestador
|
|
2
|
+
= render_xml '_tc_identificacao_prestador'
|
|
3
|
+
|
|
4
|
+
RazaoSocial = ts_razao_social(emitente.razao_social)
|
|
5
|
+
|
|
6
|
+
- if emitente.nome_fantasia.present?
|
|
7
|
+
NomeFantasia = ts_nome_fantasia(emitente.nome_fantasia)
|
|
8
|
+
|
|
9
|
+
- if emitente.endereco.is_present?
|
|
10
|
+
Endereco
|
|
11
|
+
= render_xml '_tc_endereco', address: emitente.endereco
|
|
12
|
+
|
|
13
|
+
- if emitente.telefone.present? || emitente.email.present?
|
|
14
|
+
Contato
|
|
15
|
+
= render_xml '_tc_contato', contact: emitente
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
- rps ||= false
|
|
2
|
+
- raise "Deve ser passado uma vsariavel local chamada rps" unless rps
|
|
3
|
+
|
|
4
|
+
Valores
|
|
5
|
+
= render_xml '_tc_valores', rps: rps
|
|
6
|
+
|
|
7
|
+
ItemListaServico = ts_item_lista_servico(rps.item_lista_servico)
|
|
8
|
+
- if rps.cnae_code.present?
|
|
9
|
+
CodigoCnae = ts_codigo_cnae(rps.cnae_code)
|
|
10
|
+
- if rps.codigo_tributacao_municipio.present?
|
|
11
|
+
CodigoTributacaoMunicipio = ts_codigo_tributacao(rps.codigo_tributacao_municipio)
|
|
12
|
+
|
|
13
|
+
Discriminacao = ts_discriminacao(rps.description)
|
|
14
|
+
CodigoMunicipio = ts_codigo_municipio_ibge(rps.codigo_municipio)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
- destinatario ||= false
|
|
2
|
+
- raise "Deve ser passado uma vsariavel local chamada destinatario" unless destinatario
|
|
3
|
+
IdentificacaoTomador
|
|
4
|
+
= render_xml '_tc_identificacao_tomador', destinatario: destinatario
|
|
5
|
+
|
|
6
|
+
- if destinatario.razao_social.present?
|
|
7
|
+
RazaoSocial = ts_razao_social(destinatario.razao_social)
|
|
8
|
+
|
|
9
|
+
- if destinatario.endereco.is_present?
|
|
10
|
+
Endereco
|
|
11
|
+
= render_xml '_tc_endereco', address: destinatario.endereco
|
|
12
|
+
|
|
13
|
+
- if destinatario.telefone.present? || destinatario.email.present?
|
|
14
|
+
Contato
|
|
15
|
+
= render_xml '_tc_contato', contact: destinatario
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
- address ||= false
|
|
2
|
+
- raise "Deve ser passado uma variável local chamda address" unless address
|
|
3
|
+
|
|
4
|
+
Endereco = ts_endereco("#{address.logradouro}")
|
|
5
|
+
Numero = ts_numero_endereco("#{address.numero}")
|
|
6
|
+
|
|
7
|
+
- address.complemento.present?
|
|
8
|
+
Complemento = ts_complemento_endereco("#{address.complemento}")
|
|
9
|
+
|
|
10
|
+
Bairro = ts_bairro("#{address.bairro}")
|
|
11
|
+
CodigoMunicipio = ts_codigo_municipio_ibge(address.codigo_municipio)
|
|
12
|
+
Uf = ts_uf("#{address.uf}")
|
|
13
|
+
Cep = ts_cep(address.cep)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Numero = ts_numero_nfse(nfe_number)
|
|
2
|
+
Cnpj = ts_cnpj(emitente.cnpj)
|
|
3
|
+
|
|
4
|
+
- if emitente.inscricao_municipal.present?
|
|
5
|
+
InscricaoMunicipal = ts_inscricao_municipal(emitente.inscricao_municipal)
|
|
6
|
+
|
|
7
|
+
CodigoMunicipio = ts_codigo_municipio_ibge(emitente.endereco.codigo_municipio)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/ A mesma estrutura é utilizada para o RPS e o RPS Substituido
|
|
2
|
+
/ então se passar o parâmetro substituicao então irá setar os valores
|
|
3
|
+
/ referentes a substituição
|
|
4
|
+
- substituicao ||= false
|
|
5
|
+
- current_numero = if substituicao then rps.numero_substituicao else rps.numero end
|
|
6
|
+
- current_serie = if substituicao then rps.serie_substituicao else rps.serie end
|
|
7
|
+
- current_tipo = if substituicao then rps.tipo_substituicao else rps.tipo end
|
|
8
|
+
|
|
9
|
+
- number_size ||= 15
|
|
10
|
+
- serie_size ||= 5
|
|
11
|
+
- type_size ||= 1
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
Numero = ts_numero_rps(current_numero)
|
|
15
|
+
Serie = ts_serie_rps(current_serie)
|
|
16
|
+
Tipo = ts_tipo_rps(current_tipo)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
- rps ||= false
|
|
2
|
+
- raise "É obrigatório passar um RPS por parâmetro" unless rps
|
|
3
|
+
|
|
4
|
+
IdentificacaoRps
|
|
5
|
+
= render_xml '_tc_identificacao_rps', rps: rps
|
|
6
|
+
|
|
7
|
+
DataEmissao = ts_datetime(rps.data_emissao)
|
|
8
|
+
NaturezaOperacao = ts_natureza_operacao(emitente.natureza_operacao)
|
|
9
|
+
|
|
10
|
+
- if emitente.regime_especial_tributacao.present?
|
|
11
|
+
/ Código de identificação do regime especial de tributação:
|
|
12
|
+
/ - (1)Microempresa municipal
|
|
13
|
+
/ - (2)Estimativa
|
|
14
|
+
/ - (3)Sociedade de profissionais
|
|
15
|
+
/ - (4)Cooperativa,
|
|
16
|
+
/ - (5)Microempresário Individual (MEI)
|
|
17
|
+
/ - (6)Microempresário e Empresa de Pequeno Porte (ME EPP)
|
|
18
|
+
RegimeEspecialTributacao = ts_regime_especial_tributacao(emitente.regime_especial_tributacao)
|
|
19
|
+
|
|
20
|
+
/ (1)sim ----- (2)não -----
|
|
21
|
+
OptanteSimplesNacional = ts_sim_nao(emitente.optante_simples_nacional?)
|
|
22
|
+
|
|
23
|
+
/ (1)sim ----- (2)não -----
|
|
24
|
+
IncentivadorCultural = ts_sim_nao(emitente.incentivo_fiscal?)
|
|
25
|
+
|
|
26
|
+
Status = ts_status_rps(rps.status)
|
|
27
|
+
|
|
28
|
+
- if rps.replace_invoice?
|
|
29
|
+
RpsSubstituido
|
|
30
|
+
= render_xml '_tc_identificacao_rps', rps: rps, substituicao: true
|
|
31
|
+
|
|
32
|
+
Servico
|
|
33
|
+
= render_xml '_tc_dados_servico', rps: rps
|
|
34
|
+
|
|
35
|
+
Prestador
|
|
36
|
+
= render_xml '_tc_identificacao_prestador', emitente: emitente
|
|
37
|
+
|
|
38
|
+
Tomador
|
|
39
|
+
= render_xml '_tc_dados_tomador', destinatario: rps.destinatario
|
|
40
|
+
|
|
41
|
+
- if rps.intermediario
|
|
42
|
+
IntermediarioServico
|
|
43
|
+
= render_xml '_tc_identificacao_intermediario_servico', intermediario: rps.intermediario
|
|
44
|
+
|
|
45
|
+
- if rps.codigo_obra.present? || rps.codigo_art.present?
|
|
46
|
+
ConstrucaoCivil
|
|
47
|
+
= render_xml '_tc_dados_construcao_civil', rps: rps
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
NumeroLote = ts_numero_lote(numero_lote_rps)
|
|
2
|
+
Cnpj = ts_cnpj(emitente.cnpj)
|
|
3
|
+
InscricaoMunicipal = ts_inscricao_municipal(emitente.inscricao_municipal)
|
|
4
|
+
QuantidadeRps = ts_quantidade_rps(lote_rps.size)
|
|
5
|
+
ListaRps
|
|
6
|
+
- lote_rps.each do |rps|
|
|
7
|
+
Rps
|
|
8
|
+
/ tc_rps já está assinado (se tiver um certificado)
|
|
9
|
+
= render_xml '_tc_rps', rps: rps
|